Compare commits

...

3 Commits

Author SHA1 Message Date
Anibal Angulo
a2a1ac7fa6 update manifests 2025-11-28 11:08:02 -06:00
Anibal Angulo
5e4a155fed add deployment manifests 2025-11-26 13:24:04 -06:00
Anibal Angulo
9fbcc07426 add github actions 2025-11-26 13:23:52 -06:00
5 changed files with 119 additions and 0 deletions

31
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,31 @@
name: Release
on:
push:
tags:
- "v*"
env:
REGISTRY: gitea.ia-innovacion.work
REGISTRY_PATH: innovacion/playground
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Log in to Gitea Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
file: mods/qfactory/Dockerfile
push: true
tags: |
${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}:latest
${{ env.REGISTRY }}/${{ env.REGISTRY_PATH }}:${{ github.sha }}

39
.k8s/deployment.yaml Normal file
View File

@@ -0,0 +1,39 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: playground
namespace: apps
labels:
app: playground
spec:
replicas: 1
selector:
matchLabels:
app: playground
template:
metadata:
labels:
app: playground
spec:
imagePullSecrets:
- name: gitea-registry-cred
containers:
- name: playground
image: gitea.ia-innovacion.work/innovacion/playground:latest
envFrom:
- secretRef:
name: playground-secret
ports:
- containerPort: 3000
readinessProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: 15
periodSeconds: 20

20
.k8s/ingress.yaml Normal file
View File

@@ -0,0 +1,20 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: playground-ingress
namespace: apps
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx
rules:
- host: playground.app.ia-innovacion.work
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: playground-service
port:
number: 80

14
.k8s/secrets.yaml Normal file
View File

@@ -0,0 +1,14 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: playground-vault
namespace: apps
spec:
refreshInterval: "15s"
secretStoreRef:
name: vault-backend
kind: ClusterSecretStore
target:
name: playground-secret
dataFrom:
- key: playground

15
.k8s/service.yaml Normal file
View File

@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: playground-service
namespace: apps
labels:
app: playground
spec:
type: ClusterIP
selector:
app: playground
ports:
- port: 80
targetPort: 3000
protocol: TCP