Skip to content

Commit b7e7446

Browse files
authored
Merge pull request #617 from sassoftware/staging
8.1.0 - April 7, 2025
2 parents effaeeb + 966b976 commit b7e7446

File tree

6 files changed

+51
-9
lines changed

6 files changed

+51
-9
lines changed

Dockerfile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,16 @@ RUN apt-get update && apt-get install --no-install-recommends -y gzip wget git j
3434
&& curl -ksLO https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 && chmod 755 get-helm-3 \
3535
&& ./get-helm-3 --version v$helm_version --no-sudo \
3636
# AWS
37-
&& curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-${aws_cli_version}.zip" -o "awscliv2.zip" \
37+
&& architecture=$(uname -m) \
38+
&& curl "https://awscli.amazonaws.com/awscli-exe-linux-${architecture}-${aws_cli_version}.zip" -o "awscliv2.zip" \
3839
&& unzip awscliv2.zip \
3940
&& ./aws/install \
4041
# AZURE
4142
&& curl -sL https://aka.ms/InstallAzureCLIDeb | bash \
4243
# GCP
4344
&& echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \
4445
&& curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - \
45-
&& apt-get update && apt-get install --no-install-recommends -y google-cloud-cli:amd64=${gcp_cli_version} \
46+
&& apt-get update && apt-get install --no-install-recommends -y google-cloud-cli:*=${gcp_cli_version} \
4647
&& apt-get install --no-install-recommends -y google-cloud-sdk-gke-gcloud-auth-plugin \
4748
&& apt-get clean \
4849
&& rm -rf /var/lib/apt/lists/*

README.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ The SAS Viya platform customizations that are managed by viya4-deployment are lo
185185

186186
#### Base kustomization.yaml ConfigMap and Secret Generators
187187

188-
In some scenarios, a README or the deployment documentation instructs you to add a `configMapGenerator` or `secretGenerator` entry to the base `kustomization.yaml` (also known as `$deploy/kustomization.yaml`). For example:
188+
In some scenarios, a README or the deployment documentation instructs you to add a `configMapGenerator` or `secretGenerator` entry to the base `kustomization.yaml` (`$deploy/kustomization.yaml`). For example:
189189

190190
```yaml
191191
configMapGenerator:
@@ -221,6 +221,26 @@ envs:
221221
- site-config/sas-risk-cirrus-rcc/configuration.env
222222
```
223223
224+
#### Base kustomization.yaml additions from sas-bases/overlays
225+
226+
In some scenarios, a README or the deployment documentation instructs you to add an entry to the base `kustomization.yaml` (`$deploy/kustomization.yaml`). For example:
227+
228+
```yaml
229+
transformers:
230+
...
231+
- sas-bases/overlays/backup/sas-scheduled-backup-incr-job-enable.yaml
232+
...
233+
```
234+
235+
In that scenario, create an `inject-sas-bases-overlays.yaml` file in a subdirectory under site-config. In the file, create the necessary category and add the entry to it:
236+
237+
```yaml
238+
transformers:
239+
- sas-bases/overlays/backup/sas-scheduled-backup-incr-job-enable.yaml
240+
```
241+
242+
Supported categories are `resources`, `components`, `transformers`, `generators`, and `configurations`. Multiple categories may appear in the file, and multiple entries may appear for each category.
243+
224244
#### OpenLDAP Customizations
225245

226246
The OpenLDAP setup that is described here is a temporary solution that enables you to add users and groups and to start using SAS Viya platform applications. The OpenLDAP server that is created using these instructions does not persist. It is created and destroyed within the SAS Viya platform namespace where it is created. To add users or groups that persist, follow the SAS documentation that describes how to [Configure an LDAP Identity Provider](https://documentation.sas.com/?cdcId=sasadmincdc&cdcVersion=default&docsetId=calids&docsetTarget=n1aw4xnkvwcddnn1mv8lxr2e4tu7.htm#p0spae4p1qoto3n1qpuzafcecxhh).

docs/CONFIG-VARS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ By default, two block storage StorageClasses are created using the driver, one f
414414
| INGRESS_NGINX_NAMESPACE | NGINX Ingress Helm installation namespace | string | ingress-nginx | false | | baseline |
415415
| INGRESS_NGINX_CHART_URL | NGINX Ingress Helm chart URL | string | See [this document](https://kubernetes.github.io/ingress-nginx) for more information. | false | | baseline |
416416
| INGRESS_NGINX_CHART_NAME | NGINX Ingress Helm chart name | string | ingress-nginx | false | | baseline |
417-
| INGRESS_NGINX_CHART_VERSION | NGINX Ingress Helm chart version | string | "" | false | If left as "" (empty string), version `4.12.0` is used for Kubernetes clusters whose version is >= 1.28.X, for Kubernetes clusters whose version is <= 1.27.X you must set this variable to avoid errors. See [Supported Versions table](https://github.com/kubernetes/ingress-nginx/?tab=readme-ov-file#supported-versions-table) for the supported versions list. | baseline |
417+
| INGRESS_NGINX_CHART_VERSION | NGINX Ingress Helm chart version | string | "" | false | If left as "" (empty string), version `4.12.1` is used for Kubernetes clusters whose version is >= 1.28.X, for Kubernetes clusters whose version is <= 1.27.X you must set this variable to avoid errors. See [Supported Versions table](https://github.com/kubernetes/ingress-nginx/?tab=readme-ov-file#supported-versions-table) for the supported versions list. | baseline |
418418
| INGRESS_NGINX_CONFIG | NGINX Ingress Helm values | string | See [this file](../roles/baseline/defaults/main.yml) for more information. Altering this value will affect the cluster. | false | | baseline |
419419

420420
### Metrics Server

roles/baseline/defaults/main.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ ingressVersions:
3636
k8sMinorVersion:
3737
value: 28
3838
api:
39-
chartVersion: 4.12.0
39+
chartVersion: 4.12.1
40+
chartVersionMin: 4.0.17
4041

4142
## Ingress-nginx - Ingress
4243
##

roles/baseline/tasks/ingress-nginx.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,7 @@
7878
set_fact:
7979
INGRESS_NGINX_CONFIG: "{{ INGRESS_NGINX_CONFIG | combine(INGRESS_NGINX_CVE_2021_25742_PATCH, recursive=True) }}"
8080
when:
81-
- cluster_info.version.server.kubernetes.minor is version(ingressVersions.k8sMinorVersion.value, 'ge')
82-
- INGRESS_NGINX_CHART_VERSION is version('4.0.10', ">=") or (INGRESS_NGINX_CHART_VERSION is version('3.40.0', ">=") and INGRESS_NGINX_CHART_VERSION is version('4.0.0',
83-
"<"))
81+
- INGRESS_NGINX_CHART_VERSION is version(ingressVersions.k8sMinorVersion.api.chartVersionMin, ">=")
8482

8583
- name: Disable strict_validate_path_type in INGRESS_NGINX_CONFIG
8684
set_fact:

roles/vdm/library/siteconfig_info.py

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright © 2020-2024, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.
2+
# Copyright © 2020-2025, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.
33
# SPDX-License-Identifier: Apache-2.0
44
#
55
from ansible.module_utils.basic import *
@@ -55,8 +55,30 @@ def addResource(self, yamlfile):
5555
elif "nameReference" in yamlblocks[0]:
5656
self.add_overlays(Overlay.CONFIGURATION, yamlfile)
5757

58+
def processSasBasesOverlays(self, folder):
59+
sasBasesOverlaysPath = os.path.join(folder, "inject-sas-bases-overlays.yaml")
60+
if os.path.exists(sasBasesOverlaysPath):
61+
with open(sasBasesOverlaysPath) as file:
62+
try:
63+
yamlblock = yaml.safe_load(file)
64+
for blockName, entries in yamlblock.items():
65+
if isinstance(entries, list):
66+
try:
67+
overlay = Overlay(blockName)
68+
except ValueError:
69+
continue
70+
requiredPrefix = "sas-bases/overlays/"
71+
for entry in entries:
72+
if entry.startswith(requiredPrefix):
73+
self.add_overlays(overlay, entry)
74+
else:
75+
raise ValueError(f"Invalid {blockName} entry in {sasBasesOverlaysPath}: '{entry}'. Valid entries must start with '{requiredPrefix}'")
76+
except yaml.YAMLError as exc:
77+
raise RuntimeError(f"Error parsing {sasBasesOverlaysPath} as yaml") from exc
5878

5979
def traverse(self, folder):
80+
self.processSasBasesOverlays(folder)
81+
6082
if os.path.exists(os.path.join(folder, "kustomization.yaml")) or os.path.exists(os.path.join(folder, "kustomization.yml")):
6183
kustomizefile = "kustomization.yaml" if os.path.exists(os.path.join(folder, "kustomization.yaml")) else "kustomization.yml"
6284
kustomizefilefullpath = os.path.join(folder, kustomizefile)

0 commit comments

Comments
 (0)