This commit is contained in:
Zeeshaun
2026-03-13 09:11:35 -05:00
parent f004c8205a
commit c2d6bda458
197 changed files with 14970 additions and 0 deletions
@@ -0,0 +1,107 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: document-api
spec:
replicas: 1
selector:
matchLabels:
app: document-api
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
app: document-api
spec:
containers:
- name: document-api
image: document-api
resources:
limits:
memory: "1536Mi"
cpu: "500m"
ports:
- containerPort: 8080
livenessProbe:
initialDelaySeconds: 5
periodSeconds: 5
httpGet:
path: /status
port: 8080
readinessProbe:
initialDelaySeconds: 5
periodSeconds: 5
httpGet:
path: /status
port: 8080
volumeMounts:
- name: volume-lcu-internal-cert
mountPath: /etc/ssl/certs/lcu-internal-cert.pem
- name: volume-appsettings
mountPath: /app/config/mapped-appsettings
- name: document-api-secrets
mountPath: /vault/secrets/document-api-type-cleanup-api-key.json
subPath: document-api-type-cleanup-api-key
readOnly: true
- name: document-api-secrets
mountPath: /vault/secrets/document-api-type-retriever-api-key.json
subPath: document-api-type-retriever-api-key
readOnly: true
- name: document-api-secrets
mountPath: /vault/secrets/document-api-type-uploader-api-key.json
subPath: document-api-type-uploader-api-key
readOnly: true
- name: document-api-secrets
mountPath: /vault/secrets/document-api-mongo-database-connection-string.json
subPath: document-api-mongo-database-connection-string
readOnly: true
- name: document-api-secrets
mountPath: /vault/secrets/document-api-blob-storage-connection-string.json
subPath: document-api-blob-storage-connection-string
readOnly: true
- name: document-api-secrets
mountPath: /vault/secrets/document-api-seq-api-key.json
subPath: document-api-seq-api-key
readOnly: true
- name: document-api-secrets
mountPath: /vault/secrets/document-api-swagger-oauth-scope.json
subPath: document-api-swagger-oauth-scope
readOnly: true
- name: document-api-secrets
mountPath: /vault/secrets/document-api-tenant-id.json
subPath: document-api-tenant-id
readOnly: true
- name: document-api-secrets
mountPath: /vault/secrets/document-api-client-secret.json
subPath: document-api-client-secret
readOnly: true
- name: document-api-secrets
mountPath: /vault/secrets/document-api-client-id.json
subPath: document-api-client-id
readOnly: true
- name: document-api-secrets
mountPath: /vault/secrets/document-api-azure-tenant-id.json
subPath: document-api-azure-tenant-id
readOnly: true
- name: document-api-secrets
mountPath: /vault/secrets/document-api-azure-client-id.json
subPath: document-api-azure-client-id
readOnly: true
volumes:
- name: document-api-secrets
csi:
driver: secrets-store.csi.k8s.io
readOnly: true
volumeAttributes:
secretProviderClass: document-api-csi-key-vault-secrets-provider
- name: volume-lcu-internal-cert
configMap:
name: configmap-lcu-internal-cert
- name: volume-appsettings
configMap:
name: documentapi-configmap
@@ -0,0 +1,11 @@
---
apiVersion: v1
kind: Service
metadata:
name: document-api
spec:
selector:
app: document-api
ports:
- port: 8080
targetPort: 8080
@@ -0,0 +1,5 @@
resources:
- Deployment.yaml
- Service.yaml
- virtual-service.yaml
- secrets-provider-class.yaml
@@ -0,0 +1,61 @@
---
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: document-api-csi-key-vault-secrets-provider
spec:
provider: azure
parameters:
usePodIdentity: "false"
useVMManagedIdentity: "true"
tenantId: 63cd1554-2783-4a86-ae50-b9e6c21c9499
objects: |
array:
- |
objectName: document-api-azure-client-id
objectType: secret
objectVersion: ""
- |
objectName: document-api-azure-tenant-id
objectType: secret
objectVersion: ""
- |
objectName: document-api-client-id
objectType: secret
objectVersion: ""
- |
objectName: document-api-client-secret
objectType: secret
objectVersion: ""
- |
objectName: document-api-tenant-id
objectType: secret
objectVersion: ""
- |
objectName: document-api-swagger-oauth-scope
objectType: secret
objectVersion: ""
- |
objectName: document-api-seq-api-key
objectType: secret
objectVersion: ""
- |
objectName: document-api-blob-storage-connection-string
objectType: secret
objectVersion: ""
- |
objectName: document-api-mongo-database-connection-string
objectType: secret
objectVersion: ""
- |
objectName: document-api-type-uploader-api-key
objectType: secret
objectVersion: ""
- |
objectName: document-api-type-retriever-api-key
objectType: secret
objectVersion: ""
- |
objectName: document-api-type-cleanup-api-key
objectType: secret
objectVersion: ""
@@ -0,0 +1,18 @@
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: document-api
spec:
gateways:
- istio-system/ingress-gateway
http:
- name: document-api
match:
- uri:
prefix: /
route:
- destination:
host: document-api
port:
number: 8080
@@ -0,0 +1,8 @@
resources:
- ../../../base
patchesStrategicMerge:
- set_appsettings_deployment.yaml
- set_secrets_provider_class.yaml
images:
- name: document-api
newName: landmarkcu/lcu.api.internal.document-document
@@ -0,0 +1,12 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: document-api
spec:
template:
spec:
containers:
- name: document-api
env:
- name: ASPNETCORE_ENVIRONMENT
value: "Development"
@@ -0,0 +1,9 @@
---
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: document-api-csi-key-vault-secrets-provider
spec:
parameters:
userAssignedIdentityID: 3286ed9a-f85c-4c50-b742-dbd3c1c3fe1f
keyvaultName: kv-lz-apps-qa-uscz
@@ -0,0 +1,2 @@
resources:
- normal
@@ -0,0 +1,25 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: documentapi-configmap
data:
primary.json: |
{
"AzureKeyVaultUrl": "qa-DocumentApi-kv",
"Primary": {
"SeqUrl": "https://qa-seq.lcu-internal.com",
"IsAksDeploy": true,
"CorsAllowedOrigins": [
"http://localhost:3000",
"http://lcu-internal.com",
"https://lcu-internal.com",
"https://qa-api.lcu-internal.com"
]
},
"NotificationApiConfiguration": {
"Url": "https://qa-notificationsapi.lcu-internal.com",
},
"FeatureManagement": {
"GetDocumentCheckOwnership": true
}
}
@@ -0,0 +1,5 @@
resources:
- configmap.yaml
- ../common
patchesStrategicMerge:
- set_virtual_service.yaml
@@ -0,0 +1,8 @@
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: document-api
spec:
hosts:
- qa-document-api.apps.azure.lcu-internal.com
@@ -0,0 +1,8 @@
resources:
- ../../../base
patchesStrategicMerge:
- set_appsettings_deployment.yaml
- set_secrets_provider_class.yaml
images:
- name: document-api
newName: landmarkcu/lcu.api.internal.document-document
@@ -0,0 +1,12 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: document-api
spec:
template:
spec:
containers:
- name: document-api
env:
- name: ASPNETCORE_ENVIRONMENT
value: "Production"
@@ -0,0 +1,9 @@
---
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: document-api-csi-key-vault-secrets-provider
spec:
parameters:
userAssignedIdentityID: 9eaefc49-e5d3-48d4-a2b9-b42cf2d8ca03
keyvaultName: kv-lz-apps-prod-uscz
@@ -0,0 +1,2 @@
resources:
- normal
@@ -0,0 +1,24 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: documentapi-configmap
data:
primary.json: |
{
"AzureKeyVaultUrl": "prd-DocumentApi-kv",
"Primary": {
"SeqUrl": "https://seq.lcu-internal.com",
"IsAksDeploy": true,
"CorsAllowedOrigins": [
"http://lcu-internal.com",
"https://lcu-internal.com",
"https://api.lcu-internal.com"
]
},
"NotificationApiConfiguration": {
"Url": "https://prd-notifications-api.apps.azure.lcu-internal.com",
},
"FeatureManagement": {
"GetDocumentCheckOwnership": true
}
}
@@ -0,0 +1,5 @@
resources:
- configmap.yaml
- ../common
patchesStrategicMerge:
- set_virtual_service.yaml
@@ -0,0 +1,8 @@
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: document-api
spec:
hosts:
- prd-document-api.apps.azure.lcu-internal.com
@@ -0,0 +1,8 @@
resources:
- ../../../base
patchesStrategicMerge:
- set_appsettings_deployment.yaml
- set_secrets_provider_class.yaml
images:
- name: document-api
newName: landmarkcu/lcu.api.internal.document-document
@@ -0,0 +1,12 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: document-api
spec:
template:
spec:
containers:
- name: document-api
env:
- name: ASPNETCORE_ENVIRONMENT
value: "Development"
@@ -0,0 +1,9 @@
---
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: document-api-csi-key-vault-secrets-provider
spec:
parameters:
userAssignedIdentityID: 3286ed9a-f85c-4c50-b742-dbd3c1c3fe1f
keyvaultName: kv-lz-apps-qa-uscz
@@ -0,0 +1,2 @@
resources:
- normal
@@ -0,0 +1,25 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: documentapi-configmap
data:
primary.json: |
{
"AzureKeyVaultUrl": "qa-DocumentApi-kv",
"Primary": {
"SeqUrl": "https://qa-seq.lcu-internal.com",
"IsAksDeploy": true,
"CorsAllowedOrigins": [
"http://localhost:3000",
"http://lcu-internal.com",
"https://lcu-internal.com",
"https://qa-api.lcu-internal.com"
]
},
"NotificationApiConfiguration": {
"Url": "https://qa-notifications-api.apps.azure.lcu-internal.com",
},
"FeatureManagement": {
"GetDocumentCheckOwnership": true
}
}
@@ -0,0 +1,5 @@
resources:
- configmap.yaml
- ../common
patchesStrategicMerge:
- set_virtual_service.yaml
@@ -0,0 +1,8 @@
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: document-api
spec:
hosts:
- qa-document-api.apps.azure.lcu-internal.com
@@ -0,0 +1,8 @@
resources:
- ../../../base
patchesStrategicMerge:
- set_appsettings_deployment.yaml
- set_secrets_provider_class.yaml
images:
- name: document-api
newName: landmarkcu/lcu.api.internal.document-document
@@ -0,0 +1,12 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: document-api
spec:
template:
spec:
containers:
- name: document-api
env:
- name: ASPNETCORE_ENVIRONMENT
value: "Staging"
@@ -0,0 +1,9 @@
---
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: document-api-csi-key-vault-secrets-provider
spec:
parameters:
userAssignedIdentityID: 64ba01ed-1ecc-4c9b-b56e-8d618f2b81ce
keyvaultName: kv-lz-apps-uat-uscz
@@ -0,0 +1,2 @@
resources:
- normal
@@ -0,0 +1,25 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: documentapi-configmap
data:
primary.json: |
{
"AzureKeyVaultUrl": "uat-DocumentApi-kv",
"Primary": {
"SeqUrl": "https://uat-seq.lcu-internal.com",
"IsAksDeploy": true,
"CorsAllowedOrigins": [
"http://localhost:3000",
"http://lcu-internal.com",
"https://lcu-internal.com",
"https://uat-api.lcu-internal.com"
]
},
"NotificationApiConfiguration": {
"Url": "https://uat-notifications-api.apps.azure.lcu-internal.com",
},
"FeatureManagement": {
"GetDocumentCheckOwnership": true
}
}
@@ -0,0 +1,5 @@
resources:
- configmap.yaml
- ../common
patchesStrategicMerge:
- set_virtual_service.yaml
@@ -0,0 +1,8 @@
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: document-api
spec:
hosts:
- uat-document-api.apps.azure.lcu-internal.com