Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: (IAC-1235) Update Default Project and Infrastructure Dependencies #114

Merged
merged 8 commits into from
Mar 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ RUN apt-get update && apt-get upgrade -y --no-install-recommends \

# Layers used for building/downloading/installing tools
FROM baseline as tool_builder
ARG HELM_VERSION=3.13.2
ARG KUBECTL_VERSION=1.27.9
ARG TERRAFORM_VERSION=1.6.6-*
ARG HELM_VERSION=3.14.2
ARG KUBECTL_VERSION=1.27.11
ARG TERRAFORM_VERSION=1.7.4-*

WORKDIR /build

Expand Down
16 changes: 8 additions & 8 deletions docs/CONFIG-VARS.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,11 @@ Terraform input variables can be set in the following ways:

| Name | Description | Type | Default | Notes |
| :--- | :--- | :--- | :--- | :--- |
| cluster_version | Kubernetes version | string | "1.27.9" | Valid values are listed here: [SAS Viya platform Supported Kubernetes Versions](https://documentation.sas.com/?cdcId=itopscdc&cdcVersion=default&docsetId=itopssr&docsetTarget=n1ika6zxghgsoqn1mq4bck9dx695.htm#p03v0o4maa8oidn1awe0w4xlxcf6). |
| cluster_version | Kubernetes version | string | "1.27.11" | Valid values are listed here: [SAS Viya platform Supported Kubernetes Versions](https://documentation.sas.com/?cdcId=itopscdc&cdcVersion=default&docsetId=itopssr&docsetTarget=n1ika6zxghgsoqn1mq4bck9dx695.htm#p03v0o4maa8oidn1awe0w4xlxcf6). |
| cluster_cni | Kubernetes container network interface (CNI) | string | "calico" | |
| cluster_cni_version | Kubernetes Container Network Interface (CNI) Version | string | "3.27.0" | |
| cluster_cni_version | Kubernetes Container Network Interface (CNI) Version | string | "3.27.2" | |
| cluster_cri | Kubernetes container runtime interface (CRI) | string | "containerd" | |
| cluster_cri_version | Version of the CRI specifed by `cluster_cri` to be installed | string | "1.6.26" | Set as an empty string to use the latest upstream version from the Docker APT repository. Currently only containerd is supported, see the [releases page](https://github.com/containerd/containerd/releases) for available versions |
| cluster_cri_version | Version of the CRI specifed by `cluster_cri` to be installed | string | "1.6.28" | Set as an empty string to use the latest upstream version from the Docker APT repository. Currently only containerd is supported, see the [releases page](https://github.com/containerd/containerd/releases) for available versions |
| cluster_service_subnet | Kubernetes service subnet | string | "10.43.0.0/16" | |
| cluster_pod_subnet | Kubernetes pod subnet | string | "10.42.0.0/16" | |
| cluster_domain | Cluster domain suffix for DNS | string | | |
Expand All @@ -82,7 +82,7 @@ Terraform input variables can be set in the following ways:

| Name | Description | Type | Default | Notes |
| :--- | :--- | :--- | :--- | :--- |
| cluster_vip_version | kube-vip version | string | "0.5.7" | Currently kube-vip is the only supported Kubernetes virtual IP address. The minimum supported version is 0.5.7. |
| cluster_vip_version | kube-vip version | string | "0.7.1" | Currently kube-vip is the only supported Kubernetes virtual IP address. The minimum supported version is 0.5.7. |
| cluster_vip_ip | kube-vip IP address | string | | IP address assigned to the FQDN value. You must access the cluster via the FQDN value supplied. |
| cluster_vip_fqdn | kube-vip DNS | string | | FQDN used in the creation of the kubeconfig file, which is used to access the cluster. |

Expand Down Expand Up @@ -353,16 +353,16 @@ The following variables are used to describe the machine targets for the SAS Viy
| prefix | A prefix used in the names of all the resources created by this script | string | | |
| deployment_type | Type of deployment to be performed | string | "bare_metal" | Specify `bare_metal` or `vsphere`. |
| kubernetes_cluster_name | Cluster name | string | "{{ prefix }}-oss" | This item is auto-filled. **ONLY** change the `prefix` value described previously. |
| kubernetes_version | Kubernetes version | string | "1.27.9" | Valid values are listed here: [Kubernetes Releases](https://kubernetes.io/releases/). |
| kubernetes_version | Kubernetes version | string | "1.27.11" | Valid values are listed here: [Kubernetes Releases](https://kubernetes.io/releases/). |
| kubernetes_upgrade_allowed | | bool | true | **NOTE:** Not currently used. |
| kubernetes_arch | | string | "{{ vm_arch }}" | This item is auto-filled. **ONLY** change the `vm_arch` value described previously. |
| kubernetes_cni | Kubernetes Container Network Interface (CNI) | string | "calico" | |
| kubernetes_cni_version | Kubernetes Container Network Interface (CNI) Version | string | "3.27.0" | |
| kubernetes_cni_version | Kubernetes Container Network Interface (CNI) Version | string | "3.27.2" | |
| kubernetes_cri | Kubernetes Container Runtime Interface (CRI) | string | "containerd" | |
| kubernetes_cri_version | Version of the CRI specifed by `kubernetes_cri` to be installed | string | "1.6.26" | Set as an empty string to use the latest upstream version from the Docker APT repository. Currently only containerd is supported, see the [releases page](https://github.com/containerd/containerd/releases) for available versions | |
| kubernetes_cri_version | Version of the CRI specifed by `kubernetes_cri` to be installed | string | "1.6.28" | Set as an empty string to use the latest upstream version from the Docker APT repository. Currently only containerd is supported, see the [releases page](https://github.com/containerd/containerd/releases) for available versions | |
| kubernetes_service_subnet | Kubernetes service subnet | string | "10.43.0.0/16" | |
| kubernetes_pod_subnet | Kubernetes pod subnet | string | "10.42.0.0/16" | |
| kubernetes_vip_version | kube-vip version | string | "0.5.7" | |
| kubernetes_vip_version | kube-vip version | string | "0.7.1" | |
| kubernetes_vip_ip | kube-vip IP address | string | | |
| kubernetes_vip_fqdn | kube-vip DNS | string | | |
| kubernetes_loadbalancer | Load balancer provider | string | "kube_vip" | Choices are `kube_vip` or `metallb`. |
Expand Down
18 changes: 9 additions & 9 deletions docs/REQUIREMENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,17 +203,17 @@ vsphere_network = "" # Name of the network to to use for the VMs
system_ssh_keys_dir = "~/.ssh" # Directory holding public keys to be used on each machine

# Kubernetes - Cluster
cluster_version = "1.27.9" # Kubernetes version
cluster_version = "1.27.11" # Kubernetes version
cluster_cni = "calico" # Kubernetes Container Network Interface (CNI)
cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version
cluster_cni_version = "3.27.2" # Kubernetes Container Network Interface (CNI) Version
cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI)
cluster_cri_version = "1.6.26" # Kubernetes Container Runtime Interface (CRI) Version
cluster_cri_version = "1.6.28" # Kubernetes Container Runtime Interface (CRI) Version
cluster_service_subnet = "10.35.0.0/16" # Kubernetes service subnet
cluster_pod_subnet = "10.36.0.0/16" # Kubernetes Pod subnet
cluster_domain = "sample.domain.foo.com" # Cluster domain suffix for DNS

# Kubernetes - Cluster VIP
cluster_vip_version = "0.5.7"
cluster_vip_version = "0.7.1"
cluster_vip_ip = "10.18.0.175"
cluster_vip_fqdn = "vm-dev-oss-vip.sample.domain.foo.com"

Expand Down Expand Up @@ -510,9 +510,9 @@ kubernetes_version : ""
kubernetes_upgrade_allowed : true
kubernetes_arch : "{{ vm_arch }}"
kubernetes_cni : "calico" # Choices : [calico]
kubernetes_cni_version : "3.27.0" # Choices : [3.27.0]
kubernetes_cni_version : "3.27.2" # Choices : [3.27.2]
kubernetes_cri : "containerd" # Choices : [containerd]
kubernetes_cri_version : "1.6.26" # Choices : [1.6.26]
kubernetes_cri_version : "1.6.28" # Choices : [1.6.28]
kubernetes_service_subnet : ""
kubernetes_pod_subnet : ""

Expand All @@ -524,7 +524,7 @@ kubernetes_pod_subnet : ""
# VIP IP : https://kube-vip.io/docs/installation/static/
# VIP Cloud Provider IP Range : https://kube-vip.io/docs/usage/cloud-provider/#the-kube-vip-cloud-provider-configmap
#
kubernetes_vip_version : "0.5.7"
kubernetes_vip_version : "0.7.1"
kubernetes_vip_ip : ""
kubernetes_vip_fqdn : ""

Expand Down Expand Up @@ -672,6 +672,6 @@ The third-party applications that are listed in the following table are supporte
| Application | Minimum Version |
| ---: | ---: |
| [Ansible](https://www.ansible.com/) | Core 2.16.1 |
| [Terraform](https://www.terraform.io/) | 1.6.6 |
| [Terraform](https://www.terraform.io/) | 1.7.4 |
| [Docker](https://www.docker.com/) | 20.10.17 |
| [Helm](https://helm.sh/) | 3.13.2 |
| [Helm](https://helm.sh/) | 3.14.2 |
42 changes: 21 additions & 21 deletions docs/user/Dependencies.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,26 @@ The following table details our dependencies and versions (~ indicates multiple

For dependency installation instructions and sources, links have been provided in the table below:

| SOURCE | NAME | VERSION |
|----------------|------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------|
| ~ | [python](https://www.python.org/downloads/) | >=3.10 |
| ~ | [pip](https://packaging.python.org/en/latest/guides/installing-using-linux-tools/#installing-pip-setuptools-wheel-with-linux-package-managers) | >=22.0 |
| ~ | [terraform](https://www.terraform.io/downloads) | >=1.4.5 |
| ~ | [docker](https://docs.docker.com/engine/install/) | >=20.10.17 |
| ~ | [helm](https://helm.sh/docs/intro/install/) | >=3 |
| ~ | [kubectl](https://kubernetes.io/docs/tasks/tools/) | 1.26 - 1.28 |
| ~ | [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) | any |
| ~ | [jq](https://jqlang.github.io/jq/download/) | >=1.6 |
| pip | ansible | 9.1.0 (ansible core v2.16.1) |
| pip | openshift | 0.13.1 |
| pip | kubernetes | 26.1.0 |
| pip | dnspython | 2.3.0 |
| pip | jmespath | 1.0.1 |
| ansible-galaxy | community.general | 5.6.0 |
| ansible-galaxy | community.postgresql | 2.2.0 |
| ansible-galaxy | kubernetes.core | 2.3.2 |
| ansible-galaxy | ansible.posix | 1.4.0 |
| ansible-galaxy | ansible.utils | 2.6.1 |
| SOURCE | NAME | VERSION |
|----------------|------------------------------------------------------------------------------------------------------------------------------------------------|-------------|
| ~ | [python](https://www.python.org/downloads/) | >=3.10 |
| ~ | [pip](https://packaging.python.org/en/latest/guides/installing-using-linux-tools/#installing-pip-setuptools-wheel-with-linux-package-managers) | >=22.0 |
| ~ | [terraform](https://www.terraform.io/downloads) | >=1.4.5 |
| ~ | [docker](https://docs.docker.com/engine/install/) | >=20.10.17 |
| ~ | [helm](https://helm.sh/docs/intro/install/) | >=3 |
| ~ | [kubectl](https://kubernetes.io/docs/tasks/tools/) | 1.26 - 1.28 |
| ~ | [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) | any |
| ~ | [jq](https://jqlang.github.io/jq/download/) | >=1.6 |
| pip | ansible-core | 2.16.4 |
| pip | openshift | 0.13.2 |
| pip | kubernetes | 27.2.0 |
| pip | dnspython | 2.6.1 |
| pip | jmespath | 1.0.1 |
| ansible-galaxy | community.general | 8.4.0 |
| ansible-galaxy | community.postgresql | 3.3.0 |
| ansible-galaxy | kubernetes.core | 2.4.0 |
| ansible-galaxy | ansible.posix | 1.5.4 |
| ansible-galaxy | ansible.utils | 2.12.0 |

Python dependencies can be installed via `pip` using the `requirements.txt` provided in this project

Expand Down Expand Up @@ -53,7 +53,7 @@ Example of using build arguments to control specific versions of dependencies in
```bash
# Override kubectl version
docker build \
--build-arg KUBECTL_VERSION=1.27.9 \
--build-arg KUBECTL_VERSION=1.27.11 \
-t viya4-iac-k8s .
```

Expand Down
6 changes: 3 additions & 3 deletions examples/bare-metal/sample-ansible-vars.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ kubernetes_version : ""
kubernetes_upgrade_allowed : true
kubernetes_arch : "{{ vm_arch }}"
kubernetes_cni : "calico" # Choices : [calico]
kubernetes_cni_version : "3.27.0" # Choices : [3.27.0]
kubernetes_cni_version : "3.27.2" # Choices : [3.27.2]
kubernetes_cri : "containerd" # Choices : [containerd]
kubernetes_cri_version : "1.6.26" # Choices : [1.6.26]
kubernetes_cri_version : "1.6.28" # Choices : [1.6.28]
kubernetes_service_subnet : ""
kubernetes_pod_subnet : ""

Expand All @@ -36,7 +36,7 @@ kubernetes_pod_subnet : ""
#
# VIP IP : https://kube-vip.io/docs/installation/static/
#
kubernetes_vip_version : "0.5.7"
kubernetes_vip_version : "0.7.1"
kubernetes_vip_ip : ""
kubernetes_vip_fqdn : ""

Expand Down
8 changes: 4 additions & 4 deletions examples/vsphere/sample-terraform-dhcp.tfvars
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,17 @@ vsphere_network = "" # Name of the network to to use for the VMs
system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on each system

# Kubernetes - Cluster
cluster_version = "1.27.9" # Kubernetes Version
cluster_version = "1.27.11" # Kubernetes Version
cluster_cni = "calico" # Kubernetes Container Network Interface (CNI)
cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version
cluster_cni_version = "3.27.2" # Kubernetes Container Network Interface (CNI) Version
cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI)
cluster_cri_version = "1.6.26" # Kubernetes Container Runtime Interface (CRI) Version
cluster_cri_version = "1.6.28" # Kubernetes Container Runtime Interface (CRI) Version
cluster_service_subnet = "10.43.0.0/16" # Kubernetes Service Subnet
cluster_pod_subnet = "10.42.0.0/16" # Kubernetes Pod Subnet
cluster_domain = "" # Cluster domain suffix for DNS

# Kubernetes - Cluster VIP
cluster_vip_version = "0.5.7"
cluster_vip_version = "0.7.1"
cluster_vip_ip = ""
cluster_vip_fqdn = ""

Expand Down
8 changes: 4 additions & 4 deletions examples/vsphere/sample-terraform-minimal.tfvars
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,17 @@ vsphere_network = "" # Name of the network to to use for the VMs
system_ssh_keys_dir = "~/.ssh/oss" # Directory holding public keys to be used on each system

# Kubernetes - Cluster
cluster_version = "1.27.9" # Kubernetes Version
cluster_version = "1.27.11" # Kubernetes Version
cluster_cni = "calico" # Kubernetes Container Network Interface (CNI)
cluster_cni_version = "3.27.0" # Kubernetes Container Network Interface (CNI) Version
cluster_cni_version = "3.27.2" # Kubernetes Container Network Interface (CNI) Version
cluster_cri = "containerd" # Kubernetes Container Runtime Interface (CRI)
cluster_cri_version = "1.6.26" # Kubernetes Container Runtime Interface (CRI) Version
cluster_cri_version = "1.6.28" # Kubernetes Container Runtime Interface (CRI) Version
cluster_service_subnet = "10.43.0.0/16" # Kubernetes Service Subnet
cluster_pod_subnet = "10.42.0.0/16" # Kubernetes Pod Subnet
cluster_domain = "" # Cluster domain suffix for DNS

# Kubernetes - Cluster VIP
cluster_vip_version = "0.5.7"
cluster_vip_version = "0.7.1"
cluster_vip_ip = ""
cluster_vip_fqdn = ""

Expand Down
Loading
Loading