Implemented automatic fetching secrets from Azure KeyVault
This commit is contained in:
parent
fc1d4f5154
commit
b85a5dfd9a
26
deploy.yaml
26
deploy.yaml
@ -1,10 +1,4 @@
|
|||||||
---
|
---
|
||||||
# Namespace (opcjonalnie)
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Namespace
|
|
||||||
metadata:
|
|
||||||
name: user-microservice
|
|
||||||
---
|
|
||||||
# MySQL Deployment
|
# MySQL Deployment
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@ -44,9 +38,18 @@ spec:
|
|||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: mysql-pv
|
- name: mysql-pv
|
||||||
mountPath: /var/lib/mysql
|
mountPath: /var/lib/mysql
|
||||||
|
- name: secrets-store
|
||||||
|
mountPath: "/mnt/secrets"
|
||||||
|
readOnly: true
|
||||||
volumes:
|
volumes:
|
||||||
- name: mysql-pv
|
- name: mysql-pv
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
|
- name: secrets-store
|
||||||
|
csi:
|
||||||
|
driver: secrets-store.csi.k8s.io
|
||||||
|
readOnly: true
|
||||||
|
volumeAttributes:
|
||||||
|
secretProviderClass: "azure-kvname"
|
||||||
---
|
---
|
||||||
# MySQL Service
|
# MySQL Service
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@ -87,6 +90,17 @@ spec:
|
|||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: sqlalchemy-database-uri
|
name: sqlalchemy-database-uri
|
||||||
key: SQLALCHEMY_DATABASE_URI
|
key: SQLALCHEMY_DATABASE_URI
|
||||||
|
volumeMounts:
|
||||||
|
- name: secrets-store
|
||||||
|
mountPath: "/mnt/secrets"
|
||||||
|
readOnly: true
|
||||||
|
volumes:
|
||||||
|
- name: secrets-store
|
||||||
|
csi:
|
||||||
|
driver: secrets-store.csi.k8s.io
|
||||||
|
readOnly: true
|
||||||
|
volumeAttributes:
|
||||||
|
secretProviderClass: "azure-kvname"
|
||||||
---
|
---
|
||||||
# API Service
|
# API Service
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
5
namespace.yaml
Normal file
5
namespace.yaml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Namespace (opcjonalnie)
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: user-microservice
|
41
secret-store.yaml
Normal file
41
secret-store.yaml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
apiVersion: secrets-store.csi.x-k8s.io/v1
|
||||||
|
kind: SecretProviderClass
|
||||||
|
metadata:
|
||||||
|
name: azure-kvname
|
||||||
|
namespace: user-microservice
|
||||||
|
spec:
|
||||||
|
provider: azure
|
||||||
|
secretObjects:
|
||||||
|
- secretName: sqlalchemy-database-uri
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
- objectName: sqlalchemy-database-uri
|
||||||
|
key: SQLALCHEMY_DATABASE_URI
|
||||||
|
- secretName: mysql-password
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
- objectName: mysql-password
|
||||||
|
key: MYSQL_PASSWORD
|
||||||
|
- secretName: mysql-root-password
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
- objectName: mysql-root-password
|
||||||
|
key: MYSQL_ROOT_PASSWORD
|
||||||
|
parameters:
|
||||||
|
usePodIdentity: "false"
|
||||||
|
useVMManagedIdentity: "true"
|
||||||
|
userAssignedIdentityID: "0c2780e4-8594-4aab-8f1a-8a19f71924bd" # client_id of the user-assigned managed identity
|
||||||
|
clientID: "0c2780e4-8594-4aab-8f1a-8a19f71924bd" # client_id of the user-assigned managed identity
|
||||||
|
keyvaultName: "dev-aks"
|
||||||
|
objects: |
|
||||||
|
array:
|
||||||
|
- |
|
||||||
|
objectName: sqlalchemy-database-uri
|
||||||
|
objectType: secret
|
||||||
|
- |
|
||||||
|
objectName: mysql-password
|
||||||
|
objectType: secret
|
||||||
|
- |
|
||||||
|
objectName: mysql-root-password
|
||||||
|
objectType: secret
|
||||||
|
tenantID: "f4e3e6f7-d21c-460e-b201-2192174e7f41"
|
Loading…
x
Reference in New Issue
Block a user