102 lines
2.0 KiB
YAML
102 lines
2.0 KiB
YAML
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: txt2md-sa
|
|
namespace: default
|
|
annotations:
|
|
iam.gke.io/gcp-service-account: "txt2md-app-gsa@project-84ddd43d-e408-4cb9-8cb.iam.gserviceaccount.com"
|
|
---
|
|
apiVersion: external-secrets.io/v1beta1
|
|
kind: SecretStore
|
|
metadata:
|
|
name: gcp-store
|
|
namespace: default
|
|
spec:
|
|
provider:
|
|
gcpsm:
|
|
projectID: project-84ddd43d-e408-4cb9-8cb
|
|
---
|
|
apiVersion: external-secrets.io/v1beta1
|
|
kind: ExternalSecret
|
|
metadata:
|
|
name: txt2md-api-key
|
|
namespace: default
|
|
spec:
|
|
refreshInterval: 1h
|
|
secretStoreRef:
|
|
name: gcp-store
|
|
kind: SecretStore
|
|
target:
|
|
name: txt2md-secrets # This matches the Secret name expected by the Deployment
|
|
creationPolicy: Owner
|
|
data:
|
|
- secretKey: ai-api-key
|
|
remoteRef:
|
|
key: gemini-api-key
|
|
- secretKey: flask-secret-key
|
|
remoteRef:
|
|
key: flask-secret-key
|
|
---
|
|
apiVersion: gateway.networking.k8s.io/v1beta1
|
|
kind: HTTPRoute
|
|
metadata:
|
|
name: txt2md-route
|
|
namespace: default
|
|
spec:
|
|
parentRefs:
|
|
- name: main-gateway
|
|
namespace: default
|
|
hostnames:
|
|
- "txt2md.hannesalbeiro.com"
|
|
rules:
|
|
- backendRefs:
|
|
- name: txt2md
|
|
port: 80
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: txt2md
|
|
labels:
|
|
app: txt2md
|
|
spec:
|
|
replicas: 2
|
|
selector:
|
|
matchLabels:
|
|
app: txt2md
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: txt2md
|
|
spec:
|
|
serviceAccountName: txt2md-sa
|
|
containers:
|
|
- name: txt2md
|
|
image: europe-west3-docker.pkg.dev/project-84ddd43d-e408-4cb9-8cb/txt2md-repo/txt2md:v1.0.4
|
|
ports:
|
|
- containerPort: 5000
|
|
env:
|
|
- name: AI_API_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: txt2md-secrets
|
|
key: ai-api-key
|
|
- name: FLASK_SECRET_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: txt2md-secrets
|
|
key: flask-secret-key
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: txt2md
|
|
spec:
|
|
selector:
|
|
app: txt2md
|
|
ports:
|
|
- protocol: TCP
|
|
port: 80
|
|
targetPort: 5000
|
|
type: ClusterIP
|