feat(nci-11): add Kubernetes manifests for nowchess-analysis service #381

Merged
Janis merged 1 commits from feat/NCI-11-analysis-k8s-manifests into main 2026-06-15 22:17:45 +02:00
8 changed files with 167 additions and 0 deletions
+20
View File
@@ -14,6 +14,12 @@ spec:
- name: tagSuffix
value: ""
requestedFreight:
- origin:
kind: Warehouse
name: analysis
sources:
direct: true
requiredSoakTime: 5m0s
- origin:
kind: Warehouse
name: account
@@ -99,6 +105,13 @@ spec:
- name: tagSuffix
value: ""
requestedFreight:
- origin:
kind: Warehouse
name: analysis
sources:
direct: false
stages:
- staging
- origin:
kind: Warehouse
name: account
@@ -191,6 +204,13 @@ spec:
- name: tagSuffix
value: "-x86_v2"
requestedFreight:
- origin:
kind: Warehouse
name: analysis
sources:
direct: false
stages:
- staging
- origin:
kind: Warehouse
name: account
@@ -1,5 +1,20 @@
apiVersion: kargo.akuity.io/v1alpha1
kind: Warehouse
metadata:
name: analysis
namespace: nowchess-kargo
spec:
freightCreationPolicy: Automatic
interval: 5m0s
subscriptions:
- image:
discoveryLimit: 20
imageSelectionStrategy: SemVer
repoURL: ghcr.io/now-chess/now-chess-systems/analysis
strictSemvers: true
---
apiVersion: kargo.akuity.io/v1alpha1
kind: Warehouse
metadata:
name: account
namespace: nowchess-kargo
+22
View File
@@ -1,5 +1,27 @@
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: nowchess-analysis
labels:
app.kubernetes.io/name: nowchess-analysis
app.kubernetes.io/part-of: nowchess
spec:
scaleTargetRef:
apiVersion: argoproj.io/v1alpha1
kind: Rollout
name: nowchess-analysis
minReplicas: 1
maxReplicas: 3
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 90
---
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: nowchess-account
spec:
+67
View File
@@ -755,6 +755,73 @@ spec:
---
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: nowchess-analysis
labels:
app: nowchess-analysis
app.kubernetes.io/name: nowchess-analysis
app.kubernetes.io/part-of: nowchess
spec:
selector:
matchLabels:
app: nowchess-analysis
template:
metadata:
labels:
app: nowchess-analysis
annotations:
k8s.grafana.com/scrape: "true"
k8s.grafana.com/metrics_path: "/q/metrics"
k8s.grafana.com/metrics_portNumber: "8087"
spec:
imagePullSecrets:
- name: ghcr-pull-secret
containers:
- name: nowchess-analysis
image: ghcr.io/now-chess/now-chess-systems/analysis:latest
imagePullPolicy: Always
envFrom:
- configMapRef:
name: nowchess-env-config
env:
- name: INTERNAL_SECRET
valueFrom:
secretKeyRef:
name: ncs-internal-secret
key: INTERNAL_SECRET
ports:
- containerPort: 8087
protocol: TCP
livenessProbe:
httpGet:
path: /q/health/live
port: 8087
initialDelaySeconds: 0
periodSeconds: 10
readinessProbe:
httpGet:
path: /q/health/ready
port: 8087
initialDelaySeconds: 0
periodSeconds: 5
resources:
requests:
cpu: "5m"
memory: "96Mi"
limits:
cpu: "500m"
memory: "256Mi"
rollbackWindow:
revisions: 3
strategy:
blueGreen:
activeService: nowchess-analysis-active
previewService: nowchess-analysis-preview
autoPromotionEnabled: true
previewReplicaCount: 1
---
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: nowchess-tournament
labels:
+30
View File
@@ -1,5 +1,35 @@
apiVersion: v1
kind: Service
metadata:
name: nowchess-analysis-active
labels:
app.kubernetes.io/name: nowchess-analysis
app.kubernetes.io/part-of: nowchess
spec:
selector:
app: nowchess-analysis
ports:
- protocol: TCP
port: 8087
targetPort: 8087
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-analysis-preview
labels:
app.kubernetes.io/name: nowchess-analysis
app.kubernetes.io/part-of: nowchess
spec:
selector:
app: nowchess-analysis
ports:
- protocol: TCP
port: 8087
targetPort: 8087
---
apiVersion: v1
kind: Service
metadata:
name: nowchess-account-active
spec:
@@ -32,6 +32,8 @@ patches:
kind: ConfigMap
name: nowchess-frontend-env-config
images:
- name: ghcr.io/now-chess/now-chess-systems/analysis
newTag: 0.1.0
- name: ghcr.io/now-chess/now-chess-systems/account
newTag: 0.24.0
- name: ghcr.io/now-chess/now-chess-systems/bot-platform
@@ -21,6 +21,13 @@ patches:
target:
kind: ConfigMap
name: nowchess-env-config
- patch: |-
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: nowchess-analysis
spec:
maxReplicas: 1
- patch: |-
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
@@ -87,6 +94,8 @@ patches:
spec:
replicas: 1
images:
- name: ghcr.io/now-chess/now-chess-systems/analysis
newTag: 0.1.0
- name: ghcr.io/now-chess/now-chess-systems/account
newTag: 0.24.0
- name: ghcr.io/now-chess/now-chess-systems/bot-platform
+2
View File
@@ -31,6 +31,8 @@ patches:
kind: ConfigMap
name: nowchess-frontend-env-config
images:
- name: ghcr.io/now-chess/now-chess-systems/analysis
newTag: 0.1.0-x86_v2
- name: ghcr.io/now-chess/now-chess-systems/account
newTag: 0.24.0-x86_v2
- name: ghcr.io/now-chess/now-chess-systems/bot-platform