68 lines
1.8 KiB
YAML
68 lines
1.8 KiB
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: portal-index
|
|
namespace: admin
|
|
data:
|
|
index.html: |
|
|
<!doctype html>
|
|
<html>
|
|
<head><meta charset="utf-8"><title>planck admin</title>
|
|
<style>
|
|
body { font-family: system-ui, sans-serif; background: #111; color: #eee;
|
|
display: grid; place-items: center; min-height: 100vh; margin: 0; }
|
|
.card { text-align: center; }
|
|
h1 { font-size: 2.5rem; margin: 0 0 1.5rem; }
|
|
a { display: block; margin: 0.6rem auto; padding: 0.8rem 1.5rem;
|
|
background: #1e1e2e; border: 1px solid #333; border-radius: 10px;
|
|
color: #8be9fd; text-decoration: none; font-size: 1.1rem; width: 260px; }
|
|
a:hover { background: #2a2a3e; }
|
|
p { color: #888; }
|
|
</style>
|
|
</head>
|
|
<body><div class="card">
|
|
<h1>planck</h1>
|
|
<a href="https://grafana.carr.pub">Grafana</a>
|
|
<a href="https://git.carr.pub">Gitea (git + CI)</a>
|
|
<a href="https://auth.carr.pub">Account & 2FA settings</a>
|
|
<p>20 nodes · k3s · carr.pub</p>
|
|
</div></body>
|
|
</html>
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: portal
|
|
namespace: admin
|
|
spec:
|
|
replicas: 2
|
|
selector:
|
|
matchLabels: {app: portal}
|
|
template:
|
|
metadata:
|
|
labels: {app: portal}
|
|
spec:
|
|
containers:
|
|
- name: web
|
|
image: nginx:1.29-alpine
|
|
ports: [{containerPort: 80}]
|
|
resources:
|
|
requests: {cpu: 10m, memory: 16Mi}
|
|
limits: {memory: 64Mi}
|
|
volumeMounts:
|
|
- {name: html, mountPath: /usr/share/nginx/html}
|
|
volumes:
|
|
- name: html
|
|
configMap: {name: portal-index}
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: portal
|
|
namespace: admin
|
|
spec:
|
|
selector: {app: portal}
|
|
ports:
|
|
- port: 80
|
|
targetPort: 80
|