diff --git a/apps/nginx-canary/namespace.yaml b/apps/nginx-canary/namespace.yaml new file mode 100644 index 0000000..8d2327f --- /dev/null +++ b/apps/nginx-canary/namespace.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: nginx-canary + labels: + track: canary diff --git a/apps/nginx-mcp/application.yaml b/apps/nginx-mcp/application.yaml new file mode 100644 index 0000000..a9be81f --- /dev/null +++ b/apps/nginx-mcp/application.yaml @@ -0,0 +1,20 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: nginx-mcp + namespace: argocd +spec: + project: default + source: + repoURL: http://gitea-http.gitea.svc.cluster.local:3000/admin/k3s-gitops + path: apps/nginx-mcp + targetRevision: HEAD + destination: + server: https://kubernetes.default.svc + namespace: nginx-mcp + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true diff --git a/apps/nginx-mcp/configmap.yaml b/apps/nginx-mcp/configmap.yaml new file mode 100644 index 0000000..dd292ef --- /dev/null +++ b/apps/nginx-mcp/configmap.yaml @@ -0,0 +1,111 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: nginx-mcp-html + namespace: nginx-mcp +data: + index.html: | + + + + + + Hello from MCP - v1 Stable + + + +
+
🤖 MCP Powered

+
v1 stable
+

Hello from MCP

+

Deployed via AI-assisted GitOps pipeline

+
+
Your IP Address
+
Detecting...
+
+ +
+ + + + nginx.conf: | + server { + listen 80; + server_name _; + root /usr/share/nginx/html; + index index.html; + location / { + try_files $uri $uri/ =404; + } + } diff --git a/apps/nginx-mcp/deployment.yaml b/apps/nginx-mcp/deployment.yaml new file mode 100644 index 0000000..f186104 --- /dev/null +++ b/apps/nginx-mcp/deployment.yaml @@ -0,0 +1,56 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx-mcp + namespace: nginx-mcp + labels: + app: nginx-mcp + track: stable + version: v1.0.0 +spec: + replicas: 3 + selector: + matchLabels: + app: nginx-mcp + template: + metadata: + labels: + app: nginx-mcp + track: stable + version: v1.0.0 + spec: + containers: + - name: nginx + image: nginx:1.25-alpine + ports: + - containerPort: 80 + 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 + resources: + requests: + cpu: 50m + memory: 64Mi + limits: + cpu: 200m + memory: 128Mi + readinessProbe: + httpGet: + path: / + port: 80 + initialDelaySeconds: 5 + periodSeconds: 10 + livenessProbe: + httpGet: + path: / + port: 80 + initialDelaySeconds: 10 + periodSeconds: 20 + volumes: + - name: html + configMap: + name: nginx-mcp-html diff --git a/apps/nginx-mcp/namespace.yaml b/apps/nginx-mcp/namespace.yaml new file mode 100644 index 0000000..9ed5ca5 --- /dev/null +++ b/apps/nginx-mcp/namespace.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: nginx-mcp + labels: + track: stable diff --git a/apps/nginx-mcp/service.yaml b/apps/nginx-mcp/service.yaml new file mode 100644 index 0000000..9f89877 --- /dev/null +++ b/apps/nginx-mcp/service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: nginx-mcp + namespace: nginx-mcp + labels: + app: nginx-mcp + track: stable +spec: + selector: + app: nginx-mcp + ports: + - name: http + port: 80 + targetPort: 80 + type: ClusterIP