Shahidh talks about various patterns revolving around GitOps (Git + Devops) for applications deployment onto Kubernetes and introduces Gitkube (https://github.com/hasura/gitkube) as a tool to do GitOps.
7. GitOps
● Ops practices using Git
● Use Git as source of truth
● Drive operations through git repo
● Get version control, history, peer review, and rollback
● Continuous delivery - Automated pipelines
● Webhooks: push to trigger build/test
● PRs & merge branch to deploy
8. GitOps - Patterns
● CI builds artifacts
● Updates config (in a git repo)
● Trigger rollout (PR merge/commit)
● Observe
● Control
10. GitOps - Patterns
● Use declarative configuration to define
application and services
● All changes go through git review process,
none using kubectl
● Use an operator in the cluster to drive
observed state to desired state, as declared
by the configuration in git
● pre-push hook to create manifests
○ Render templates for correct env
○ Secrets
● pre-receive hook or webhooks to build
artifacts and do kubectl set-image
● Power to developer
● Own tooling