Skip to content

Commit

Permalink
Merge pull request #111 from sassoftware/staging
Browse files Browse the repository at this point in the history
3.8.0 - February 15, 2024
  • Loading branch information
jarpat authored Feb 15, 2024
2 parents fed43b3 + 41beecb commit 076fee5
Show file tree
Hide file tree
Showing 11 changed files with 218 additions and 14 deletions.
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
89 changes: 89 additions & 0 deletions .github/ISSUE_TEMPLATE/issue--bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: Bug Report
description: |
Welcome, Thanks for opening an issue. The more information you provide, the easier it is for us to assess the problem, prioritize, assign, develop, then release a fix. The SAS Viya 4 IaC team.
labels: [bug, new]
body:
- type: textarea
id: tf_version
attributes:
label: Terraform Version Details
description: |
We ask this to be sure you are currently running a supported terraform version from your work environment.
Run `./files/tools/iac_tooling_version.sh` to show the version
If you are not running the latest version of Terraform we support, please try upgrading because your issue may have already been fixed.
If you're not sure which versions are supported, here's a link : https://github.com/sassoftware/viya4-iac-k8s?tab=readme-ov-file#technical-prerequisites to help.
validations:
required: false
- type: textarea
id: tf_vars
attributes:
label: Terraform Variable File Details
description: |
Paste the relevant parts of your Terraform variables here.
The relevant parts should come from your `terraform.tfvars` file or equivalent and small snippets of the `*.tf` file/files that seem to be causing the error.
security reasons, do not copy and paste any sensitive information in this issue, like account information and passwords etc.
validations:
required: false
- type: textarea
id: iac_vars
attributes:
label: Ansible Variable File Details
description: |
Paste the relevant parts of your ansible-vars.yaml variables file or variable flag values here.
The relevant parts should come from your `ansible-vars.yaml` file or equivalent that seem to be causing the error.
For security reasons, do not copy and paste any sensitive information in this issue, like account information and passwords etc.
validations:
required: false
- type: textarea
id: tf_steps_to_reproduce
attributes:
label: Steps to Reproduce
description: Please list the full steps required to reproduce the issue
validations:
required: true
- type: textarea
id: tf_expected_behavior
attributes:
label: Expected Behavior
description: What should have happened?
validations:
required: true
- type: textarea
id: tf_actual_behavior
attributes:
label: Actual Behavior
description: |
What actually happened? Here you can include output and information from your terraform run.
validations:
required: true
- type: textarea
id: tf_additional_context
attributes:
label: Additional Context
description: |
Is there anything atypical about your situation that we should know? For example: Are you passing any unusual command line options or environment variables to opt-in to non-default behavior?
validations:
required: false
- type: input
id: tf_references
attributes:
label: References
description: |
Are there any other GitHub issues (open or closed) or Pull Requests that should be linked here?
validations:
required: false
- type: checkboxes
id: tf_terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/sassoftware/viya4-iac-k8s/blob/main/CODE_OF_CONDUCT.md)
options:
- label: I agree to follow this project's Code of Conduct
required: true
44 changes: 44 additions & 0 deletions .github/ISSUE_TEMPLATE/issue--feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Feature Request
description: |
Welcome, Thanks for opening a feature request. The more information you provide, the easier it is for us to assess your request, prioritize, assign, develop, and release. The SAS Viya 4 IaC team.
labels: [enhancement, new]
body:
- type: textarea
id: problem
attributes:
label: Is your feature request related to a problem? Please describe.
description: |
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
validations:
required: true
- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
description: |
A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Describe alternatives you've considered
description: |
A clear and concise description of any alternative solutions or features you've considered.
validations:
required: false
- type: textarea
id: additional
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
validations:
required: false
- type: checkboxes
id: tf_terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/sassoftware/viya4-iac-k8s/blob/main/CODE_OF_CONDUCT.md)
options:
- label: I agree to follow this project's Code of Conduct
required: true
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ RUN apt-get update && apt-get upgrade -y --no-install-recommends \
FROM baseline as tool_builder
ARG HELM_VERSION=3.13.2
ARG KUBECTL_VERSION=1.27.9
ARG TERRAFORM_VERSION=1.6.3-*
ARG TERRAFORM_VERSION=1.6.6-*

WORKDIR /build

Expand Down
7 changes: 1 addition & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,12 +98,7 @@ This project supports the following options for running the scripts in this repo

#### Script Requirements

The following software is required in order to run the SAS Viya IaC tools here on your local system:

- [Terraform](https://www.terraform.io/downloads) - v1.6.3
- [Ansible](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html) - v2.15.6
- [Docker](https://docs.docker.com/engine/install/) - v20.10.17
- [Helm](https://helm.sh/docs/intro/install/) - v3.13.2
View the [Dependencies Documentation](./docs/user/Dependencies.md) to see the required software that needs to installed in order to run the SAS Viya IaC tools here on your local system

#### Docker Requirements

Expand Down
6 changes: 3 additions & 3 deletions docs/REQUIREMENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ The current repository supports the provisioning of vSphere VMs. The following t

| Requirement | Description |
| --- | --- |
| Disk | The `root` partition `/` must be on `/dev/sd2`. |
| Disk | The `root` partition `/` must be on `/dev/sd2` and must be an `XFS` file system |
| Hard Disk | Specify `Thin Provision` to adjust the size of the disk to match the machine requirements that were listed previously. |

### Physical Machines or Linux VMs
Expand Down Expand Up @@ -671,7 +671,7 @@ The third-party applications that are listed in the following table are supporte

| Application | Minimum Version |
| ---: | ---: |
| [Ansible](https://www.ansible.com/) | Core 2.15.6 |
| [Terraform](https://www.terraform.io/) | 1.6.3 |
| [Ansible](https://www.ansible.com/) | Core 2.16.1 |
| [Terraform](https://www.terraform.io/) | 1.6.6 |
| [Docker](https://www.docker.com/) | 20.10.17 |
| [Helm](https://helm.sh/) | 3.13.2 |
68 changes: 68 additions & 0 deletions docs/user/Dependencies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Dependency Versions

The following table details our dependencies and versions (~ indicates multiple possible sources)

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 |

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

```bash
pip install -r ./requirements.txt
```

Ansible dependencies can be installed via `ansible-galaxy` using the `requirements.yaml` provided in this project.

```bash
ansible-galaxy install -r ./requirements.yaml
```

Required project dependencies are generally pinned to known working or stable versions to ensure users have a smooth initial experience. In some cases it may be required to change the default version of a dependency. In such cases users are welcome to experiment with alternate versions, however compatibility may not be guaranteed.

# Docker

If you are standing up your infrastructure via a Docker image created from the [Dockerfile](../../Dockerfile) overriding a dependency version can be accomplished by supplying one or more docker build arguments:

| ARG | NOTE |
|-------------------|-----------------------------------|
| HELM_VERSION | the version of helm to install |
| KUBECTL_VERSION | the version of kubectl to install |
| TERRAFORM_VERSION | the version terraform to install |

Example of using build arguments to control specific versions of dependencies installed within the Docker image :
```bash
# Override kubectl version
docker build \
--build-arg KUBECTL_VERSION=1.27.9 \
-t viya4-iac-k8s .
```

# Install Script

If deploying via the [installation script](./ScriptUsage.md) you can modify the dependency requirements files for python and ansible respectively:

| FILE | FOR |
|-------------------|---------------------------------|
| requirements.txt | dependencies for python |
| requirements.yaml | dependencies for ansible-galaxy |

2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# Reference : pypi.org
#
ansible==8.6.0 # 8.0.0 # 6.4.0 # 5.5.0 # 2.10.7
ansible==9.1.0 # 8.6.0 # 8.0.0 # 6.4.0 # 5.5.0 # 2.10.7
openshift==0.13.1 # 0.12.0
kubernetes==26.1.0 # 24.2.0 # 23.3.0 # 12.0.1
dnspython==2.3.0 # 2.2.1 # 2.1.0
Expand Down
7 changes: 7 additions & 0 deletions roles/kubernetes/loadbalancer/kube_vip/defaults/main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Copyright © 2022-2023, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0

---
# https://github.com/kube-vip/kube-vip-cloud-provider
# value must be a tag or branch
kube_vip_cloud_provider_version: "v0.0.8"
2 changes: 1 addition & 1 deletion roles/kubernetes/loadbalancer/kube_vip/tasks/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
block:
- name: Install kube-vip Cloud Provider
ansible.builtin.shell: |
kubectl apply -f https://raw.githubusercontent.com/kube-vip/kube-vip-cloud-provider/main/manifest/kube-vip-cloud-controller.yaml
kubectl apply -f https://raw.githubusercontent.com/kube-vip/kube-vip-cloud-provider/{{ kube_vip_cloud_provider_version }}/manifest/kube-vip-cloud-controller.yaml
tags:
- install
- update
Expand Down
4 changes: 2 additions & 2 deletions versions.tf
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ terraform {
required_providers {
vsphere = {
source = "hashicorp/vsphere"
version = "2.5.1"
version = "~> 2.6"
}
local = {
source = "hashicorp/local"
version = "2.4.0"
version = "~> 2.4"
}
}
}

0 comments on commit 076fee5

Please sign in to comment.