This commit is contained in:
Zeeshaun
2026-03-17 11:20:00 -05:00
parent 6e7edcfe1b
commit de9ddd5001
130 changed files with 268474 additions and 0 deletions
@@ -0,0 +1,44 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: collections-api
spec:
replicas: 1
selector:
matchLabels:
app: collections-api
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
app: collections-api
spec:
volumes: []
containers:
- name: collections-api
env: []
volumeMounts: []
image: collections-api
resources:
limits:
memory: "1536Mi"
cpu: "500m"
ports:
- containerPort: 80
livenessProbe:
initialDelaySeconds: 5
periodSeconds: 5
httpGet:
path: /api/status
port: 80
readinessProbe:
initialDelaySeconds: 5
periodSeconds: 5
httpGet:
path: /api/status
port: 80
@@ -0,0 +1,11 @@
---
apiVersion: v1
kind: Service
metadata:
name: collections-api
spec:
selector:
app: collections-api
ports:
- port: 80
targetPort: 80
@@ -0,0 +1,9 @@
resources:
- Deployment.yaml
- Service.yaml
- virtual-service.yaml
- secrets-provider-class.yaml
images:
- name: collections-api
newName: landmarkcu/lcu.api.internal.collections-collections
@@ -0,0 +1,12 @@
---
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: collections-api-csi-key-vault-secrets-provider
spec:
provider: azure
parameters:
usePodIdentity: "false"
useVMManagedIdentity: "true"
tenantId: 63cd1554-2783-4a86-ae50-b9e6c21c9499
@@ -0,0 +1,19 @@
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: collections-api
spec:
hosts: []
gateways:
- istio-system/ingress-gateway
http:
- name: collections-api
match:
- uri:
prefix: /
route:
- destination:
host: collections-api
port:
number: 80
@@ -0,0 +1,10 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component
patches:
- target:
kind: Deployment
path: set_secrets_deployment.yaml
- target:
kind: SecretProviderClass
path: set_secrets_provider.yaml
@@ -0,0 +1,33 @@
- op: add
path: /spec/template/spec/volumes/-
value:
name: collections-api-secrets
csi:
driver: secrets-store.csi.k8s.io
readOnly: true
volumeAttributes:
secretProviderClass: normal-collections-api-csi-key-vault-secrets-provider
- op: add
path: /spec/template/spec/containers/0/volumeMounts/-
value:
name: collections-api-secrets
mountPath: /vault/secrets/collections-api-seq-api-key.json
readOnly: true
subPath: collections-api-seq-api-key
- op: add
path: /spec/template/spec/containers/0/volumeMounts/-
value:
name: collections-api-secrets
mountPath: /vault/secrets/collections-api-temenos-user.json
readOnly: true
subPath: collections-api-temenos-user
- op: add
path: /spec/template/spec/containers/0/volumeMounts/-
value:
name: collections-api-secrets
mountPath: /vault/secrets/collections-api-temenos-password.json
readOnly: true
subPath: collections-api-temenos-password
@@ -0,0 +1,16 @@
- op: add
path: /spec/parameters/objects
value: |
array:
- |
objectName: collections-api-seq-api-key
objectType: secret
objectVersion: ""
- |
objectName: collections-api-temenos-user
objectType: secret
objectVersion: ""
- |
objectName: collections-api-temenos-password
objectType: secret
objectVersion: ""
@@ -0,0 +1,40 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component
#Test istio process
namePrefix: normal-
configMapGenerator:
- name: collections-api-appsettings
files:
- appsettings/appsettings.json
generatorOptions:
disableNameSuffixHash: true
patches:
- target:
kind: Deployment
path: set_appsettings_deployment.yaml
replacements:
- source:
kind: Deployment
fieldPath: metadata.name
targets:
- select:
kind: Deployment
fieldPaths:
- spec.selector.matchLabels.app
- spec.template.metadata.labels.app
- spec.template.spec.containers.*.name
- select:
kind: Service
fieldPaths:
- spec.selector.app
- select:
kind: VirtualService
fieldPaths:
- spec.http.*.route.*.destination.host
- spec.http.*.name
@@ -0,0 +1,12 @@
- op: add
path: /spec/template/spec/volumes/-
value:
name: volume-appsettings
configMap:
name: collections-api-appsettings
- op: add
path: /spec/template/spec/containers/0/volumeMounts/-
value:
name: volume-appsettings
mountPath: /app/config/workload-appsettings
@@ -0,0 +1,8 @@
resources:
- ../../../base
patchesStrategicMerge:
- set_appsettings_deployment.yaml
- set_secrets_provider_class.yaml
images:
- name: collections-api
newName: landmarkcu/lcu.api.internal.collections-collections
@@ -0,0 +1,12 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: collections-api
spec:
template:
spec:
containers:
- name: collections-api
env:
- name: ASPNETCORE_ENVIRONMENT
value: "Development"
@@ -0,0 +1,9 @@
---
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: collections-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,19 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: collections-configmap
data:
primary.json: |
{
"Primary": {
"SeqUrl": "https://qa-seq.lcu-internal.com",
"CorsAllowedOrigins": [
"http://localhost:3000",
"http://lcu-internal.com",
"https://lcu-internal.com",
"https://qa-api.lcu-internal.com",
"https://uat-api.lcu-internal.com",
"https://api.lcu-internal.com"
]
}
}
@@ -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: collections-api
spec:
hosts:
- qa-collections-api.apps.azure.lcu-internal.com
@@ -0,0 +1,9 @@
{
"TemenosApiWrapperConfiguration": {
"TemenosApiWrapperUrl": "https://prd-temenos-api-wrapper-api.apps.azure.lcu-internal.com"
},
"primary": {
"SeqUrl": "https://seq.lcu-internal.com",
"TemenosUrl": "https://lms-app-lcu.temenoscloudna.com"
}
}
@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component
patches:
- target:
kind: SecretProviderClass
path: set_secrets_provider_class.yaml
@@ -0,0 +1,7 @@
- op: add
path: /spec/parameters/userAssignedIdentityID
value: 3286ed9a-f85c-4c50-b742-dbd3c1c3fe1f
- op: add
path: /spec/parameters/keyvaultName
value: kv-lz-apps-qa-uscz
@@ -0,0 +1,14 @@
resources:
- normal
configMapGenerator:
- name: collections-api-environment-appsettings
files:
- appsettings/appsettings.json
generatorOptions:
disableNameSuffixHash: true
patches:
- target:
kind: Deployment
path: set_configmap_deployment.yaml
@@ -0,0 +1,12 @@
resources:
- ../../../base
components:
- ../component
- ../../../components/keyvaults/normal
- ../../../components/workloads/normal
patches:
- target:
kind: VirtualService
path: set_virtual_service.yaml
@@ -0,0 +1,3 @@
- op: add
path: /spec/hosts/-
value: prd-collections-api.apps.azure.lcu-internal.com
@@ -0,0 +1,12 @@
- op: add
path: /spec/template/spec/volumes/-
value:
name: volume-environment-appsettings
configMap:
name: collections-api-environment-appsettings
- op: add
path: /spec/template/spec/containers/0/volumeMounts/-
value:
name: volume-environment-appsettings
mountPath: /app/config/environment-appsettings
@@ -0,0 +1,9 @@
{
"TemenosApiWrapperConfiguration": {
"TemenosApiWrapperUrl": "https://qa-temenos-api-wrapper-api.apps.azure.lcu-internal.com",
},
"primary": {
"SeqUrl": "https://qa-seq.lcu-internal.com",
"TemenosUrl": "https://lms-test-dmz-lcu.temenoscloudna.com"
}
}
@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component
patches:
- target:
kind: SecretProviderClass
path: set_secrets_provider_class.yaml
@@ -0,0 +1,7 @@
- op: add
path: /spec/parameters/userAssignedIdentityID
value: 3286ed9a-f85c-4c50-b742-dbd3c1c3fe1f
- op: add
path: /spec/parameters/keyvaultName
value: kv-lz-apps-qa-uscz
@@ -0,0 +1,14 @@
resources:
- normal
configMapGenerator:
- name: collections-api-environment-appsettings
files:
- appsettings/appsettings.json
generatorOptions:
disableNameSuffixHash: true
patches:
- target:
kind: Deployment
path: set_configmap_deployment.yaml
@@ -0,0 +1,12 @@
resources:
- ../../../base
components:
- ../component
- ../../../components/keyvaults/normal
- ../../../components/workloads/normal
patches:
- target:
kind: VirtualService
path: set_virtual_service.yaml
@@ -0,0 +1,3 @@
- op: add
path: /spec/hosts/-
value: qa-collections-api.apps.azure.lcu-internal.com
@@ -0,0 +1,12 @@
- op: add
path: /spec/template/spec/volumes/-
value:
name: volume-environment-appsettings
configMap:
name: collections-api-environment-appsettings
- op: add
path: /spec/template/spec/containers/0/volumeMounts/-
value:
name: volume-environment-appsettings
mountPath: /app/config/environment-appsettings
@@ -0,0 +1,9 @@
{
"TemenosApiWrapperConfiguration": {
"TemenosApiWrapperUrl": "https://uat-temenos-api-wrapper-api.apps.azure.lcu-internal.com"
},
"primary": {
"SeqUrl": "https://uat-seq.lcu-internal.com",
"TemenosUrl": "https://lms-stg-dmz-lcu.temenoscloudna.com"
}
}
@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component
patches:
- target:
kind: SecretProviderClass
path: set_secrets_provider_class.yaml
@@ -0,0 +1,7 @@
- op: add
path: /spec/parameters/userAssignedIdentityID
value: 3286ed9a-f85c-4c50-b742-dbd3c1c3fe1f
- op: add
path: /spec/parameters/keyvaultName
value: kv-lz-apps-qa-uscz
@@ -0,0 +1,14 @@
resources:
- normal
configMapGenerator:
- name: collections-api-environment-appsettings
files:
- appsettings/appsettings.json
generatorOptions:
disableNameSuffixHash: true
patches:
- target:
kind: Deployment
path: set_configmap_deployment.yaml
@@ -0,0 +1,12 @@
resources:
- ../../../base
components:
- ../component
- ../../../components/keyvaults/normal
- ../../../components/workloads/normal
patches:
- target:
kind: VirtualService
path: set_virtual_service.yaml
@@ -0,0 +1,3 @@
- op: add
path: /spec/hosts/-
value: uat-collections-api.apps.azure.lcu-internal.com
@@ -0,0 +1,12 @@
- op: add
path: /spec/template/spec/volumes/-
value:
name: volume-environment-appsettings
configMap:
name: collections-api-environment-appsettings
- op: add
path: /spec/template/spec/containers/0/volumeMounts/-
value:
name: volume-environment-appsettings
mountPath: /app/config/environment-appsettings