{"id":16880563,"url":"https://github.com/squaremo/spresm","last_synced_at":"2025-07-29T23:13:24.825Z","repository":{"id":53940311,"uuid":"150579441","full_name":"squaremo/spresm","owner":"squaremo","description":"It's a tool for managing Kubernetes configurations, that supports getting YAMLs from Helm charts and container images.","archived":false,"fork":false,"pushed_at":"2021-03-11T10:10:36.000Z","size":124,"stargazers_count":8,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T12:13:25.531Z","etag":null,"topics":["gitops","helm","kubernetes","yaml"],"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/squaremo.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}},"created_at":"2018-09-27T11:57:04.000Z","updated_at":"2022-10-23T14:22:24.000Z","dependencies_parsed_at":"2022-08-13T05:10:26.246Z","dependency_job_id":null,"html_url":"https://github.com/squaremo/spresm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/squaremo/spresm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squaremo%2Fspresm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squaremo%2Fspresm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squaremo%2Fspresm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squaremo%2Fspresm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/squaremo","download_url":"https://codeload.github.com/squaremo/spresm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squaremo%2Fspresm/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267779062,"owners_count":24143175,"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","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","helm","kubernetes","yaml"],"created_at":"2024-10-13T15:59:16.026Z","updated_at":"2025-07-29T23:13:24.808Z","avatar_url":"https://github.com/squaremo.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spresm, because configuration is code too\n\nSpresm is a tool for managing Kubernetes configurations in git, as\ngenerated by Helm charts and more generally, container images.\n\nWhen you `spresm import` a Helm chart or container image, Spresm runs\nit (with input values you provide) to generate YAML files for you to\ncommit to git. You can make changes to the YAML files and commit them.\n\nWhen you need to update the chart or image, or the input values, you\ncan run `spresm update` to regenerate the YAMLs and merge with your\nlocal changes.\n\nExample:\n\n```bash\n$ spresm import helm flux-system/ --chart https://charts.fluxcd.io/flux --version 1.5\n# edit the values presented in $EDITOR, save and exit\n$ ls flux-system/\nSpresmfile              deployment.yaml         kube.yaml\nmemcached.yaml          rbac.yaml               secret.yaml\nservice.yaml            serviceaccount.yaml\n$ git add flux-system; git commit -m \"Initial flux config\"\n```\n\nHaving imported the chart (in this case), you can now edit things to\nsuit your purposes. Let's remove a redundant volume definition and\nmount from the deployment.\n\n```\n$ $EDITOR flux-system/deployment.yaml\n# remove the `kubedir` volume and its mount\n$ git diff\nindex 194c279..c779af5 100644\n--- a/flux-system/deployment.yaml\n+++ b/flux-system/deployment.yaml\n@@ -23,9 +23,6 @@ spec:\n     spec:\n       serviceAccountName: flux-system2\n       volumes:\n-      - name: kubedir\n-        configMap:\n-          name: flux-system2-kube-config\n       - name: git-key\n         secret:\n           secretName: flux-system2-git-deploy\n@@ -54,8 +51,6 @@ spec:\n           initialDelaySeconds: 5\n           timeoutSeconds: 5\n         volumeMounts:\n-        - name: kubedir\n-          mountPath: /root/.kubectl\n         - name: git-key\n           mountPath: /etc/fluxd/ssh\n           readOnly: true\n$ git add flux-system/deployment.yaml; git commit -m \"Remove kubedir volume\"\n```\n\nYou can now update the values and regenerate the YAMLs. Changes will\nbe merged with the change you've made.\n\n```bash\n$ spresm update --edit flux-system/\n# edit the values presented in $EDITOR, save and exit\n```\n\nSee [./docs/rfc/0001-spresm.md](./docs/rfc/0001-spresm.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquaremo%2Fspresm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsquaremo%2Fspresm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquaremo%2Fspresm/lists"}