feat(manifests): Add configuration for scriptscribe

This commit is contained in:
2025-11-29 01:03:22 +05:30
parent 4ff20e3f41
commit 73c85dd779
15 changed files with 207 additions and 0 deletions
+1
View File
@@ -3,3 +3,4 @@ kind: Kustomization
resources: resources:
- nginx-app.yaml - nginx-app.yaml
- scriptscribe.yaml
+20
View File
@@ -0,0 +1,20 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: scriptscribe
namespace: argocd
spec:
project: default
source:
repoURL: https://gitea.whyredfire.tech/whyredfire/gitops
targetRevision: main
path: manifests/scriptscribe
destination:
server: https://kubernetes.default.svc
namespace: scriptscribe
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
@@ -0,0 +1,7 @@
apiVersion: v1
kind: Secret
metadata:
name: auth-secret
data:
JWT_SECRET: c2FtcGxlLWp3dC1zZWNyZXQK
PASS_SALT: c2FtcGxlLXBhc3Mtc2FsdC1zZWNyZXQK
@@ -0,0 +1,6 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: backend-config
data:
DB_CONNECTION: "mongodb://mongodb.scriptscribe.svc.cluster.local:27017"
@@ -0,0 +1,37 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: backend
labels:
app: backend
spec:
replicas: 1
selector:
matchLabels:
app: backend
template:
metadata:
labels:
app: backend
spec:
containers:
- name: backend
image: ghcr.io/whyredfire/ss-backend:3e5673bc5fb8ec7c950c8f43a620dbcb8ba43068
ports:
- containerPort: 8000
env:
- name: DB_CONNECTION
valueFrom:
configMapKeyRef:
name: backend-config
key: DB_CONNECTION
- name: JWT_SECRET
valueFrom:
secretKeyRef:
name: auth-secret
key: JWT_SECRET
- name: PASS_SALT
valueFrom:
secretKeyRef:
name: auth-secret
key: PASS_SALT
@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- auth-secret.yaml
- deployment.yaml
- configmap.yaml
- service.yaml
@@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: backend
spec:
type: ClusterIP
selector:
app: backend
ports:
- port: 8000
targetPort: 8000
@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- stateful-set.yaml
- service.yaml
@@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: mongodb
spec:
type: ClusterIP
selector:
app: mongodb
ports:
- port: 27017
targetPort: 27017
@@ -0,0 +1,31 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mongodb
spec:
serviceName: mongodb
replicas: 1
selector:
matchLabels:
app: mongodb
template:
metadata:
labels:
app: mongodb
spec:
containers:
- name: mongodb
image: mongo:8-noble
ports:
- containerPort: 27017
volumeMounts:
- name: data
mountPath: /data/db
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 500Mi
@@ -0,0 +1,19 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: frontend
spec:
replicas: 1
selector:
matchLabels:
app: frontend
template:
metadata:
labels:
app: frontend
spec:
containers:
- name: frontend
image: ghcr.io/whyredfire/ss-frontend:3e5673bc5fb8ec7c950c8f43a620dbcb8ba43068
ports:
- containerPort: 80
@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- service.yaml
@@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: frontend
spec:
type: ClusterIP
selector:
app: frontend
ports:
- port: 80
targetPort: 80
+25
View File
@@ -0,0 +1,25 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-rules
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: web
spec:
rules:
- host: scriptscribe.whyredfire.tech
http:
paths:
- path: /api
pathType: Prefix
backend:
service:
name: backend
port:
number: 8000
- path: /
pathType: Prefix
backend:
service:
name: frontend
port:
number: 80
@@ -0,0 +1,5 @@
resources:
- database
- frontend
- backend
- ingress.yaml