This project contains Ansible code that creates a baseline in an existing Kubernetes environment for use with the SAS Viya Platform, generates the manifest for an order, and then can also deploy that order into the Kubernetes environment specified.
Apache License 2.0
71
stars
64
forks
source link
feat: (IAC-878) support external cds postgres #382
Along with the Crunchy 5 changes made in 2022.10, a blanket support statement was made that CDS Postgres should be internal only. Other teams now want to use CDS externally so allow DAC to configure and deployments to use external default and cds-postgres PostgreSQL instances for 2022.12 cadence and later.
Change message boundary to pre 2022.12 cadences for cds-postgres instance must be internal only
Generate user.env, secrets generator and dataserver-transformer for an external cds-postgres instance
Modify dataserver-transformer template so that it can generate sas-platform-postgres-dataserver-transformer and sas-cds-postgres-dataserver-transformer outputs with expected dataserver names
Include cds-postgres overlay for an external cds-postgres instance
Use SharedServices as default cds-postgres database name when no setting is provided
Tests
See internal ticket for additional details.
Scenario
Task
Provider
K8s
V4_DEPLOYMENT_OPERATOR_ENABLED
Deployment Method
Viya TLS
Cadence
Notes
2
External cds-postgres pre 2022.12
Azure
v1.23.14
false
Ansible
full-stack
2022.11
As expected DAC displays the following message and exits: "CDS postgres instance must be internal server. To use CDS postgres, please reconfigure your infrastructure to set all your postgres servers internal"
3
External cds-postgres 2022.12
Azure
v1.23.14
false
Ansible
full-stack
2022.12
As expected deployment is allowed, both default-dataserver-transformer, cds-postgres-dataserver-transformer are generated with expected content.
Deployment stabilized with all pods Running, configured the same custom db name in ansible-vars for each PG server
5
risk-cirrus, TLS disabled
AWS
1.23.14
false
Ansible
disabled
stable:2023.01
All sas-risk-cirrus pods stabilized and running. Verified sas-risk-data pod successful connection to external cds-postgres instance and SCHEMA creation.
7
risk-cirrus, TLS enabled
AWS
1.23.14
false
Ansible
front-door
stable:2023.01
Deployment stabilized, all sas-risk-cirrus-pods running. sas-risk-data pod log shows successful connection to ssl_enabled external cds-postgres instance and SCHEMA creation.
8
risk-cirrus, TLS enabled
Azure
1.24.6
false
Ansible
front-door
stable:2023.01
sas-risk-data pod log shows successful connection to external cds-postgres instance and SCHEMA creation. Deployment stabilized with all risk-cirrus pods Running.
9
risk-cirrus, Deployment Operator, TLS enabled
Azure
1.24.6
true
Ansible
front-door
stable:2023.01
DO enabled. Deployment stabilized, all sas-risk-cirrus-pods Running. sas-risk-data pod log showing successful connection to ssl_enabled external cds-postgres instance and SCHEMA creation.
Changes
Along with the Crunchy 5 changes made in 2022.10, a blanket support statement was made that CDS Postgres should be internal only. Other teams now want to use CDS externally so allow DAC to configure and deployments to use external default and cds-postgres PostgreSQL instances for 2022.12 cadence and later.
Tests
See internal ticket for additional details.