Implements OAuth2 and Github Actions

* [v0.0.2] Adds Google and Github OAuth2 Authentication

Adds to the API the feature of OAuth2 Authentication via two providers: Google and Github, and implements better handling of secrets

* Create deploy.yml

* Update deploy.yml

* Update deploy.yml

* Update deploy.yml

* Fixes k3s

* Update deploy.yml

* Update deploy.yml

Update deploy.yml

update deploy.yml

* Reemplements Frontend and Backend Connection

* Final Configurations
This commit is contained in:
2022-11-15 17:24:15 -03:00
committed by Vitor Hideyoshi
parent 87c0d140f0
commit 0fb3e46a9a
16 changed files with 172 additions and 60 deletions

View File

@@ -1,8 +1,9 @@
apiVersion: v1
kind: ConfigMap
metadata:
namespace: portfolio
namespace: portfolio
name: backend-config
data:
backend-url: backend-service
backend-port: "8070"
backend_url: backend-service
backend_port: "8070"

View File

@@ -0,0 +1,20 @@
apiVersion: v1
kind: Secret
metadata:
namespace: portfolio
name: backend-secret
type: Opaque
data:
token_secret: $TOKEN_SECRET
access_token_duration: $ACCESS_TOKEN_DURATION
refresh_token_duration: $REFRESH_TOKEN_DURATION
default_user_fullname: $DEFAULT_USER_FULLNAME
default_user_email: $DEFAULT_USER_EMAIL
default_user_username: $DEFAULT_USER_USERNAME
default_user_password: $DEFAULT_USER_PASSWORD
google_client_id: $GOOGLE_CLIENT_ID
google_client_secret: $GOOGLE_CLIENT_SECRET
google_redirect_url: $GOOGLE_REDIRECT_URL
github_client_id: $OAUTH_GITHUB_CLIENT_ID
github_client_secret: $OAUTH_GITHUB_CLIENT_SECRET
github_redirect_url: $OAUTH_GITHUB_REDIRECT_URL

View File

@@ -1,14 +0,0 @@
apiVersion: v1
kind: Secret
metadata:
namespace: portfolio
name: backend-secret
type: Opaque
data:
tokenSecret: c2VjcmV0
accessTokenDuration: MTgwMDAwMA==
refreshTokenDuration: MTMxNDkwMDAwMA==
defaultUserFullname: Vml0b3IgSGlkZXlvc2hp
defaultUserEmail: dml0b3IuaC5uLmJhdGlzdGFAZ21haWwuY29t
defaultUserUsername: WW9zaGlVbmZyaWVuZGx5
defaultUserPassword: cGFzc3dk

View File

@@ -1,7 +1,7 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: portfolio
namespace: portfolio
name: backend-deployment
spec:
replicas: 1
@@ -13,7 +13,6 @@ spec:
labels:
app: backend
spec:
limits:
containers:
- name: backend
image: yoshiunfriendly/backend-hideyoshi.com
@@ -23,69 +22,99 @@ spec:
env:
- name: FRONTEND_PATH
valueFrom:
configMapKeyRef:
name: frontend-config
key: frontend-url
- name: FRONTEND_CONNECTION_TYPE
valueFrom:
configMapKeyRef:
name: frontend-config
key: frontend-type
secretKeyRef:
name: frontend-secret
key: frontend_path
- name: TOKEN_SECRET
valueFrom:
secretKeyRef:
name: backend-secret
key: tokenSecret
key: token_secret
- name: ACCESS_TOKEN_DURATION
valueFrom:
secretKeyRef:
name: backend-secret
key: accessTokenDuration
key: access_token_duration
- name: REFRESH_TOKEN_DURATION
valueFrom:
secretKeyRef:
name: backend-secret
key: refreshTokenDuration
key: refresh_token_duration
- name: DEFAULT_USER_FULLNAME
valueFrom:
secretKeyRef:
name: backend-secret
key: defaultUserFullname
key: default_user_fullname
- name: DEFAULT_USER_EMAIL
valueFrom:
secretKeyRef:
name: backend-secret
key: defaultUserEmail
key: default_user_email
- name: DEFAULT_USER_USERNAME
valueFrom:
secretKeyRef:
name: backend-secret
key: defaultUserUsername
key: default_user_username
- name: DEFAULT_USER_PASSWORD
valueFrom:
secretKeyRef:
name: backend-secret
key: defaultUserPassword
key: default_user_password
- name: PORT
valueFrom:
configMapKeyRef:
name: backend-config
key: backend-port
key: backend_port
- name: GOOGLE_CLIENT_ID
valueFrom:
secretKeyRef:
name: backend-secret
key: google_client_id
- name: GOOGLE_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: backend-secret
key: google_client_secret
- name: GOOGLE_REDIRECT_URL
valueFrom:
secretKeyRef:
name: backend-secret
key: google_redirect_url
- name: GITHUB_CLIENT_ID
valueFrom:
secretKeyRef:
name: backend-secret
key: github_client_id
- name: GITHUB_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: backend-secret
key: github_client_secret
- name: GITHUB_REDIRECT_URL
valueFrom:
secretKeyRef:
name: backend-secret
key: github_redirect_url
- name: POSTGRES_URL
valueFrom:
configMapKeyRef:
name: postgres-config
key: postgres-url
key: postgres_url
- name: POSTGRES_DB
valueFrom:
@@ -130,7 +159,7 @@ spec:
apiVersion: v1
kind: Service
metadata:
namespace: portfolio
namespace: portfolio
name: backend-service
spec:
selector: