feat(nowchess): add Kargo project, Rollouts deployment, and secrets

- 9 Kargo Warehouses (one per microservice), staging + prod stages
- PromotionTask: clone GitOps, kustomize-set-image, Gitea PR, ArgoCD sync
- BlueGreen Rollouts for all 9 services with health probes and envFrom
- staging,deployed / production,deployed Quarkus multi-profile support
- CORS_ORIGINS and QUARKUS_PROFILE injected via nowchess-env-config ConfigMap
- Plain K8s Secrets with empty values in secrets/nowchess/ (staging, prod, kargo)
- ArgoCD Applications for kargo project, staging, and prod deployments

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-30 10:58:45 +02:00
parent 3fb98effae
commit 2022631f45
35 changed files with 130463 additions and 0 deletions
File diff suppressed because it is too large Load Diff
+13
View File
@@ -0,0 +1,13 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- nowchess-rollouts.yaml
- nowchess-services.yaml
- nowchess-env-config.yaml
configurations:
- rollout-transform.yaml
openapi:
path: argo_all_k8s_kustomize_schema.json
+8
View File
@@ -0,0 +1,8 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: nowchess-env-config
data:
QUARKUS_PROFILE: staging,deployed
CORS_ORIGINS: ""
NOWCHESS_COORDINATOR_ENABLED: "true"
+634
View File
@@ -0,0 +1,634 @@
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: nowchess-account
labels:
app: nowchess-account
spec:
replicas: 2
selector:
matchLabels:
app: nowchess-account
template:
metadata:
labels:
app: nowchess-account
spec:
imagePullSecrets:
- name: ghcr-pull-secret
containers:
- name: nowchess-account
image: ghcr.io/now-chess/now-chess-systems/account:latest
imagePullPolicy: Always
envFrom:
- configMapRef:
name: nowchess-env-config
env:
- name: REDIS_HOST
value: redis
- name: REDIS_PORT
value: "6379"
- name: CORE_SERVICE_URL
value: http://nowchess-core-active:8080
- name: INTERNAL_SECRET
valueFrom:
secretKeyRef:
name: ncs-internal-secret
key: INTERNAL_SECRET
- name: DB_USER
valueFrom:
secretKeyRef:
name: ncs-db-secrets
key: ACCOUNT_DB_USER
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: ncs-db-secrets
key: ACCOUNT_DB_PASSWORD
- name: DB_URL
valueFrom:
secretKeyRef:
name: ncs-db-secrets
key: ACCOUNT_DB_URL
- name: JWT_PUBLIC_KEY_PATH
value: /secrets/jwt/public.pem
- name: JWT_PRIVATE_KEY_PATH
value: /secrets/jwt/private.pem
volumeMounts:
- name: jwt-keys
mountPath: /secrets/jwt
readOnly: true
ports:
- containerPort: 8083
protocol: TCP
livenessProbe:
httpGet:
path: /q/health/live
port: 8083
initialDelaySeconds: 10
periodSeconds: 10
readinessProbe:
httpGet:
path: /q/health/ready
port: 8083
initialDelaySeconds: 5
periodSeconds: 5
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "256Mi"
volumes:
- name: jwt-keys
secret:
secretName: ncs-jwt-keys
strategy:
blueGreen:
activeService: nowchess-account-active
previewService: nowchess-account-preview
autoPromotionEnabled: true
---
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: nowchess-bot-platform
labels:
app: nowchess-bot-platform
spec:
replicas: 1
selector:
matchLabels:
app: nowchess-bot-platform
template:
metadata:
labels:
app: nowchess-bot-platform
spec:
imagePullSecrets:
- name: ghcr-pull-secret
containers:
- name: nowchess-bot-platform
image: ghcr.io/now-chess/now-chess-systems/bot-platform:latest
imagePullPolicy: Always
envFrom:
- configMapRef:
name: nowchess-env-config
env:
- name: REDIS_HOST
value: redis
- name: REDIS_PORT
value: "6379"
ports:
- containerPort: 8087
protocol: TCP
livenessProbe:
httpGet:
path: /q/health/live
port: 8087
initialDelaySeconds: 10
periodSeconds: 10
readinessProbe:
httpGet:
path: /q/health/ready
port: 8087
initialDelaySeconds: 5
periodSeconds: 5
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "256Mi"
strategy:
blueGreen:
activeService: nowchess-bot-platform-active
previewService: nowchess-bot-platform-preview
autoPromotionEnabled: true
---
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: nowchess-coordinator
labels:
app: nowchess-coordinator
spec:
replicas: 1
selector:
matchLabels:
app: nowchess-coordinator
template:
metadata:
labels:
app: nowchess-coordinator
spec:
imagePullSecrets:
- name: ghcr-pull-secret
containers:
- name: nowchess-coordinator
image: ghcr.io/now-chess/now-chess-systems/coordinator:latest
imagePullPolicy: Always
envFrom:
- configMapRef:
name: nowchess-env-config
env:
- name: REDIS_HOST
value: redis
- name: REDIS_PORT
value: "6379"
- name: INTERNAL_SECRET
valueFrom:
secretKeyRef:
name: ncs-internal-secret
key: INTERNAL_SECRET
ports:
- containerPort: 8086
name: http
protocol: TCP
- containerPort: 9086
name: grpc
protocol: TCP
livenessProbe:
httpGet:
path: /q/health/live
port: 8086
initialDelaySeconds: 10
periodSeconds: 10
readinessProbe:
httpGet:
path: /q/health/ready
port: 8086
initialDelaySeconds: 5
periodSeconds: 5
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "256Mi"
strategy:
blueGreen:
activeService: nowchess-coordinator-active
previewService: nowchess-coordinator-preview
autoPromotionEnabled: true
---
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: nowchess-core
labels:
app: nowchess-core
spec:
replicas: 2
selector:
matchLabels:
app: nowchess-core
template:
metadata:
labels:
app: nowchess-core
spec:
imagePullSecrets:
- name: ghcr-pull-secret
containers:
- name: nowchess-core
image: ghcr.io/now-chess/now-chess-systems/core:latest
imagePullPolicy: Always
envFrom:
- configMapRef:
name: nowchess-env-config
env:
- name: REDIS_HOST
value: redis
- name: REDIS_PORT
value: "6379"
- name: INTERNAL_SECRET
valueFrom:
secretKeyRef:
name: ncs-internal-secret
key: INTERNAL_SECRET
- name: JWT_PUBLIC_KEY_PATH
value: /secrets/jwt/public.pem
- name: RULE_SERVICE_HOST
value: nowchess-rule-active
- name: RULE_SERVICE_GRPC_PORT
value: "8082"
- name: RULE_SERVICE_URL
value: http://nowchess-rule-active:8082
- name: IO_SERVICE_HOST
value: nowchess-io-active
- name: IO_SERVICE_GRPC_PORT
value: "8081"
- name: IO_SERVICE_URL
value: http://nowchess-io-active:8081
- name: COORDINATOR_SERVICE_HOST
value: nowchess-coordinator-active
- name: COORDINATOR_SERVICE_GRPC_PORT
value: "9086"
- name: STORE_SERVICE_URL
value: http://nowchess-store-active:8085
volumeMounts:
- name: jwt-keys
mountPath: /secrets/jwt
readOnly: true
ports:
- containerPort: 8080
protocol: TCP
livenessProbe:
httpGet:
path: /q/health/live
port: 8080
initialDelaySeconds: 10
periodSeconds: 10
readinessProbe:
httpGet:
path: /q/health/ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 5
resources:
requests:
cpu: "200m"
memory: "256Mi"
limits:
cpu: "1000m"
memory: "512Mi"
volumes:
- name: jwt-keys
secret:
secretName: ncs-jwt-keys
strategy:
blueGreen:
activeService: nowchess-core-active
previewService: nowchess-core-preview
autoPromotionEnabled: true
---
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: nowchess-io
labels:
app: nowchess-io
spec:
replicas: 1
selector:
matchLabels:
app: nowchess-io
template:
metadata:
labels:
app: nowchess-io
spec:
imagePullSecrets:
- name: ghcr-pull-secret
containers:
- name: nowchess-io
image: ghcr.io/now-chess/now-chess-systems/io:latest
imagePullPolicy: Always
envFrom:
- configMapRef:
name: nowchess-env-config
env:
- name: INTERNAL_SECRET
valueFrom:
secretKeyRef:
name: ncs-internal-secret
key: INTERNAL_SECRET
ports:
- containerPort: 8081
protocol: TCP
livenessProbe:
httpGet:
path: /q/health/live
port: 8081
initialDelaySeconds: 10
periodSeconds: 10
readinessProbe:
httpGet:
path: /q/health/ready
port: 8081
initialDelaySeconds: 5
periodSeconds: 5
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "256Mi"
strategy:
blueGreen:
activeService: nowchess-io-active
previewService: nowchess-io-preview
autoPromotionEnabled: true
---
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: nowchess-official-bots
labels:
app: nowchess-official-bots
spec:
replicas: 1
selector:
matchLabels:
app: nowchess-official-bots
template:
metadata:
labels:
app: nowchess-official-bots
spec:
imagePullSecrets:
- name: ghcr-pull-secret
containers:
- name: nowchess-official-bots
image: ghcr.io/now-chess/now-chess-systems/official-bots:latest
imagePullPolicy: Always
envFrom:
- configMapRef:
name: nowchess-env-config
env:
- name: REDIS_HOST
value: redis
- name: REDIS_PORT
value: "6379"
ports:
- containerPort: 8088
protocol: TCP
livenessProbe:
httpGet:
path: /q/health/live
port: 8088
initialDelaySeconds: 10
periodSeconds: 10
readinessProbe:
httpGet:
path: /q/health/ready
port: 8088
initialDelaySeconds: 5
periodSeconds: 5
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "256Mi"
strategy:
blueGreen:
activeService: nowchess-official-bots-active
previewService: nowchess-official-bots-preview
autoPromotionEnabled: true
---
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: nowchess-rule
labels:
app: nowchess-rule
spec:
replicas: 1
selector:
matchLabels:
app: nowchess-rule
template:
metadata:
labels:
app: nowchess-rule
spec:
imagePullSecrets:
- name: ghcr-pull-secret
containers:
- name: nowchess-rule
image: ghcr.io/now-chess/now-chess-systems/rule:latest
imagePullPolicy: Always
envFrom:
- configMapRef:
name: nowchess-env-config
env:
- name: INTERNAL_SECRET
valueFrom:
secretKeyRef:
name: ncs-internal-secret
key: INTERNAL_SECRET
ports:
- containerPort: 8082
protocol: TCP
livenessProbe:
httpGet:
path: /q/health/live
port: 8082
initialDelaySeconds: 10
periodSeconds: 10
readinessProbe:
httpGet:
path: /q/health/ready
port: 8082
initialDelaySeconds: 5
periodSeconds: 5
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "256Mi"
strategy:
blueGreen:
activeService: nowchess-rule-active
previewService: nowchess-rule-preview
autoPromotionEnabled: true
---
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: nowchess-store
labels:
app: nowchess-store
spec:
replicas: 1
selector:
matchLabels:
app: nowchess-store
template:
metadata:
labels:
app: nowchess-store
spec:
imagePullSecrets:
- name: ghcr-pull-secret
containers:
- name: nowchess-store
image: ghcr.io/now-chess/now-chess-systems/store:latest
imagePullPolicy: Always
envFrom:
- configMapRef:
name: nowchess-env-config
env:
- name: REDIS_HOST
value: redis
- name: REDIS_PORT
value: "6379"
- name: INTERNAL_SECRET
valueFrom:
secretKeyRef:
name: ncs-internal-secret
key: INTERNAL_SECRET
- name: DB_USER
valueFrom:
secretKeyRef:
name: ncs-db-secrets
key: STORE_DB_USER
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: ncs-db-secrets
key: STORE_DB_PASSWORD
- name: DB_URL
valueFrom:
secretKeyRef:
name: ncs-db-secrets
key: STORE_DB_URL
ports:
- containerPort: 8085
protocol: TCP
livenessProbe:
httpGet:
path: /q/health/live
port: 8085
initialDelaySeconds: 10
periodSeconds: 10
readinessProbe:
httpGet:
path: /q/health/ready
port: 8085
initialDelaySeconds: 5
periodSeconds: 5
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "256Mi"
strategy:
blueGreen:
activeService: nowchess-store-active
previewService: nowchess-store-preview
autoPromotionEnabled: true
---
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: nowchess-ws
labels:
app: nowchess-ws
spec:
replicas: 2
selector:
matchLabels:
app: nowchess-ws
template:
metadata:
labels:
app: nowchess-ws
spec:
imagePullSecrets:
- name: ghcr-pull-secret
containers:
- name: nowchess-ws
image: ghcr.io/now-chess/now-chess-systems/ws:latest
imagePullPolicy: Always
envFrom:
- configMapRef:
name: nowchess-env-config
env:
- name: REDIS_HOST
value: redis
- name: REDIS_PORT
value: "6379"
- name: INTERNAL_SECRET
valueFrom:
secretKeyRef:
name: ncs-internal-secret
key: INTERNAL_SECRET
- name: JWT_PUBLIC_KEY_PATH
value: /secrets/jwt/public.pem
volumeMounts:
- name: jwt-keys
mountPath: /secrets/jwt
readOnly: true
ports:
- containerPort: 8084
protocol: TCP
livenessProbe:
httpGet:
path: /q/health/live
port: 8084
initialDelaySeconds: 10
periodSeconds: 10
readinessProbe:
httpGet:
path: /q/health/ready
port: 8084
initialDelaySeconds: 5
periodSeconds: 5
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "256Mi"
volumes:
- name: jwt-keys
secret:
secretName: ncs-jwt-keys
strategy:
blueGreen:
activeService: nowchess-ws-active
previewService: nowchess-ws-preview
autoPromotionEnabled: true
+225
View File
@@ -0,0 +1,225 @@
apiVersion: v1
kind: Service
metadata:
name: nowchess-account-active
spec:
selector:
app: nowchess-account
ports:
- protocol: TCP
port: 8083
targetPort: 8083
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-account-preview
spec:
selector:
app: nowchess-account
ports:
- protocol: TCP
port: 8083
targetPort: 8083
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-bot-platform-active
spec:
selector:
app: nowchess-bot-platform
ports:
- protocol: TCP
port: 8087
targetPort: 8087
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-bot-platform-preview
spec:
selector:
app: nowchess-bot-platform
ports:
- protocol: TCP
port: 8087
targetPort: 8087
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-coordinator-active
spec:
selector:
app: nowchess-coordinator
ports:
- name: http
protocol: TCP
port: 8086
targetPort: 8086
- name: grpc
protocol: TCP
port: 9086
targetPort: 9086
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-coordinator-preview
spec:
selector:
app: nowchess-coordinator
ports:
- name: http
protocol: TCP
port: 8086
targetPort: 8086
- name: grpc
protocol: TCP
port: 9086
targetPort: 9086
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-core-active
spec:
selector:
app: nowchess-core
ports:
- protocol: TCP
port: 8080
targetPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-core-preview
spec:
selector:
app: nowchess-core
ports:
- protocol: TCP
port: 8080
targetPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-io-active
spec:
selector:
app: nowchess-io
ports:
- protocol: TCP
port: 8081
targetPort: 8081
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-io-preview
spec:
selector:
app: nowchess-io
ports:
- protocol: TCP
port: 8081
targetPort: 8081
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-official-bots-active
spec:
selector:
app: nowchess-official-bots
ports:
- protocol: TCP
port: 8088
targetPort: 8088
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-official-bots-preview
spec:
selector:
app: nowchess-official-bots
ports:
- protocol: TCP
port: 8088
targetPort: 8088
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-rule-active
spec:
selector:
app: nowchess-rule
ports:
- protocol: TCP
port: 8082
targetPort: 8082
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-rule-preview
spec:
selector:
app: nowchess-rule
ports:
- protocol: TCP
port: 8082
targetPort: 8082
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-store-active
spec:
selector:
app: nowchess-store
ports:
- protocol: TCP
port: 8085
targetPort: 8085
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-store-preview
spec:
selector:
app: nowchess-store
ports:
- protocol: TCP
port: 8085
targetPort: 8085
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-ws-active
spec:
selector:
app: nowchess-ws
ports:
- protocol: TCP
port: 8084
targetPort: 8084
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-ws-preview
spec:
selector:
app: nowchess-ws
ports:
- protocol: TCP
port: 8084
targetPort: 8084
+275
View File
@@ -0,0 +1,275 @@
images:
- path: spec/template/spec/containers/image
kind: Rollout
- path: spec/template/spec/initContainers/image
kind: Rollout
# https://github.com/kubernetes-sigs/kustomize/blob/master/api/konfig/builtinpluginconsts/namereference.go
nameReference:
- kind: ConfigMap
version: v1
fieldSpecs:
- path: spec/template/spec/volumes/configMap/name
kind: Rollout
- path: spec/template/spec/containers/env/valueFrom/configMapKeyRef/name
kind: Rollout
- path: spec/template/spec/initContainers/env/valueFrom/configMapKeyRef/name
kind: Rollout
- path: spec/template/spec/containers/envFrom/configMapRef/name
kind: Rollout
- path: spec/template/spec/initContainers/envFrom/configMapRef/name
kind: Rollout
- path: spec/template/spec/volumes/projected/sources/configMap/name
kind: Rollout
- path: spec/templates/template/spec/volumes/configMap/name
kind: Experiment
- path: spec/templates/template/spec/containers/env/valueFrom/configMapKeyRef/name
kind: Experiment
- path: spec/templates/template/spec/initContainers/env/valueFrom/configMapKeyRef/name
kind: Experiment
- path: spec/templates/template/spec/containers/envFrom/configMapRef/name
kind: Experiment
- path: spec/templates/template/spec/initContainers/envFrom/configMapRef/name
kind: Experiment
- path: spec/templates/template/spec/volumes/projected/sources/configMap/name
kind: Experiment
- path: spec/metrics/provider/job/spec/template/spec/volumes/configMap/name
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/containers/env/valueFrom/configMapKeyRef/name
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/initContainers/env/valueFrom/configMapKeyRef/name
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/containers/envFrom/configMapRef/name
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/initContainers/envFrom/configMapRef/name
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/volumes/projected/sources/configMap/name
kind: AnalysisTemplate
- kind: Secret
version: v1
fieldSpecs:
- path: spec/template/spec/volumes/secret/secretName
kind: Rollout
- path: spec/template/spec/containers/env/valueFrom/secretKeyRef/name
kind: Rollout
- path: spec/template/spec/initContainers/env/valueFrom/secretKeyRef/name
kind: Rollout
- path: spec/template/spec/containers/envFrom/secretRef/name
kind: Rollout
- path: spec/template/spec/initContainers/envFrom/secretRef/name
kind: Rollout
- path: spec/template/spec/imagePullSecrets/name
kind: Rollout
- path: spec/template/spec/volumes/projected/sources/secret/name
kind: Rollout
- path: spec/templates/template/spec/volumes/secret/secretName
kind: Experiment
- path: spec/templates/template/spec/containers/env/valueFrom/secretKeyRef/name
kind: Experiment
- path: spec/templates/template/spec/initContainers/env/valueFrom/secretKeyRef/name
kind: Experiment
- path: spec/templates/template/spec/containers/envFrom/secretRef/name
kind: Experiment
- path: spec/templates/template/spec/initContainers/envFrom/secretRef/name
kind: Experiment
- path: spec/templates/template/spec/imagePullSecrets/name
kind: Experiment
- path: spec/templates/template/spec/volumes/projected/sources/secret/name
kind: Experiment
- path: spec/metrics/provider/job/spec/template/spec/volumes/secret/secretName
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/containers/env/valueFrom/secretKeyRef/name
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/initContainers/env/valueFrom/secretKeyRef/name
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/containers/envFrom/secretRef/name
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/initContainers/envFrom/secretRef/name
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/imagePullSecrets/name
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/volumes/projected/sources/secret/name
kind: AnalysisTemplate
- kind: ServiceAccount
version: v1
fieldSpecs:
- path: spec/template/spec/serviceAccountName
kind: Rollout
- path: spec/templates/template/spec/serviceAccountName
kind: Experiment
- path: spec/metrics/provider/job/spec/template/spec/serviceAccountName
kind: AnalysisTemplate
- kind: PersistentVolumeClaim
version: v1
fieldSpecs:
- path: spec/template/spec/volumes/persistentVolumeClaim/claimName
kind: Rollout
- path: spec/templates/template/spec/volumes/persistentVolumeClaim/claimName
kind: Experiment
- path: spec/metrics/provider/job/spec/template/spec/volumes/persistentVolumeClaim/claimName
kind: AnalysisTemplate
- kind: PriorityClass
version: v1
group: scheduling.k8s.io
fieldSpecs:
- path: spec/template/spec/priorityClassName
kind: Rollout
- path: spec/templates/template/spec/priorityClassName
kind: Experiment
- path: spec/metrics/provider/job/spec/template/spec/priorityClassName
kind: AnalysisTemplate
# The name references below are unique to Rollouts and not applicable to Deployment
- kind: Service
version: v1
fieldSpecs:
- path: spec/strategy/blueGreen/activeService
kind: Rollout
- path: spec/strategy/blueGreen/previewService
kind: Rollout
- path: spec/strategy/canary/canaryService
kind: Rollout
- path: spec/strategy/canary/stableService
kind: Rollout
- path: spec/strategy/canary/trafficRouting/alb/rootService
kind: Rollout
- kind: VirtualService
group: networking.istio.io
fieldSpecs:
- path: spec/strategy/canary/trafficRouting/istio/virtualService/name
kind: Rollout
- kind: DestinationRule
group: networking.istio.io
fieldSpecs:
- path: spec/strategy/canary/trafficRouting/istio/destinationRule/name
kind: Rollout
- kind: Ingress
group: networking.k8s.io
fieldSpecs:
- path: spec/strategy/canary/trafficRouting/alb/ingress
kind: Rollout
- path: spec/strategy/canary/trafficRouting/nginx/stableIngress
kind: Rollout
- kind: Ingress
group: extensions
fieldSpecs:
- path: spec/strategy/canary/trafficRouting/alb/ingress
kind: Rollout
- path: spec/strategy/canary/trafficRouting/nginx/stableIngress
kind: Rollout
- kind: AnalysisTemplate
group: argoproj.io
fieldSpecs:
- path: spec/strategy/blueGreen/prePromotionAnalysis/templates/templateName
kind: Rollout
- path: spec/strategy/blueGreen/postPromotionAnalysis/templates/templateName
kind: Rollout
- path: spec/strategy/canary/analysis/templates/templateName
kind: Rollout
- path: spec/strategy/canary/steps/analysis/templates/templateName
kind: Rollout
- path: spec/strategy/canary/steps/experiment/analyses/templateName
kind: Rollout
- path: spec/analyses/templateName
kind: Experiment
- kind: Rollout
fieldSpecs:
- path: spec/scaleTargetRef/name
kind: HorizontalPodAutoscaler
- kind: Deployment
version: v1
group: apps
fieldSpecs:
- path: spec/workloadRef/name
kind: Rollout
- kind: Mapping
group: getambassador.io
fieldSpecs:
- path: spec/strategy/canary/trafficRouting/ambassador/mappings
kind: Rollout
# https://github.com/kubernetes-sigs/kustomize/blob/master/api/konfig/builtinpluginconsts/commonlabels.go
commonLabels:
- path: spec/selector/matchLabels
create: true
kind: Rollout
- path: spec/template/metadata/labels
create: true
kind: Rollout
- path: spec/template/spec/affinity/podAffinity/preferredDuringSchedulingIgnoredDuringExecution/podAffinityTerm/labelSelector/matchLabels
create: false
kind: Rollout
- path: spec/template/spec/affinity/podAffinity/requiredDuringSchedulingIgnoredDuringExecution/labelSelector/matchLabels
create: false
kind: Rollout
- path: spec/template/spec/affinity/podAntiAffinity/preferredDuringSchedulingIgnoredDuringExecution/podAffinityTerm/labelSelector/matchLabels
create: false
kind: Rollout
- path: spec/template/spec/affinity/podAntiAffinity/requiredDuringSchedulingIgnoredDuringExecution/labelSelector/matchLabels
create: false
kind: Rollout
# https://github.com/kubernetes-sigs/kustomize/blob/master/api/konfig/builtinpluginconsts/commonannotations.go
commonAnnotations:
- path: spec/template/metadata/annotations
create: true
kind: Rollout
# https://github.com/kubernetes-sigs/kustomize/blob/master/api/konfig/builtinpluginconsts/varreference.go
varReference:
- path: spec/template/spec/containers/args
kind: Rollout
- path: spec/template/spec/containers/command
kind: Rollout
- path: spec/template/spec/containers/env/value
kind: Rollout
- path: spec/template/spec/containers/volumeMounts/mountPath
kind: Rollout
- path: spec/template/spec/initContainers/args
kind: Rollout
- path: spec/template/spec/initContainers/command
kind: Rollout
- path: spec/template/spec/initContainers/env/value
kind: Rollout
- path: spec/template/spec/initContainers/volumeMounts/mountPath
kind: Rollout
- path: spec/templates/template/spec/containers/args
kind: Experiment
- path: spec/templates/template/spec/containers/command
kind: Experiment
- path: spec/templates/template/spec/containers/env/value
kind: Experiment
- path: spec/templates/template/spec/containers/volumeMounts/mountPath
kind: Experiment
- path: spec/templates/template/spec/initContainers/args
kind: Experiment
- path: spec/templates/template/spec/initContainers/command
kind: Experiment
- path: spec/templates/template/spec/initContainers/env/value
kind: Experiment
- path: spec/templates/template/spec/initContainers/volumeMounts/mountPath
kind: Experiment
- path: spec/metrics/provider/job/spec/template/spec/containers/args
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/containers/command
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/containers/env/value
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/containers/volumeMounts/mountPath
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/initContainers/args
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/initContainers/command
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/initContainers/env/value
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/initContainers/volumeMounts/mountPath
kind: AnalysisTemplate
- path: spec/metrics/provider/job/spec/template/spec/volumes/nfs/server
kind: AnalysisTemplate
# https://github.com/kubernetes-sigs/kustomize/blob/master/api/konfig/builtinpluginconsts/replicas.go
replicas:
- path: spec/replicas
create: true
kind: Rollout