This commit is contained in:
Zeeshaun
2026-03-17 09:53:09 -05:00
parent cdcba54aa4
commit 1a0702a79a
590 changed files with 62058 additions and 0 deletions
@@ -0,0 +1,98 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: incentive-manager-api
spec:
replicas: 1
selector:
matchLabels:
app: incentive-manager-api
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
app: incentive-manager-api
spec:
containers:
- name: incentive-manager-api
image: incentive-manager-api
resources:
limits:
memory: "10Gi"
requests:
memory: "10Gi"
cpu: "40m"
ports:
- containerPort: 8080
livenessProbe:
initialDelaySeconds: 5
periodSeconds: 5
httpGet:
path: /api/status
port: 8080
readinessProbe:
initialDelaySeconds: 5
periodSeconds: 5
httpGet:
path: /api/status
port: 8080
volumeMounts:
- name: volume-lcu-internal-cert
mountPath: /etc/ssl/certs/lcu-internal-cert.pem
subPath: lcu-internal-cert.pem
- name: volume-appsettings
mountPath: /app/config/mapped-appsettings
- name: incentive-manager-api-secrets
mountPath: /vault/secrets/incentive-manager-api-mass-queue-password.json
subPath: incentive-manager-api-mass-queue-password
readOnly: true
- name: incentive-manager-api-secrets
mountPath: /vault/secrets/incentive-manager-api-mass-queue-username.json
subPath: incentive-manager-api-mass-queue-username
readOnly: true
- name: incentive-manager-api-secrets
mountPath: /vault/secrets/incentive-manager-api-dayforce-username.json
subPath: incentive-manager-api-dayforce-username
readOnly: true
- name: incentive-manager-api-secrets
mountPath: /vault/secrets/incentive-manager-api-dayforce-password.json
subPath: incentive-manager-api-dayforce-password
readOnly: true
- name: incentive-manager-api-secrets
mountPath: /vault/secrets/incentive-manager-api-seq-api-key.json
subPath: incentive-manager-api-seq-api-key
readOnly: true
- name: incentive-manager-api-secrets
mountPath: /vault/secrets/incentive-manager-api-db-connection.json
subPath: incentive-manager-api-db-connection
readOnly: true
- name: incentive-manager-api-secrets
mountPath: /vault/secrets/incentive-manager-api-azure-valid-audience.json
subPath: incentive-manager-api-azure-valid-audience
readOnly: true
- name: incentive-manager-api-secrets
mountPath: /vault/secrets/incentive-manager-api-azure-client-id.json
subPath: incentive-manager-api-azure-client-id
readOnly: true
- name: incentive-manager-api-secrets
mountPath: /vault/secrets/incentive-manager-api-azure-tenant-id.json
subPath: incentive-manager-api-azure-tenant-id
readOnly: true
volumes:
- name: incentive-manager-api-secrets
csi:
driver: secrets-store.csi.k8s.io
readOnly: true
volumeAttributes:
secretProviderClass: incentive-manager-api-csi-key-vault-secrets-provider
- name: volume-lcu-internal-cert
configMap:
name: configmap-lcu-internal-cert
- name: volume-appsettings
configMap:
name: incentivemanagerapi-configmap
@@ -0,0 +1,11 @@
---
apiVersion: v1
kind: Service
metadata:
name: incentive-manager-api
spec:
selector:
app: incentive-manager-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,49 @@
---
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: incentive-manager-api-csi-key-vault-secrets-provider
spec:
provider: azure
parameters:
usePodIdentity: "false"
useVMManagedIdentity: "true"
tenantId: 63cd1554-2783-4a86-ae50-b9e6c21c9499
objects: |
array:
- |
objectName: incentive-manager-api-azure-tenant-id
objectType: secret
objectVersion: ""
- |
objectName: incentive-manager-api-azure-client-id
objectType: secret
objectVersion: ""
- |
objectName: incentive-manager-api-azure-valid-audience
objectType: secret
objectVersion: ""
- |
objectName: incentive-manager-api-db-connection
objectType: secret
objectVersion: ""
- |
objectName: incentive-manager-api-seq-api-key
objectType: secret
objectVersion: ""
- |
objectName: incentive-manager-api-dayforce-username
objectType: secret
objectVersion: ""
- |
objectName: incentive-manager-api-dayforce-password
objectType: secret
objectVersion: ""
- |
objectName: incentive-manager-api-mass-queue-username
objectType: secret
objectVersion: ""
- |
objectName: incentive-manager-api-mass-queue-password
objectType: secret
objectVersion: ""
@@ -0,0 +1,18 @@
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: incentive-manager-api
spec:
gateways:
- istio-system/ingress-gateway
http:
- name: incentive-manager-api
match:
- uri:
prefix: /
route:
- destination:
host: incentive-manager-api
port:
number: 8080
@@ -0,0 +1,8 @@
resources:
- ../../../base
patchesStrategicMerge:
- set_appsettings_deployment.yaml
- set_secrets_provider_class.yaml
images:
- name: incentive-manager-api
newName: landmarkcu/lcu.api.internal.incentivemanagerapi-incentivemanagerapi
@@ -0,0 +1,12 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: incentive-manager-api
spec:
template:
spec:
containers:
- name: incentive-manager-api
env:
- name: ASPNETCORE_ENVIRONMENT
value: "Development"
@@ -0,0 +1,9 @@
---
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: incentive-manager-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,78 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: incentivemanagerapi-configmap
data:
primary.json: |
{
"AzureActiveDirectory": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "landmarkcu.com"
},
"Primary": {
"SeqUrl": "https://qa-seq.lcu-internal.com",
"ApplicationDbIntegrityCronSchedule": "0 0 * * *",
"IncentiveManagerClientUrl": "https://qa-incentive-manager.apps.azure.lcu-internal.com",
"FeatureGates": {
"EnableControllers": true
},
"FeatureFlags": {
"RunApplicationDbIntegrityHostedService": true,
"RunImportCreditCardSalesConsumer": true,
"RunImportIndirectVehicleSalesConsumer": true,
"RunActionCreditCardProcessConsumer": true,
"RunActionVehicleProcessConsumer": true,
"RunIncentiveProcessesConsumer": true,
"RunNightlyIncentiveProcessesConsumer": true,
"RunReportingProcessConsumer": true,
"RunGoalDispersalProcessConsumer": true,
"RunPayoutIncentiveProcessConsumer": true,
"RunDayforceSyncProcessConsumer": true,
"RunGapMbpProcessConsumer": true
}
},
"SqlConnectionConfiguration": {
"MaxRetryCount": 5,
"MaxRetryDelay": "0.00:00:30"
},
"EmailRecipientsConfiguration": {
"TransferRequestInitiatedNotification": [
"[email protected]",
"[email protected]",
"[email protected]"
],
"OverrideRecipients": true
},
"ReportConfiguration": {
"ReportConfigs": [
{
"Url": "https://d2dtbetl01q.lcu-internal.com/reports/report/IncentiveManager/IncentiveManagerActivities"
},
{
"Url": "https://d2dtbetl01q.lcu-internal.com/reports/report/IncentiveManager/Admin/IncentiveManagerAssociateRecord"
},
{
"Url": "https://d2dtbetl01q.lcu-internal.com/reports/report/IncentiveManager/Admin/IncentiveManagerAudit"
},
{
"Url": "https://d2dtbetl01q.lcu-internal.com/reports/report/IncentiveManager/IncentiveManagerGoalProgress"
},
{
"Url": "https://d2dtbetl01q.lcu-internal.com/reports/report/IncentiveManager/Admin/IncentiveManagerPayout"
}
]
},
"ConnectionConfiguration": {
"HostUrl": "localhost"
},
"CoreApiWrapperConfiguration": {
"Url": "https://qa-core-api-wrapper-api.apps.azure.lcu-internal.com/api/core/"
},
"FileOperationsApiConfiguration": {
"Url": "https://qa-fileoperationsapi.lcu-internal.com",
"RetryCount": 1
},
"NotificationApiConfiguration": {
"Url": "https://qa-notificationsapi.lcu-internal.com/api/"
}
}
@@ -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: incentive-manager-api
spec:
hosts:
- qa-incentive-manager-api.apps.azure.lcu-internal.com
@@ -0,0 +1,8 @@
resources:
- ../../../base
patchesStrategicMerge:
- set_appsettings_deployment.yaml
- set_secrets_provider_class.yaml
images:
- name: incentive-manager-api
newName: landmarkcu/lcu.api.internal.incentivemanagerapi-incentivemanagerapi
@@ -0,0 +1,12 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: incentive-manager-api
spec:
template:
spec:
containers:
- name: incentive-manager-api
env:
- name: ASPNETCORE_ENVIRONMENT
value: "Production"
@@ -0,0 +1,9 @@
---
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: incentive-manager-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,81 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: incentivemanagerapi-configmap
data:
primary.json: |
{
"AzureActiveDirectory": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "landmarkcu.com"
},
"Primary": {
"SeqUrl": "https://seq.lcu-internal.com",
"ApplicationDbIntegrityCronSchedule": "0 0 * * *",
"IncentiveManagerClientUrl": "https://prd-incentive-manager.apps.azure.lcu-internal.com",
"FeatureGates": {
"EnableControllers": true
},
"FeatureFlags": {
"RunApplicationDbIntegrityHostedService": true,
"RunImportCreditCardSalesConsumer": true,
"RunImportIndirectVehicleSalesConsumer": true,
"RunActionCreditCardProcessConsumer": true,
"RunActionVehicleProcessConsumer": true,
"RunIncentiveProcessesConsumer": true,
"RunNightlyIncentiveProcessesConsumer": true,
"RunReportingProcessConsumer": true,
"RunGoalDispersalProcessConsumer": true,
"RunPayoutIncentiveProcessConsumer": true,
"RunDayforceSyncProcessConsumer": true,
"RunGapMbpProcessConsumer": true
}
},
"DayForceConfiguration": {
"DayForceManualReportRecipients": [
"[email protected]"
]
},
"SqlConnectionConfiguration": {
"MaxRetryCount": 5,
"MaxRetryDelay": "0.00:00:30"
},
"EmailRecipientsConfiguration": {
"TransferRequestInitiatedNotification": [
"[email protected]"
],
"OverrideRecipients": false
},
"ReportConfiguration": {
"ReportConfigs": [
{
"Url": "https://d2dtbetl01p.lcu-internal.com/reports/report/IncentiveManager/IncentiveManagerActivities"
},
{
"Url": "https://d2dtbetl01p.lcu-internal.com/reports/report/IncentiveManager/Admin/IncentiveManagerAssociateRecord"
},
{
"Url": "https://d2dtbetl01p.lcu-internal.com/reports/report/IncentiveManager/Admin/IncentiveManagerAudit"
},
{
"Url": "https://d2dtbetl01p.lcu-internal.com/reports/report/IncentiveManager/IncentiveManagerGoalProgress"
},
{
"Url": "https://d2dtbetl01p.lcu-internal.com/reports/report/IncentiveManager/Admin/IncentiveManagerPayout"
}
]
},
"ConnectionConfiguration": {
"HostUrl": "rabbitmq.lcu-internal.com"
},
"CoreApiWrapperConfiguration": {
"Url": "https://prd-core-api-wrapper-api.apps.azure.lcu-internal.com/api/core/"
},
"FileOperationsApiConfiguration": {
"Url": "https://fileoperationsapi.lcu-internal.com",
"RetryCount": 1
},
"NotificationApiConfiguration": {
"Url": "https://notificationsapi.lcu-internal.com/api/"
}
}
@@ -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: incentive-manager-api
spec:
hosts:
- prd-incentive-manager-api.apps.azure.lcu-internal.com
@@ -0,0 +1,8 @@
resources:
- ../../../base
patchesStrategicMerge:
- set_appsettings_deployment.yaml
- set_secrets_provider_class.yaml
images:
- name: incentive-manager-api
newName: landmarkcu/lcu.api.internal.incentivemanagerapi-incentivemanagerapi
@@ -0,0 +1,12 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: incentive-manager-api
spec:
template:
spec:
containers:
- name: incentive-manager-api
env:
- name: ASPNETCORE_ENVIRONMENT
value: "Development"
@@ -0,0 +1,9 @@
---
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: incentive-manager-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,85 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: incentivemanagerapi-configmap
data:
primary.json: |
{
"AzureActiveDirectory": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "landmarkcu.com"
},
"Primary": {
"SeqUrl": "https://qa-seq.lcu-internal.com",
"ApplicationDbIntegrityCronSchedule": "0 0 * * *",
"IncentiveManagerClientUrl": "https://qa-incentive-manager.apps.azure.lcu-internal.com",
"FeatureGates": {
"EnableControllers": true
},
"FeatureFlags": {
"RunApplicationDbIntegrityHostedService": true,
"RunImportCreditCardSalesConsumer": true,
"RunImportIndirectVehicleSalesConsumer": true,
"RunActionCreditCardProcessConsumer": true,
"RunActionVehicleProcessConsumer": true,
"RunIncentiveProcessesConsumer": true,
"RunNightlyIncentiveProcessesConsumer": true,
"RunReportingProcessConsumer": true,
"RunGoalDispersalProcessConsumer": true,
"RunPayoutIncentiveProcessConsumer": true,
"RunDayforceSyncProcessConsumer": true,
"RunGapMbpProcessConsumer": true
}
},
"DayForceConfiguration": {
"DayForceManualReportRecipients": [
"[email protected]",
"[email protected]",
"[email protected]"
]
},
"SqlConnectionConfiguration": {
"MaxRetryCount": 5,
"MaxRetryDelay": "0.00:00:30"
},
"EmailRecipientsConfiguration": {
"TransferRequestInitiatedNotification": [
"[email protected]",
"[email protected]",
"[email protected]"
],
"OverrideRecipients": true
},
"ReportConfiguration": {
"ReportConfigs": [
{
"Url": "https://d2dtbetl01q.lcu-internal.com/reports/report/IncentiveManager/IncentiveManagerActivities"
},
{
"Url": "https://d2dtbetl01q.lcu-internal.com/reports/report/IncentiveManager/Admin/IncentiveManagerAssociateRecord"
},
{
"Url": "https://d2dtbetl01q.lcu-internal.com/reports/report/IncentiveManager/Admin/IncentiveManagerAudit"
},
{
"Url": "https://d2dtbetl01q.lcu-internal.com/reports/report/IncentiveManager/IncentiveManagerGoalProgress"
},
{
"Url": "https://d2dtbetl01q.lcu-internal.com/reports/report/IncentiveManager/Admin/IncentiveManagerPayout"
}
]
},
"ConnectionConfiguration": {
"HostUrl": "qa-rabbitmq.lcu-internal.com"
},
"CoreApiWrapperConfiguration": {
"Url": "https://qa-core-api-wrapper-api.apps.azure.lcu-internal.com/api/core/"
},
"FileOperationsApiConfiguration": {
"Url": "https://qa-fileoperationsapi.lcu-internal.com",
"RetryCount": 1
},
"NotificationApiConfiguration": {
"Url": "https://qa-notificationsapi.lcu-internal.com/api/"
}
}
@@ -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: incentive-manager-api
spec:
hosts:
- qa-incentive-manager-api.apps.azure.lcu-internal.com
@@ -0,0 +1,8 @@
resources:
- ../../../base
patchesStrategicMerge:
- set_appsettings_deployment.yaml
- set_secrets_provider_class.yaml
images:
- name: incentive-manager-api
newName: landmarkcu/lcu.api.internal.incentivemanagerapi-incentivemanagerapi
@@ -0,0 +1,12 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: incentive-manager-api
spec:
template:
spec:
containers:
- name: incentive-manager-api
env:
- name: ASPNETCORE_ENVIRONMENT
value: "Staging"
@@ -0,0 +1,9 @@
---
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: incentive-manager-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,84 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: incentivemanagerapi-configmap
data:
primary.json: |
{
"AzureActiveDirectory": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "landmarkcu.com"
},
"Primary": {
"SeqUrl": "https://uat-seq.lcu-internal.com",
"ApplicationDbIntegrityCronSchedule": "0 0 * * *",
"IncentiveManagerClientUrl": "https://uat-incentive-manager.apps.azure.lcu-internal.com",
"FeatureGates": {
"EnableControllers": true
},
"FeatureFlags": {
"RunApplicationDbIntegrityHostedService": true,
"RunImportCreditCardSalesConsumer": true,
"RunImportIndirectVehicleSalesConsumer": true,
"RunActionCreditCardProcessConsumer": true,
"RunActionVehicleProcessConsumer": true,
"RunIncentiveProcessesConsumer": true,
"RunNightlyIncentiveProcessesConsumer": true,
"RunReportingProcessConsumer": true,
"RunGoalDispersalProcessConsumer": true,
"RunPayoutIncentiveProcessConsumer": true,
"RunDayforceSyncProcessConsumer": true,
"RunGapMbpProcessConsumer": true
}
},
"DayForceConfiguration": {
"DayForceManualReportRecipients": [
"[email protected]",
"[email protected]",
"[email protected]"
]
},
"SqlConnectionConfiguration": {
"MaxRetryCount": 5,
"MaxRetryDelay": "0.00:00:30"
},
"EmailRecipientsConfiguration": {
"TransferRequestInitiatedNotification": [
"[email protected]",
"[email protected]"
],
"OverrideRecipients": true
},
"ReportConfiguration": {
"ReportConfigs": [
{
"Url": "https://d2dtbetl01u.lcu-internal.com/reports/report/IncentiveManager/IncentiveManagerActivities"
},
{
"Url": "https://d2dtbetl01u.lcu-internal.com/reports/report/IncentiveManager/Admin/IncentiveManagerAssociateRecord"
},
{
"Url": "https://d2dtbetl01u.lcu-internal.com/reports/report/IncentiveManager/Admin/IncentiveManagerAudit"
},
{
"Url": "https://d2dtbetl01u.lcu-internal.com/reports/report/IncentiveManager/IncentiveManagerGoalProgress"
},
{
"Url": "https://d2dtbetl01u.lcu-internal.com/reports/report/IncentiveManager/Admin/IncentiveManagerPayout"
}
]
},
"ConnectionConfiguration": {
"HostUrl": "uat-rabbitmq.lcu-internal.com"
},
"CoreApiWrapperConfiguration": {
"Url": "https://uat-core-api-wrapper-api.apps.azure.lcu-internal.com/api/core/"
},
"FileOperationsApiConfiguration": {
"Url": "https://uat-fileoperationsapi.lcu-internal.com",
"RetryCount": 1
},
"NotificationApiConfiguration": {
"Url": "https://uat-notificationsapi.lcu-internal.com/api/"
}
}
@@ -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: incentive-manager-api
spec:
hosts:
- uat-incentive-manager-api.apps.azure.lcu-internal.com