GitOps topic
GitOps is an operational framework that takes DevOps best practices used for application development such as version control, collaboration, compliance, and CI/CD, and applies them to infrastructure automation. GitOps uses Git repositories as a single source of truth to deliver infrastructure as code.
GitOps delivers:
- A standard workflow for application development
- Increased security for setting application requirements upfront
- Improved reliability with visibility and version control through Git
- Consistency across any cluster, any cloud, and any on-premise environment
Key components of a GitOps workflow
There are four key components to a GitOps workflow, a Git repository, a continuous delivery (CD) pipeline, an application deployment tool, and a monitoring system.
- The Git repository is the source of truth for the application configuration and code.
- The CD pipeline is responsible for building, testing, and deploying the application.
- The deployment tool is used to manage the application resources in the target environment.
- The monitoring system tracks the application performance and provides feedback to the development team.
vault-secrets-operator
Create Kubernetes secrets from Vault for a secure GitOps based workflow.
argocd-vault-plugin
An Argo CD plugin to retrieve secrets from Secret Management tools and inject them into Kubernetes secrets
faas
OpenFaaS - Serverless Functions Made Simple
flux
Successor: https://github.com/fluxcd/flux2
sealed-secrets
A Kubernetes controller and tool for one-way encrypted Secrets
gaia
Build powerful pipelines in any programming language.
flagger
Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments)
flux2
Open and extensible continuous delivery solution for Kubernetes. Powered by GitOps Toolkit.
werf
A solution for implementing efficient and consistent software delivery to Kubernetes facilitating best practices.
podinfo
Go microservice template for Kubernetes