{"id":13521620,"url":"https://github.com/autoapply/autoapply","last_synced_at":"2025-03-31T20:32:10.003Z","repository":{"id":32942424,"uuid":"99350930","full_name":"autoapply/autoapply","owner":"autoapply","description":"Automatically apply changes to a Kubernetes cluster","archived":false,"fork":false,"pushed_at":"2024-07-11T19:38:24.000Z","size":753,"stargazers_count":154,"open_issues_count":12,"forks_count":15,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-09-23T09:15:09.213Z","etag":null,"topics":["gitops","kubernetes","kubernetes-deployment"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/autoapply.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-04T14:29:28.000Z","updated_at":"2024-08-12T19:31:46.000Z","dependencies_parsed_at":"2023-12-13T07:28:43.133Z","dependency_job_id":"b320aa6a-9a64-4642-80fc-3cee75a84ff4","html_url":"https://github.com/autoapply/autoapply","commit_stats":{"total_commits":131,"total_committers":5,"mean_commits":26.2,"dds":0.07633587786259544,"last_synced_commit":"3a158171d7a22e4819e8f9b607d0b037e0310346"},"previous_names":["pascalgn/autoapply"],"tags_count":47,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autoapply%2Fautoapply","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autoapply%2Fautoapply/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autoapply%2Fautoapply/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autoapply%2Fautoapply/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/autoapply","download_url":"https://codeload.github.com/autoapply/autoapply/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222679160,"owners_count":17021812,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gitops","kubernetes","kubernetes-deployment"],"created_at":"2024-08-01T06:00:36.522Z","updated_at":"2024-11-02T05:31:41.702Z","avatar_url":"https://github.com/autoapply.png","language":"JavaScript","funding_links":[],"categories":["Continuous Delivery","Tools","Continuous Delivery \u0026 GitOps","Configuration Management"],"sub_categories":["[Jenkins](#jenkins)"],"readme":"# autoapply\n\n[![Coverage status](https://img.shields.io/coveralls/github/autoapply/autoapply.svg?style=flat-square)](https://coveralls.io/github/autoapply/autoapply) [![Docker Pulls](https://img.shields.io/docker/pulls/autoapply/autoapply?style=flat-square)](https://hub.docker.com/r/autoapply/autoapply/) [![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/autoapply/autoapply/blob/master/LICENSE)\n\nAutomatically apply changes to a Kubernetes cluster.\n\n![Technical overview](https://autoapply.github.io/autoapply/overview.svg)\n\n- All resource files are stored in Git, which means there is a single source of truth\n  for the state of your application.\n- When editing resource files, the changes can be documented and merged using your standard Git workflow.\n- You can use [yaml-crypt](https://github.com/autoapply/yaml-crypt) or [sops](https://github.com/mozilla/sops) to store Kubernetes secrets directly in the repository.\n\n---\n\n1. [Usage](#usage)\n2. [Configuration](#configuration)\n3. [Docker tags](#docker-tags)\n4. [Related projects](#related-projects)\n5. [License](#license)\n\n## Usage\n\nTo quickly setup autoapply in a Kubernetes cluster, see the [autosetup](https://github.com/autoapply/autosetup) project.\n\n## Configuration\n\nA basic configuration file looks like this:\n\n```yaml\nloop:\n  commands:\n    - git clone --depth 1 https://github.com/autoapply/template-kubectl .\n    - kubectl apply -f common/\n    - kubectl apply -f dev/\n```\n\nFor example repositories, see [template-kubectl](https://github.com/autoapply/template-kubectl) and [template-kustomize](https://github.com/autoapply/template-kustomize). For more configuration files, see [examples](https://github.com/autoapply/autoapply/tree/master/docs/examples).\n\nFor a full description of the configuration format, see the [documentation](docs/configuration.md).\n\n## Docker tags\n\n* `autoapply/autoapply:latest` provides a minimal image with just *autoapply* installed ([Dockerfile](build/Dockerfile))\n* `autoapply/autoapply:kubectl` also provides *git*, *kubectl*, *[sops](https://github.com/mozilla/sops)* and *[dockerize](https://github.com/jwilder/dockerize)* ([Dockerfile](build/kubectl/Dockerfile))\n* `autoapply/autoapply:root` provides a minimal image with just *autoapply* installed, but running as root. This can be useful as a base for custom builds ([Dockerfile](build/root/Dockerfile))\n\n## Related projects\n\n- [Argo CD](https://github.com/argoproj/argo-cd) is very similar, but has a more complex architecture.\n  It doesn't support yaml-crypt or sops out of the box, but it also supports custom workflows.\n- [kube-applier](https://github.com/box/kube-applier) is also very similar, but less flexible.\n  It doesn't support Helm or custom workflows like using sops.\n- [Keel](https://github.com/keel-hq/keel) provides fully automated updates, but only changes\n  the container image version, nothing else.\n- [Helm](https://github.com/kubernetes/helm) does not provide automated updates, but still offers\n  a consistent way to release new versions. However, you will still need a way to manage the values\n  that will be used to create releases from charts.\n- [Flux](https://github.com/fluxcd/flux) is also very similar, but goes a step further and\n  uses an abstraction on top of the existing Kubernetes model.\n  There is also a blog post by Weaveworks about\n  [GitOps and Kubernetes](https://www.weave.works/blog/gitops-high-velocity-cicd-for-kubernetes),\n  which gives a good overview of the topic.\n- [kube-backup](https://github.com/pieterlange/kube-backup) is for the opposite way and regularly\n  adds all Kubernetes objects into the configured git repository.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautoapply%2Fautoapply","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fautoapply%2Fautoapply","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautoapply%2Fautoapply/lists"}