Adds Storage Service

This commit is contained in:
2023-08-23 10:17:28 -03:00
parent 201eb048e5
commit e5e14d7ce6
7 changed files with 141 additions and 0 deletions

2
.gitignore vendored
View File

@@ -6,6 +6,8 @@
.vscode/ .vscode/
**/storage-secret.yaml
**/backend-secret.yaml **/backend-secret.yaml
**/frontend-secret.yaml **/frontend-secret.yaml

View File

@@ -44,6 +44,12 @@ function application_deploy() {
deployment.apps/frontend-deployment \ deployment.apps/frontend-deployment \
-n portfolio; -n portfolio;
kubectl apply -f ./deployment/storage;
kubectl wait --for=condition=available \
--timeout=600s \
deployment.apps/storage-deployment \
-n portfolio;
kubectl apply -f ./deployment/backend; kubectl apply -f ./deployment/backend;
kubectl wait --for=condition=available \ kubectl wait --for=condition=available \
--timeout=600s \ --timeout=600s \

View File

@@ -155,6 +155,12 @@ spec:
name: redis-secret name: redis-secret
key: redis-password key: redis-password
- name: STORAGE_SERVICE_PATH
valueFrom:
configMapKeyRef:
name: storage-config
key: storage_url
--- ---
apiVersion: v1 apiVersion: v1
kind: Service kind: Service

View File

@@ -0,0 +1,8 @@
apiVersion: v1
kind: ConfigMap
metadata:
namespace: portfolio
name: storage-config
data:
storage_url: storage-service
storage_port: "8000"

View File

@@ -0,0 +1,102 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: portfolio
name: storage-deployment
spec:
replicas: 1
selector:
matchLabels:
app: storage
template:
metadata:
labels:
app: storage
spec:
containers:
- name: storage
image: yoshiunfriendly/storage-hideyoshi.com:latest
imagePullPolicy: "Always"
ports:
- containerPort: 8000
env:
- name: ALLOWED_ORIGINS
valueFrom:
secretKeyRef:
name: frontend-secret
key: backend_url
- name: EXPIRES_IN
valueFrom:
secretKeyRef:
name: backend-secret
key: access_token_duration
- name: SERVER_PORT
valueFrom:
configMapKeyRef:
name: storage-config
key: storage_port
- name: REDIS_HOST
valueFrom:
configMapKeyRef:
name: redis-config
key: redis-url
- name: REDIS_PORT
valueFrom:
configMapKeyRef:
name: redis-config
key: redis-port
- name: REDIS_PASSWORD
valueFrom:
secretKeyRef:
name: redis-secret
key: redis-password
- name: STORAGE_TYPE
valueFrom:
secretKeyRef:
name: storage-secret
key: storage_type
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: storage-secret
key: aws_access_key_id
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: storage-secret
key: aws_access_access_key
- name: AWS_REGION_NAME
valueFrom:
secretKeyRef:
name: storage-secret
key: aws_region_name
- name: AWS_BUCKET_NAME
valueFrom:
secretKeyRef:
name: storage-secret
key: aws_bucket_name
---
apiVersion: v1
kind: Service
metadata:
namespace: portfolio
name: storage-service
spec:
selector:
app: storage
ports:
- port: 8000
protocol: TCP
targetPort: 8000
type: ClusterIP

View File

@@ -27,6 +27,11 @@ ENV_VARIABLES = [
"POSTGRES_PASSWORD", "POSTGRES_PASSWORD",
"POSTGRES_DB", "POSTGRES_DB",
"REDIS_PASSWORD", "REDIS_PASSWORD",
"STORAGE_TYPE",
"AWS_ACCESS_KEY_ID",
"AWS_SECRET_ACCESS_KEY",
"AWS_REGION_NAME",
"AWS_BUCKET_NAME",
] ]

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: Secret
metadata:
namespace: portfolio
name: storage-secret
type: Opaque
data:
storage_type: $STORAGE_TYPE
aws_access_key_id: $AWS_ACCESS_KEY_ID
aws_access_access_key: $AWS_SECRET_ACCESS_KEY
aws_region_name: $AWS_REGION_NAME
aws_bucket_name: $AWS_BUCKET_NAME