nxtgauge-gitops/apps/nxtgauge-coming-soon/base/deployment.yaml
sync-test 93d0254b2d feat: deploy nxtgauge.com coming-soon page
The static page (coming-soon/) has existed in this repo since 167ea12
but was never actually wired up - its own README says as much ('Add
this repo to your Kustomize setup and create a Deployment + Service +
Ingress'). No ingress for the bare nxtgauge.com/www.nxtgauge.com
domain existed at all (only subdomains: api/admin/test111/llm/ci/logs).

Deploys the page as a stock nginx:1.27-alpine container (no custom
image/CI build needed - the whole site is ~183KB of static HTML/PNG/
SVG) with the content mounted via two ConfigMaps (configmap-html for
index.html + nginx.conf, configmap-assets for the logo/trademark
files - split because ConfigMap keys can't contain '/', so the
assets/ subdirectory needed its own map). 2 replicas, standard
readiness/liveness probes, ingress for both nxtgauge.com and
www.nxtgauge.com terminating TLS via the existing letsencrypt-prod
ClusterIssuer.

Confirmed DNS for both hostnames already resolves through the same
Cloudflare-proxied IPs as the working test111.nxtgauge.com subdomain -
no DNS changes needed, this starts serving as soon as Flux applies it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-14 03:41:19 +05:30

63 lines
1.6 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: nxtgauge-coming-soon
namespace: nxtgauge
labels:
app: nxtgauge-coming-soon
spec:
replicas: 2
selector:
matchLabels:
app: nxtgauge-coming-soon
template:
metadata:
labels:
app: nxtgauge-coming-soon
spec:
containers:
- name: nginx
image: nginx:1.27-alpine
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
name: http
volumeMounts:
- name: html
mountPath: /usr/share/nginx/html/index.html
subPath: index.html
- name: html
mountPath: /etc/nginx/conf.d/default.conf
subPath: nginx.conf
- name: assets
mountPath: /usr/share/nginx/html/assets
readinessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 3
periodSeconds: 10
timeoutSeconds: 3
failureThreshold: 3
livenessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 5
periodSeconds: 20
timeoutSeconds: 3
failureThreshold: 3
resources:
requests:
cpu: 10m
memory: 16Mi
limits:
cpu: 100m
memory: 64Mi
volumes:
- name: html
configMap:
name: nxtgauge-coming-soon-html
- name: assets
configMap:
name: nxtgauge-coming-soon-assets