Implemented automatic fetching secrets from Azure KeyVault
This commit is contained in:
		
							
								
								
									
										26
									
								
								deploy.yaml
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								deploy.yaml
									
									
									
									
									
								
							| @@ -1,10 +1,4 @@ | ||||
| --- | ||||
| # Namespace (opcjonalnie) | ||||
| apiVersion: v1 | ||||
| kind: Namespace | ||||
| metadata: | ||||
|   name: user-microservice | ||||
| --- | ||||
| # MySQL Deployment | ||||
| apiVersion: apps/v1 | ||||
| kind: Deployment | ||||
| @@ -44,9 +38,18 @@ spec: | ||||
|           volumeMounts: | ||||
|             - name: mysql-pv | ||||
|               mountPath: /var/lib/mysql | ||||
|             - name: secrets-store | ||||
|               mountPath: "/mnt/secrets" | ||||
|               readOnly: true | ||||
|       volumes: | ||||
|         - name: mysql-pv | ||||
|           emptyDir: {} | ||||
|         - name: secrets-store | ||||
|           csi: | ||||
|             driver: secrets-store.csi.k8s.io | ||||
|             readOnly: true | ||||
|             volumeAttributes: | ||||
|               secretProviderClass: "azure-kvname" | ||||
| --- | ||||
| # MySQL Service | ||||
| apiVersion: v1 | ||||
| @@ -87,6 +90,17 @@ spec: | ||||
|                 secretKeyRef: | ||||
|                   name: 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 | ||||
| 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" | ||||
		Reference in New Issue
	
	Block a user