feat: add nginx-mcp stable app - configmap v1 dark purple
This commit is contained in:
91
apps/nginx-mcp/configmap.yaml
Normal file
91
apps/nginx-mcp/configmap.yaml
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: nginx-mcp-config
|
||||||
|
namespace: nginx-mcp
|
||||||
|
data:
|
||||||
|
index.html: |
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
|
<title>MCP Stable v1</title>
|
||||||
|
<style>
|
||||||
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||||
|
body {
|
||||||
|
min-height: 100vh;
|
||||||
|
background: linear-gradient(135deg, #1a0033 0%, #2d0057 40%, #4a0080 70%, #1a0033 100%);
|
||||||
|
font-family: 'Segoe UI', system-ui, sans-serif;
|
||||||
|
display: flex; align-items: center; justify-content: center;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.card {
|
||||||
|
background: rgba(255,255,255,0.07);
|
||||||
|
backdrop-filter: blur(16px);
|
||||||
|
border: 1px solid rgba(180,100,255,0.3);
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 50px 60px;
|
||||||
|
max-width: 560px;
|
||||||
|
width: 90%;
|
||||||
|
text-align: center;
|
||||||
|
box-shadow: 0 8px 60px rgba(120,0,255,0.25);
|
||||||
|
}
|
||||||
|
h1 { font-size: 2.4rem; font-weight: 700; margin-bottom: 10px; letter-spacing: -1px; }
|
||||||
|
.badge {
|
||||||
|
display: inline-block;
|
||||||
|
background: linear-gradient(90deg, #7c3aed, #a855f7);
|
||||||
|
color: #fff;
|
||||||
|
font-size: 0.78rem;
|
||||||
|
font-weight: 600;
|
||||||
|
letter-spacing: 1.5px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
padding: 5px 16px;
|
||||||
|
border-radius: 99px;
|
||||||
|
margin-bottom: 28px;
|
||||||
|
}
|
||||||
|
.version {
|
||||||
|
font-size: 1rem;
|
||||||
|
color: #c084fc;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
.divider { border: none; border-top: 1px solid rgba(180,100,255,0.2); margin: 24px 0; }
|
||||||
|
.ip-label { font-size: 0.8rem; color: #a78bfa; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 6px; }
|
||||||
|
.ip-value { font-size: 1.4rem; font-weight: 600; color: #e9d5ff; font-family: monospace; }
|
||||||
|
.footer { margin-top: 28px; font-size: 0.75rem; color: rgba(180,100,255,0.5); }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="card">
|
||||||
|
<div class="badge">⚡ MCP Powered</div>
|
||||||
|
<h1>Hello from MCP</h1>
|
||||||
|
<div class="version">v1 stable</div>
|
||||||
|
<hr class="divider"/>
|
||||||
|
<div class="ip-label">Your IP Address</div>
|
||||||
|
<div class="ip-value" id="ip">detecting...</div>
|
||||||
|
<div class="footer">thedevops.dev · nginx-mcp namespace</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
fetch('https://api.ipify.org?format=json')
|
||||||
|
.then(r => r.json())
|
||||||
|
.then(d => document.getElementById('ip').textContent = d.ip)
|
||||||
|
.catch(() => document.getElementById('ip').textContent = 'unavailable');
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
nginx.conf: |
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name _;
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
index index.html;
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ /index.html;
|
||||||
|
}
|
||||||
|
location /healthz {
|
||||||
|
return 200 'ok';
|
||||||
|
add_header Content-Type text/plain;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user