Compare commits
2 Commits
codex/regr
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40fd35ba44 | ||
|
|
17654835e7 |
@@ -123,7 +123,7 @@ spec:
|
||||
fsGroupChangePolicy: OnRootMismatch
|
||||
containers:
|
||||
- name: chat-web
|
||||
image: localhost/fc-chat-web:v20260614-regroup-ch3-0479a31
|
||||
image: localhost/fc-chat-web:v20260614-regroup-ch6-37285d8
|
||||
imagePullPolicy: Never
|
||||
ports:
|
||||
- name: http
|
||||
|
||||
15
gx10/platform/README.md
Normal file
15
gx10/platform/README.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# GX10 cluster platform layer (NOT old-cluster ArgoCD)
|
||||
|
||||
These manifests bootstrap the GX10 RKE2 cluster's platform layer for the NUC→GX10
|
||||
migration. They are **direct-applied** to the GX10 (its own kubectl) during
|
||||
bootstrap, and live under `gx10/` (NOT `apps/`) so the OLD cluster's bluejay-infra
|
||||
ApplicationSet (whose `apps/*` generator targets the OLD cluster) does NOT
|
||||
auto-deploy them there. Once ArgoCD is stood up on the GX10, a GX10-only
|
||||
ApplicationSet (`apps-gx10/*`) will own these.
|
||||
|
||||
- `step-ca-acme.yaml` — cert-manager ClusterIssuer (ACME → noc1 step-ca, in-spec caBundle). APPLIED + Ready.
|
||||
- `traefik-helmchart.yaml` — Traefik v3.6.10 (chart 39.0.5) via the RKE2 HelmChart CRD, LoadBalancer VIP 10.0.57.202 (prod-pool; temp parallel-run VIP — canonical .200 reclaimed at cutover). APPLIED.
|
||||
|
||||
cert-manager v1.17.2 was installed separately (upstream static manifest). See
|
||||
`docs/ai-agents/gx10-migration-continuation-2026-06-14.md` + memory
|
||||
`project_gx10_ai_node_2026_06_13`.
|
||||
14
gx10/platform/step-ca-acme.yaml
Normal file
14
gx10/platform/step-ca-acme.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: ClusterIssuer
|
||||
metadata:
|
||||
name: step-ca-acme
|
||||
spec:
|
||||
acme:
|
||||
server: https://10.0.56.10:9443/acme/acme/directory
|
||||
caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJ4RENDQVdxZ0F3SUJBZ0lSQVBZMzU3RzZvdzZ6TUFMNSs0YlMya2t3Q2dZSUtvWkl6ajBFQXdJd1FERWEKTUJnR0ExVUVDaE1SU1VGdFYyOXlhMmx1SUVGRFRVVWdRMEV4SWpBZ0JnTlZCQU1UR1VsQmJWZHZjbXRwYmlCQgpRMDFGSUVOQklGSnZiM1FnUTBFd0hoY05Nall3TXpBNE1UZ3dOekV4V2hjTk16WXdNekExTVRnd056RXhXakJBCk1Sb3dHQVlEVlFRS0V4RkpRVzFYYjNKcmFXNGdRVU5OUlNCRFFURWlNQ0FHQTFVRUF4TVpTVUZ0VjI5eWEybHUKSUVGRFRVVWdRMEVnVW05dmRDQkRRVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCSjJuMDRYMQpKWm81WmRxL2kxSWR2OCtmcXdaeUF6Qmg3d2hicWowU1dzSkw4VVdSYWJDTXFZQ3M3K2RYTzB4UlN6cWt3RkRMCngrdm9vT2FpOFJnUk5oYWpSVEJETUE0R0ExVWREd0VCL3dRRUF3SUJCakFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQk1CMEdBMVVkRGdRV0JCUm51UFBRUjZpTS9INnZPbHVpVTNTeWdheXo4akFLQmdncWhrak9QUVFEQWdOSQpBREJGQWlFQXJRSzlkWVBHbUFac2RZbmp6aXVGVlZFNU5LWlVjY2VZdkdmR0MrdExYVXNDSUF1ZEYyekpyQ1JxCjNtSzUwWlpFVC9md1RrSndpRUY0ODI0bWpQOHAxQ0tNCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
||||
privateKeySecretRef:
|
||||
name: step-ca-acme-account-key
|
||||
solvers:
|
||||
- http01:
|
||||
ingress:
|
||||
ingressClassName: traefik
|
||||
81
gx10/platform/traefik-helmchart.yaml
Normal file
81
gx10/platform/traefik-helmchart.yaml
Normal file
@@ -0,0 +1,81 @@
|
||||
apiVersion: helm.cattle.io/v1
|
||||
kind: HelmChart
|
||||
metadata:
|
||||
name: traefik
|
||||
namespace: kube-system
|
||||
spec:
|
||||
chart: traefik
|
||||
repo: https://traefik.github.io/charts
|
||||
version: "39.0.5"
|
||||
targetNamespace: traefik-system
|
||||
createNamespace: true
|
||||
valuesContent: |
|
||||
deployment:
|
||||
replicas: 1
|
||||
additionalArguments:
|
||||
- "--api.dashboard=true"
|
||||
- "--log.level=INFO"
|
||||
- "--providers.kubernetescrd"
|
||||
- "--providers.kubernetesingress"
|
||||
- "--providers.kubernetescrd.allowEmptyServices=true"
|
||||
- "--providers.kubernetesingress.allowEmptyServices=true"
|
||||
- "--providers.kubernetesingress.ingressendpoint.publishedservice=traefik-system/traefik"
|
||||
ingressRoute:
|
||||
dashboard:
|
||||
enabled: false
|
||||
rbac:
|
||||
enabled: true
|
||||
service:
|
||||
type: LoadBalancer
|
||||
annotations:
|
||||
metallb.io/loadBalancerIPs: "10.0.57.202"
|
||||
metallb.io/address-pool: "prod-pool"
|
||||
ports:
|
||||
web:
|
||||
port: 8000
|
||||
exposedPort: 80
|
||||
protocol: TCP
|
||||
websecure:
|
||||
port: 8443
|
||||
exposedPort: 443
|
||||
protocol: TCP
|
||||
tls:
|
||||
enabled: true
|
||||
irc:
|
||||
port: 6667
|
||||
exposedPort: 6667
|
||||
protocol: TCP
|
||||
expose:
|
||||
default: true
|
||||
irctls:
|
||||
port: 6697
|
||||
exposedPort: 6697
|
||||
protocol: TCP
|
||||
expose:
|
||||
default: true
|
||||
traefik:
|
||||
port: 8080
|
||||
exposedPort: 8080
|
||||
protocol: TCP
|
||||
expose:
|
||||
default: false
|
||||
metrics:
|
||||
port: 9100
|
||||
exposedPort: 9100
|
||||
protocol: TCP
|
||||
expose:
|
||||
default: false
|
||||
metrics:
|
||||
prometheus:
|
||||
entryPoint: metrics
|
||||
resources:
|
||||
requests:
|
||||
cpu: "100m"
|
||||
memory: "128Mi"
|
||||
limits:
|
||||
cpu: "500m"
|
||||
memory: "256Mi"
|
||||
tolerations:
|
||||
- key: "node-role.kubernetes.io/control-plane"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
Reference in New Issue
Block a user