feat: Complete GitOps migration with multi-env support#1
Merged
Conversation
Add test environment configuration: - kustomization.yaml with all platform resources - destination.yaml for tst-cluster - bootstrap.yaml for ArgoCD root app 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Add staging environment configuration: - kustomization.yaml with all platform resources - destination.yaml for stg-cluster - bootstrap.yaml for ArgoCD root app 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Activate production environment configuration: - Replace commented kustomization.yaml with working config - Update destination.yaml for prd-cluster - Update bootstrap.yaml with full ArgoCD Application spec - Tenant chat-api commented out (enable when ready for production) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Add tenant infrastructure: - namespace.yaml for chat-api namespace with labels - resource-quota.yaml with CPU/memory/storage limits - base/kustomization.yaml to bundle tenant resources Fix chat app structure: - Remove secrets from base/kustomization.yaml - Create overlays/dev/kustomization.yaml with base + secrets 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Add placeholder structure for future Dify deployment: - base/kustomization.yaml (commented out) - base/application.yaml template (commented out) - README.md with TODO tasks and links 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Add release.yaml: - Semantic-release workflow for automated versioning - Triggers on push to main (excluding markdown and validate.yaml) - Uses .releaserc.json configuration Update validate.yaml: - Add tst, stg, prd environments to matrix - All 4 environments now validated on PRs 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Update tenants-project.yaml: - Add destinations for tst-cluster, stg-cluster, prd-cluster - Add namespaceResourceWhitelist for common K8s resources - Keep existing in-cluster destination for dev 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Fix kustomize validation error by moving ingress YAML files from overlays/ to base/ directory. Kustomize doesn't allow referencing files outside the base directory. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Add data-team tenant structure: - namespace.yaml with team labels - resource-quota.yaml (8/16 CPU, 16/32Gi memory, 100Gi storage) - base/kustomization.yaml 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Add ml-team tenant structure: - namespace.yaml with team labels - resource-quota.yaml (16/32 CPU, 32/64Gi memory, 200Gi storage) - base/kustomization.yaml Higher resource limits for ML workloads (GPU training, inference). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Fix dev bootstrap.yaml: - Change repoURL from app-release.git to app-poly-gitops-k8s.git - Update path from platform/core/cluster-bootstrap to clusters/dev - Add labels, finalizers, project, syncPolicy - Use destination.name: in-cluster instead of server URL Now consistent with tst/stg/prd bootstrap configurations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Add Helm values for chat-api across all environments: dev (2 replicas, 1Gi): - host: chat-dev.syncjob.ru tst (1 replica, 512Mi): - host: chat-tst.syncjob.ru stg (2 replicas, 1Gi): - host: chat-stg.syncjob.ru prd (3 replicas, 2Gi): - host: chat.syncjob.ru Create kustomization.yaml for tst/stg/prd overlays. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Replace simple list generator with matrix generator for multi-env support.
Matrix generates 4 Applications automatically:
- product-team-chat-dev → in-cluster
- product-team-chat-tst → tst-cluster
- product-team-chat-stg → stg-cluster
- product-team-chat-prd → prd-cluster
Features:
- Multi-source: Helm chart + GitOps values
- Dynamic path: tenants/{{team}}/apps/{{app}}/overlays/{{env}}
- Environment-specific values from overlays
- Labels for filtering (team, app, env)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Split tenant-apps into tenant-apps-dev (with Image Updater) and tenant-apps (tst/stg/prd) - Enable goTemplate for proper variable interpolation - Image Updater writes to tenants/.../overlays/dev/values.yaml - Remove legacy base/application.yaml (now managed by ApplicationSet) - Remove legacy clusters/dev/chat-values.yaml 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Skip ArgoCD, cert-manager, and sealed-secrets CRDs that don't have built-in schemas in kubeconform. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes
Clusters
clusters/tst/,clusters/stg/- new environmentsclusters/prd/- activatedclusters/dev/bootstrap.yaml- fixed repository URLTenants
tenants/product-team/- namespace.yaml, resource-quota.yaml, chat app overlaystenants/data-team/,tenants/ml-team/- new teamsGitOps
platform/gitops/appsets/tenant-apps.yaml- split into dev (with Image Updater) and non-devCI/CD
.github/workflows/validate.yaml- matrix for dev/tst/stg/prd.github/workflows/release.yaml- semantic-release workflow.releaserc.json- semantic-release configTest plan
🤖 Generated with Claude Code