/podinfo-deploy

A GitOps workflow for multi-env deployments

Apache License 2.0Apache-2.0

podinfo-deploy

A GitOps workflow for multi-env deployments with FluxCD source-controller and kustomize-controller.

Git repository definition:

apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: GitRepository
metadata:
  name: podinfo
  namespace: gotk-system
spec:
  interval: 1m
  url: https://github.com/stefanprodan/podinfo-deploy
  ref:
    branch: master

Dev environment kustomization:

apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
  name: podinfo-dev
  namespace: gotk-system
spec:
  interval: 1m
  path: "./overlays/dev/"
  prune: true
  sourceRef:
    kind: GitRepository
    name: podinfo

Staging environment kustomization:

apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
  name: podinfo-staging
  namespace: gotk-system
spec:
  interval: 1m
  path: "./overlays/staging/"
  prune: true
  sourceRef:
    kind: GitRepository
    name: podinfo

Git repository tags semver range:

apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: GitRepository
metadata:
  name: podinfo-releases
  namespace: gotk-system
spec:
  interval: 5m
  url: https://github.com/stefanprodan/podinfo-deploy
  ref:
    semver: ">=0.0.1"

Production environment kustomization:

apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
  name: podinfo-production
  namespace: gotk-system
spec:
  interval: 1m
  path: "./overlays/production/"
  prune: true
  sourceRef:
    kind: GitRepository
    name: podinfo-releases