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:
@@ -108,3 +108,5 @@ fabric.properties
|
|||||||
# Unsealed Secret files (templates for kubeseal)
|
# Unsealed Secret files (templates for kubeseal)
|
||||||
secrets/**
|
secrets/**
|
||||||
!secrets/kustomization.yaml
|
!secrets/kustomization.yaml
|
||||||
|
!secrets/nowchess/
|
||||||
|
!secrets/nowchess/**
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: nowchess-kargo
|
||||||
|
namespace: argocd
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
destination:
|
||||||
|
namespace: nowchess-kargo
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
sources:
|
||||||
|
- repoURL: git@git.janis-eccarius.de:NowChess/Gitops.git
|
||||||
|
path: ./kargo-projects/nowchess
|
||||||
|
ref: values
|
||||||
|
targetRevision: main
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: nowchess-staging
|
||||||
|
namespace: argocd
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
destination:
|
||||||
|
namespace: nowchess-staging
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
sources:
|
||||||
|
- repoURL: git@git.janis-eccarius.de:NowChess/Gitops.git
|
||||||
|
path: ./nowchess/eu-central-1-staging
|
||||||
|
ref: values
|
||||||
|
targetRevision: main
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: nowchess
|
||||||
|
namespace: argocd
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
destination:
|
||||||
|
namespace: nowchess
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
sources:
|
||||||
|
- repoURL: git@git.janis-eccarius.de:NowChess/Gitops.git
|
||||||
|
path: ./nowchess/eu-central-1-prod
|
||||||
|
ref: values
|
||||||
|
targetRevision: main
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ncs-project.yaml
|
||||||
|
- ncs-projectconfig.yaml
|
||||||
|
- ncs-warehouse.yaml
|
||||||
|
- ncs-stage.yaml
|
||||||
|
- ncs-promotion-template.yaml
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: kargo.akuity.io/v1alpha1
|
||||||
|
kind: Project
|
||||||
|
metadata:
|
||||||
|
name: nowchess-kargo
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-wave: "-1"
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: kargo.akuity.io/v1alpha1
|
||||||
|
kind: ProjectConfig
|
||||||
|
metadata:
|
||||||
|
name: nowchess-kargo
|
||||||
|
spec:
|
||||||
|
promotionPolicies:
|
||||||
|
- autoPromotionEnabled: true
|
||||||
|
stageSelector:
|
||||||
|
name: regex:^staging$
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
apiVersion: kargo.akuity.io/v1alpha1
|
||||||
|
kind: PromotionTask
|
||||||
|
metadata:
|
||||||
|
name: nowchess-kargo-promotion-template
|
||||||
|
namespace: nowchess-kargo
|
||||||
|
spec:
|
||||||
|
vars:
|
||||||
|
- name: repoUrl
|
||||||
|
value: https://git.janis-eccarius.de/NowChess/Gitops.git
|
||||||
|
- name: component
|
||||||
|
value: ${{ ctx.targetFreight.origin.name }}
|
||||||
|
- name: imageRepoUrl
|
||||||
|
value: 'ghcr.io/now-chess/now-chess-systems/${{ vars.component }}'
|
||||||
|
- name: branch
|
||||||
|
value: main
|
||||||
|
- name: imageTag
|
||||||
|
value: ${{ imageFrom(vars.imageRepoUrl).Tag }}
|
||||||
|
steps:
|
||||||
|
- uses: git-clone
|
||||||
|
config:
|
||||||
|
repoURL: ${{ vars.repoUrl }}
|
||||||
|
checkout:
|
||||||
|
- branch: ${{ vars.branch }}
|
||||||
|
path: ./work
|
||||||
|
- uses: kustomize-set-image
|
||||||
|
as: set-image
|
||||||
|
config:
|
||||||
|
path: ./work/nowchess/${{ vars.folder }}
|
||||||
|
images:
|
||||||
|
- image: ${{ vars.imageRepoUrl }}
|
||||||
|
tag: ${{ vars.imageTag }}
|
||||||
|
- uses: git-commit
|
||||||
|
as: commit
|
||||||
|
config:
|
||||||
|
path: ./work
|
||||||
|
message: "chore(kargo): update image tag ${{ vars.component }} to ${{ vars.imageTag }} on ${{ ctx.stage }}"
|
||||||
|
- uses: git-push
|
||||||
|
as: push
|
||||||
|
if: "${{ status('commit') != 'Skipped'}}"
|
||||||
|
config:
|
||||||
|
path: ./work
|
||||||
|
generateTargetBranch: true
|
||||||
|
- uses: git-open-pr
|
||||||
|
if: "${{ status('commit') != 'Skipped'}}"
|
||||||
|
as: open-pr
|
||||||
|
config:
|
||||||
|
repoURL: ${{ vars.repoUrl }}
|
||||||
|
provider: "gitea"
|
||||||
|
sourceBranch: ${{ task.outputs['push'].branch }}
|
||||||
|
targetBranch: ${{ vars.branch }}
|
||||||
|
title: "chore(kargo): update image tag ${{ vars.component }} to ${{ vars.imageTag }} on ${{ ctx.stage }}"
|
||||||
|
labels: ["kargo", "promotion"]
|
||||||
|
- uses: git-merge-pr
|
||||||
|
if: "${{ status('open-pr') != 'Skipped'}}"
|
||||||
|
as: merge-pr
|
||||||
|
config:
|
||||||
|
repoURL: ${{ vars.repoUrl }}
|
||||||
|
provider: "gitea"
|
||||||
|
prNumber: ${{ task.outputs['open-pr'].pr.id }}
|
||||||
|
wait: true
|
||||||
|
- uses: git-wait-for-pr
|
||||||
|
if: "${{ status('open-pr') != 'Skipped'}}"
|
||||||
|
as: wait-for-pr
|
||||||
|
config:
|
||||||
|
repoURL: ${{ vars.repoUrl }}
|
||||||
|
provider: "gitea"
|
||||||
|
prNumber: ${{ task.outputs['open-pr'].pr.id }}
|
||||||
|
- uses: argocd-update
|
||||||
|
as: argocd-update
|
||||||
|
config:
|
||||||
|
apps:
|
||||||
|
- name: ${{ vars.argocdName }}
|
||||||
|
sources:
|
||||||
|
- repoURL: git@git.janis-eccarius.de:NowChess/Gitops.git
|
||||||
|
kustomize:
|
||||||
|
images:
|
||||||
|
- repoURL: ${{ vars.imageRepoUrl }}
|
||||||
|
tag: ${{ vars.imageTag }}
|
||||||
@@ -0,0 +1,147 @@
|
|||||||
|
kind: Stage
|
||||||
|
apiVersion: kargo.akuity.io/v1alpha1
|
||||||
|
metadata:
|
||||||
|
name: staging
|
||||||
|
namespace: nowchess-kargo
|
||||||
|
annotations:
|
||||||
|
kargo.akuity.io/color: fuchsia
|
||||||
|
spec:
|
||||||
|
vars:
|
||||||
|
- name: argocdName
|
||||||
|
value: nowchess-staging
|
||||||
|
- name: folder
|
||||||
|
value: eu-central-1-staging
|
||||||
|
requestedFreight:
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: account
|
||||||
|
sources:
|
||||||
|
direct: true
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: bot-platform
|
||||||
|
sources:
|
||||||
|
direct: true
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: coordinator
|
||||||
|
sources:
|
||||||
|
direct: true
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: core
|
||||||
|
sources:
|
||||||
|
direct: true
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: io
|
||||||
|
sources:
|
||||||
|
direct: true
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: official-bots
|
||||||
|
sources:
|
||||||
|
direct: true
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: rule
|
||||||
|
sources:
|
||||||
|
direct: true
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: store
|
||||||
|
sources:
|
||||||
|
direct: true
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: ws
|
||||||
|
sources:
|
||||||
|
direct: true
|
||||||
|
promotionTemplate:
|
||||||
|
spec:
|
||||||
|
steps:
|
||||||
|
- task:
|
||||||
|
name: nowchess-kargo-promotion-template
|
||||||
|
---
|
||||||
|
kind: Stage
|
||||||
|
apiVersion: kargo.akuity.io/v1alpha1
|
||||||
|
metadata:
|
||||||
|
name: prod
|
||||||
|
namespace: nowchess-kargo
|
||||||
|
annotations:
|
||||||
|
kargo.akuity.io/color: green
|
||||||
|
spec:
|
||||||
|
vars:
|
||||||
|
- name: argocdName
|
||||||
|
value: nowchess
|
||||||
|
- name: folder
|
||||||
|
value: eu-central-1-prod
|
||||||
|
requestedFreight:
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: account
|
||||||
|
sources:
|
||||||
|
direct: false
|
||||||
|
stages:
|
||||||
|
- staging
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: bot-platform
|
||||||
|
sources:
|
||||||
|
direct: false
|
||||||
|
stages:
|
||||||
|
- staging
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: coordinator
|
||||||
|
sources:
|
||||||
|
direct: false
|
||||||
|
stages:
|
||||||
|
- staging
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: core
|
||||||
|
sources:
|
||||||
|
direct: false
|
||||||
|
stages:
|
||||||
|
- staging
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: io
|
||||||
|
sources:
|
||||||
|
direct: false
|
||||||
|
stages:
|
||||||
|
- staging
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: official-bots
|
||||||
|
sources:
|
||||||
|
direct: false
|
||||||
|
stages:
|
||||||
|
- staging
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: rule
|
||||||
|
sources:
|
||||||
|
direct: false
|
||||||
|
stages:
|
||||||
|
- staging
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: store
|
||||||
|
sources:
|
||||||
|
direct: false
|
||||||
|
stages:
|
||||||
|
- staging
|
||||||
|
- origin:
|
||||||
|
kind: Warehouse
|
||||||
|
name: ws
|
||||||
|
sources:
|
||||||
|
direct: false
|
||||||
|
stages:
|
||||||
|
- staging
|
||||||
|
promotionTemplate:
|
||||||
|
spec:
|
||||||
|
steps:
|
||||||
|
- task:
|
||||||
|
name: nowchess-kargo-promotion-template
|
||||||
@@ -0,0 +1,134 @@
|
|||||||
|
apiVersion: kargo.akuity.io/v1alpha1
|
||||||
|
kind: Warehouse
|
||||||
|
metadata:
|
||||||
|
name: account
|
||||||
|
namespace: nowchess-kargo
|
||||||
|
spec:
|
||||||
|
freightCreationPolicy: Automatic
|
||||||
|
interval: 5m0s
|
||||||
|
subscriptions:
|
||||||
|
- image:
|
||||||
|
discoveryLimit: 20
|
||||||
|
imageSelectionStrategy: SemVer
|
||||||
|
repoURL: ghcr.io/now-chess/now-chess-systems/account
|
||||||
|
strictSemvers: true
|
||||||
|
---
|
||||||
|
apiVersion: kargo.akuity.io/v1alpha1
|
||||||
|
kind: Warehouse
|
||||||
|
metadata:
|
||||||
|
name: bot-platform
|
||||||
|
namespace: nowchess-kargo
|
||||||
|
spec:
|
||||||
|
freightCreationPolicy: Automatic
|
||||||
|
interval: 5m0s
|
||||||
|
subscriptions:
|
||||||
|
- image:
|
||||||
|
discoveryLimit: 20
|
||||||
|
imageSelectionStrategy: SemVer
|
||||||
|
repoURL: ghcr.io/now-chess/now-chess-systems/bot-platform
|
||||||
|
strictSemvers: true
|
||||||
|
---
|
||||||
|
apiVersion: kargo.akuity.io/v1alpha1
|
||||||
|
kind: Warehouse
|
||||||
|
metadata:
|
||||||
|
name: coordinator
|
||||||
|
namespace: nowchess-kargo
|
||||||
|
spec:
|
||||||
|
freightCreationPolicy: Automatic
|
||||||
|
interval: 5m0s
|
||||||
|
subscriptions:
|
||||||
|
- image:
|
||||||
|
discoveryLimit: 20
|
||||||
|
imageSelectionStrategy: SemVer
|
||||||
|
repoURL: ghcr.io/now-chess/now-chess-systems/coordinator
|
||||||
|
strictSemvers: true
|
||||||
|
---
|
||||||
|
apiVersion: kargo.akuity.io/v1alpha1
|
||||||
|
kind: Warehouse
|
||||||
|
metadata:
|
||||||
|
name: core
|
||||||
|
namespace: nowchess-kargo
|
||||||
|
spec:
|
||||||
|
freightCreationPolicy: Automatic
|
||||||
|
interval: 5m0s
|
||||||
|
subscriptions:
|
||||||
|
- image:
|
||||||
|
discoveryLimit: 20
|
||||||
|
imageSelectionStrategy: SemVer
|
||||||
|
repoURL: ghcr.io/now-chess/now-chess-systems/core
|
||||||
|
strictSemvers: true
|
||||||
|
---
|
||||||
|
apiVersion: kargo.akuity.io/v1alpha1
|
||||||
|
kind: Warehouse
|
||||||
|
metadata:
|
||||||
|
name: io
|
||||||
|
namespace: nowchess-kargo
|
||||||
|
spec:
|
||||||
|
freightCreationPolicy: Automatic
|
||||||
|
interval: 5m0s
|
||||||
|
subscriptions:
|
||||||
|
- image:
|
||||||
|
discoveryLimit: 20
|
||||||
|
imageSelectionStrategy: SemVer
|
||||||
|
repoURL: ghcr.io/now-chess/now-chess-systems/io
|
||||||
|
strictSemvers: true
|
||||||
|
---
|
||||||
|
apiVersion: kargo.akuity.io/v1alpha1
|
||||||
|
kind: Warehouse
|
||||||
|
metadata:
|
||||||
|
name: official-bots
|
||||||
|
namespace: nowchess-kargo
|
||||||
|
spec:
|
||||||
|
freightCreationPolicy: Automatic
|
||||||
|
interval: 5m0s
|
||||||
|
subscriptions:
|
||||||
|
- image:
|
||||||
|
discoveryLimit: 20
|
||||||
|
imageSelectionStrategy: SemVer
|
||||||
|
repoURL: ghcr.io/now-chess/now-chess-systems/official-bots
|
||||||
|
strictSemvers: true
|
||||||
|
---
|
||||||
|
apiVersion: kargo.akuity.io/v1alpha1
|
||||||
|
kind: Warehouse
|
||||||
|
metadata:
|
||||||
|
name: rule
|
||||||
|
namespace: nowchess-kargo
|
||||||
|
spec:
|
||||||
|
freightCreationPolicy: Automatic
|
||||||
|
interval: 5m0s
|
||||||
|
subscriptions:
|
||||||
|
- image:
|
||||||
|
discoveryLimit: 20
|
||||||
|
imageSelectionStrategy: SemVer
|
||||||
|
repoURL: ghcr.io/now-chess/now-chess-systems/rule
|
||||||
|
strictSemvers: true
|
||||||
|
---
|
||||||
|
apiVersion: kargo.akuity.io/v1alpha1
|
||||||
|
kind: Warehouse
|
||||||
|
metadata:
|
||||||
|
name: store
|
||||||
|
namespace: nowchess-kargo
|
||||||
|
spec:
|
||||||
|
freightCreationPolicy: Automatic
|
||||||
|
interval: 5m0s
|
||||||
|
subscriptions:
|
||||||
|
- image:
|
||||||
|
discoveryLimit: 20
|
||||||
|
imageSelectionStrategy: SemVer
|
||||||
|
repoURL: ghcr.io/now-chess/now-chess-systems/store
|
||||||
|
strictSemvers: true
|
||||||
|
---
|
||||||
|
apiVersion: kargo.akuity.io/v1alpha1
|
||||||
|
kind: Warehouse
|
||||||
|
metadata:
|
||||||
|
name: ws
|
||||||
|
namespace: nowchess-kargo
|
||||||
|
spec:
|
||||||
|
freightCreationPolicy: Automatic
|
||||||
|
interval: 5m0s
|
||||||
|
subscriptions:
|
||||||
|
- image:
|
||||||
|
discoveryLimit: 20
|
||||||
|
imageSelectionStrategy: SemVer
|
||||||
|
repoURL: ghcr.io/now-chess/now-chess-systems/ws
|
||||||
|
strictSemvers: true
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: nowchess-env-config
|
||||||
|
data:
|
||||||
|
QUARKUS_PROFILE: staging,deployed
|
||||||
|
CORS_ORIGINS: ""
|
||||||
|
NOWCHESS_COORDINATOR_ENABLED: "true"
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,47 @@
|
|||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: nowchess-ingress
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
|
||||||
|
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
|
||||||
|
spec:
|
||||||
|
ingressClassName: nginx
|
||||||
|
rules:
|
||||||
|
- host: nowchess.janis-eccarius.de
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /api/account
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: nowchess-account-active
|
||||||
|
port:
|
||||||
|
number: 8083
|
||||||
|
- path: /ws
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: nowchess-ws-active
|
||||||
|
port:
|
||||||
|
number: 8084
|
||||||
|
- path: /api/store
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: nowchess-store-active
|
||||||
|
port:
|
||||||
|
number: 8085
|
||||||
|
- path: /api
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: nowchess-core-active
|
||||||
|
port:
|
||||||
|
number: 8080
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- nowchess.janis-eccarius.de
|
||||||
|
secretName: nowchess-ingress-cert
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: nowchess
|
||||||
|
resources:
|
||||||
|
- ../base
|
||||||
|
- ingress.yaml
|
||||||
|
patches:
|
||||||
|
- patch: |-
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: nowchess-env-config
|
||||||
|
data:
|
||||||
|
QUARKUS_PROFILE: production,deployed
|
||||||
|
CORS_ORIGINS: https://nowchess.janis-eccarius.de
|
||||||
|
NOWCHESS_COORDINATOR_ENABLED: "true"
|
||||||
|
target:
|
||||||
|
kind: ConfigMap
|
||||||
|
name: nowchess-env-config
|
||||||
|
images:
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/account
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/bot-platform
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/coordinator
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/core
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/io
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/official-bots
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/rule
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/store
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/ws
|
||||||
|
newTag: latest
|
||||||
|
configurations:
|
||||||
|
- rollout-transform.yaml
|
||||||
|
openapi:
|
||||||
|
path: argo_all_k8s_kustomize_schema.json
|
||||||
@@ -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
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,47 @@
|
|||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: nowchess-ingress-st
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
|
||||||
|
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
|
||||||
|
spec:
|
||||||
|
ingressClassName: nginx
|
||||||
|
rules:
|
||||||
|
- host: st.nowchess.janis-eccarius.de
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /api/account
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: nowchess-account-active
|
||||||
|
port:
|
||||||
|
number: 8083
|
||||||
|
- path: /ws
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: nowchess-ws-active
|
||||||
|
port:
|
||||||
|
number: 8084
|
||||||
|
- path: /api/store
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: nowchess-store-active
|
||||||
|
port:
|
||||||
|
number: 8085
|
||||||
|
- path: /api
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: nowchess-core-active
|
||||||
|
port:
|
||||||
|
number: 8080
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- st.nowchess.janis-eccarius.de
|
||||||
|
secretName: nowchess-staging-ingress-cert
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: nowchess-staging
|
||||||
|
resources:
|
||||||
|
- ../base
|
||||||
|
- ingress.yaml
|
||||||
|
patches:
|
||||||
|
- patch: |-
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: nowchess-env-config
|
||||||
|
data:
|
||||||
|
QUARKUS_PROFILE: staging,deployed
|
||||||
|
CORS_ORIGINS: https://st.nowchess.janis-eccarius.de
|
||||||
|
NOWCHESS_COORDINATOR_ENABLED: "true"
|
||||||
|
target:
|
||||||
|
kind: ConfigMap
|
||||||
|
name: nowchess-env-config
|
||||||
|
images:
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/account
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/bot-platform
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/coordinator
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/core
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/io
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/official-bots
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/rule
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/store
|
||||||
|
newTag: latest
|
||||||
|
- name: ghcr.io/now-chess/now-chess-systems/ws
|
||||||
|
newTag: latest
|
||||||
|
configurations:
|
||||||
|
- rollout-transform.yaml
|
||||||
|
openapi:
|
||||||
|
path: argo_all_k8s_kustomize_schema.json
|
||||||
@@ -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
|
||||||
@@ -7,3 +7,13 @@ resources:
|
|||||||
- github/git-kargo-secret.yaml
|
- github/git-kargo-secret.yaml
|
||||||
- github/git-nowchess-secret.yaml
|
- github/git-nowchess-secret.yaml
|
||||||
- github/git-pull-secret.yaml
|
- github/git-pull-secret.yaml
|
||||||
|
- nowchess/staging/ghcr-pull-secret.yaml
|
||||||
|
- nowchess/staging/ncs-jwt-keys.yaml
|
||||||
|
- nowchess/staging/ncs-db-secrets.yaml
|
||||||
|
- nowchess/staging/ncs-internal-secret.yaml
|
||||||
|
- nowchess/prod/ghcr-pull-secret.yaml
|
||||||
|
- nowchess/prod/ncs-jwt-keys.yaml
|
||||||
|
- nowchess/prod/ncs-db-secrets.yaml
|
||||||
|
- nowchess/prod/ncs-internal-secret.yaml
|
||||||
|
- nowchess/kargo/git-secret.yaml
|
||||||
|
- nowchess/kargo/gitea-secret.yaml
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: git-kargo-secret
|
||||||
|
namespace: nowchess-kargo
|
||||||
|
labels:
|
||||||
|
kargo.akuity.io/cred-type: git
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
repoURL: https://git.janis-eccarius.de/NowChess/Gitops.git
|
||||||
|
repoURLIsRegex: "false"
|
||||||
|
username: ""
|
||||||
|
password: ""
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: gitea
|
||||||
|
namespace: nowchess-kargo
|
||||||
|
labels:
|
||||||
|
kargo.akuity.io/cred-type: git
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
repoURL: https://git.janis-eccarius.de/NowChess/Gitops.git
|
||||||
|
username: ""
|
||||||
|
password: ""
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: ghcr-pull-secret
|
||||||
|
namespace: nowchess
|
||||||
|
type: kubernetes.io/dockerconfigjson
|
||||||
|
data:
|
||||||
|
.dockerconfigjson: ""
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: ncs-db-secrets
|
||||||
|
namespace: nowchess
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
ACCOUNT_DB_USER: ""
|
||||||
|
ACCOUNT_DB_PASSWORD: ""
|
||||||
|
ACCOUNT_DB_URL: ""
|
||||||
|
STORE_DB_USER: ""
|
||||||
|
STORE_DB_PASSWORD: ""
|
||||||
|
STORE_DB_URL: ""
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: ncs-internal-secret
|
||||||
|
namespace: nowchess
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
INTERNAL_SECRET: ""
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: ncs-jwt-keys
|
||||||
|
namespace: nowchess
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
private.pem: ""
|
||||||
|
public.pem: ""
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: ghcr-pull-secret
|
||||||
|
namespace: nowchess-staging
|
||||||
|
type: kubernetes.io/dockerconfigjson
|
||||||
|
data:
|
||||||
|
.dockerconfigjson: ""
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: ncs-db-secrets
|
||||||
|
namespace: nowchess-staging
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
ACCOUNT_DB_USER: ""
|
||||||
|
ACCOUNT_DB_PASSWORD: ""
|
||||||
|
ACCOUNT_DB_URL: ""
|
||||||
|
STORE_DB_USER: ""
|
||||||
|
STORE_DB_PASSWORD: ""
|
||||||
|
STORE_DB_URL: ""
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: ncs-internal-secret
|
||||||
|
namespace: nowchess-staging
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
INTERNAL_SECRET: ""
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: ncs-jwt-keys
|
||||||
|
namespace: nowchess-staging
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
private.pem: ""
|
||||||
|
public.pem: ""
|
||||||
Reference in New Issue
Block a user