{"id":27840197,"url":"https://github.com/caldito/soup","last_synced_at":"2025-05-03T03:43:23.232Z","repository":{"id":41998325,"uuid":"340633342","full_name":"caldito/soup","owner":"caldito","description":"GitOps continuous deployment and management tool for Kubernetes focused on simplicity.","archived":false,"fork":false,"pushed_at":"2022-04-19T16:53:22.000Z","size":2721,"stargazers_count":40,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-11-15T01:39:45.929Z","etag":null,"topics":["cd","continuous-deployment","gitops","go","golang","k8s","kubernetes"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/caldito.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-20T11:03:31.000Z","updated_at":"2024-09-19T05:37:02.000Z","dependencies_parsed_at":"2022-08-12T01:50:42.007Z","dependency_job_id":null,"html_url":"https://github.com/caldito/soup","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caldito%2Fsoup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caldito%2Fsoup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caldito%2Fsoup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caldito%2Fsoup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/caldito","download_url":"https://codeload.github.com/caldito/soup/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252140559,"owners_count":21700754,"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":["cd","continuous-deployment","gitops","go","golang","k8s","kubernetes"],"created_at":"2025-05-03T03:43:22.712Z","updated_at":"2025-05-03T03:43:23.225Z","avatar_url":"https://github.com/caldito.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Soup\n\n![Apache 2.0 License](https://img.shields.io/hexpm/l/plug.svg)\n[![Go Reference](https://pkg.go.dev/badge/github.com/caldito/soup.svg)](https://pkg.go.dev/github.com/caldito/soup)\n[![Go Report Card](https://goreportcard.com/badge/github.com/caldito/soup)](https://goreportcard.com/report/github.com/caldito/soup)\n[![release](https://img.shields.io/github/release/caldito/soup/all.svg)](https://github.com/caldito/soup/releases)\n[![CircleCI](https://circleci.com/gh/caldito/soup/tree/main.svg?style=svg)](https://circleci.com/gh/caldito/soup/?branch=main)\n\nSoup is a GitOps operator for Kubernetes.\n\n## Why Soup\n* Focused on design and usage simplicity.\n* Deployment to kubernetes performed with [Server-Side Apply](https://kubernetes.io/docs/reference/using-api/server-side-apply/), allows a simple yet fully capable deployment module for all type of resources.\n* Match branch names with Regex.\n* Match manifests names with patterns.\n* Option to create namespaces called the same way as the branch. Useful in combination with the regex branch selector.\n\nImage [docs/images/overview.png](https://github.com/caldito/soup/blob/main/docs/images/overview.png) shows an overview on how the system works.\n\nYou can watch the following [demo](https://asciinema.org/a/439238) of Soup working.\n\n## Getting started\n### Prerequisites\n\n`Kubernetes \u003e= v1.20`\n\n### Installation\n\nInstall in 3 easy steps:\n\n1. First get the kubernetes kubernetes manifest for installing\n```\ncurl -O https://raw.githubusercontent.com/caldito/soup/main/manifests/install.yml\n```\n2. Override the `repo` argument in the file you just downloaded\n3. Apply to the cluster\n```\nkubectl apply -f install.yml\n```\nThere is also support for arm64 clusters. To use it change the container image in the `install.yml` file from `pablogcaldito/soup:\u003cversion\u003e` to `pablogcaldito/soup:arm64-\u003cversion\u003e` before applying.\n\n## Usage\n\n### Deployment Configuration file\nSoup reads a file named `.soup.yml` on the repository branches in order to know what to deploy and in which namespace. An example can be found in [docs/examples/.soup.yml](https://github.com/caldito/soup/blob/main/docs/examples/.soup.yml).\n\n### Arguments\nThe command line arguments should be in this form:\n```\n-arg=value\n```\nAvailable arguments:\n* repo: the url of the repo. This must be specified\n* interval: the sync interval in seconds. By default is set to 120s.\n\n## Contributing\nPull requests are welcomed and encouraged. For questions, feature requests and bug reports, please open an issue.\n\nThere is also a [TODO](https://github.com/caldito/soup/blob/main/TODO) file containing work planned to do.\n\nAn internal diagram which may be useful for contributors can be found in [docs/images/internals.png](https://github.com/caldito/soup/blob/main/docs/images/internals.png).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaldito%2Fsoup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaldito%2Fsoup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaldito%2Fsoup/lists"}