{"id":50966844,"url":"https://github.com/nguyentin05/cakd-platform","last_synced_at":"2026-06-18T21:02:44.278Z","repository":{"id":362227594,"uuid":"1257277401","full_name":"nguyentin05/cakd-platform","owner":"nguyentin05","description":"A powerful CLI tool that scaffolds production-ready, cloud-agnostic Kubernetes microservices from a single YAML file, featuring built-in AI observability.","archived":false,"fork":false,"pushed_at":"2026-06-11T08:46:26.000Z","size":4207,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-11T09:24:43.721Z","etag":null,"topics":["ai-observability","argocd","cli","gitops","go","helm","kubernetes","platform-engineering","terraform"],"latest_commit_sha":null,"homepage":"https://nguyentin05.github.io/cakd-platform/","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/nguyentin05.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-02T14:25:32.000Z","updated_at":"2026-06-11T08:46:28.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nguyentin05/cakd-platform","commit_stats":null,"previous_names":["nguyentin05/cakd-platform"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/nguyentin05/cakd-platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nguyentin05%2Fcakd-platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nguyentin05%2Fcakd-platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nguyentin05%2Fcakd-platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nguyentin05%2Fcakd-platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nguyentin05","download_url":"https://codeload.github.com/nguyentin05/cakd-platform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nguyentin05%2Fcakd-platform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34507160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"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":["ai-observability","argocd","cli","gitops","go","helm","kubernetes","platform-engineering","terraform"],"created_at":"2026-06-18T21:02:43.114Z","updated_at":"2026-06-18T21:02:44.271Z","avatar_url":"https://github.com/nguyentin05.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cloud-Agnostic Kubernetes Developer Platform\n\nA developer-centric CLI and in-cluster observability agent that scaffolds, deploys, and diagnoses cloud-native\napplications — driven by a single declarative YAML configuration file.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"docs/src/assets/header-github.png\" width=\"900\" alt=\"CAKD Platform\"/\u003e\n\u003c/div\u003e\n\n---\n\n\u003e **TL;DR:** CAKD eliminates the cognitive load and boilerplate of bootstrapping cloud-native microservices. Define your\n\u003e services, backing databases, and observability preferences in a YAML configuration file. CAKD generates standard\n\u003e Go/Java\n\u003e Spring Boot scaffolds, Dockerfiles, Helm charts, CI/CD pipelines, provisions infrastructure via Terraform, registers\n\u003e application targets with ArgoCD, and implements an AI-powered diagnostic agent (cakd-agent) that troubleshoots your\n\u003e workloads live.\n\n## Core Capabilities\n\n- **Declarative Architecture** — Define your entire stack (services, databases, alerts, integrations) in a single YAML\n  configuration file.\n- **GitOps-Ready** — Generates ArgoCD Application manifests and GitHub Actions workflows automatically.\n- **Microservices Scaffolding** — Supports production-ready Java Spring Boot templates (Gradle/Maven) with built-in\n  database support.\n- **Terraform Bridge** — Provisions GitHub repositories, sets up branch protection, and handles CI/CD secrets natively.\n- **In-Cluster Agent (cakd-agent)** — Runs inside your cluster, registers with Alertmanager, gathers logs and metrics\n  directly, and alerts your team via Discord embed webhooks.\n- **AI-Powered Diagnostics** — Connects to Prometheus and Loki, analyzes system metrics/logs, and calls Google Gemini\n  for root-cause troubleshooting.\n\n---\n\n## Supported Providers\n\nCAKD adopts an integration-centric model. Below are the provider types and their currently supported integrations in the\ncodebase:\n\n| Provider Type              | Supported Integrations | YAML Key       | Description                                                          |\n|:---------------------------|:-----------------------|:---------------|:---------------------------------------------------------------------|\n| **Version Control**        | github                 | versionControl | Repository creation, credentials injection, and settings management  |\n| **Continuous Integration** | github-actions         | ci             | YAML workflow generation for compilation, testing, and Docker builds |\n| **Continuous Deployment**  | argocd                 | cd             | Declarative GitOps deployment tracking and syncing                   |\n| **Notification Channel**   | discord                | notification   | Live alert dispatching with embeds for root-cause analysis           |\n| **AI / LLM**               | gemini                 | llm            | AI diagnostic chatbot engine                                         |\n| **Metrics Monitoring**     | prometheus             | monitoring     | Gathers workload resource usage and restart metrics                  |\n| **Log Aggregation**        | loki                   | logging        | Collects recent runtime application output for error tracing         |\n\n---\n\n## Project Components\n\nThe codebase compiles into two distinct binaries:\n\n1. **`cakd`** (CLI): The command-line developer interface for bootstrapping clusters, validating configurations,\n   scaffolding projects, and diagnosing issues manually.\n2. **`cakd-agent`** (Daemon): The in-cluster notification and monitoring agent that handles real-time alert dispatching\n   and Gemini AI analysis.\n\n---\n\n## Documentation\n\nA comprehensive Astro Starlight-powered documentation site is available in the `docs/` folder:\n\n- **Tutorials**: Quickstart instructions for local setup using Minikube.\n- **How-to Guides**: Step-to-step guides (e.g., setting up Discord notification channels).\n- **Explanation**: Architectural deep dives, design choices, and design patterns.\n- **Reference**: Full CLI commands reference and configuration specifications.\n- **ADRs**: Architecture Decision Records detailing critical design updates.\n\nTo build the documentation site locally:\n\n```bash\ncd docs\nnpm install\nnpm run build\n```\n\n---\n\n## Quick Start\n\n### Prerequisites\n\n- **Go 1.24+**\n- **Terraform**\n- **Kubernetes Cluster** (e.g. Minikube)\n\n### 1. Installation\n\n#### Build from Source\n\n```bash\ngit clone https://github.com/nguyentin05/cakd-platform.git\ncd cakd-platform\ntask build\n```\n\nThe compiled binaries will be output to the `bin/` directory.\n\n---\n\n### 2. Configure Credentials\n\nInstead of exporting plain-text tokens and keys into your terminal history, use the built-in interactive authentication\nmanager to securely store your credentials:\n\n```bash\n# Log in to GitHub (Personal Access Token)\n./bin/cakd auth login github\n\n# Log in to Google Gemini (API Key)\n./bin/cakd auth login gemini\n\n# Log in to Discord (Bot Token and Guild ID)\n./bin/cakd auth login discord\n```\n\nTo verify the status of your credentials at any time:\n\n```bash\n./bin/cakd auth status\n```\n\n---\n\n### 3. Declare Your Platform Configuration\n\nCreate a configuration YAML file (e.g., `platform.yaml`) in the root of your workspace:\n\n```yaml\napiVersion: platform.dev/v1alpha1\nkind: Project\nmetadata:\n  name: test-project\n  owner: your-github-username\n\nproviders:\n  versionControl: github\n  ci: github-actions\n  cd: argocd\n  notification: discord\n  llm: gemini\n  monitoring: prometheus\n  logging: loki\n\nobservability:\n  alerting: true\n  ai:\n    model: gemini-flash-latest\n\nservices:\n  - name: api\n    language: java-spring-boot\n    languageVersion: \"21\"\n    projectBuild: gradle-project\n    packaging: jar\n    springConfigFormat: properties\n    dependencies:\n      - web\n```\n\n---\n\n### 4. CLI Usage\n\n#### Validate Your Configuration\n\nCheck your configuration schema and dependency trees:\n\n```bash\n./bin/cakd validate -f platform.yaml\n```\n\n#### Bootstrap Your Cluster\n\nInitialize your Kubernetes cluster (installs ArgoCD, Prometheus Stack, Grafana Loki, and deploys the `cakd-agent`\ndaemon):\n\n```bash\n./bin/cakd init\n```\n\n#### Provision and Scaffold\n\nGenerate the boilerplate code, build files, Helm charts, provision git repositories via Terraform, and configure ArgoCD\ndeployment pipelines:\n\n```bash\n./bin/cakd create -f platform.yaml\n```\n\n#### Troubleshoot Workloads with AI\n\nManually trigger real-time AI diagnosis on any project namespace:\n\n```bash\n./bin/cakd observe test-project\n```\n\n---\n\n## Development \u0026 Automation\n\nThis project uses `Taskfile` as its task runner:\n\n```bash\ntask fmt       # Format Go source code\ntask lint      # Run golangci-lint\ntask test      # Run all unit and integration tests\ntask build     # Compile both cakd and cakd-agent binaries\ntask ci        # Run formatting, lint, testing, building, and security scans\n```\n\n---\n\n## Contributing\n\nContributions are welcome. Please read [CONTRIBUTING.md](CONTRIBUTING.md) before submitting a pull request.\nThis project follows the [Conventional Commits](https://www.conventionalcommits.org/) specification. All commits must\nfollow the format `type: description`.\n\n## License\n\nLicensed under the [Apache License 2.0](LICENSE).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnguyentin05%2Fcakd-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnguyentin05%2Fcakd-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnguyentin05%2Fcakd-platform/lists"}