#Gitops

Open-source projects categorized as Gitops

Top 23 Gitops Open-Source Projects

  • GitHub repo OpenFaaS

    OpenFaaS - Serverless Functions Made Simple

    Project mention: Why we moved from Lambda to ECS | reddit.com/r/devops | 2021-04-20

    OpenFaaS isn't something I was previous familiar with. Thanks for linking it! In your experience, does it come with much management overhead? Part of what makes Lambda/ECS so appealing is that you can throw a definition (code .zip file or container image) at AWS, and it just runs. With OpenFaaS, it looks like you need to maintain some additional infrastructure (a Kubernetes cluster) to get it working, and that'd give you one more thing to worry about.

  • GitHub repo Flux

    The GitOps Kubernetes operator (by fluxcd)

    Project mention: Open source Heroku Like Platform on premises | news.ycombinator.com | 2021-03-25

    Looks really neat. We have a not-super-trivial rails app that I want to move to docker one day, but kinda scared to make the jump. We're already using docker for development, plus even have a home-grown docker-compose setup for ephemeral labs, but it's clunky at best.

    This seems like something that might provide a simple jumping board hopefully... Also bumped into fluxCD[0] recently which also looks interesting.

    [0] https://github.com/fluxcd/flux

  • GitHub repo argo-cd

    Declarative continuous deployment for Kubernetes.

    Project mention: Configuring ArgoCD on Amazon EKS | dev.to | 2021-04-17

    stages: - init - deploy variables: KUBECTL_VERSION: 1.20.5 ARGOCD_VERSION: 1.7.4 ARGOCD_ADDR: argocd.example.com # Get ArgoCD credentials from Secret Manager before_script: - export AROGOCD_TOKEN="$(aws secretsmanager get-secret-value --secret-id argocd-token --version-stage AWSCURRENT --query SecretString --output text)" # install kubectl - curl -L "https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl" -o /usr/bin/kubectl # install argocd - curl -sSL -o /usr/local/bin/argocd "https://github.com/argoproj/argo-cd/releases/download/v${ARGOCD_VERSION}/argocd-linux-amd64" init demo project 🔬: stage: init when: manual image: name: amazon/aws-cli script: - argocd cluster add $BUSINESS_K8S_CONTEXT --name business-cluster-dev --kubeconfig $KUBE_CONFIG --auth-token=${AROGOCD_TOKEN} --server ${ARGOCD_ADDR} || echo 'cluster already added' tags: - k8s-dev-runner only: - master deploy demo project 🚀: stage: init when: manual image: name: amazon/aws-cli script: - sed -i "s,,$BUSINESS_K8S_CLUSTER_URL,g;s,,$CI_PROJECT_URL.git,g" application.yaml # Connect to aws eks devops cluster - aws eks update-kubeconfig --region $AWS_REGION --name $EKS_CLUSTER_NAME # Create ArgoCD project - argocd proj create demo-dev -d $KUBERNETES_CLUSTER_URL,app-dev -s $CI_PROJECT_URL.git --auth-token=${AROGOCD_TOKEN} --server ${ARGOCD_ADDR} || echo 'project already created' # Create ArgoCD application - kubectl apply -n argocd -f application.yaml tags: - k8s-dev-runner only: - master deploy demo app 🌐: stage: deploy image: name: amazon/aws-cli script: - cd envs/dev - argocd app sync demo-dev --auth-token=${AROGOCD_TOKEN} --server ${ARGOCD_ADDR} tags: - k8s-dev-runner only: - tags

  • GitHub repo sealed-secrets

    A Kubernetes controller and tool for one-way encrypted Secrets

    Project mention: CI/CD... if you were to start over, what tools would you use? | reddit.com/r/devops | 2021-02-25

    You can store encrypted secrets just fine https://github.com/bitnami-labs/sealed-secrets

  • GitHub repo werf

    GitOps delivery tool

    Project mention: Continuous Deployments with Kubernetes? | reddit.com/r/kubernetes | 2021-02-07

    Give werf a try! It is an Open Source CLI tool implementing the GitOps approach praised in other comments here; integrates with a CI system of your choise (if there's no preference yet, using its built-in integration with GitLab CI or GitHub Actions should be a good start). There is an introduction for beginners which can be followed by a quickstart or one of its step-by-step guides.

  • GitHub repo flux2

    Open and extensible continuous delivery solution for Kubernetes. Powered by GitOps Toolkit.

    Project mention: Flux2: Continuous Delivery for Kubernetes | news.ycombinator.com | 2021-04-21
  • GitHub repo podinfo

    Go microservice template for Kubernetes

    Project mention: Example of a simple application to practice monitoring and logging | reddit.com/r/devops | 2021-04-18
  • GitHub repo helm-operator

    The Flux Helm Operator, for declarative Helming

    Project mention: Auto helm (software) installations in ci/cd pipeline | reddit.com/r/devops | 2021-03-21

    You can store the values file of the helm in your repository and deploy with CI, but I personally prefer going to GitOps and Helm Operator (https://github.com/fluxcd/helm-operator) Or you can have a mixed approach where you define your HelmRelease to be deployed for HelmOperator and deploy it with CI (instead of having an operator in the cluster to apply every change in the repo)

  • GitHub repo bedrock

    Automation for Production Kubernetes Clusters with a GitOps Workflow (by microsoft)

    Project mention: azure yaml example, run multiple shell commands | reddit.com/r/tree_notations | 2021-03-30
  • GitHub repo kots

    KOTS provides the framework, tools and integrations that enable the delivery and management of 3rd-party Kubernetes applications, a.k.a. Kubernetes Off-The-Shelf (KOTS) Software.

    Project mention: Ask HN: How would you set up a new B2B SaaS? | news.ycombinator.com | 2021-02-21

    We have helped clients several industries and sectors where these words either mean different things, or people who use them are thinking of different things. An appliance has meant a physical thing before it has also meant a VM.

    The question you have asked includes a solution. Many client meetings start with that. This is what's called an XY problem[0], where the client says they want want Y, but that's their implementation of a solution to solve X. That may or may not be the only solution, but finding out the actual problem to be solved has never hurt me and saved a lot of time and money.

    This is why we spend time defining the problem and stripping away every ounce of jargon we can, because that jargon can create a bias towards a solution that may not be optimal. For example, site-to-site VPN. Why? Gateway ? Why ? These are solutions. What's the job to be done.

    Anyway... Have a look at https://www.replicated.com/ and https://kots.io/

  • GitHub repo carvel-kapp

    kapp is a simple deployment tool focused on the concept of "Kubernetes application" — a set of resources with the same label

    Project mention: Open Application Model – An open standard for defining cloud native apps | news.ycombinator.com | 2021-03-19

    I really like this approach for simplifying Kubernetes. A few projects similar to OAM in that it provides a higher level "Application" CRD:

    https://github.com/vmware-tanzu/carvel-kapp

  • GitHub repo k8s-gitops

    GitOps principles to define kubernetes cluster state via code. Community around [email protected] is on discord: https://discord.gg/7PbmHRK

    Project mention: How can Intel quick sync be exposed to a pod? | reddit.com/r/kubernetes | 2021-02-05

    No prob! So the NFD config needs to know the pci ids for what you’re looking to label. The values are here: https://github.com/billimek/k8s-gitops/blob/master/kube-system/node-feature-discovery/node-feature-discovery.yaml#L67-L71

  • GitHub repo flux2-kustomize-helm-example

    A GitOps workflow example for multi-env deployments with Flux, Kustomize and Helm.

    Project mention: How do you manage multiple environments with GitOps? | reddit.com/r/devops | 2021-04-17

    We are using flux2, which uses Kustomize under the hood. It takes a little bit of time to learn about the different CRD's which are available but once you do it works excellent. They also have an example project which sounds like it might fit your use case https://github.com/fluxcd/flux2-kustomize-helm-example

  • GitHub repo bodywork

    MLOps tool for deploying machine learning projects to Kubernetes 🚀

    Project mention: [P] [D] The benefits of training the simplest model you can think of and deploying it to production, as soon as you can. | reddit.com/r/MachineLearning | 2021-04-18

    I’ve had many successes with this approach. With this in mind, I’ve put together an example of how to make this Agile approach to developing machine learning systems a reality, by demonstrating that it takes under 15 minutes to deploy a Scikit-Learn model, using FastAPI with Bodywork (an open-source MLOps tool that I have built).

  • GitHub repo Beetle

    🔥 Kubernetes multi-cluster deployment automation service.

    Project mention: Clivern/Beetle - Kubernetes multi-cluster deployment automation service. | reddit.com/r/k8s | 2021-01-01
  • GitHub repo devtron

    Software Delivery Workflow For Kubernetes

    Project mention: Transitioning From DevOps to AppOps | dev.to | 2021-01-24

    As mentioned before, imagine there is a platform through which developers can deploy, manage and operationalize applications. If the application fails to run, they can pull it back, debug it and make all the required changes and deploy it again. Thus, the developers are now completely in charge of what they build and deploy instead of being dependent on an external team. This helps developers test their applications in production and create an internal feedback loop.

  • GitHub repo k8s-gitops

    Kubernetes cluster managed by GitOps - Git as a single source of truth, automated pipelines, declarative everything, next-generation DevOps (by xUnholy)

    Project mention: My home Kubernetes cluster managed by GitOps on Raspberry Pis | reddit.com/r/kubernetes | 2021-03-18
  • GitHub repo terradiff

    Get told when your Terraform config doesn't match reality

    Project mention: Terraform diffing solution | reddit.com/r/Terraform | 2021-03-01

    I am looking for something like https://github.com/jml/terradiff, which seems to have abandoned.

  • GitHub repo home-cluster

    My home Kubernetes (k3s) cluster managed by GitOps (Flux)

    Project mention: Template for deploying k3s backed by Flux and more goodies | reddit.com/r/selfhosted | 2021-04-21

    This is great, I remember stumbling across your own repo with all this and building my own.

  • GitHub repo terraform-aws-ecs-atlantis

    Terraform module for deploying Atlantis as an ECS Task

    Project mention: Alternatives to Terraform for AWS EKS deployments. | reddit.com/r/devops | 2021-01-08

    Spin up an EKS cluster with VPC, subnets, etc. using only terraform code. Spin up a tool like Atlantis to be able to deploy from GitHub. Should take a week or two and get you going.

  • GitHub repo k8s-gitops

    Specify my Kubernetes cluster declaratively (by kasuboski)

    Project mention: Scan Images in my GitOps Repo | dev.to | 2020-10-22

    My full workflow can be found in kasuboski/k8s-gitops. It triggers on workflow_dispatch, cron, and push to yaml files.

  • GitHub repo gitops-kubernetes-configuration

    Example GitOps repository with Kubernetes manifests

  • GitHub repo gitops-app-source-code

    Example application for GitOps deployment

    Project mention: Need info for multiple repos setup | reddit.com/r/cicd | 2021-01-25
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-04-21.

Index

What are some of the best open-source Gitops projects? This list will help you:

Project Stars
1 OpenFaaS 19,637
2 Flux 6,249
3 argo-cd 5,789
4 sealed-secrets 3,278
5 werf 2,316
6 flux2 1,500
7 podinfo 1,385
8 helm-operator 577
9 bedrock 534
10 kots 531
11 carvel-kapp 494
12 k8s-gitops 205
13 flux2-kustomize-helm-example 162
14 bodywork 154
15 Beetle 150
16 devtron 137
17 k8s-gitops 129
18 terradiff 89
19 home-cluster 44
20 terraform-aws-ecs-atlantis 31
21 k8s-gitops 12
22 gitops-kubernetes-configuration 0
23 gitops-app-source-code 0