Same pattern as portfolio: Namespace, Deployment (pulls gitea.nik4nao.com/nik/me.nik4nao.com:latest), Service, Let's Encrypt Certificate, and Traefik IngressRoute for me.nik4nao.com, reconciled by a new Argo CD Application. Includes the per-namespace registry pull-secret script (run manually against the live cluster, not committed as plaintext). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019KS514CDC88M4wDwMLnS7u
This commit is contained in:
parent
7a64863ead
commit
471e9ae8ca
23
argocd/apps/me-nik4nao-com.yaml
Normal file
23
argocd/apps/me-nik4nao-com.yaml
Normal file
@ -0,0 +1,23 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: me-nik4nao-com
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://gitea.nik4nao.com/nik/homelab.git
|
||||
targetRevision: main
|
||||
path: manifests/me-nik4nao-com
|
||||
directory:
|
||||
recurse: true
|
||||
include: '*.yaml'
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: me-nik4nao-com
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
97
manifests/me-nik4nao-com/me-nik4nao-com.yaml
Normal file
97
manifests/me-nik4nao-com/me-nik4nao-com.yaml
Normal file
@ -0,0 +1,97 @@
|
||||
# Apply: kubectl apply -f manifests/me-nik4nao-com/me-nik4nao-com.yaml
|
||||
# Delete: kubectl delete -f manifests/me-nik4nao-com/me-nik4nao-com.yaml
|
||||
# Description: me.nik4nao.com (terminal-style personal site) deployment, service, TLS certificate, and public IngressRoute. Same pattern as manifests/portfolio.
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: me-nik4nao-com
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: me-nik4nao-com
|
||||
namespace: me-nik4nao-com
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: me-nik4nao-com
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: me-nik4nao-com
|
||||
spec:
|
||||
imagePullSecrets:
|
||||
- name: gitea-registry
|
||||
containers:
|
||||
- name: me-nik4nao-com
|
||||
image: gitea.nik4nao.com/nik/me.nik4nao.com:latest
|
||||
imagePullPolicy: Always
|
||||
ports:
|
||||
- containerPort: 80
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 64Mi
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 128Mi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: me-nik4nao-com
|
||||
namespace: me-nik4nao-com
|
||||
spec:
|
||||
selector:
|
||||
app: me-nik4nao-com
|
||||
ports:
|
||||
- port: 80
|
||||
targetPort: 80
|
||||
---
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: me-nik4nao-com-tls
|
||||
namespace: me-nik4nao-com
|
||||
spec:
|
||||
secretName: me-nik4nao-com-tls
|
||||
issuerRef:
|
||||
name: letsencrypt-prod
|
||||
kind: ClusterIssuer
|
||||
dnsNames:
|
||||
- me.nik4nao.com
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: me-nik4nao-com
|
||||
namespace: me-nik4nao-com
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`me.nik4nao.com`)
|
||||
kind: Rule
|
||||
middlewares:
|
||||
- name: me-nik4nao-com-ratelimit
|
||||
services:
|
||||
- name: me-nik4nao-com
|
||||
port: 80
|
||||
tls:
|
||||
secretName: me-nik4nao-com-tls
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: me-nik4nao-com-ratelimit
|
||||
namespace: me-nik4nao-com
|
||||
spec:
|
||||
rateLimit:
|
||||
average: 50
|
||||
burst: 100
|
||||
period: 1m
|
||||
sourceCriterion:
|
||||
ipStrategy:
|
||||
depth: 1
|
||||
14
manifests/me-nik4nao-com/registry-secret.sh
Normal file
14
manifests/me-nik4nao-com/registry-secret.sh
Normal file
@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
# Usage: bash manifests/me-nik4nao-com/registry-secret.sh
|
||||
# Description: Creates the Gitea container registry pull secret for the me-nik4nao-com namespace
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "$SCRIPT_DIR/../../.env"
|
||||
|
||||
kubectl create secret docker-registry gitea-registry \
|
||||
--namespace me-nik4nao-com \
|
||||
--docker-server="$REGISTRY_SERVER" \
|
||||
--docker-username="$REGISTRY_USER" \
|
||||
--docker-password="$REGISTRY_PASSWORD" \
|
||||
--dry-run=client -o yaml | kubectl apply -f -
|
||||
Loading…
x
Reference in New Issue
Block a user