{"id":17910827,"url":"https://github.com/dgzlopes/cdk8s-on-argocd","last_synced_at":"2025-08-15T08:30:59.614Z","repository":{"id":122628376,"uuid":"314693104","full_name":"dgzlopes/cdk8s-on-argocd","owner":"dgzlopes","description":"Run cdk8s on Argo CD.","archived":false,"fork":false,"pushed_at":"2020-11-21T14:47:28.000Z","size":5,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-09T19:56:58.919Z","etag":null,"topics":["argocd","cdk8s","docker","docker-image"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","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/dgzlopes.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":"2020-11-20T23:27:18.000Z","updated_at":"2024-10-13T22:54:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"4a3b5488-6e16-4063-80dd-8babf2237d02","html_url":"https://github.com/dgzlopes/cdk8s-on-argocd","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgzlopes%2Fcdk8s-on-argocd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgzlopes%2Fcdk8s-on-argocd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgzlopes%2Fcdk8s-on-argocd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgzlopes%2Fcdk8s-on-argocd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dgzlopes","download_url":"https://codeload.github.com/dgzlopes/cdk8s-on-argocd/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229901509,"owners_count":18141739,"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":["argocd","cdk8s","docker","docker-image"],"created_at":"2024-10-28T19:34:49.118Z","updated_at":"2024-12-16T02:40:47.288Z","avatar_url":"https://github.com/dgzlopes.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Run cdk8s on Argo CD\n\n**Wait, what?**\n\n[Argo CD](https://argoproj.github.io/argo-cd/) is a GitOps continuous delivery tool for Kubernetes, that automates the deployment of the desired state of your applications in the specified target environments.\n\nOn the other hand, [cdk8s](https://cdk8s.io/) is an open-source software development framework for defining Kubernetes applications and reusable abstractions using familiar programming languages and rich object-oriented APIs.\n\nThis repo explains how to use both together.\n\n## Configure Argo CD\n\nArgo CD allows integrating more config management tools using config management plugins. Following changes are required to configure cdk8s:\n- Replace `argoproj/argocd` images with our custom images that contain all the things needed to run cdk8s.\n- Register a new cdk8s plugin in `argocd-m` ConfigMap:\n\n```yaml\ndata:\n  configManagementPlugins: |\n    - name: cdk8s\n      init:                          \n        command: [\"bash\"]\n        args: [\"-c\",\"\u003ccommands to synth your code\u003e\"]\n      generate:                      \n        command: [\"bash\"]\n        args: [\"-c\", \"cat dist/*\"]\n```\n\nNow you can use the plugin on your apps. Here is an example:\n```YAML\napiVersion: argoproj.io/v1alpha1\nkind: Application\nmetadata:\n  name: hello\nspec:\n  destination:\n    namespace: default\n    server: 'https://kubernetes.default.svc'\n  source:\n    path: 'k8s'\n    repoURL: 'https://github.com/dgzlopes/my-secret-project.git'\n    targetRevision: HEAD\n    plugin:\n      env:\n        - name: CHART\n          value: hello\n        - name: ENVIRONMENT\n          value: dev\n      name: cdk8s\n  project: default\n```\n## Docker images\n\n### Typescript\n\nTBD\n\n## Acknowledgements\n\n- To Max Brenner. Your post [Integrating cdk8s with Argo CD](https://brennerm.github.io/posts/integrating-cdk8s-with-argocd.html) was a big inspiration for this repo! Thanks :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgzlopes%2Fcdk8s-on-argocd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdgzlopes%2Fcdk8s-on-argocd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgzlopes%2Fcdk8s-on-argocd/lists"}