From 6909a430aa051a31deafa91632e3ceed740a4822 Mon Sep 17 00:00:00 2001 From: justgithubaccount Date: Thu, 9 Oct 2025 16:21:12 +0300 Subject: [PATCH 1/3] refactor!: migrate to CNCF-compliant platform structure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Major restructuring following CNCF GitOps best practices. Infrastructure changes: - Create platform/{core,infrastructure,observability,gitops} - Migrate infra/ → platform/infrastructure/ - Reorganize by domain: networking, storage, security, ai-platform - Add base/overlays structure for all components Application changes: - Create tenants/product-team with namespace isolation - Migrate chat-api to tenants/product-team/apps/chat/ - Add resource quotas and network policies GitOps changes: - Implement ApplicationSets for auto-generation - Create App-of-Apps pattern in core/cluster-bootstrap/ - Move clusters/ to root level for better organization CI/CD changes: - Update workflow paths (infra/clusters → clusters/) - Add validation for tenants/ and platform/ - Archive legacy structure in misc/old-* BREAKING CHANGE: Complete repository restructuring. Old paths (infra/*, roles/*, infra-root.yaml) no longer exist. All applications now deployed via platform/gitops/appsets/. Manual intervention required for existing ArgoCD Applications. --- clusters/dev/bootstrap.yaml | 14 ++++++++++++++ {infra/clusters => clusters}/dev/chat-values.yaml | 0 {infra/clusters => clusters}/dev/destination.yaml | 0 .../clusters => clusters}/dev/kustomization.yaml | 0 clusters/dev/values/infrastructure-values.yaml | 0 clusters/dev/values/observability-values.yaml | 0 clusters/prd/bootstrap.yaml | 0 {infra/clusters => clusters}/prd/destination.yaml | 0 .../clusters => clusters}/prd/kustomization.yaml | 0 clusters/prd/values/infrastructure-values.yaml | 0 clusters/prd/values/observability-values.yaml | 0 .../deployment/llm}/application.yaml | 0 .../deployment/llm}/kustomization.yaml | 0 .../deployment/llm}/litellm-configmap.yaml | 0 .../deployment/llm}/litellm-deployment.yaml | 0 .../deployment/llm}/litellm-secrets-sealed.yaml | 0 .../deployment/llm}/litellm-service.yaml | 0 .../deployment/llm}/litellm-vector-configmap.yaml | 0 misc/{ddd => old-ddd}/app-infra-root.yaml | 0 misc/{ => old-ddd}/consul/application.yaml | 0 misc/{ => old-ddd}/consul/client/application.yaml | 0 misc/{ => old-ddd}/consul/ingress-consul.yaml | 0 misc/{ => old-ddd}/consul/kustomization.yaml | 0 misc/{ => old-ddd}/consul/mesh/application.yaml | 0 misc/{ => old-ddd}/consul/server/application.yaml | 0 .../consul/webhooks/application.yaml | 0 misc/{ddd => old-ddd}/core/crds/app-crds.yaml | 0 .../core/issuer/issuer-cluster.yaml | 0 .../core/namespaces/chat-api-namespace.yaml | 0 .../namespaces/longhorn-system-namespace.yaml | 0 .../core/namespaces/nginx-namespace.yaml | 0 .../core/namespaces/observability-namespace.yaml | 0 .../data/postgree/pg-secrets-sealed.yaml | 0 .../data/postgree/pg-secrets.yaml | 0 misc/{ddd => old-ddd}/ddd.png | Bin misc/{ddd => old-ddd}/gateway/app.yaml | 0 misc/{ddd => old-ddd}/gateway/ingress-argo.yaml | 0 misc/{ddd => old-ddd}/gateway/ingress-chat.yaml | 0 .../{ddd => old-ddd}/gateway/ingress-grafana.yaml | 0 .../llm/gateway/litellm-configmap.yaml | 0 .../llm/gateway/litellm-deployment.yaml | 0 .../llm/gateway/litellm-secrets-sealed.yaml | 0 .../llm/gateway/litellm-service.yaml | 0 .../llm/gateway/litellm-vector-configmap.yaml | 0 .../observability/grafana/app-grafana.yaml | 0 .../observability/loki/app-loki.yml | 0 .../observability/loki/loki-pv.yaml | 0 .../observability/loki/loki-pvc.yaml | 0 .../observability/loki/loki-secrets-sealed.yaml | 0 .../security/cert-manager/app.yaml | 0 .../security/cert-manager/cert-cluster.yaml | 0 .../secret-cloudflare-cert-manager-sealed.yaml | 0 .../security/external-dns/app-external-dns.yaml | 0 .../secret-cloudflare-external-dns-sealed.yaml | 0 .../storage/longhorn/app-longhorn.yaml | 0 {infra => misc/old-infra}/infra-root.yaml | 0 .../old-infra}/roles/role-dev-enviroment.yaml | 0 .../old-infra}/roles/role-prd-enviroment.yaml | 0 misc/{local-setup => old-local-setup}/README.md | 0 .../docker-compose.yml | 0 .../litellm-config.yaml | 0 .../loki-config.yaml | 0 .../provisioning/datasources/datasource-loki.yaml | 0 misc/{local-setup => old-local-setup}/vector.toml | 0 .../old-opa-policies}/kubernetes.rego | 0 {infra => misc/terraform}/github/main.tf | 0 {infra => misc/terraform}/github/variables.tf | 0 platform/core/cluster-bootstrap/app-of-apps.yaml | 0 platform/core/cluster-bootstrap/root-app.yaml | 0 platform/core/rbac/projects/platform-project.yaml | 0 platform/core/rbac/projects/tenants-project.yaml | 0 platform/gitops/appsets/infrastructure-apps.yaml | 0 platform/gitops/appsets/observability-apps.yaml | 0 platform/gitops/appsets/tenant-apps.yaml | 0 .../gitops}/argocd-image-updater/application.yaml | 0 .../argocd-image-updater/kustomization.yaml | 0 .../ai-platform/open-webui/base}/application.yaml | 0 .../open-webui/base}/kustomization.yaml | 0 .../cert-manager/base}/application.yaml | 0 .../cert-manager/base}/cert-cluster.yaml | 0 .../cert-manager/base}/cloudflare-secrets.yaml | 0 .../cert-manager/base}/issuer-cluster.yaml | 0 .../cert-manager/base}/kustomization.yaml | 0 .../external-dns/base}/application.yaml | 0 .../external-dns/base}/cloudflare-secrets.yaml | 0 .../external-dns/base}/kustomization.yaml | 0 .../networking/nginx/base}/application.yaml | 0 .../networking/nginx/base}/kustomization.yaml | 0 .../networking/nginx}/overlays/ingress-argo.yaml | 0 .../networking/nginx}/overlays/ingress-chat.yaml | 0 .../nginx}/overlays/ingress-grafana.yaml | 0 .../nginx}/overlays/ingress-openwebui.yaml | 0 .../external-secrets/base}/application.yaml | 0 .../external-secrets/base}/kustomization.yaml | 0 .../security/reflector/base}/application.yaml | 0 .../security/reflector/base}/kustomization.yaml | 0 .../sealed-secrets/base}/application.yaml | 0 .../sealed-secrets/base}/kustomization.yaml | 0 .../storage/longhorn/base}/application.yaml | 0 .../storage/longhorn/base}/kustomization.yaml | 0 .../monitoring}/grafana/application.yaml | 0 .../monitoring/grafana}/kustomization.yaml | 0 .../monitoring}/loki/application.yaml | 0 .../monitoring/loki}/kustomization.yaml | 0 .../monitoring}/loki/loki-secrets-sealed.yaml | 0 .../collector/otel-collector}/application.yaml | 0 .../collector/otel-collector}/kustomization.yaml | 0 .../product-team/apps/chat/base}/application.yaml | 0 .../apps/chat/base}/kustomization.yaml | 0 .../apps/chat/overlays/dev}/github-secrets.yaml | 0 .../chat/overlays/dev}/openrouter-secrets.yaml | 0 .../apps/chat/overlays/dev}/postgree-secrets.yaml | 0 112 files changed, 14 insertions(+) create mode 100644 clusters/dev/bootstrap.yaml rename {infra/clusters => clusters}/dev/chat-values.yaml (100%) rename {infra/clusters => clusters}/dev/destination.yaml (100%) rename {infra/clusters => clusters}/dev/kustomization.yaml (100%) create mode 100644 clusters/dev/values/infrastructure-values.yaml create mode 100644 clusters/dev/values/observability-values.yaml create mode 100644 clusters/prd/bootstrap.yaml rename {infra/clusters => clusters}/prd/destination.yaml (100%) rename {infra/clusters => clusters}/prd/kustomization.yaml (100%) create mode 100644 clusters/prd/values/infrastructure-values.yaml create mode 100644 clusters/prd/values/observability-values.yaml rename {infra/base/services/llm/gateway => misc/deployment/llm}/application.yaml (100%) rename {infra/base/services/llm/gateway => misc/deployment/llm}/kustomization.yaml (100%) rename {infra/base/services/llm/gateway => misc/deployment/llm}/litellm-configmap.yaml (100%) rename {infra/base/services/llm/gateway => misc/deployment/llm}/litellm-deployment.yaml (100%) rename {infra/base/services/llm/gateway => misc/deployment/llm}/litellm-secrets-sealed.yaml (100%) rename {infra/base/services/llm/gateway => misc/deployment/llm}/litellm-service.yaml (100%) rename {infra/base/services/llm/gateway => misc/deployment/llm}/litellm-vector-configmap.yaml (100%) rename misc/{ddd => old-ddd}/app-infra-root.yaml (100%) rename misc/{ => old-ddd}/consul/application.yaml (100%) rename misc/{ => old-ddd}/consul/client/application.yaml (100%) rename misc/{ => old-ddd}/consul/ingress-consul.yaml (100%) rename misc/{ => old-ddd}/consul/kustomization.yaml (100%) rename misc/{ => old-ddd}/consul/mesh/application.yaml (100%) rename misc/{ => old-ddd}/consul/server/application.yaml (100%) rename misc/{ => old-ddd}/consul/webhooks/application.yaml (100%) rename misc/{ddd => old-ddd}/core/crds/app-crds.yaml (100%) rename misc/{ddd => old-ddd}/core/issuer/issuer-cluster.yaml (100%) rename misc/{ddd => old-ddd}/core/namespaces/chat-api-namespace.yaml (100%) rename misc/{ddd => old-ddd}/core/namespaces/longhorn-system-namespace.yaml (100%) rename misc/{ddd => old-ddd}/core/namespaces/nginx-namespace.yaml (100%) rename misc/{ddd => old-ddd}/core/namespaces/observability-namespace.yaml (100%) rename misc/{ddd => old-ddd}/data/postgree/pg-secrets-sealed.yaml (100%) rename misc/{ddd => old-ddd}/data/postgree/pg-secrets.yaml (100%) rename misc/{ddd => old-ddd}/ddd.png (100%) rename misc/{ddd => old-ddd}/gateway/app.yaml (100%) rename misc/{ddd => old-ddd}/gateway/ingress-argo.yaml (100%) rename misc/{ddd => old-ddd}/gateway/ingress-chat.yaml (100%) rename misc/{ddd => old-ddd}/gateway/ingress-grafana.yaml (100%) rename misc/{ddd => old-ddd}/llm/gateway/litellm-configmap.yaml (100%) rename misc/{ddd => old-ddd}/llm/gateway/litellm-deployment.yaml (100%) rename misc/{ddd => old-ddd}/llm/gateway/litellm-secrets-sealed.yaml (100%) rename misc/{ddd => old-ddd}/llm/gateway/litellm-service.yaml (100%) rename misc/{ddd => old-ddd}/llm/gateway/litellm-vector-configmap.yaml (100%) rename misc/{ddd => old-ddd}/observability/grafana/app-grafana.yaml (100%) rename misc/{ddd => old-ddd}/observability/loki/app-loki.yml (100%) rename misc/{ddd => old-ddd}/observability/loki/loki-pv.yaml (100%) rename misc/{ddd => old-ddd}/observability/loki/loki-pvc.yaml (100%) rename {infra/base/addons => misc/old-ddd}/observability/loki/loki-secrets-sealed.yaml (100%) rename misc/{ddd => old-ddd}/security/cert-manager/app.yaml (100%) rename misc/{ddd => old-ddd}/security/cert-manager/cert-cluster.yaml (100%) rename misc/{ddd => old-ddd}/security/cert-manager/secret-cloudflare-cert-manager-sealed.yaml (100%) rename misc/{ddd => old-ddd}/security/external-dns/app-external-dns.yaml (100%) rename misc/{ddd => old-ddd}/security/external-dns/secret-cloudflare-external-dns-sealed.yaml (100%) rename misc/{ddd => old-ddd}/storage/longhorn/app-longhorn.yaml (100%) rename {infra => misc/old-infra}/infra-root.yaml (100%) rename {infra => misc/old-infra}/roles/role-dev-enviroment.yaml (100%) rename {infra => misc/old-infra}/roles/role-prd-enviroment.yaml (100%) rename misc/{local-setup => old-local-setup}/README.md (100%) rename misc/{local-setup => old-local-setup}/docker-compose.yml (100%) rename misc/{local-setup => old-local-setup}/litellm-config.yaml (100%) rename misc/{local-setup => old-local-setup}/loki-config.yaml (100%) rename misc/{local-setup => old-local-setup}/provisioning/datasources/datasource-loki.yaml (100%) rename misc/{local-setup => old-local-setup}/vector.toml (100%) rename {policies => misc/old-opa-policies}/kubernetes.rego (100%) rename {infra => misc/terraform}/github/main.tf (100%) rename {infra => misc/terraform}/github/variables.tf (100%) create mode 100644 platform/core/cluster-bootstrap/app-of-apps.yaml create mode 100644 platform/core/cluster-bootstrap/root-app.yaml create mode 100644 platform/core/rbac/projects/platform-project.yaml create mode 100644 platform/core/rbac/projects/tenants-project.yaml create mode 100644 platform/gitops/appsets/infrastructure-apps.yaml create mode 100644 platform/gitops/appsets/observability-apps.yaml create mode 100644 platform/gitops/appsets/tenant-apps.yaml rename {infra/base/addons => platform/gitops}/argocd-image-updater/application.yaml (100%) rename {infra/base/addons => platform/gitops}/argocd-image-updater/kustomization.yaml (100%) rename {infra/base/addons/open-webui => platform/infrastructure/ai-platform/open-webui/base}/application.yaml (100%) rename {infra/base/addons/external-secrets => platform/infrastructure/ai-platform/open-webui/base}/kustomization.yaml (100%) rename {infra/base/addons/cert-manager => platform/infrastructure/networking/cert-manager/base}/application.yaml (100%) rename {infra/base/addons/cert-manager => platform/infrastructure/networking/cert-manager/base}/cert-cluster.yaml (100%) rename {infra/base/addons/cert-manager => platform/infrastructure/networking/cert-manager/base}/cloudflare-secrets.yaml (100%) rename {infra/base/addons/cert-manager => platform/infrastructure/networking/cert-manager/base}/issuer-cluster.yaml (100%) rename {infra/base/addons/cert-manager => platform/infrastructure/networking/cert-manager/base}/kustomization.yaml (100%) rename {infra/base/addons/external-dns => platform/infrastructure/networking/external-dns/base}/application.yaml (100%) rename {infra/base/addons/external-dns => platform/infrastructure/networking/external-dns/base}/cloudflare-secrets.yaml (100%) rename {infra/base/addons/external-dns => platform/infrastructure/networking/external-dns/base}/kustomization.yaml (100%) rename {infra/base/addons/ingress-nginx => platform/infrastructure/networking/nginx/base}/application.yaml (100%) rename {infra/base/addons/ingress-nginx => platform/infrastructure/networking/nginx/base}/kustomization.yaml (100%) rename {infra/base/addons/ingress-nginx => platform/infrastructure/networking/nginx}/overlays/ingress-argo.yaml (100%) rename {infra/base/addons/ingress-nginx => platform/infrastructure/networking/nginx}/overlays/ingress-chat.yaml (100%) rename {infra/base/addons/ingress-nginx => platform/infrastructure/networking/nginx}/overlays/ingress-grafana.yaml (100%) rename {infra/base/addons/ingress-nginx => platform/infrastructure/networking/nginx}/overlays/ingress-openwebui.yaml (100%) rename {infra/base/addons/external-secrets => platform/infrastructure/security/external-secrets/base}/application.yaml (100%) rename {infra/base/addons/longhorn => platform/infrastructure/security/external-secrets/base}/kustomization.yaml (100%) rename {infra/base/addons/reflector => platform/infrastructure/security/reflector/base}/application.yaml (100%) rename {infra/base/addons/observability/grafana => platform/infrastructure/security/reflector/base}/kustomization.yaml (100%) rename {infra/base/addons/sealed-secrets => platform/infrastructure/security/sealed-secrets/base}/application.yaml (100%) rename {infra/base/addons/observability/loki => platform/infrastructure/security/sealed-secrets/base}/kustomization.yaml (100%) rename {infra/base/addons/longhorn => platform/infrastructure/storage/longhorn/base}/application.yaml (100%) rename {infra/base/addons/observability/vector-gateway => platform/infrastructure/storage/longhorn/base}/kustomization.yaml (100%) rename {infra/base/addons/observability => platform/observability/monitoring}/grafana/application.yaml (100%) rename {infra/base/addons/open-webui => platform/observability/monitoring/grafana}/kustomization.yaml (100%) rename {infra/base/addons/observability => platform/observability/monitoring}/loki/application.yaml (100%) rename {infra/base/addons/reflector => platform/observability/monitoring/loki}/kustomization.yaml (100%) rename {misc/ddd/observability => platform/observability/monitoring}/loki/loki-secrets-sealed.yaml (100%) rename {infra/base/addons/observability/vector-gateway => platform/observability/opentelemetry/collector/otel-collector}/application.yaml (100%) rename {infra/base/addons/sealed-secrets => platform/observability/opentelemetry/collector/otel-collector}/kustomization.yaml (100%) rename {infra/base/services/agent/chat => tenants/product-team/apps/chat/base}/application.yaml (100%) rename {infra/base/services/agent/chat => tenants/product-team/apps/chat/base}/kustomization.yaml (100%) rename {infra/base/services/agent/chat => tenants/product-team/apps/chat/overlays/dev}/github-secrets.yaml (100%) rename {infra/base/services/agent/chat => tenants/product-team/apps/chat/overlays/dev}/openrouter-secrets.yaml (100%) rename {infra/base/services/agent/chat => tenants/product-team/apps/chat/overlays/dev}/postgree-secrets.yaml (100%) diff --git a/clusters/dev/bootstrap.yaml b/clusters/dev/bootstrap.yaml new file mode 100644 index 0000000..86523b2 --- /dev/null +++ b/clusters/dev/bootstrap.yaml @@ -0,0 +1,14 @@ +# clusters/dev/bootstrap.yaml +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: root-app-dev + namespace: argocd +spec: + source: + repoURL: https://github.com/justgithubaccount/app-release.git + path: platform/core/cluster-bootstrap + targetRevision: main + destination: + server: https://kubernetes.default.svc + namespace: argocd \ No newline at end of file diff --git a/infra/clusters/dev/chat-values.yaml b/clusters/dev/chat-values.yaml similarity index 100% rename from infra/clusters/dev/chat-values.yaml rename to clusters/dev/chat-values.yaml diff --git a/infra/clusters/dev/destination.yaml b/clusters/dev/destination.yaml similarity index 100% rename from infra/clusters/dev/destination.yaml rename to clusters/dev/destination.yaml diff --git a/infra/clusters/dev/kustomization.yaml b/clusters/dev/kustomization.yaml similarity index 100% rename from infra/clusters/dev/kustomization.yaml rename to clusters/dev/kustomization.yaml diff --git a/clusters/dev/values/infrastructure-values.yaml b/clusters/dev/values/infrastructure-values.yaml new file mode 100644 index 0000000..e69de29 diff --git a/clusters/dev/values/observability-values.yaml b/clusters/dev/values/observability-values.yaml new file mode 100644 index 0000000..e69de29 diff --git a/clusters/prd/bootstrap.yaml b/clusters/prd/bootstrap.yaml new file mode 100644 index 0000000..e69de29 diff --git a/infra/clusters/prd/destination.yaml b/clusters/prd/destination.yaml similarity index 100% rename from infra/clusters/prd/destination.yaml rename to clusters/prd/destination.yaml diff --git a/infra/clusters/prd/kustomization.yaml b/clusters/prd/kustomization.yaml similarity index 100% rename from infra/clusters/prd/kustomization.yaml rename to clusters/prd/kustomization.yaml diff --git a/clusters/prd/values/infrastructure-values.yaml b/clusters/prd/values/infrastructure-values.yaml new file mode 100644 index 0000000..e69de29 diff --git a/clusters/prd/values/observability-values.yaml b/clusters/prd/values/observability-values.yaml new file mode 100644 index 0000000..e69de29 diff --git a/infra/base/services/llm/gateway/application.yaml b/misc/deployment/llm/application.yaml similarity index 100% rename from infra/base/services/llm/gateway/application.yaml rename to misc/deployment/llm/application.yaml diff --git a/infra/base/services/llm/gateway/kustomization.yaml b/misc/deployment/llm/kustomization.yaml similarity index 100% rename from infra/base/services/llm/gateway/kustomization.yaml rename to misc/deployment/llm/kustomization.yaml diff --git a/infra/base/services/llm/gateway/litellm-configmap.yaml b/misc/deployment/llm/litellm-configmap.yaml similarity index 100% rename from infra/base/services/llm/gateway/litellm-configmap.yaml rename to misc/deployment/llm/litellm-configmap.yaml diff --git a/infra/base/services/llm/gateway/litellm-deployment.yaml b/misc/deployment/llm/litellm-deployment.yaml similarity index 100% rename from infra/base/services/llm/gateway/litellm-deployment.yaml rename to misc/deployment/llm/litellm-deployment.yaml diff --git a/infra/base/services/llm/gateway/litellm-secrets-sealed.yaml b/misc/deployment/llm/litellm-secrets-sealed.yaml similarity index 100% rename from infra/base/services/llm/gateway/litellm-secrets-sealed.yaml rename to misc/deployment/llm/litellm-secrets-sealed.yaml diff --git a/infra/base/services/llm/gateway/litellm-service.yaml b/misc/deployment/llm/litellm-service.yaml similarity index 100% rename from infra/base/services/llm/gateway/litellm-service.yaml rename to misc/deployment/llm/litellm-service.yaml diff --git a/infra/base/services/llm/gateway/litellm-vector-configmap.yaml b/misc/deployment/llm/litellm-vector-configmap.yaml similarity index 100% rename from infra/base/services/llm/gateway/litellm-vector-configmap.yaml rename to misc/deployment/llm/litellm-vector-configmap.yaml diff --git a/misc/ddd/app-infra-root.yaml b/misc/old-ddd/app-infra-root.yaml similarity index 100% rename from misc/ddd/app-infra-root.yaml rename to misc/old-ddd/app-infra-root.yaml diff --git a/misc/consul/application.yaml b/misc/old-ddd/consul/application.yaml similarity index 100% rename from misc/consul/application.yaml rename to misc/old-ddd/consul/application.yaml diff --git a/misc/consul/client/application.yaml b/misc/old-ddd/consul/client/application.yaml similarity index 100% rename from misc/consul/client/application.yaml rename to misc/old-ddd/consul/client/application.yaml diff --git a/misc/consul/ingress-consul.yaml b/misc/old-ddd/consul/ingress-consul.yaml similarity index 100% rename from misc/consul/ingress-consul.yaml rename to misc/old-ddd/consul/ingress-consul.yaml diff --git a/misc/consul/kustomization.yaml b/misc/old-ddd/consul/kustomization.yaml similarity index 100% rename from misc/consul/kustomization.yaml rename to misc/old-ddd/consul/kustomization.yaml diff --git a/misc/consul/mesh/application.yaml b/misc/old-ddd/consul/mesh/application.yaml similarity index 100% rename from misc/consul/mesh/application.yaml rename to misc/old-ddd/consul/mesh/application.yaml diff --git a/misc/consul/server/application.yaml b/misc/old-ddd/consul/server/application.yaml similarity index 100% rename from misc/consul/server/application.yaml rename to misc/old-ddd/consul/server/application.yaml diff --git a/misc/consul/webhooks/application.yaml b/misc/old-ddd/consul/webhooks/application.yaml similarity index 100% rename from misc/consul/webhooks/application.yaml rename to misc/old-ddd/consul/webhooks/application.yaml diff --git a/misc/ddd/core/crds/app-crds.yaml b/misc/old-ddd/core/crds/app-crds.yaml similarity index 100% rename from misc/ddd/core/crds/app-crds.yaml rename to misc/old-ddd/core/crds/app-crds.yaml diff --git a/misc/ddd/core/issuer/issuer-cluster.yaml b/misc/old-ddd/core/issuer/issuer-cluster.yaml similarity index 100% rename from misc/ddd/core/issuer/issuer-cluster.yaml rename to misc/old-ddd/core/issuer/issuer-cluster.yaml diff --git a/misc/ddd/core/namespaces/chat-api-namespace.yaml b/misc/old-ddd/core/namespaces/chat-api-namespace.yaml similarity index 100% rename from misc/ddd/core/namespaces/chat-api-namespace.yaml rename to misc/old-ddd/core/namespaces/chat-api-namespace.yaml diff --git a/misc/ddd/core/namespaces/longhorn-system-namespace.yaml b/misc/old-ddd/core/namespaces/longhorn-system-namespace.yaml similarity index 100% rename from misc/ddd/core/namespaces/longhorn-system-namespace.yaml rename to misc/old-ddd/core/namespaces/longhorn-system-namespace.yaml diff --git a/misc/ddd/core/namespaces/nginx-namespace.yaml b/misc/old-ddd/core/namespaces/nginx-namespace.yaml similarity index 100% rename from misc/ddd/core/namespaces/nginx-namespace.yaml rename to misc/old-ddd/core/namespaces/nginx-namespace.yaml diff --git a/misc/ddd/core/namespaces/observability-namespace.yaml b/misc/old-ddd/core/namespaces/observability-namespace.yaml similarity index 100% rename from misc/ddd/core/namespaces/observability-namespace.yaml rename to misc/old-ddd/core/namespaces/observability-namespace.yaml diff --git a/misc/ddd/data/postgree/pg-secrets-sealed.yaml b/misc/old-ddd/data/postgree/pg-secrets-sealed.yaml similarity index 100% rename from misc/ddd/data/postgree/pg-secrets-sealed.yaml rename to misc/old-ddd/data/postgree/pg-secrets-sealed.yaml diff --git a/misc/ddd/data/postgree/pg-secrets.yaml b/misc/old-ddd/data/postgree/pg-secrets.yaml similarity index 100% rename from misc/ddd/data/postgree/pg-secrets.yaml rename to misc/old-ddd/data/postgree/pg-secrets.yaml diff --git a/misc/ddd/ddd.png b/misc/old-ddd/ddd.png similarity index 100% rename from misc/ddd/ddd.png rename to misc/old-ddd/ddd.png diff --git a/misc/ddd/gateway/app.yaml b/misc/old-ddd/gateway/app.yaml similarity index 100% rename from misc/ddd/gateway/app.yaml rename to misc/old-ddd/gateway/app.yaml diff --git a/misc/ddd/gateway/ingress-argo.yaml b/misc/old-ddd/gateway/ingress-argo.yaml similarity index 100% rename from misc/ddd/gateway/ingress-argo.yaml rename to misc/old-ddd/gateway/ingress-argo.yaml diff --git a/misc/ddd/gateway/ingress-chat.yaml b/misc/old-ddd/gateway/ingress-chat.yaml similarity index 100% rename from misc/ddd/gateway/ingress-chat.yaml rename to misc/old-ddd/gateway/ingress-chat.yaml diff --git a/misc/ddd/gateway/ingress-grafana.yaml b/misc/old-ddd/gateway/ingress-grafana.yaml similarity index 100% rename from misc/ddd/gateway/ingress-grafana.yaml rename to misc/old-ddd/gateway/ingress-grafana.yaml diff --git a/misc/ddd/llm/gateway/litellm-configmap.yaml b/misc/old-ddd/llm/gateway/litellm-configmap.yaml similarity index 100% rename from misc/ddd/llm/gateway/litellm-configmap.yaml rename to misc/old-ddd/llm/gateway/litellm-configmap.yaml diff --git a/misc/ddd/llm/gateway/litellm-deployment.yaml b/misc/old-ddd/llm/gateway/litellm-deployment.yaml similarity index 100% rename from misc/ddd/llm/gateway/litellm-deployment.yaml rename to misc/old-ddd/llm/gateway/litellm-deployment.yaml diff --git a/misc/ddd/llm/gateway/litellm-secrets-sealed.yaml b/misc/old-ddd/llm/gateway/litellm-secrets-sealed.yaml similarity index 100% rename from misc/ddd/llm/gateway/litellm-secrets-sealed.yaml rename to misc/old-ddd/llm/gateway/litellm-secrets-sealed.yaml diff --git a/misc/ddd/llm/gateway/litellm-service.yaml b/misc/old-ddd/llm/gateway/litellm-service.yaml similarity index 100% rename from misc/ddd/llm/gateway/litellm-service.yaml rename to misc/old-ddd/llm/gateway/litellm-service.yaml diff --git a/misc/ddd/llm/gateway/litellm-vector-configmap.yaml b/misc/old-ddd/llm/gateway/litellm-vector-configmap.yaml similarity index 100% rename from misc/ddd/llm/gateway/litellm-vector-configmap.yaml rename to misc/old-ddd/llm/gateway/litellm-vector-configmap.yaml diff --git a/misc/ddd/observability/grafana/app-grafana.yaml b/misc/old-ddd/observability/grafana/app-grafana.yaml similarity index 100% rename from misc/ddd/observability/grafana/app-grafana.yaml rename to misc/old-ddd/observability/grafana/app-grafana.yaml diff --git a/misc/ddd/observability/loki/app-loki.yml b/misc/old-ddd/observability/loki/app-loki.yml similarity index 100% rename from misc/ddd/observability/loki/app-loki.yml rename to misc/old-ddd/observability/loki/app-loki.yml diff --git a/misc/ddd/observability/loki/loki-pv.yaml b/misc/old-ddd/observability/loki/loki-pv.yaml similarity index 100% rename from misc/ddd/observability/loki/loki-pv.yaml rename to misc/old-ddd/observability/loki/loki-pv.yaml diff --git a/misc/ddd/observability/loki/loki-pvc.yaml b/misc/old-ddd/observability/loki/loki-pvc.yaml similarity index 100% rename from misc/ddd/observability/loki/loki-pvc.yaml rename to misc/old-ddd/observability/loki/loki-pvc.yaml diff --git a/infra/base/addons/observability/loki/loki-secrets-sealed.yaml b/misc/old-ddd/observability/loki/loki-secrets-sealed.yaml similarity index 100% rename from infra/base/addons/observability/loki/loki-secrets-sealed.yaml rename to misc/old-ddd/observability/loki/loki-secrets-sealed.yaml diff --git a/misc/ddd/security/cert-manager/app.yaml b/misc/old-ddd/security/cert-manager/app.yaml similarity index 100% rename from misc/ddd/security/cert-manager/app.yaml rename to misc/old-ddd/security/cert-manager/app.yaml diff --git a/misc/ddd/security/cert-manager/cert-cluster.yaml b/misc/old-ddd/security/cert-manager/cert-cluster.yaml similarity index 100% rename from misc/ddd/security/cert-manager/cert-cluster.yaml rename to misc/old-ddd/security/cert-manager/cert-cluster.yaml diff --git a/misc/ddd/security/cert-manager/secret-cloudflare-cert-manager-sealed.yaml b/misc/old-ddd/security/cert-manager/secret-cloudflare-cert-manager-sealed.yaml similarity index 100% rename from misc/ddd/security/cert-manager/secret-cloudflare-cert-manager-sealed.yaml rename to misc/old-ddd/security/cert-manager/secret-cloudflare-cert-manager-sealed.yaml diff --git a/misc/ddd/security/external-dns/app-external-dns.yaml b/misc/old-ddd/security/external-dns/app-external-dns.yaml similarity index 100% rename from misc/ddd/security/external-dns/app-external-dns.yaml rename to misc/old-ddd/security/external-dns/app-external-dns.yaml diff --git a/misc/ddd/security/external-dns/secret-cloudflare-external-dns-sealed.yaml b/misc/old-ddd/security/external-dns/secret-cloudflare-external-dns-sealed.yaml similarity index 100% rename from misc/ddd/security/external-dns/secret-cloudflare-external-dns-sealed.yaml rename to misc/old-ddd/security/external-dns/secret-cloudflare-external-dns-sealed.yaml diff --git a/misc/ddd/storage/longhorn/app-longhorn.yaml b/misc/old-ddd/storage/longhorn/app-longhorn.yaml similarity index 100% rename from misc/ddd/storage/longhorn/app-longhorn.yaml rename to misc/old-ddd/storage/longhorn/app-longhorn.yaml diff --git a/infra/infra-root.yaml b/misc/old-infra/infra-root.yaml similarity index 100% rename from infra/infra-root.yaml rename to misc/old-infra/infra-root.yaml diff --git a/infra/roles/role-dev-enviroment.yaml b/misc/old-infra/roles/role-dev-enviroment.yaml similarity index 100% rename from infra/roles/role-dev-enviroment.yaml rename to misc/old-infra/roles/role-dev-enviroment.yaml diff --git a/infra/roles/role-prd-enviroment.yaml b/misc/old-infra/roles/role-prd-enviroment.yaml similarity index 100% rename from infra/roles/role-prd-enviroment.yaml rename to misc/old-infra/roles/role-prd-enviroment.yaml diff --git a/misc/local-setup/README.md b/misc/old-local-setup/README.md similarity index 100% rename from misc/local-setup/README.md rename to misc/old-local-setup/README.md diff --git a/misc/local-setup/docker-compose.yml b/misc/old-local-setup/docker-compose.yml similarity index 100% rename from misc/local-setup/docker-compose.yml rename to misc/old-local-setup/docker-compose.yml diff --git a/misc/local-setup/litellm-config.yaml b/misc/old-local-setup/litellm-config.yaml similarity index 100% rename from misc/local-setup/litellm-config.yaml rename to misc/old-local-setup/litellm-config.yaml diff --git a/misc/local-setup/loki-config.yaml b/misc/old-local-setup/loki-config.yaml similarity index 100% rename from misc/local-setup/loki-config.yaml rename to misc/old-local-setup/loki-config.yaml diff --git a/misc/local-setup/provisioning/datasources/datasource-loki.yaml b/misc/old-local-setup/provisioning/datasources/datasource-loki.yaml similarity index 100% rename from misc/local-setup/provisioning/datasources/datasource-loki.yaml rename to misc/old-local-setup/provisioning/datasources/datasource-loki.yaml diff --git a/misc/local-setup/vector.toml b/misc/old-local-setup/vector.toml similarity index 100% rename from misc/local-setup/vector.toml rename to misc/old-local-setup/vector.toml diff --git a/policies/kubernetes.rego b/misc/old-opa-policies/kubernetes.rego similarity index 100% rename from policies/kubernetes.rego rename to misc/old-opa-policies/kubernetes.rego diff --git a/infra/github/main.tf b/misc/terraform/github/main.tf similarity index 100% rename from infra/github/main.tf rename to misc/terraform/github/main.tf diff --git a/infra/github/variables.tf b/misc/terraform/github/variables.tf similarity index 100% rename from infra/github/variables.tf rename to misc/terraform/github/variables.tf diff --git a/platform/core/cluster-bootstrap/app-of-apps.yaml b/platform/core/cluster-bootstrap/app-of-apps.yaml new file mode 100644 index 0000000..e69de29 diff --git a/platform/core/cluster-bootstrap/root-app.yaml b/platform/core/cluster-bootstrap/root-app.yaml new file mode 100644 index 0000000..e69de29 diff --git a/platform/core/rbac/projects/platform-project.yaml b/platform/core/rbac/projects/platform-project.yaml new file mode 100644 index 0000000..e69de29 diff --git a/platform/core/rbac/projects/tenants-project.yaml b/platform/core/rbac/projects/tenants-project.yaml new file mode 100644 index 0000000..e69de29 diff --git a/platform/gitops/appsets/infrastructure-apps.yaml b/platform/gitops/appsets/infrastructure-apps.yaml new file mode 100644 index 0000000..e69de29 diff --git a/platform/gitops/appsets/observability-apps.yaml b/platform/gitops/appsets/observability-apps.yaml new file mode 100644 index 0000000..e69de29 diff --git a/platform/gitops/appsets/tenant-apps.yaml b/platform/gitops/appsets/tenant-apps.yaml new file mode 100644 index 0000000..e69de29 diff --git a/infra/base/addons/argocd-image-updater/application.yaml b/platform/gitops/argocd-image-updater/application.yaml similarity index 100% rename from infra/base/addons/argocd-image-updater/application.yaml rename to platform/gitops/argocd-image-updater/application.yaml diff --git a/infra/base/addons/argocd-image-updater/kustomization.yaml b/platform/gitops/argocd-image-updater/kustomization.yaml similarity index 100% rename from infra/base/addons/argocd-image-updater/kustomization.yaml rename to platform/gitops/argocd-image-updater/kustomization.yaml diff --git a/infra/base/addons/open-webui/application.yaml b/platform/infrastructure/ai-platform/open-webui/base/application.yaml similarity index 100% rename from infra/base/addons/open-webui/application.yaml rename to platform/infrastructure/ai-platform/open-webui/base/application.yaml diff --git a/infra/base/addons/external-secrets/kustomization.yaml b/platform/infrastructure/ai-platform/open-webui/base/kustomization.yaml similarity index 100% rename from infra/base/addons/external-secrets/kustomization.yaml rename to platform/infrastructure/ai-platform/open-webui/base/kustomization.yaml diff --git a/infra/base/addons/cert-manager/application.yaml b/platform/infrastructure/networking/cert-manager/base/application.yaml similarity index 100% rename from infra/base/addons/cert-manager/application.yaml rename to platform/infrastructure/networking/cert-manager/base/application.yaml diff --git a/infra/base/addons/cert-manager/cert-cluster.yaml b/platform/infrastructure/networking/cert-manager/base/cert-cluster.yaml similarity index 100% rename from infra/base/addons/cert-manager/cert-cluster.yaml rename to platform/infrastructure/networking/cert-manager/base/cert-cluster.yaml diff --git a/infra/base/addons/cert-manager/cloudflare-secrets.yaml b/platform/infrastructure/networking/cert-manager/base/cloudflare-secrets.yaml similarity index 100% rename from infra/base/addons/cert-manager/cloudflare-secrets.yaml rename to platform/infrastructure/networking/cert-manager/base/cloudflare-secrets.yaml diff --git a/infra/base/addons/cert-manager/issuer-cluster.yaml b/platform/infrastructure/networking/cert-manager/base/issuer-cluster.yaml similarity index 100% rename from infra/base/addons/cert-manager/issuer-cluster.yaml rename to platform/infrastructure/networking/cert-manager/base/issuer-cluster.yaml diff --git a/infra/base/addons/cert-manager/kustomization.yaml b/platform/infrastructure/networking/cert-manager/base/kustomization.yaml similarity index 100% rename from infra/base/addons/cert-manager/kustomization.yaml rename to platform/infrastructure/networking/cert-manager/base/kustomization.yaml diff --git a/infra/base/addons/external-dns/application.yaml b/platform/infrastructure/networking/external-dns/base/application.yaml similarity index 100% rename from infra/base/addons/external-dns/application.yaml rename to platform/infrastructure/networking/external-dns/base/application.yaml diff --git a/infra/base/addons/external-dns/cloudflare-secrets.yaml b/platform/infrastructure/networking/external-dns/base/cloudflare-secrets.yaml similarity index 100% rename from infra/base/addons/external-dns/cloudflare-secrets.yaml rename to platform/infrastructure/networking/external-dns/base/cloudflare-secrets.yaml diff --git a/infra/base/addons/external-dns/kustomization.yaml b/platform/infrastructure/networking/external-dns/base/kustomization.yaml similarity index 100% rename from infra/base/addons/external-dns/kustomization.yaml rename to platform/infrastructure/networking/external-dns/base/kustomization.yaml diff --git a/infra/base/addons/ingress-nginx/application.yaml b/platform/infrastructure/networking/nginx/base/application.yaml similarity index 100% rename from infra/base/addons/ingress-nginx/application.yaml rename to platform/infrastructure/networking/nginx/base/application.yaml diff --git a/infra/base/addons/ingress-nginx/kustomization.yaml b/platform/infrastructure/networking/nginx/base/kustomization.yaml similarity index 100% rename from infra/base/addons/ingress-nginx/kustomization.yaml rename to platform/infrastructure/networking/nginx/base/kustomization.yaml diff --git a/infra/base/addons/ingress-nginx/overlays/ingress-argo.yaml b/platform/infrastructure/networking/nginx/overlays/ingress-argo.yaml similarity index 100% rename from infra/base/addons/ingress-nginx/overlays/ingress-argo.yaml rename to platform/infrastructure/networking/nginx/overlays/ingress-argo.yaml diff --git a/infra/base/addons/ingress-nginx/overlays/ingress-chat.yaml b/platform/infrastructure/networking/nginx/overlays/ingress-chat.yaml similarity index 100% rename from infra/base/addons/ingress-nginx/overlays/ingress-chat.yaml rename to platform/infrastructure/networking/nginx/overlays/ingress-chat.yaml diff --git a/infra/base/addons/ingress-nginx/overlays/ingress-grafana.yaml b/platform/infrastructure/networking/nginx/overlays/ingress-grafana.yaml similarity index 100% rename from infra/base/addons/ingress-nginx/overlays/ingress-grafana.yaml rename to platform/infrastructure/networking/nginx/overlays/ingress-grafana.yaml diff --git a/infra/base/addons/ingress-nginx/overlays/ingress-openwebui.yaml b/platform/infrastructure/networking/nginx/overlays/ingress-openwebui.yaml similarity index 100% rename from infra/base/addons/ingress-nginx/overlays/ingress-openwebui.yaml rename to platform/infrastructure/networking/nginx/overlays/ingress-openwebui.yaml diff --git a/infra/base/addons/external-secrets/application.yaml b/platform/infrastructure/security/external-secrets/base/application.yaml similarity index 100% rename from infra/base/addons/external-secrets/application.yaml rename to platform/infrastructure/security/external-secrets/base/application.yaml diff --git a/infra/base/addons/longhorn/kustomization.yaml b/platform/infrastructure/security/external-secrets/base/kustomization.yaml similarity index 100% rename from infra/base/addons/longhorn/kustomization.yaml rename to platform/infrastructure/security/external-secrets/base/kustomization.yaml diff --git a/infra/base/addons/reflector/application.yaml b/platform/infrastructure/security/reflector/base/application.yaml similarity index 100% rename from infra/base/addons/reflector/application.yaml rename to platform/infrastructure/security/reflector/base/application.yaml diff --git a/infra/base/addons/observability/grafana/kustomization.yaml b/platform/infrastructure/security/reflector/base/kustomization.yaml similarity index 100% rename from infra/base/addons/observability/grafana/kustomization.yaml rename to platform/infrastructure/security/reflector/base/kustomization.yaml diff --git a/infra/base/addons/sealed-secrets/application.yaml b/platform/infrastructure/security/sealed-secrets/base/application.yaml similarity index 100% rename from infra/base/addons/sealed-secrets/application.yaml rename to platform/infrastructure/security/sealed-secrets/base/application.yaml diff --git a/infra/base/addons/observability/loki/kustomization.yaml b/platform/infrastructure/security/sealed-secrets/base/kustomization.yaml similarity index 100% rename from infra/base/addons/observability/loki/kustomization.yaml rename to platform/infrastructure/security/sealed-secrets/base/kustomization.yaml diff --git a/infra/base/addons/longhorn/application.yaml b/platform/infrastructure/storage/longhorn/base/application.yaml similarity index 100% rename from infra/base/addons/longhorn/application.yaml rename to platform/infrastructure/storage/longhorn/base/application.yaml diff --git a/infra/base/addons/observability/vector-gateway/kustomization.yaml b/platform/infrastructure/storage/longhorn/base/kustomization.yaml similarity index 100% rename from infra/base/addons/observability/vector-gateway/kustomization.yaml rename to platform/infrastructure/storage/longhorn/base/kustomization.yaml diff --git a/infra/base/addons/observability/grafana/application.yaml b/platform/observability/monitoring/grafana/application.yaml similarity index 100% rename from infra/base/addons/observability/grafana/application.yaml rename to platform/observability/monitoring/grafana/application.yaml diff --git a/infra/base/addons/open-webui/kustomization.yaml b/platform/observability/monitoring/grafana/kustomization.yaml similarity index 100% rename from infra/base/addons/open-webui/kustomization.yaml rename to platform/observability/monitoring/grafana/kustomization.yaml diff --git a/infra/base/addons/observability/loki/application.yaml b/platform/observability/monitoring/loki/application.yaml similarity index 100% rename from infra/base/addons/observability/loki/application.yaml rename to platform/observability/monitoring/loki/application.yaml diff --git a/infra/base/addons/reflector/kustomization.yaml b/platform/observability/monitoring/loki/kustomization.yaml similarity index 100% rename from infra/base/addons/reflector/kustomization.yaml rename to platform/observability/monitoring/loki/kustomization.yaml diff --git a/misc/ddd/observability/loki/loki-secrets-sealed.yaml b/platform/observability/monitoring/loki/loki-secrets-sealed.yaml similarity index 100% rename from misc/ddd/observability/loki/loki-secrets-sealed.yaml rename to platform/observability/monitoring/loki/loki-secrets-sealed.yaml diff --git a/infra/base/addons/observability/vector-gateway/application.yaml b/platform/observability/opentelemetry/collector/otel-collector/application.yaml similarity index 100% rename from infra/base/addons/observability/vector-gateway/application.yaml rename to platform/observability/opentelemetry/collector/otel-collector/application.yaml diff --git a/infra/base/addons/sealed-secrets/kustomization.yaml b/platform/observability/opentelemetry/collector/otel-collector/kustomization.yaml similarity index 100% rename from infra/base/addons/sealed-secrets/kustomization.yaml rename to platform/observability/opentelemetry/collector/otel-collector/kustomization.yaml diff --git a/infra/base/services/agent/chat/application.yaml b/tenants/product-team/apps/chat/base/application.yaml similarity index 100% rename from infra/base/services/agent/chat/application.yaml rename to tenants/product-team/apps/chat/base/application.yaml diff --git a/infra/base/services/agent/chat/kustomization.yaml b/tenants/product-team/apps/chat/base/kustomization.yaml similarity index 100% rename from infra/base/services/agent/chat/kustomization.yaml rename to tenants/product-team/apps/chat/base/kustomization.yaml diff --git a/infra/base/services/agent/chat/github-secrets.yaml b/tenants/product-team/apps/chat/overlays/dev/github-secrets.yaml similarity index 100% rename from infra/base/services/agent/chat/github-secrets.yaml rename to tenants/product-team/apps/chat/overlays/dev/github-secrets.yaml diff --git a/infra/base/services/agent/chat/openrouter-secrets.yaml b/tenants/product-team/apps/chat/overlays/dev/openrouter-secrets.yaml similarity index 100% rename from infra/base/services/agent/chat/openrouter-secrets.yaml rename to tenants/product-team/apps/chat/overlays/dev/openrouter-secrets.yaml diff --git a/infra/base/services/agent/chat/postgree-secrets.yaml b/tenants/product-team/apps/chat/overlays/dev/postgree-secrets.yaml similarity index 100% rename from infra/base/services/agent/chat/postgree-secrets.yaml rename to tenants/product-team/apps/chat/overlays/dev/postgree-secrets.yaml From 01cd060c02ba3b15ded5f966cf4a8a382222893c Mon Sep 17 00:00:00 2001 From: justgithubaccount Date: Thu, 9 Oct 2025 19:21:23 +0300 Subject: [PATCH 2/3] refactor(ci): change release setup v1 --- .github/workflows/release.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 68775e7..d2d0704 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -2,10 +2,10 @@ name: Build and Release on: push: branches: [main] - paths: - - 'apps/chat/**' - - '.github/workflows/release.yaml' - - '.releaserc.json' + # paths: + # - 'apps/chat/**' + # - '.github/workflows/release.yaml' + # - '.releaserc.json' jobs: build-and-release: From 44ec80f1e3f7437a3a3806f1d6648328d31f977c Mon Sep 17 00:00:00 2001 From: justgithubaccount Date: Thu, 9 Oct 2025 19:51:08 +0300 Subject: [PATCH 3/3] refactor(release): use advanced releaserc.json --- .releaserc.json | 70 +++++++++++++++++++++++++++++++++++++++------ .releaserc.json.old | 37 ++++++++++++++++++++++++ package.json | 2 ++ 3 files changed, 101 insertions(+), 8 deletions(-) create mode 100644 .releaserc.json.old diff --git a/.releaserc.json b/.releaserc.json index 36bc45f..3efe15c 100644 --- a/.releaserc.json +++ b/.releaserc.json @@ -1,9 +1,15 @@ { - "branches": ["main"], + "branches": [ + "main", + {"name": "beta", "prerelease": true}, + {"name": "alpha", "prerelease": true} + ], + "repositoryUrl": "https://github.com/justgithubaccount/app-release", "plugins": [ [ "@semantic-release/commit-analyzer", { + "preset": "conventionalcommits", "releaseRules": [ {"type": "feat", "release": "minor"}, {"type": "fix", "release": "patch"}, @@ -12,26 +18,74 @@ {"type": "docs", "release": "patch"}, {"type": "style", "release": "patch"}, {"type": "refactor", "release": "patch"}, - {"type": "tst", "release": "patch"}, - {"type": "tst-cd", "release": "patch"}, - {"type": "tst-ci", "release": "patch"}, + {"type": "test", "release": "patch"}, {"type": "ci", "release": "patch"}, {"type": "chore", "release": "patch"}, + {"type": "build", "release": "patch"}, {"breaking": true, "release": "major"} - ] + ], + "parserOpts": { + "noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"] + } + } + ], + [ + "@semantic-release/release-notes-generator", + { + "preset": "conventionalcommits", + "presetConfig": { + "types": [ + {"type": "feat", "section": "🚀 Features"}, + {"type": "fix", "section": "🐛 Bug Fixes"}, + {"type": "perf", "section": "⚡ Performance Improvements"}, + {"type": "revert", "section": "⏪ Reverts"}, + {"type": "docs", "section": "📚 Documentation"}, + {"type": "style", "section": "💄 Styles"}, + {"type": "refactor", "section": "♻️ Code Refactoring"}, + {"type": "test", "section": "✅ Tests"}, + {"type": "ci", "section": "🔧 CI/CD"}, + {"type": "chore", "section": "🏗️ Chores"}, + {"type": "build", "section": "📦 Build System"} + ] + } + } + ], + [ + "@semantic-release/changelog", + { + "changelogFile": "CHANGELOG.md" + } + ], + [ + "@semantic-release/npm", + { + "npmPublish": false } ], - "@semantic-release/release-notes-generator", [ "@semantic-release/github", { "assets": [ { - "path": "chat-*.tgz", + "path": "charts/chat/chat-*.tgz", "label": "Helm Chart" + }, + { + "path": "CHANGELOG.md", + "label": "Changelog" } ] } + ], + [ + "@semantic-release/git", + { + "assets": [ + "CHANGELOG.md", + "package.json" + ], + "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" + } ] ] -} \ No newline at end of file +} diff --git a/.releaserc.json.old b/.releaserc.json.old new file mode 100644 index 0000000..36bc45f --- /dev/null +++ b/.releaserc.json.old @@ -0,0 +1,37 @@ +{ + "branches": ["main"], + "plugins": [ + [ + "@semantic-release/commit-analyzer", + { + "releaseRules": [ + {"type": "feat", "release": "minor"}, + {"type": "fix", "release": "patch"}, + {"type": "perf", "release": "patch"}, + {"type": "revert", "release": "patch"}, + {"type": "docs", "release": "patch"}, + {"type": "style", "release": "patch"}, + {"type": "refactor", "release": "patch"}, + {"type": "tst", "release": "patch"}, + {"type": "tst-cd", "release": "patch"}, + {"type": "tst-ci", "release": "patch"}, + {"type": "ci", "release": "patch"}, + {"type": "chore", "release": "patch"}, + {"breaking": true, "release": "major"} + ] + } + ], + "@semantic-release/release-notes-generator", + [ + "@semantic-release/github", + { + "assets": [ + { + "path": "chat-*.tgz", + "label": "Helm Chart" + } + ] + } + ] + ] +} \ No newline at end of file diff --git a/package.json b/package.json index 674d628..e8297ac 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,9 @@ }, "homepage": "https://github.com/justgithubaccount/app-release#readme", "devDependencies": { + "@semantic-release/changelog": "^6.0.3", "@semantic-release/commit-analyzer": "^13.0.1", + "@semantic-release/git": "^10.0.1", "@semantic-release/github": "^11.0.3", "@semantic-release/release-notes-generator": "^14.0.3", "semantic-release": "^24.2.7"