Feat: add vita
This commit is contained in:
18
flux-applications/vita.yaml
Normal file
18
flux-applications/vita.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: vita
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 10m0s
|
||||
path: ./vita/
|
||||
prune: true
|
||||
force: false
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: applications
|
||||
decryption:
|
||||
provider: sops
|
||||
secretRef:
|
||||
name: sops-gpg
|
||||
4
vita/.sops.yaml
Normal file
4
vita/.sops.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
creation_rules:
|
||||
- path_regex: '.*.yaml'
|
||||
encrypted_regex: '^(data|stringData)$'
|
||||
pgp: A638A6B54530D54E868F9D3238736C662F799E0D
|
||||
78
vita/deploy.backend.yaml
Normal file
78
vita/deploy.backend.yaml
Normal file
@@ -0,0 +1,78 @@
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: vita-backend
|
||||
labels:
|
||||
app: vita-backend
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: vita-backend
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: vita-backend
|
||||
spec:
|
||||
containers:
|
||||
- name: backend
|
||||
image: gitea.konchin.com/go2025/backend:main
|
||||
env:
|
||||
- name: EXTERNAL_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: vita-backend-config
|
||||
key: EXTERNAL_URL
|
||||
- name: PRESHARED_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vita-backend-secret
|
||||
key: PRESHARED_KEY
|
||||
- name: ACCESS_TOKEN_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vita-backend-secret
|
||||
key: ACCESS_TOKEN_SECRET
|
||||
- name: REFRESH_TOKEN_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vita-backend-secret
|
||||
key: REFRESH_TOKEN_SECRET
|
||||
- name: PG_CONNECTION_STRING
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vita-backend-secret
|
||||
key: PG_CONNECTION_STRING
|
||||
- name: MINIO_HOST
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vita-backend-secret
|
||||
key: MINIO_HOST
|
||||
- name: MINIO_BUCKET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vita-backend-secret
|
||||
key: MINIO_BUCKET
|
||||
- name: MINIO_ACCESSKEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vita-backend-secret
|
||||
key: MINIO_ACCESSKEY
|
||||
- name: MINIO_SECRETKEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vita-backend-secret
|
||||
key: MINIO_SECRETKEY
|
||||
- name: MINIO_USESSL
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vita-backend-secret
|
||||
key: MINIO_USESSL
|
||||
- name: UPTRACE_DSN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vita-backend-secret
|
||||
key: UPTRACE_DSN
|
||||
imagePullSecrets:
|
||||
- name: regcred
|
||||
49
vita/deploy.dcbot.yaml
Normal file
49
vita/deploy.dcbot.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: vita-dcbot
|
||||
labels:
|
||||
app: vita-dcbot
|
||||
spec:
|
||||
replicas: 0
|
||||
selector:
|
||||
matchLabels:
|
||||
app: vita-dcbot
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: vita-dcbot
|
||||
spec:
|
||||
containers:
|
||||
- name: dcbot
|
||||
image: gitea.konchin.com/go2025/backend:main
|
||||
args: ["dcbot"]
|
||||
env:
|
||||
- name: PRESHARED_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vita-dcbot-secret
|
||||
key: PRESHARED_KEY
|
||||
- name: DISCORD_BOT_TOKEN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vita-dcbot-secret
|
||||
key: DISCORD_BOT_TOKEN
|
||||
- name: API_ENDPOINT
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: vita-dcbot-config
|
||||
key: API_ENDPOINT
|
||||
- name: EXTERNAL_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: vita-dcbot-config
|
||||
key: EXTERNAL_URL
|
||||
- name: UPTRACE_DSN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vita-dcbot-secret
|
||||
key: UPTRACE_DSN
|
||||
imagePullSecrets:
|
||||
- name: regcred
|
||||
22
vita/deploy.frontend.yaml
Normal file
22
vita/deploy.frontend.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: vita-frontend
|
||||
labels:
|
||||
app: vita-frontend
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: vita-frontend
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: vita-frontend
|
||||
spec:
|
||||
containers:
|
||||
- name: frontend
|
||||
image: gitea.konchin.com/go2025/frontend:main
|
||||
imagePullSecrets:
|
||||
- name: regcred
|
||||
32
vita/ingress.yaml
Normal file
32
vita/ingress.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: vita-ing
|
||||
spec:
|
||||
ingressClassName: traefik-prod
|
||||
rules:
|
||||
- host: "go2025.konchin.com"
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: frontend
|
||||
port:
|
||||
number: 80
|
||||
- path: /api
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: backend
|
||||
port:
|
||||
number: 8080
|
||||
- path: /img
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: backend
|
||||
port:
|
||||
number: 8080
|
||||
16
vita/kustomization.yaml
Normal file
16
vita/kustomization.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: vita
|
||||
generatorOptions:
|
||||
disableNameSuffixHash: true
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- deploy.backend.yaml
|
||||
- deploy.dcbot.yaml
|
||||
- deploy.frontend.yaml
|
||||
- svc.backend.yaml
|
||||
- svc.frontend.yaml
|
||||
- secret.backend.yaml
|
||||
- secret.dcbot.yaml
|
||||
- ingress.yaml
|
||||
5
vita/namespace.yaml
Normal file
5
vita/namespace.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: vita
|
||||
41
vita/secret.backend.yaml
Normal file
41
vita/secret.backend.yaml
Normal file
@@ -0,0 +1,41 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: vita-backend-secret
|
||||
data:
|
||||
ACCESS_TOKEN_SECRET: ENC[AES256_GCM,data:AzbuPVOw0m9tSRSXz4XMjLS44lVWw2fUJ2C8lJy/4F/nYIupxUhA/E/V/jo=,iv:t7ZjphPvciUokGzGoLJNBIntkrbHqIz2mVOFOLdvo5M=,tag:DlMB8J2Gnj6ecoaL4l86bQ==,type:str]
|
||||
MINIO_ACCESSKEY: ENC[AES256_GCM,data:edouSYxiYx8=,iv:EMjrSpho9/zLcdBQXKKDRBdsQgnhbt6aiLTR1mXqHDk=,tag:6jHg6l3P0xej4TJaOJwCAw==,type:str]
|
||||
MINIO_BUCKET: ENC[AES256_GCM,data:U15ZwRY/X4E=,iv:kliQ9Pi8Q8gdLRN9ErJtCOQDyFWzhcj7kUpq/ow1Nzw=,tag:OfgxDRPBPY5Nj9qOI2BSyg==,type:str]
|
||||
MINIO_HOST: ENC[AES256_GCM,data:shDzkYcwTpoY4JANjeJSgg==,iv:KITDxKAI3jou3ThlMqgEf5VSf6/L4nb2FVxYHQdpvP4=,tag:SXW2oVG0Co/DTUAy1afknQ==,type:str]
|
||||
MINIO_SECRETKEY: ENC[AES256_GCM,data:G7BvBrNDNPoiaTM8YnbnXQ==,iv:rrjumyerkK8lyKuIlkh5MIwiFhf42BN30CeV5L4cLsU=,tag:WdZDBNqizJrErjc+cryimQ==,type:str]
|
||||
MINIO_USESSL: ENC[AES256_GCM,data:3su0xKmAs6c=,iv:tmRBYpx7GTmZvnqJ4yaN+R6uYa3l0E/Wpw4RCu45eRw=,tag:rdAakCwXYwnKCXSJbjrqcQ==,type:str]
|
||||
PG_CONNECTION_STRING: ENC[AES256_GCM,data:arA7VJa0RA+C4wiQi3HkCqyOJCS50RG9226cFc8pgLMeihWO1hPyb8cVXPHHUbWGdxLZSTEgPa/KD//jnIzCrSgO+cmcQ5AxSl289UsAGN9ltohN,iv:xxGL3NUil1kSvedpaQa5aQAQ8x11rYsGmDofNv+xcHE=,tag:buk6KASKEf0QSjm0f8amWw==,type:str]
|
||||
PRESHARED_KEY: ENC[AES256_GCM,data:LeV4tOohVKoY1zshqpB6hvPkeK5JyD8BrbXhtK/rsYheGOM9Z3AGiispLls=,iv:w2BQG0ziTju6VjpWKoVp2xkpikKuAfeZF7Kn8Fq+TSc=,tag:NSVWuRogU0uaaNGvU7buVg==,type:str]
|
||||
REFRESH_TOKEN_SECRET: ENC[AES256_GCM,data:O2FbIOMYlXMZ6IfW0kbkrL/zzAmj49Sue+NnxdlDYqmRb6u/Qo9rMlRyIWA=,iv:BbFgPC7OSPEDPZFadkUOioXeFWQ7Gj1RniM3gnTTcpA=,tag:4SPYqY62f41uhYzoTbgSnA==,type:str]
|
||||
UPTRACE_DSN: ENC[AES256_GCM,data:v8KjY6GN5BcR8WneDrtXIkx24iZ0OHwY9lqm6NtehwYvn+Ns3GtoFnyEWcO25+vKIu4Bwg==,iv:Llz5ThtgKRTykSijvS36Lmb8objW8RBIB6i/8++zC8g=,tag:q3MfPne1w8Pa/A+RFBrpLw==,type:str]
|
||||
sops:
|
||||
lastmodified: "2025-12-12T21:59:00Z"
|
||||
mac: ENC[AES256_GCM,data:7+hsQ6aqHjnB4ibAyyC3ayzyNYLZSudHXMq+t5wsbx+hBd3LFVWEzeTU7ZjLhFM7gct+JIYTrAsIIt2nS8XbuuGSJQYLnX7wodQXYE5pycBl6k6MA9jrCcWXzTG73FIeUB6gk20P0QvbiIfVdhW7I5ZUIZwWtDz4q6WSxQESAs8=,iv:wI9S1gF6WXzCNxj9zRF/ZXMtcVrYrKA7OiWQRKfk5bA=,tag:kblVlbpMlTEuioAppiyzsA==,type:str]
|
||||
pgp:
|
||||
- created_at: "2025-12-12T21:59:00Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hQIMA+nT7MSlwYOAAQ//e7yyIiW2wIWLrblsXGXRXXt9BcuDpKkngHioce8Q/RZw
|
||||
Kbp0IgN+cLBWuoySIUCaotzKC/IvqxcZsxTj+EifSSygpYVAr7zmbzUKercWdqM8
|
||||
M1kzO0o0JiYeDIYCkgheXuNM3WSa8O2lmbpEs/44Do6pTDlqJHnSIs8Iwm0q7a8Z
|
||||
0GmHRhHhQgVzXeO2LHjUOipD69H5jEUndPQBXxd5vftBoRqhYVMeLRsmL1PZ8/K/
|
||||
YE3ST0opS1yFGxCm4FZTj8B+2F7aHXQi4wbsev4FAN7RlsQGCjWF2gPGZm20aEcl
|
||||
tccVolOmPFABcdNvgX9S3n11Gj2drb++6v1bscWiTrUDqUIQVAeEtKQzOWtxezqt
|
||||
rEc8zFJ96vEOrVC6vrPgLc/4/n5O+8+5/LfqlIvOuWxp0QVVM0U8bMivXOD3oC6N
|
||||
8c91agFFNLXh6dWzIRrVcnsdW09sdLtXYtiPLRwvY8+yBplDHRYla1c1ps9cIP5Y
|
||||
omYgQs++qNIzmoPsR5LEF+3do4RY97umR7yHBgBgQODmFERuAxOKNIpiY4JldLjf
|
||||
wjy/bE28WfjBAJs0NA/yxxcA11IxRPLWRHwgCnJ6KemtwA5X8V06nXpjZE25n19C
|
||||
IiBg3Xh1xsM6T6VHQL6Cmpj9iMDA4r2ew4Rlml7v6/dUxa+T7zSkmasN3Z2l2sfS
|
||||
XgGtvlRlPlF7GZqyM/1/Qv9hLvvzZUu6LA4jiT+FVBL6nZa29sSIboX0oB5Jphv8
|
||||
lejwbL5wdG7fsWB2tz5OlGqJ0G+6+uypKY8LknZFyeVnhlnBj+3EoAxKYAu0MH4=
|
||||
=0Uby
|
||||
-----END PGP MESSAGE-----
|
||||
fp: A638A6B54530D54E868F9D3238736C662F799E0D
|
||||
encrypted_regex: ^(data|stringData)$
|
||||
version: 3.11.0
|
||||
34
vita/secret.dcbot.yaml
Normal file
34
vita/secret.dcbot.yaml
Normal file
@@ -0,0 +1,34 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: vita-dcbot-secret
|
||||
data:
|
||||
DISCORD_BOT_TOKEN: ENC[AES256_GCM,data:CdUSDQ4hasVJjRBuzdbaTa+/+vtVI/6N9xcRCv3cRiJ1Kpmpbm0A0G+IakMZgwGgRjJo7HStlNIG60J8UH3KowWdbJ6EtdVDWvLnk5RbeaN7aaJ+qyg9AqLgjd4hdGHQ,iv:nyI2BCOjdw5pJqqOOmnZ2XQUh6YiyzW/PjkhJI7yOfo=,tag:iwJR5OJ2L73YldjE1ZdJ9g==,type:str]
|
||||
PRESHARED_KEY: ENC[AES256_GCM,data:BhSl2XJtMePP9JcyyYD5rzjRMrcCyTizwcnBBbUwZV1zPSk+xSx1DJru7wc=,iv:1Q2rDQA2iz20fNWqH5RhmGEit8zdgTvxFaNJBtvlcME=,tag:R9g4rDOKATp6XR9Y1rNALQ==,type:str]
|
||||
UPTRACE_DSN: ENC[AES256_GCM,data:xxcp4Wg9II2+JjIggJoHy8IqbaJHUXB7M2d3SLreCz5tk6QaUnKLJTP50uApACYHyewePA==,iv:yjg75Us6e7hC1P8b0CyNy3QSXHEf4cO/ewoXKyf8jBg=,tag:OKbiDTlUwUEFQuBP3QXpQQ==,type:str]
|
||||
sops:
|
||||
lastmodified: "2025-12-12T21:29:43Z"
|
||||
mac: ENC[AES256_GCM,data:pNpvE5qE11kE4egHc1M4227GjoQJn4gYPqQ60IUOSDDe4ZRjWkJomdmlyTdZSPudCLmF7vm0IJVk9RDtYd44SsuxiK0OXmtrAFeUi99qV0LMqj23hUrTDwZ0BPn62mXDtR0o4BcL/dXbWdwVRCN5zn1RxfxOQ+DqXmHxxfj6BMo=,iv:wq7+3CzCAWSA7P7YbvNb9HMDjF0SWc95XlHL6IfuO7g=,tag:esmiKuNuAU4Rj/zZS5wGgQ==,type:str]
|
||||
pgp:
|
||||
- created_at: "2025-12-12T21:29:43Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hQIMA+nT7MSlwYOAAQ/7BY8sLcBdS2QXJ2KrrXpTH7cpU6PIiVZ3JfZGKRt2y8aA
|
||||
SNusppniCFST0cTTisx1ti266hRxIpOUUB6qv0956w6yCl57V7/icfxvSKsaHjnK
|
||||
SYoWpDUifavztmwEGKmmhZg0WYlaDpohx3UTDwsN1KwFc3a7/Sd6aQZOEtm/ZH7w
|
||||
0DBfxQF8i+T1P90X+bVUwKiAC3AZo9/0F9P4uWFVJZ3nBP8dYLyJicR0ulvW/nZi
|
||||
3ksrboBzS1kDWadn+yZGuzn3jbb/6W0XDCuw+gsD1bF1b/S+3WJZ+4pVJ6kMezpO
|
||||
jmUahhaaPSbxuwf+0/D/oaIPyKJLHYlVsETab65/Jd9dzdFjk/+H3ZpuvQiCZBTD
|
||||
KzoW7qqDRckQkAgho1bpc5l77m9w1kA48ewknYbfsg//mJGv/N7NayWQ05FV/ZmP
|
||||
LKdu4YuCYg1UEngZv7z9sp0BAxYkEQ7G36ZK32CXt1PsHKSsoU7aK3JWrEShDL1d
|
||||
S8GvIPybRORPsCWt3IcUZpZZmMJWUCU+5st+9lfUa0kPfPrQTCTD5XNQaoHF6/Aj
|
||||
oDFoNu/MLzPMefODZDHOTfA1zbIWXD+TFEJTVHi83CJX8DrqheZGEJ3GbdDlM+VL
|
||||
Yy583/C6JZy0SFwuLltnJZUGSQZKAOKYbpEpmgy/9MCqbnWS0ASOyVT4z2/124/S
|
||||
XgEfgLAVDfCMstoWOHHbxA6AveUsa4+1qbG9JRRHEHHalKI8bJoWXQjI2+FG6ttn
|
||||
+Qz2CbZtUCfXeLHtr+b5OGoP+YB6W+jvEtbU+nbCgv3Tg5AXHWQNhkFyEhCx4oY=
|
||||
=TlgG
|
||||
-----END PGP MESSAGE-----
|
||||
fp: A638A6B54530D54E868F9D3238736C662F799E0D
|
||||
encrypted_regex: ^(data|stringData)$
|
||||
version: 3.11.0
|
||||
15
vita/svc.backend.yaml
Normal file
15
vita/svc.backend.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: vita-backend
|
||||
labels:
|
||||
app: vita-backend
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector:
|
||||
app: vita-backend
|
||||
ports:
|
||||
- name: http
|
||||
port: 8080
|
||||
targetPort: 8080
|
||||
15
vita/svc.frontend.yaml
Normal file
15
vita/svc.frontend.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: vita-frontend
|
||||
labels:
|
||||
app: vita-frontend
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector:
|
||||
app: vita-frontend
|
||||
ports:
|
||||
- name: http
|
||||
port: 80
|
||||
targetPort: 80
|
||||
Reference in New Issue
Block a user