Skip to content

thienma1258/gitops

 
 

Repository files navigation

main App Status

⚙️ GitOps

GitOps is a set of best practices where the entire code delivery process is controlled via Git, including infrastructure and application definition as code and automation to complete updates and rollbacks.

The core idea of GitOps is to have a git repository that contains declarative descriptions of the desired infrastructure in the production environment and has an automated process to make the production environment match the state described in that repository.

Now that we know the central idea, let's go back a little bit to the acronym GitOps and let's understand the role of git, the role of ops and how they meet.

The Key GitOps Principles:

  • The entire system (infrastructure and applications) is described declaratively.
  • The canonical desired system state is versioned in Git.
  • Changes approved are automated and applied to the system.
  • Software agents ensure correctness and alert on divergence.

New users to GitOps and Argo CD are not often sure how they should structure their repos, add applications, promote apps across environments, and manage the Argo CD installation itself using GitOps.

Example:

argocd-autopilot app create argo-events --app github.com/argoproj/argo-events/blob/master/manifests/namespace-install.yaml -p ops --wait-timeout 2m

Argo CD automates the deployment of the desired application states in the specified target environments. Application deployments can track updates to branches, tags, or pinned to a specific version of manifests at a Git commit. See tracking strategies for additional details about the different tracking strategies available.

Argo Events is an event-driven workflow automation framework for Kubernetes which helps you trigger K8s objects, Argo Workflows, Serverless workloads, etc. on events from a variety of sources like webhooks, S3, schedules, messaging queues, gcp pubsub, sns, sqs, etc.

Argo Rollouts is a Kubernetes controller and set of CRDs which provide advanced deployment capabilities such as blue-green, canary, canary analysis, experimentation, and progressive delivery features to Kubernetes.

Argo Rollouts (optionally) integrates with ingress controllers and service meshes, leveraging their traffic shaping abilities to gradually shift traffic to the new version during an update. Additionally, Rollouts can query and interpret metrics from various providers to verify key KPIs and drive automated promotion or rollback during an update.

Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Argo Workflows is implemented as a Kubernetes CRD (Custom Resource Definition).

🔩 Tooling

Tools Version Deployed
argocd-autopilot v0.3.0
argocd 2.3.0
argo-events 1.5.5
argo-workflows 3.2.8
argo-rollouts 1.1.1
kustomize
sealed-secrets 0.17.3
istio 1.11.4
wordpress 5.9
cert-manager 1.6.1
prometheus x
grafana x
metrics-server 0.5.1

🔨 To Do

Issue Description Status
wordpress Fix kustomize
argo-worflows Fix Build
yaml-validate Fix CI Workflow

🛠️ Required Tools

Tools Version
kubectl v1.22.3
argocd-autopilot v0.2.28

🌳 Project Structure

.
├── apps
│   ├── argo
│   ├── argo-rollouts
│   ├── cert-manager
│   ├── external-dns
│   ├── grafana
│   ├── hello-gitops
│   │   ├── base
│   │   └── overlays
│   │       └── production
│   ├── hello-world
│   ├── istio
│   ├── metrics-server
│   ├── prometheus
│   ├── sealed-secrets
│   └── wordpress
│       ├── base
│       └── overlays
│           └── production
├── bootstrap
│   ├── argo-cd
│   │   ├── base
│   │   └── overlays
│   │       └── production
│   └── cluster-resources
│       └── in-cluster
├── fix-folders
│   ├── argo-cd
│   │   └── base
│   ├── argo-events
│   ├── argo-rollouts
│   └── argo-workflows
│       └── workflows-templates
└── projects

🖊️ Code of Conduct

See CODE-OF-CONDUCT.md.

🔒 Security

See SECURITY.md.

✨ Contributions

We ❤️ contributions big or small. See our guide on how to get started.

Thanks to all our contributors!

About

🏗️ GitOps Repository

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published