testing build and test

This commit is contained in:
2026-03-03 15:30:25 -07:00
parent 7eb95af0b8
commit 2746eadab7
11 changed files with 383 additions and 178 deletions

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: alex-elixir-demo

62
kubernetes/frontend.yml Normal file
View File

@@ -0,0 +1,62 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: frontend-deployment
namespace: alex-elixir-demo
labels:
app: frontend
spec:
replicas: 2
selector:
matchLabels:
app: frontend
template:
metadata:
labels:
app: frontend
spec:
containers:
- name: frontend
image: alexmickelson/elixir-demo-frontend:$GITHUB_BUILD_NUMBER
ports:
- containerPort: 80
resources:
requests:
memory: 128Mi
cpu: 100m
limits:
memory: 256Mi
cpu: 200m
---
apiVersion: v1
kind: Service
metadata:
namespace: alex-elixir-demo
name: frontend
spec:
selector:
app: frontend
ports:
- protocol: TCP
port: 80
targetPort: 80
type: ClusterIP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
namespace: alex-elixir-demo
name: frontend
spec:
ingressClassName: nginx
rules:
- host: elixir-demo.alex-kube.duckdns.org
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: frontend
port:
number: 80

61
kubernetes/node-1.yml Normal file
View File

@@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: node-1-deployment
namespace: alex-elixir-demo
labels:
app: node-1
spec:
replicas: 1
selector:
matchLabels:
app: node-1
template:
metadata:
labels:
app: node-1
spec:
containers:
- name: node-1
image: alexmickelson/elixir-demo-backend:$GITHUB_BUILD_NUMBER
ports:
- containerPort: 4000
env:
- name: PORT
value: "4000"
- name: NODE_NAME
value: "backend@node-1"
- name: COOKIE
valueFrom:
secretKeyRef:
name: backend-secret
key: cookie
- name: CLUSTER_NODES
value: "backend@node-1,backend@node-2,backend@node-3"
resources:
requests:
memory: 256Mi
cpu: 100m
limits:
memory: 512Mi
cpu: 500m
livenessProbe:
httpGet:
path: /api/health
port: 4000
initialDelaySeconds: 15
periodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
namespace: alex-elixir-demo
name: node-1
spec:
selector:
app: node-1
ports:
- protocol: TCP
port: 4000
targetPort: 4000
type: ClusterIP

61
kubernetes/node-2.yml Normal file
View File

@@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: node-2-deployment
namespace: alex-elixir-demo
labels:
app: node-2
spec:
replicas: 1
selector:
matchLabels:
app: node-2
template:
metadata:
labels:
app: node-2
spec:
containers:
- name: node-2
image: alexmickelson/elixir-demo-backend:$GITHUB_BUILD_NUMBER
ports:
- containerPort: 4000
env:
- name: PORT
value: "4000"
- name: NODE_NAME
value: "backend@node-2"
- name: COOKIE
valueFrom:
secretKeyRef:
name: backend-secret
key: cookie
- name: CLUSTER_NODES
value: "backend@node-1,backend@node-2,backend@node-3"
resources:
requests:
memory: 256Mi
cpu: 100m
limits:
memory: 512Mi
cpu: 500m
livenessProbe:
httpGet:
path: /api/health
port: 4000
initialDelaySeconds: 15
periodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
namespace: alex-elixir-demo
name: node-2
spec:
selector:
app: node-2
ports:
- protocol: TCP
port: 4000
targetPort: 4000
type: ClusterIP

61
kubernetes/node-3.yml Normal file
View File

@@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: node-3-deployment
namespace: alex-elixir-demo
labels:
app: node-3
spec:
replicas: 1
selector:
matchLabels:
app: node-3
template:
metadata:
labels:
app: node-3
spec:
containers:
- name: node-3
image: alexmickelson/elixir-demo-backend:$GITHUB_BUILD_NUMBER
ports:
- containerPort: 4000
env:
- name: PORT
value: "4000"
- name: NODE_NAME
value: "backend@node-3"
- name: COOKIE
valueFrom:
secretKeyRef:
name: backend-secret
key: cookie
- name: CLUSTER_NODES
value: "backend@node-1,backend@node-2,backend@node-3"
resources:
requests:
memory: 256Mi
cpu: 100m
limits:
memory: 512Mi
cpu: 500m
livenessProbe:
httpGet:
path: /api/health
port: 4000
initialDelaySeconds: 15
periodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
namespace: alex-elixir-demo
name: node-3
spec:
selector:
app: node-3
ports:
- protocol: TCP
port: 4000
targetPort: 4000
type: ClusterIP