# Dustin Tenant — timeforta.co # Placeholder landing page served by nginx # ArgoCD managed - BlueJay Lab --- apiVersion: v1 kind: Namespace metadata: name: tenant-dustin labels: app.kubernetes.io/part-of: bluejay-infra flowercore.io/tenant: dustin --- # NOTE: The TLS secret cf-origin-timeforta-co must be created in this namespace # separately from a Cloudflare Origin Certificate covering *.timeforta.co. # Create with: kubectl create secret tls cf-origin-timeforta-co \ # --cert=timeforta-co-origin.pem --key=timeforta-co-origin-key.pem \ # -n tenant-dustin --- # Landing page HTML apiVersion: v1 kind: ConfigMap metadata: name: dustin-web-html namespace: tenant-dustin data: index.html: | Time For Taco — timeforta.co
Dustin's Space
🌮

Time For Taco

timeforta.co

Coming Soon

--- # nginx configuration apiVersion: v1 kind: ConfigMap metadata: name: dustin-web-nginx-conf namespace: tenant-dustin data: default.conf: | server { listen 80; server_name _; root /usr/share/nginx/html; index index.html; location / { try_files $uri $uri/ =404; } location /healthz { access_log off; return 200 "ok"; add_header Content-Type text/plain; } } --- # Deployment apiVersion: apps/v1 kind: Deployment metadata: name: dustin-web namespace: tenant-dustin labels: app: dustin-web spec: replicas: 1 selector: matchLabels: app: dustin-web template: metadata: labels: app: dustin-web annotations: flowercore.io/healthz-auth-policy: "allow-anonymous" spec: containers: - name: nginx image: nginx:alpine ports: - containerPort: 80 name: http volumeMounts: - name: nginx-conf mountPath: /etc/nginx/conf.d/default.conf subPath: default.conf - name: html mountPath: /usr/share/nginx/html resources: requests: memory: 32Mi cpu: 10m limits: memory: 64Mi cpu: 50m livenessProbe: httpGet: path: /healthz port: 80 httpHeaders: - name: X-Forwarded-Proto value: https initialDelaySeconds: 5 periodSeconds: 10 readinessProbe: httpGet: path: /healthz port: 80 httpHeaders: - name: X-Forwarded-Proto value: https initialDelaySeconds: 3 periodSeconds: 5 volumes: - name: nginx-conf configMap: name: dustin-web-nginx-conf - name: html configMap: name: dustin-web-html --- # Service apiVersion: v1 kind: Service metadata: name: dustin-web namespace: tenant-dustin spec: selector: app: dustin-web ports: - port: 80 targetPort: 80 name: http --- # Traefik IngressRoute — public via Cloudflare apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: dustin-web namespace: tenant-dustin spec: entryPoints: - websecure routes: - match: (Host(`timeforta.co`) || Host(`www.timeforta.co`)) && (Method(`GET`) || Method(`HEAD`)) kind: Rule services: - name: dustin-web port: 80 tls: secretName: cf-origin-timeforta-co