gohorse-backend
This commit is contained in:
parent
18ac6d74f0
commit
bb059a8035
3 changed files with 134 additions and 0 deletions
93
.drone.yml
Normal file
93
.drone.yml
Normal file
|
|
@ -0,0 +1,93 @@
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: deploy-backend
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: build-backend
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
repo: in.gohorsejobs.com/gohorsejobs-backend
|
||||||
|
tags: latest
|
||||||
|
dockerfile: ./backend/Dockerfile
|
||||||
|
context: ./backend
|
||||||
|
username:
|
||||||
|
from_secret: HARBOR_USERNAME
|
||||||
|
password:
|
||||||
|
from_secret: HARBOR_PASSWORD
|
||||||
|
|
||||||
|
- name: deploy-backend
|
||||||
|
image: bitnami/kubectl:latest
|
||||||
|
environment:
|
||||||
|
KUBERNETES_SERVER:
|
||||||
|
from_secret: K3S_SERVER
|
||||||
|
KUBERNETES_CA:
|
||||||
|
from_secret: K3S_CA_CERT
|
||||||
|
KUBERNETES_CLIENT_CERT:
|
||||||
|
from_secret: K3S_CLIENT_CERT
|
||||||
|
KUBERNETES_CLIENT_KEY:
|
||||||
|
from_secret: K3S_CLIENT_KEY
|
||||||
|
|
||||||
|
DB_HOST:
|
||||||
|
from_secret: DB_HOST
|
||||||
|
DB_PORT:
|
||||||
|
from_secret: DB_PORT
|
||||||
|
DB_USER:
|
||||||
|
from_secret: DB_USER
|
||||||
|
DB_PASSWORD:
|
||||||
|
from_secret: DB_PASSWORD
|
||||||
|
DB_NAME:
|
||||||
|
from_secret: DB_NAME
|
||||||
|
DB_SSLMODE:
|
||||||
|
from_secret: DB_SSLMODE
|
||||||
|
|
||||||
|
AWS_REGION:
|
||||||
|
from_secret: AWS_REGION
|
||||||
|
AWS_ACCESS_KEY_ID:
|
||||||
|
from_secret: AWS_ACCESS_KEY_ID
|
||||||
|
AWS_SECRET_ACCESS_KEY:
|
||||||
|
from_secret: AWS_SECRET_ACCESS_KEY
|
||||||
|
AWS_ENDPOINT:
|
||||||
|
from_secret: AWS_ENDPOINT
|
||||||
|
S3_BUCKET:
|
||||||
|
from_secret: S3_BUCKET
|
||||||
|
|
||||||
|
JWT_SECRET:
|
||||||
|
from_secret: JWT_SECRET
|
||||||
|
ENV:
|
||||||
|
from_secret: ENV
|
||||||
|
CORS_ORIGINS:
|
||||||
|
from_secret: CORS_ORIGINS
|
||||||
|
MAX_UPLOAD_SIZE:
|
||||||
|
from_secret: MAX_UPLOAD_SIZE
|
||||||
|
UPLOAD_DIR:
|
||||||
|
from_secret: UPLOAD_DIR
|
||||||
|
|
||||||
|
commands:
|
||||||
|
- echo "Configuring kubeconfig…"
|
||||||
|
- mkdir -p ~/.kube
|
||||||
|
- |
|
||||||
|
cat <<EOF > ~/.kube/config
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Config
|
||||||
|
clusters:
|
||||||
|
- name: k3s
|
||||||
|
cluster:
|
||||||
|
server: ${KUBERNETES_SERVER}
|
||||||
|
certificate-authority-data: ${KUBERNETES_CA}
|
||||||
|
users:
|
||||||
|
- name: drone
|
||||||
|
user:
|
||||||
|
client-certificate-data: ${KUBERNETES_CLIENT_CERT}
|
||||||
|
client-key-data: ${KUBERNETES_CLIENT_KEY}
|
||||||
|
contexts:
|
||||||
|
- name: drone-context
|
||||||
|
context:
|
||||||
|
cluster: k3s
|
||||||
|
user: drone
|
||||||
|
namespace: gohorsejobs
|
||||||
|
current-context: drone-context
|
||||||
|
EOF
|
||||||
|
|
||||||
|
- echo "Applying backend K8s manifests…"
|
||||||
|
- kubectl apply -f k8s/backend-deployment.yaml
|
||||||
|
- kubectl apply -f k8s/backend-service.yaml
|
||||||
28
k8s/backend-deployment.yaml
Normal file
28
k8s/backend-deployment.yaml
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: gohorse-backend
|
||||||
|
namespace: gohorsejobs
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: gohorse-backend
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: gohorse-backend
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: backend
|
||||||
|
image: harbor.rede5.com.br/gohorsejobs/backend:latest
|
||||||
|
imagePullPolicy: Always
|
||||||
|
ports:
|
||||||
|
- containerPort: 3000
|
||||||
|
env:
|
||||||
|
- name: NODE_ENV
|
||||||
|
value: "production"
|
||||||
|
# Caso o backend precise do .env via Infisical Sidecar, adiciono depois se quiser.
|
||||||
|
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: harbor-registry
|
||||||
13
k8s/backend-service.yaml
Normal file
13
k8s/backend-service.yaml
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: gohorse-backend
|
||||||
|
namespace: gohorsejobs
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: gohorse-backend
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 3000
|
||||||
|
targetPort: 3000
|
||||||
|
type: ClusterIP
|
||||||
Loading…
Reference in a new issue