Initial commit: Consolidated DevOps scripts and K8s manifests
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: coming-soon-fallback
|
||||
namespace: default
|
||||
annotations:
|
||||
traefik.ingress.kubernetes.io/router.priority: "1"
|
||||
spec:
|
||||
ingressClassName: traefik
|
||||
rules:
|
||||
- host: "*.thefoldwithin.earth"
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: coming-soon-svc
|
||||
port:
|
||||
number: 80
|
||||
- host: "*.intellecton.one"
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: coming-soon-svc
|
||||
port:
|
||||
number: 80
|
||||
- host: "*.atlanta.pentagon"
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: coming-soon-svc
|
||||
port:
|
||||
number: 80
|
||||
- host: "thefoldwithin.earth"
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: coming-soon-svc
|
||||
port:
|
||||
number: 80
|
||||
- host: "intellecton.one"
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: coming-soon-svc
|
||||
port:
|
||||
number: 80
|
||||
- host: "atlanta.pentagon"
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: coming-soon-svc
|
||||
port:
|
||||
number: 80
|
||||
@@ -0,0 +1,68 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: makeanyplace-org
|
||||
namespace: default
|
||||
labels:
|
||||
app: makeanyplace-org
|
||||
spec:
|
||||
replicas: 2
|
||||
selector:
|
||||
matchLabels:
|
||||
app: makeanyplace-org
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: makeanyplace-org
|
||||
spec:
|
||||
containers:
|
||||
- name: org
|
||||
image: remember.thefoldwithin.earth/mrhavens/makeanyplace-org:latest
|
||||
imagePullPolicy: Always
|
||||
ports:
|
||||
- containerPort: 80
|
||||
protocol: TCP
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: makeanyplace-org-svc
|
||||
namespace: default
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
protocol: TCP
|
||||
targetPort: 80
|
||||
selector:
|
||||
app: makeanyplace-org
|
||||
type: ClusterIP
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: makeanyplace-org-ingress
|
||||
namespace: default
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: traefik
|
||||
spec:
|
||||
rules:
|
||||
- host: makeanyplace.org
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: makeanyplace-org-svc
|
||||
port:
|
||||
number: 80
|
||||
path: /
|
||||
pathType: Prefix
|
||||
- host: www.makeanyplace.org
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: makeanyplace-org-svc
|
||||
port:
|
||||
number: 80
|
||||
path: /
|
||||
pathType: Prefix
|
||||
@@ -0,0 +1,56 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: makeanyplace-web-staging
|
||||
namespace: default
|
||||
labels:
|
||||
app: makeanyplace-web-staging
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: makeanyplace-web-staging
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: makeanyplace-web-staging
|
||||
spec:
|
||||
containers:
|
||||
- image: remember.thefoldwithin.earth/mrhavens/makeanyplace-web:staging
|
||||
imagePullPolicy: Always
|
||||
name: web
|
||||
ports:
|
||||
- containerPort: 80
|
||||
protocol: TCP
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: makeanyplace-web-staging-svc
|
||||
namespace: default
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
protocol: TCP
|
||||
targetPort: 80
|
||||
selector:
|
||||
app: makeanyplace-web-staging
|
||||
type: ClusterIP
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: makeanyplace-staging-ingress
|
||||
namespace: default
|
||||
spec:
|
||||
rules:
|
||||
- host: makeanyplace.staging
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: makeanyplace-web-staging-svc
|
||||
port:
|
||||
number: 80
|
||||
path: /
|
||||
pathType: Prefix
|
||||
@@ -0,0 +1,149 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: makeanyplace-parking-html
|
||||
namespace: default
|
||||
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>MakeAnyplace - The Sovereign Maker Network</title>
|
||||
<style>
|
||||
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700&display=swap');
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: radial-gradient(circle at center, #111 0%, #000 100%);
|
||||
font-family: 'Inter', sans-serif;
|
||||
color: #fff;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.glass-panel {
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
border: 1px solid rgba(255, 255, 255, 0.05);
|
||||
backdrop-filter: blur(20px);
|
||||
-webkit-backdrop-filter: blur(20px);
|
||||
border-radius: 24px;
|
||||
padding: 60px 80px;
|
||||
text-align: center;
|
||||
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
||||
animation: float 6s ease-in-out infinite;
|
||||
max-width: 600px;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-weight: 700;
|
||||
font-size: 2.5rem;
|
||||
margin-bottom: 20px;
|
||||
letter-spacing: -1px;
|
||||
background: linear-gradient(135deg, #fff 0%, #888 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
||||
|
||||
p {
|
||||
font-weight: 300;
|
||||
font-size: 1.1rem;
|
||||
line-height: 1.6;
|
||||
color: #aaa;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.glow {
|
||||
position: absolute;
|
||||
width: 600px;
|
||||
height: 600px;
|
||||
background: radial-gradient(circle, rgba(100,100,255,0.05) 0%, rgba(0,0,0,0) 70%);
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
z-index: 1;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@keyframes float {
|
||||
0% { transform: translateY(0px); }
|
||||
50% { transform: translateY(-10px); }
|
||||
100% { transform: translateY(0px); }
|
||||
}
|
||||
|
||||
.status {
|
||||
display: inline-block;
|
||||
padding: 8px 16px;
|
||||
border-radius: 30px;
|
||||
background: rgba(100, 255, 100, 0.1);
|
||||
border: 1px solid rgba(100, 255, 100, 0.2);
|
||||
color: #8f8;
|
||||
font-size: 0.85rem;
|
||||
font-weight: 400;
|
||||
letter-spacing: 1px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.dot {
|
||||
display: inline-block;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
background: #8f8;
|
||||
border-radius: 50%;
|
||||
margin-right: 8px;
|
||||
box-shadow: 0 0 10px #8f8;
|
||||
animation: blink 2s infinite;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
0%, 100% { opacity: 1; }
|
||||
50% { opacity: 0.4; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="glow"></div>
|
||||
<div class="glass-panel">
|
||||
<h1>MakeAnyplace.</h1>
|
||||
<p>The sovereign maker network is currently undergoing deep architectural upgrades. The monastery doors will open soon.</p>
|
||||
<div class="status">
|
||||
<span class="dot"></span> Building the future
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: makeanyplace-parking
|
||||
namespace: default
|
||||
spec:
|
||||
replicas: 2
|
||||
selector:
|
||||
matchLabels:
|
||||
app: makeanyplace-web
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: makeanyplace-web
|
||||
variant: parking
|
||||
spec:
|
||||
containers:
|
||||
- name: nginx
|
||||
image: nginx:alpine
|
||||
ports:
|
||||
- containerPort: 80
|
||||
volumeMounts:
|
||||
- name: html-volume
|
||||
mountPath: /usr/share/nginx/html
|
||||
volumes:
|
||||
- name: html-volume
|
||||
configMap:
|
||||
name: makeanyplace-parking-html
|
||||
@@ -0,0 +1,32 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: redis
|
||||
labels:
|
||||
app: redis
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: redis
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: redis
|
||||
spec:
|
||||
containers:
|
||||
- name: redis
|
||||
image: redis:alpine
|
||||
ports:
|
||||
- containerPort: 6379
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: redis
|
||||
spec:
|
||||
selector:
|
||||
app: redis
|
||||
ports:
|
||||
- port: 6379
|
||||
targetPort: 6379
|
||||
@@ -0,0 +1,43 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: traefik
|
||||
name: makeanyplace-web-ingress
|
||||
namespace: default
|
||||
spec:
|
||||
rules:
|
||||
- host: makeanyplace.com
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: makeanyplace-api
|
||||
port:
|
||||
number: 8000
|
||||
path: /api
|
||||
pathType: Prefix
|
||||
- backend:
|
||||
service:
|
||||
name: makeanyplace-web-svc
|
||||
port:
|
||||
number: 80
|
||||
path: /
|
||||
pathType: Prefix
|
||||
- host: www.makeanyplace.com
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: makeanyplace-api
|
||||
port:
|
||||
number: 8000
|
||||
path: /api
|
||||
pathType: Prefix
|
||||
- backend:
|
||||
service:
|
||||
name: makeanyplace-web-svc
|
||||
port:
|
||||
number: 80
|
||||
path: /
|
||||
pathType: Prefix
|
||||
Reference in New Issue
Block a user