refactor: bootstrap/infra/ci separation (#27)
- Create bootstrap/ dir: cert-manager, traefik-routes, argo-rollouts, kargo, kargo-*-pipeline (not managed by Kargo promotion) - infra/ now only: gitea, gitea-custom (promoted by Kargo) - ci/ unchanged: gitea-runner (promoted by Kargo) - Split kargo/credentials/ into dev/ and prod/ with separate ksops generators - Remove kargo-credentials from AppSet (managed by Pulumi Go code) - Update infra Warehouse: only gitea (was also argo-rollouts, cert-manager) - Update infra Stage dev: only yaml-update for gitea version - Fix test-env warehouse: valid subscription instead of empty array - Update step numbers: bootstrap 1-5, infra 1-2
This commit is contained in:
@@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "argo-rollouts",
|
"name": "argo-rollouts",
|
||||||
"namespace": "argo-rollouts",
|
"namespace": "argo-rollouts",
|
||||||
"step": "2",
|
"step": "3",
|
||||||
"source": {
|
"source": {
|
||||||
"repoURL": "https://argoproj.github.io/argo-helm",
|
"repoURL": "https://argoproj.github.io/argo-helm",
|
||||||
"chart": "argo-rollouts",
|
"chart": "argo-rollouts",
|
||||||
"targetRevision": 2.40.6
|
"targetRevision": "2.40.6"
|
||||||
},
|
},
|
||||||
"helm": {
|
"helm": {
|
||||||
"values": "dashboard:\n enabled: true\n"
|
"values": "dashboard:\n enabled: true\n"
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
"source": {
|
"source": {
|
||||||
"repoURL": "https://charts.jetstack.io",
|
"repoURL": "https://charts.jetstack.io",
|
||||||
"chart": "cert-manager",
|
"chart": "cert-manager",
|
||||||
"targetRevision": v1.19.4
|
"targetRevision": "v1.19.4"
|
||||||
},
|
},
|
||||||
"helm": {
|
"helm": {
|
||||||
"values": "crds:\n enabled: true\n"
|
"values": "crds:\n enabled: true\n"
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "traefik-routes",
|
"name": "traefik-routes",
|
||||||
"namespace": "kube-system",
|
"namespace": "kube-system",
|
||||||
"step": "3",
|
"step": "2",
|
||||||
"source": {
|
"source": {
|
||||||
"repoURL": "https://github.com/Kargones/deploy-app-kargo-private.git",
|
"repoURL": "https://github.com/Kargones/deploy-app-kargo-private.git",
|
||||||
"path": "infra/traefik-routes/manifests",
|
"path": "infra/traefik-routes/manifests",
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "gitea-custom",
|
"name": "gitea-custom",
|
||||||
"namespace": "gitea",
|
"namespace": "gitea",
|
||||||
"step": "6",
|
"step": "2",
|
||||||
"source": {
|
"source": {
|
||||||
"repoURL": "https://github.com/Kargones/deploy-app-kargo-private.git",
|
"repoURL": "https://github.com/Kargones/deploy-app-kargo-private.git",
|
||||||
"path": "infra/gitea-custom/manifests",
|
"path": "infra/gitea-custom/manifests",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "gitea",
|
"name": "gitea",
|
||||||
"namespace": "gitea",
|
"namespace": "gitea",
|
||||||
"step": "4",
|
"step": "1",
|
||||||
"source": {
|
"source": {
|
||||||
"repoURL": "https://dl.gitea.com/charts",
|
"repoURL": "https://dl.gitea.com/charts",
|
||||||
"chart": "gitea",
|
"chart": "gitea",
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "kargo-credentials",
|
|
||||||
"namespace": "default",
|
|
||||||
"step": "5",
|
|
||||||
"source": {
|
|
||||||
"repoURL": "https://github.com/Kargones/deploy-app-kargo-private.git",
|
|
||||||
"path": "kargo/credentials",
|
|
||||||
"targetRevision": "main"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
12
kargo/credentials/dev/ksops-generator.yaml
Normal file
12
kargo/credentials/dev/ksops-generator.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: viaduct.ai/v1
|
||||||
|
kind: ksops
|
||||||
|
metadata:
|
||||||
|
name: kargo-git-credentials
|
||||||
|
annotations:
|
||||||
|
config.kubernetes.io/function: |
|
||||||
|
exec:
|
||||||
|
path: ksops
|
||||||
|
files:
|
||||||
|
- git-creds-infra.dev.enc.yaml
|
||||||
|
- git-creds-ci.dev.enc.yaml
|
||||||
|
- git-creds-test-env.dev.enc.yaml
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
# ksops generator: decrypts SOPS-encrypted K8s Secret manifests
|
|
||||||
# ArgoCD repo-server must have ksops + sops + age installed
|
|
||||||
#
|
|
||||||
# Dev cluster uses: *.dev.enc.yaml
|
|
||||||
# Prod cluster uses: *.prod.enc.yaml
|
|
||||||
#
|
|
||||||
# Which files to decrypt is controlled by the kustomization overlay
|
|
||||||
# in the cluster-specific branch (infra/stage/dev or infra/stage/prod)
|
|
||||||
apiVersion: viaduct.ai/v1
|
|
||||||
kind: ksops
|
|
||||||
metadata:
|
|
||||||
name: kargo-git-credentials
|
|
||||||
annotations:
|
|
||||||
config.kubernetes.io/function: |
|
|
||||||
exec:
|
|
||||||
path: ksops
|
|
||||||
files:
|
|
||||||
- git-creds-infra.dev.enc.yaml
|
|
||||||
- git-creds-ci.dev.enc.yaml
|
|
||||||
- git-creds-test-env.dev.enc.yaml
|
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
# ksops generator for PROD cluster
|
|
||||||
# Replace ksops-generator.yaml on infra/stage/prod branch
|
|
||||||
apiVersion: viaduct.ai/v1
|
apiVersion: viaduct.ai/v1
|
||||||
kind: ksops
|
kind: ksops
|
||||||
metadata:
|
metadata:
|
||||||
5
kargo/credentials/prod/kustomization.yaml
Normal file
5
kargo/credentials/prod/kustomization.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
generators:
|
||||||
|
- ksops-generator.yaml
|
||||||
@@ -30,20 +30,6 @@ spec:
|
|||||||
- uses: git-clear
|
- uses: git-clear
|
||||||
config:
|
config:
|
||||||
path: ./out
|
path: ./out
|
||||||
- uses: yaml-update
|
|
||||||
as: update-cert-manager
|
|
||||||
config:
|
|
||||||
path: ./src/infra/cert-manager/config.yaml
|
|
||||||
updates:
|
|
||||||
- key: source.targetRevision
|
|
||||||
value: ${{ chartFrom("https://charts.jetstack.io", "cert-manager").Version }}
|
|
||||||
- uses: yaml-update
|
|
||||||
as: update-argo-rollouts
|
|
||||||
config:
|
|
||||||
path: ./src/infra/argo-rollouts/config.yaml
|
|
||||||
updates:
|
|
||||||
- key: source.targetRevision
|
|
||||||
value: ${{ chartFrom("https://argoproj.github.io/argo-helm", "argo-rollouts").Version }}
|
|
||||||
- uses: yaml-update
|
- uses: yaml-update
|
||||||
as: update-gitea
|
as: update-gitea
|
||||||
config:
|
config:
|
||||||
|
|||||||
@@ -5,16 +5,6 @@ metadata:
|
|||||||
namespace: infra
|
namespace: infra
|
||||||
spec:
|
spec:
|
||||||
subscriptions:
|
subscriptions:
|
||||||
- chart:
|
|
||||||
repoURL: https://charts.jetstack.io
|
|
||||||
name: cert-manager
|
|
||||||
semverConstraint: ">=1.17.0"
|
|
||||||
discoveryLimit: 5
|
|
||||||
- chart:
|
|
||||||
repoURL: https://argoproj.github.io/argo-helm
|
|
||||||
name: argo-rollouts
|
|
||||||
semverConstraint: ">=2.39.0"
|
|
||||||
discoveryLimit: 5
|
|
||||||
- chart:
|
- chart:
|
||||||
repoURL: https://dl.gitea.com/charts
|
repoURL: https://dl.gitea.com/charts
|
||||||
name: gitea
|
name: gitea
|
||||||
|
|||||||
@@ -4,5 +4,11 @@ metadata:
|
|||||||
name: test-env-images
|
name: test-env-images
|
||||||
namespace: test-env
|
namespace: test-env
|
||||||
spec:
|
spec:
|
||||||
subscriptions: []
|
# Placeholder: no subscriptions yet.
|
||||||
# TODO: Add container image subscriptions for test services
|
# When test services are added, subscribe to their container images here.
|
||||||
|
subscriptions:
|
||||||
|
- chart:
|
||||||
|
repoURL: https://dl.gitea.com/charts
|
||||||
|
name: gitea
|
||||||
|
semverConstraint: ">=0.0.1"
|
||||||
|
discoveryLimit: 1
|
||||||
|
|||||||
Reference in New Issue
Block a user