Initial commit
						commit
						1c7e1da3ac
					
				| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
This template repo is used to illustrate a [flux-managed Kubernetes cluster](http://localhost:8123/kubernetes/deployment/flux/), in Funky Penguin's Geek Cookbook
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
---
 | 
			
		||||
apiVersion: source.toolkit.fluxcd.io/v1beta1
 | 
			
		||||
kind: HelmRepository
 | 
			
		||||
metadata:
 | 
			
		||||
  name: podinfo
 | 
			
		||||
  namespace: flux-system
 | 
			
		||||
spec:
 | 
			
		||||
  interval: 15m
 | 
			
		||||
  url: https://stefanprodan.github.io/podinfo
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
 | 
			
		||||
kind: Kustomization
 | 
			
		||||
metadata:
 | 
			
		||||
  name: podinfo
 | 
			
		||||
  namespace: flux-system
 | 
			
		||||
spec:
 | 
			
		||||
  interval: 15m
 | 
			
		||||
  path: podinfo
 | 
			
		||||
  prune: true # remove any elements later removed from the above path
 | 
			
		||||
  timeout: 2m # if not set, this defaults to interval duration, which is 1h
 | 
			
		||||
  sourceRef:
 | 
			
		||||
    kind: GitRepository
 | 
			
		||||
    name: flux-system
 | 
			
		||||
  validation: server
 | 
			
		||||
  healthChecks:
 | 
			
		||||
    - apiVersion: apps/v1
 | 
			
		||||
      kind: Deployment
 | 
			
		||||
      name: podinfo
 | 
			
		||||
      namespace: podinfo
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
apiVersion: v1
 | 
			
		||||
kind: Namespace
 | 
			
		||||
metadata:
 | 
			
		||||
  name: podinfo
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,149 @@
 | 
			
		|||
apiVersion: v1
 | 
			
		||||
kind: ConfigMap
 | 
			
		||||
metadata:
 | 
			
		||||
  creationTimestamp: null
 | 
			
		||||
  name: podinfo-helm-chart-value-overrides
 | 
			
		||||
  namespace: podinfo
 | 
			
		||||
data:
 | 
			
		||||
  values.yaml: |-
 | 
			
		||||
    # Default values for podinfo.
 | 
			
		||||
 | 
			
		||||
    replicaCount: 1
 | 
			
		||||
    logLevel: info
 | 
			
		||||
    host: #0.0.0.0
 | 
			
		||||
    backend: #http://backend-podinfo:9898/echo
 | 
			
		||||
    backends: []
 | 
			
		||||
 | 
			
		||||
    image:
 | 
			
		||||
      repository: ghcr.io/stefanprodan/podinfo
 | 
			
		||||
      tag: 6.0.3
 | 
			
		||||
      pullPolicy: IfNotPresent
 | 
			
		||||
 | 
			
		||||
    ui:
 | 
			
		||||
      color: "#34577c"
 | 
			
		||||
      message: "👋 Greetings, fellow geek!"
 | 
			
		||||
      logo: "https://geek-cookbook.funkypenguin.co.nz/images/site-logo.svg"
 | 
			
		||||
 | 
			
		||||
    # failure conditions
 | 
			
		||||
    faults:
 | 
			
		||||
      delay: false
 | 
			
		||||
      error: false
 | 
			
		||||
      unhealthy: false
 | 
			
		||||
      unready: false
 | 
			
		||||
      testFail: false
 | 
			
		||||
      testTimeout: false
 | 
			
		||||
 | 
			
		||||
    # Kubernetes Service settings
 | 
			
		||||
    service:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      annotations: {}
 | 
			
		||||
      type: ClusterIP
 | 
			
		||||
      metricsPort: 9797
 | 
			
		||||
      httpPort: 9898
 | 
			
		||||
      externalPort: 9898
 | 
			
		||||
      grpcPort: 9999
 | 
			
		||||
      grpcService: podinfo
 | 
			
		||||
      nodePort: 31198
 | 
			
		||||
      # the port used to bind the http port to the host
 | 
			
		||||
      # NOTE: requires privileged container with NET_BIND_SERVICE capability -- this is useful for testing
 | 
			
		||||
      # in local clusters such as kind without port forwarding
 | 
			
		||||
      hostPort:
 | 
			
		||||
 | 
			
		||||
    # enable h2c protocol (non-TLS version of HTTP/2)
 | 
			
		||||
    h2c:
 | 
			
		||||
      enabled: false
 | 
			
		||||
 | 
			
		||||
    # enable tls on the podinfo service
 | 
			
		||||
    tls:
 | 
			
		||||
      enabled: false
 | 
			
		||||
      # the name of the secret used to mount the certificate key pair
 | 
			
		||||
      secretName:
 | 
			
		||||
      # the path where the certificate key pair will be mounted
 | 
			
		||||
      certPath: /data/cert
 | 
			
		||||
      # the port used to host the tls endpoint on the service
 | 
			
		||||
      port: 9899
 | 
			
		||||
      # the port used to bind the tls port to the host
 | 
			
		||||
      # NOTE: requires privileged container with NET_BIND_SERVICE capability -- this is useful for testing
 | 
			
		||||
      # in local clusters such as kind without port forwarding
 | 
			
		||||
      hostPort:
 | 
			
		||||
 | 
			
		||||
    # create a certificate manager certificate (cert-manager required)
 | 
			
		||||
    certificate:
 | 
			
		||||
      create: false
 | 
			
		||||
      # the issuer used to issue the certificate
 | 
			
		||||
      issuerRef:
 | 
			
		||||
        kind: ClusterIssuer
 | 
			
		||||
        name: self-signed
 | 
			
		||||
      # the hostname / subject alternative names for the certificate
 | 
			
		||||
      dnsNames:
 | 
			
		||||
        - podinfo
 | 
			
		||||
 | 
			
		||||
    # metrics-server add-on required
 | 
			
		||||
    hpa:
 | 
			
		||||
      enabled: false
 | 
			
		||||
      maxReplicas: 10
 | 
			
		||||
      # average total CPU usage per pod (1-100)
 | 
			
		||||
      cpu:
 | 
			
		||||
      # average memory usage per pod (100Mi-1Gi)
 | 
			
		||||
      memory:
 | 
			
		||||
      # average http requests per second per pod (k8s-prometheus-adapter)
 | 
			
		||||
      requests:
 | 
			
		||||
 | 
			
		||||
    # Redis address in the format <host>:<port>
 | 
			
		||||
    cache: ""
 | 
			
		||||
    # Redis deployment
 | 
			
		||||
    redis:
 | 
			
		||||
      enabled: false
 | 
			
		||||
      repository: redis
 | 
			
		||||
      tag: 6.0.8
 | 
			
		||||
 | 
			
		||||
    serviceAccount:
 | 
			
		||||
      # Specifies whether a service account should be created
 | 
			
		||||
      enabled: false
 | 
			
		||||
      # The name of the service account to use.
 | 
			
		||||
      # If not set and create is true, a name is generated using the fullname template
 | 
			
		||||
      name:
 | 
			
		||||
 | 
			
		||||
    # set container security context
 | 
			
		||||
    securityContext: {}
 | 
			
		||||
 | 
			
		||||
    ingress:
 | 
			
		||||
      enabled: false
 | 
			
		||||
      className: ""
 | 
			
		||||
      annotations: {}
 | 
			
		||||
        # kubernetes.io/ingress.class: nginx
 | 
			
		||||
        # kubernetes.io/tls-acme: "true"
 | 
			
		||||
      hosts:
 | 
			
		||||
        - host: podinfo.local
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: ImplementationSpecific
 | 
			
		||||
      tls: []
 | 
			
		||||
      #  - secretName: chart-example-tls
 | 
			
		||||
      #    hosts:
 | 
			
		||||
      #      - chart-example.local
 | 
			
		||||
 | 
			
		||||
    linkerd:
 | 
			
		||||
      profile:
 | 
			
		||||
        enabled: false
 | 
			
		||||
 | 
			
		||||
    # create Prometheus Operator monitor
 | 
			
		||||
    serviceMonitor:
 | 
			
		||||
      enabled: false
 | 
			
		||||
      interval: 15s
 | 
			
		||||
      additionalLabels: {}
 | 
			
		||||
 | 
			
		||||
    resources:
 | 
			
		||||
      limits:
 | 
			
		||||
      requests:
 | 
			
		||||
        cpu: 1m
 | 
			
		||||
        memory: 16Mi
 | 
			
		||||
 | 
			
		||||
    nodeSelector: {}
 | 
			
		||||
 | 
			
		||||
    tolerations: []
 | 
			
		||||
 | 
			
		||||
    affinity: {}
 | 
			
		||||
 | 
			
		||||
    podAnnotations: {}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
apiVersion: helm.toolkit.fluxcd.io/v2beta1
 | 
			
		||||
kind: HelmRelease
 | 
			
		||||
metadata:
 | 
			
		||||
  name: podinfo
 | 
			
		||||
  namespace: podinfo
 | 
			
		||||
spec:
 | 
			
		||||
  chart:
 | 
			
		||||
    spec:
 | 
			
		||||
      chart: podinfo
 | 
			
		||||
      version: 6.x
 | 
			
		||||
      sourceRef:
 | 
			
		||||
        kind: HelmRepository
 | 
			
		||||
        name: podinfo
 | 
			
		||||
        namespace: flux-system
 | 
			
		||||
  interval: 15m
 | 
			
		||||
  timeout: 5m
 | 
			
		||||
  releaseName: podinfo
 | 
			
		||||
  valuesFrom:
 | 
			
		||||
  - kind: ConfigMap
 | 
			
		||||
    name: podinfo-helm-chart-value-overrides
 | 
			
		||||
    valuesKey: values.yaml # This is the default, but best to be explicit for clarity
 | 
			
		||||
		Loading…
	
		Reference in New Issue