Refactored test pipeline and manifest to fit new cluster

This commit is contained in:
Khwezi
2025-10-12 13:26:24 +02:00
parent dbb5fc3801
commit c2ecb79adb
3 changed files with 116 additions and 25 deletions

92
manifests/deploy-app.yml Normal file
View File

@@ -0,0 +1,92 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: experiments
labels:
name: experiments
---
apiVersion: v1
kind: ConfigMap
metadata:
name: sampleapi-config
namespace: experiments
data:
appname: "SampleApi"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: sampleapi
namespace: experiments
labels:
app: sampleapi
spec:
replicas: 1
selector:
matchLabels:
app: sampleapi
template:
metadata:
labels:
app: sampleapi
spec:
containers:
- name: sampleapi
image: registry.registry.svc.cluster.local:5000/experiments/sampleapi:latest
imagePullPolicy: Always
ports:
- name: http
containerPort: 8080
- name: https
containerPort: 8081
---
apiVersion: v1
kind: Service
metadata:
name: sampleapi
namespace: experiments
spec:
type: ClusterIP
selector:
app: sampleapi
ports:
- name: http
port: 80
targetPort: 8080
- name: https
port: 443
targetPort: 8081
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: sampleapi-http
namespace: experiments
spec:
entryPoints:
- web
routes:
- match: Host(`sampleapi.apps.mngoma.lab`)
kind: Rule
services:
- name: sampleapi
port: 80
scheme: http
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: sampleapi-https
namespace: experiments
spec:
entryPoints:
- websecure
routes:
- match: Host(`sampleapi.apps.mngoma.lab`)
kind: Rule
services:
- name: sampleapi
port: 443
scheme: http
tls: {}

View File

@@ -0,0 +1,93 @@
# namespace
apiVersion: v1
kind: Namespace
metadata:
name: experiments
labels:
name: experiments
---
# config map
apiVersion: v1
kind: ConfigMap
metadata:
name: sampleapi-configmap
namespace: experiments
data:
appname: "SampleApi"
---
# deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: sampleapi-deployment
namespace: experiments
labels:
app: sampleapi
spec:
replicas: 1
selector:
matchLabels:
app: sampleapi
template:
metadata:
labels:
app: sampleapi
spec:
containers:
- name: sampleapi
image: khwezi/mngomalab:latest
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 8080
protocol: TCP
- name: https
containerPort: 8081
protocol: TCP
---
# service
apiVersion: v1
kind: Service
metadata:
name: sampleapi-service
namespace: experiments
spec:
type: ClusterIP
selector:
app: sampleapi
app.kubernetes.io/instance: sampleapi
ports:
- port: 8080
targetPort: 80
- port: 8081
targetPort: 443
---
# ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: sampleapi-ingress
namespace: experiments
annotations:
cert-manager.io/cluster-issuer: sampleapi-secret
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/ssl-redirect: "false"
cert-manager.io/private-key-size: "4096"
spec:
ingressClassName: nginx
rules:
- host: sampleapi.main.k3s.lab.mngoma.africa
http:
paths:
- pathType: Prefix
path: /
backend:
service:
name: sampleapi-service
port:
number: 80
tls:
- hosts:
- sampleapi.main.k3s.lab.mngoma.africa
secretName: sampleapi-secret