Merge branch 'development' into 'master'
chore: next release See merge request nofusscomputing/projects/ansible/execution_environment!6
This commit is contained in:
2
.cz.yaml
2
.cz.yaml
@ -4,4 +4,4 @@ commitizen:
|
||||
name: cz_conventional_commits
|
||||
tag_format: $major.$minor.$patch$prerelease
|
||||
update_changelog_on_bump: true
|
||||
version: 0.1.0
|
||||
version: 0.1.1rc5
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
|
||||
variables:
|
||||
GIT_SUBMODULE_STRATEGY: recursive
|
||||
MY_PROJECT_ID: "45741845"
|
||||
GIT_SYNC_URL: "https://$GITHUB_USERNAME_ROBOT:$GITHUB_TOKEN_ROBOT@github.com/NoFussComputing/execution_environment.git"
|
||||
|
||||
@ -8,18 +8,17 @@ variables:
|
||||
DOCKER_IMAGE_PUBLISH_NAME: 'ansible-ee'
|
||||
DOCKER_IMAGE_PUBLISH_REGISTRY: docker.io/nofusscomputing
|
||||
DOCKER_IMAGE_PUBLISH_URL: https://hub.docker.com/r/nofusscomputing/$DOCKER_IMAGE_PUBLISH_NAME
|
||||
|
||||
|
||||
PAGES_ENVIRONMENT_PATH: projects/execution_environment/
|
||||
|
||||
include:
|
||||
- project: nofusscomputing/projects/gitlab-ci
|
||||
ref: development
|
||||
file:
|
||||
- .gitlab-ci_common.yaml
|
||||
- type/docker-image.gitlab-ci.yaml
|
||||
- template/automagic.gitlab-ci.yaml
|
||||
#- template: Jobs/Container-Scanning.gitlab-ci.yml # see https://gitlab.com/gitlab-org/gitlab/-/issues/381665
|
||||
|
||||
|
||||
.MKDocs_Build:
|
||||
image: python:3.11-buster
|
||||
|
||||
Build/Cache Python Packages:
|
||||
stage: build
|
||||
@ -38,6 +37,9 @@ Build/Cache Python Packages:
|
||||
- pip3 install setuptools wheel
|
||||
- pip3 install commitizen==2.21.0 # version specified so current build works.
|
||||
- pip3 install gitlab-ci/gitlab_release/python-module/cz_nfc/.
|
||||
# see: https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/1861
|
||||
# on why this `docker run` is required. without it multiarch support doesnt work.
|
||||
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
- update-binfmts --enable # Important: Ensures execution of other binary formats is enabled in the kernel
|
||||
- docker buildx create --driver=docker-container --driver-opt image=moby/buildkit:v0.11.6 --use
|
||||
- docker buildx inspect --bootstrap
|
||||
|
12
.gitmodules
vendored
12
.gitmodules
vendored
@ -2,3 +2,15 @@
|
||||
path = gitlab-ci
|
||||
url = https://gitlab.com/nofusscomputing/projects/gitlab-ci.git
|
||||
branch = development
|
||||
[submodule "ansible-roles"]
|
||||
path = includes/etc/ansible/roles
|
||||
url = https://gitlab.com/nofusscomputing/projects/ansible/ansible-roles.git
|
||||
branch = development
|
||||
[submodule "ansible_playbooks"]
|
||||
path = includes/etc/ansible/playbooks
|
||||
url = https://gitlab.com/nofusscomputing/projects/ansible/ansible_playbooks.git
|
||||
branch = development
|
||||
[submodule "website-template"]
|
||||
path = website-template
|
||||
url = https://gitlab.com/nofusscomputing/infrastructure/website-template.git
|
||||
branch = development
|
||||
|
8
.nfc_automation.yaml
Normal file
8
.nfc_automation.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
|
||||
role_git_conf:
|
||||
gitlab:
|
||||
submodule_branch: "development"
|
||||
default_branch: development
|
||||
mr_labels: ~"type::automation" ~"impact::0" ~"priority::0"
|
||||
auto_merge: true
|
47
CHANGELOG.md
47
CHANGELOG.md
@ -1,3 +1,50 @@
|
||||
## 0.1.1rc5 (2023-06-15)
|
||||
|
||||
## 0.1.1rc4 (2023-06-12)
|
||||
|
||||
## 0.1.1rc3 (2023-06-08)
|
||||
|
||||
## 0.1.1rc2 (2023-06-08)
|
||||
|
||||
### Continious Integration
|
||||
|
||||
- [f5c4b33c](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/f5c4b33c696451629d8f521a47267ce30fee7e91) - mkdocs temp newer image [ [!29](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/29) [#8](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/8) ]
|
||||
|
||||
### Documentaton / Guides
|
||||
|
||||
- [56b6e304](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/56b6e304bbdaa9a631a18ac95ffdfe95b7fef307) - fix typo [ [!29](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/29) [#8](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/8) ]
|
||||
- [b8b9348e](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/b8b9348e3061345588c51b75b30d22ece3984c56) - added initial docs [ [!29](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/29) [#8](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/8) ]
|
||||
|
||||
## 0.1.1rc1 (2023-06-05)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **python**: [e82f96a4](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/e82f96a40269b42a5421360724e93768b2958bdb) - linked ansible used python to 3.11 [ [#9](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/9) [!24](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/24) [#22](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/22) [!27](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/27) [#9](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/9) ]
|
||||
- **git_config**: [318a91ce](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/318a91ce6d7bd08ff7bde514b33a13a01235afc6) - again! ensure cloned ansible-roles has submodules init [ [!9](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/9) ]
|
||||
- **git_config**: [30797b45](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/30797b4577589c39eed0ae63ce2df37f9920f2a8) - ensure cloned ansible-roles has submodules init [ [!8](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/8) ]
|
||||
|
||||
### Code Refactor
|
||||
|
||||
- **build**: [e2852ebe](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/e2852ebe292bc838d95048515a8dca0d93ccbc24) - other projects included as git submodule [ [!15](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/15) [#74](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/74) ]
|
||||
- **playbooks**: [07cdde82](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/07cdde820a6b42e607966257c373239bb1b20ccb) - seperated git clone to own run [ [!11](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/11) [#7](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/7) [!1](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/1) [#1](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/1) ]
|
||||
|
||||
### Features
|
||||
|
||||
- **ansible**: [a1e3a0c6](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/a1e3a0c656897c28c7d778ead46dac11e9edf5aa) - ansible.cfg added workdir roles [ [!28](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/28) ]
|
||||
- **ansible**: [369987ea](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/369987eaf5755c193b9d1fd53f614799139acdd4) - add galaxy collection community.docker [ [!24](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/24) [#22](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/22) [!27](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/27) ]
|
||||
- **ansible**: [e48800bf](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/e48800bf8ea2922a37992770a9b63ea6ca425cd4) - add galaxy collection ansible.posix [ [!24](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/24) [#22](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/22) [!27](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/27) ]
|
||||
- **ci**: [6b785d0c](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/6b785d0c532d432c4f88387c13d12d3870a71d04) - use project gitlab-ci automagic template [ [!12](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/12) ]
|
||||
- **playbooks**: [1da35d57](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/1da35d57709480ecde0573a33647f8dcb17ebffb) - add nfc ansible playbooks to image [ [!11](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/11) [#7](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/7) [!1](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/1) [#1](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/1) ]
|
||||
- **module**: [24a65b4d](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/24a65b4d99876c1bf09da81bab7a1942b32f2dd1) - add collection community.general [ [!10](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/10) ]
|
||||
|
||||
## 0.1.1rc0 (2023-05-23)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **ci**: [f93ef764](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/f93ef764ff07c4c8fa7582553a667eeb6d628de1) - ensure binfmt initialized [ [!7](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/7) ]
|
||||
- **ci**: [f35259f7](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/f35259f796516e235bd8060c3ccfd058514343aa) - update to new template path [ [!7](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/7) ]
|
||||
- **readme**: [d9df60e2](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/d9df60e27f75004ce05ccb495d970c32325cb712) - typo in dev branch badge [ [!7](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/7) ]
|
||||
|
||||
## 0.1.0 (2023-05-15)
|
||||
|
||||
### Bug Fixes
|
||||
|
@ -29,7 +29,7 @@ This project is hosted on [gitlab](https://gitlab.com/nofusscomputing/projects/a
|
||||
|
||||
**Development Branch**
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
----
|
||||
<br>
|
||||
|
@ -1,4 +0,0 @@
|
||||
[defaults]
|
||||
collections_path=/etc/ansible/collections
|
||||
roles_path=/etc/ansible/roles
|
||||
log_path=/ansible.log
|
40
dockerfile
40
dockerfile
@ -1,29 +1,13 @@
|
||||
FROM --platform=$BUILDPLATFORM python:3.11-bullseye as fetch-ansible-roles
|
||||
|
||||
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive \
|
||||
&& dpkg-reconfigure debconf -f noninteractive
|
||||
|
||||
|
||||
RUN apt update \
|
||||
&& apt install --reinstall -yq \
|
||||
git || true
|
||||
|
||||
|
||||
RUN git clone -b development --depth 1 https://gitlab.com/nofusscomputing/projects/ansible-roles.git /tmp/ansible-roles
|
||||
|
||||
|
||||
|
||||
FROM --platform=$TARGETPLATFORM python:3.11-bullseye
|
||||
|
||||
# Ansible chucks a wobbler without. see: https://github.com/ansible/ansible/issues/78283
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
|
||||
ENV ANSIBLE_PLAYBOOK_DIR=/etc/ansible/playbooks
|
||||
|
||||
|
||||
COPY includes /
|
||||
|
||||
COPY --from=fetch-ansible-roles /tmp/ansible-roles/roles /etc/ansible/roles
|
||||
|
||||
# Ref: https://github.com/opencontainers/image-spec/blob/d86384efdb8c30770a92415c100f57a9bffbb64e/annotations.md
|
||||
LABEL \
|
||||
@ -60,15 +44,15 @@ RUN export DEBIAN_FRONTEND=noninteractive \
|
||||
&& mkdir -p /etc/ansible/roles \
|
||||
&& mkdir -p /etc/ansible/collections \
|
||||
&& mkdir -p /workdir \
|
||||
&& apt list --installed
|
||||
&& apt list --installed \
|
||||
# see issue https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/9 for following two lines
|
||||
&& rm /usr/bin/python3 \
|
||||
&& ln -s /usr/local/bin/python3.11 /usr/bin/python3
|
||||
|
||||
|
||||
WORKDIR /workdir
|
||||
|
||||
|
||||
COPY ansible.cfg /etc/ansible/ansible.cfg
|
||||
|
||||
|
||||
COPY requirements.txt /tmp/requirements.txt
|
||||
|
||||
|
||||
@ -79,4 +63,10 @@ RUN pip install --index-url https://gitlab.com/api/v4/projects/45741845/packages
|
||||
|
||||
RUN ansible-galaxy collection install \
|
||||
awx.awx \
|
||||
kubernetes.core
|
||||
kubernetes.core \
|
||||
# community.general.gitlab_*
|
||||
community.general \
|
||||
# ansible.posix.authorized_key for SSH
|
||||
ansible.posix \
|
||||
# docker managment
|
||||
community.docker
|
0
docs/articles/index.md
Normal file
0
docs/articles/index.md
Normal file
0
docs/contact.md
Normal file
0
docs/contact.md
Normal file
0
docs/index.md
Normal file
0
docs/index.md
Normal file
0
docs/operations/index.md
Normal file
0
docs/operations/index.md
Normal file
0
docs/projects/ansible-roles/index.md
Normal file
0
docs/projects/ansible-roles/index.md
Normal file
0
docs/projects/ansible_playbooks/index.md
Normal file
0
docs/projects/ansible_playbooks/index.md
Normal file
92
docs/projects/execution_environment/index.md
Normal file
92
docs/projects/execution_environment/index.md
Normal file
@ -0,0 +1,92 @@
|
||||
---
|
||||
title: Ansible Execution Environment
|
||||
description: How to use No Fuss Computings Ansible Execution Environment Docker Container.
|
||||
date: 2023-06-05
|
||||
template: project.html
|
||||
about: https://gitlab.com/nofusscomputing/projects/ansible/execution_environment
|
||||
---
|
||||
|
||||
This docker container is designed to be used with Ansible AWX/Tower or from within the Gitlab CI/CD Environment. Included in the container are the following projects from us:
|
||||
|
||||
- [Ansible Playbooks](../ansible_playbooks/index.md)
|
||||
|
||||
- [Ansible Roles](../ansible-roles/index.md)
|
||||
|
||||
This container can be found at dockerhub at <https://hub.docker.com/r/nofusscomputing/ansible-ee> and for use from docker with `docker pull nofusscomputing/ansible-ee`. versioning and git tags are in accordance with semver.
|
||||
|
||||
The docker container is built from the python-slim image with a few extra items added to suit the containers intent. Please refer to the [dockerfile](#Dockerfile). we currently build containers for amd64, armv7 and aarch640.
|
||||
|
||||
|
||||
## Features
|
||||
|
||||
Included features are only included if a role that we create requires it. Currently we use the pythonx.xx-{debian release} as abase image which makes available the debian packages should you require additional features/sofware not specified below.
|
||||
|
||||
- custom [ansible.cfg](#ansible%20config%20file)
|
||||
|
||||
- environmental variable `ANSIBLE_PLAYBOOK_DIR` set pointing to `/etc/ansible/playbooks`.
|
||||
|
||||
- Galaxy Collections included
|
||||
|
||||
- Any collection installed with ansible-core
|
||||
|
||||
- awx.awx
|
||||
|
||||
- kubernetes.core
|
||||
|
||||
- community.general
|
||||
|
||||
- ansible.posix
|
||||
|
||||
- community.docker
|
||||
|
||||
- Additional Software within container
|
||||
|
||||
- git
|
||||
|
||||
- openssh-client
|
||||
|
||||
- obviously, since its a python container, python.
|
||||
|
||||
|
||||
## Docker Tags
|
||||
|
||||
We use the following tags for our docker containers
|
||||
|
||||
- `latest` This is the latest stable code from the master branch, and will always match the newest non `rc` git and dockerhub tag. Built on merge from development to master branch.
|
||||
|
||||
- `\d.\d\.d` i.e. `1.0.0` This layout of tag is the latest git tag from the master branch. Built on merge from development to master branch after the gitlab release job runs.
|
||||
|
||||
- `dev` This tag is from the latet build from the development branch, this is considered unstable. on every merge to this branch, the container is built and pushed to this tag on dockerhub.
|
||||
|
||||
!!! Info
|
||||
We use this tag within our gitlab-ci roles. Eventhough it's considered unstable, using it for our CI jobs enables an extra gate in our release cycle to find and fix issues prior to releaseing to stable.
|
||||
|
||||
- `\d.\d.\drc\d` i.e. `1.0.0.rc0` This tag is used on the development branch as a means to take a snapshot of the code. Built on the gitlab release job being triggered on the development branch.
|
||||
|
||||
|
||||
## Dockerfile
|
||||
|
||||
``` dockerfile title="dockerfile" linenums="1"
|
||||
|
||||
--8<-- "dockerfile"
|
||||
|
||||
```
|
||||
|
||||
This dockerfile is only used to build the python packages for cross platform compilation.
|
||||
|
||||
``` dockerfile title="dockerfile-build_cache" linenums="1"
|
||||
|
||||
--8<-- "dockerfile-build_cache"
|
||||
|
||||
```
|
||||
|
||||
|
||||
## ansible config file
|
||||
|
||||
This ansible config file is included within this docker container.
|
||||
|
||||
``` ini title="/etc/ansible/ansible.cfg" linenums="1"
|
||||
|
||||
--8<-- "includes/etc/ansible/ansible.cfg"
|
||||
|
||||
```
|
0
docs/projects/gitlab-ci/index.md
Normal file
0
docs/projects/gitlab-ci/index.md
Normal file
0
docs/projects/index.md
Normal file
0
docs/projects/index.md
Normal file
0
docs/tags.md
Normal file
0
docs/tags.md
Normal file
Submodule gitlab-ci updated: 18a2808787...d91605e377
4
includes/etc/ansible/ansible.cfg
Normal file
4
includes/etc/ansible/ansible.cfg
Normal file
@ -0,0 +1,4 @@
|
||||
[defaults]
|
||||
collections_path=/etc/ansible/collections
|
||||
roles_path=/etc/ansible/roles:/workdir/roles:/workdir/ansible-roles
|
||||
log_path=/ansible.log
|
1
includes/etc/ansible/playbooks
Submodule
1
includes/etc/ansible/playbooks
Submodule
Submodule includes/etc/ansible/playbooks added at d6a88239f9
1
includes/etc/ansible/roles
Submodule
1
includes/etc/ansible/roles
Submodule
Submodule includes/etc/ansible/roles added at e0788ccdf5
31
mkdocs.yml
Normal file
31
mkdocs.yml
Normal file
@ -0,0 +1,31 @@
|
||||
INHERIT: website-template/mkdocs.yml
|
||||
|
||||
docs_dir: 'docs'
|
||||
|
||||
repo_name: Ansible-EE
|
||||
repo_url: https://gitlab.com/nofusscomputing/projects/ansible/execution_environment
|
||||
edit_uri: '/-/ide/project/nofusscomputing/projects/ansible/execution_environment/edit/development/-/docs/'
|
||||
|
||||
nav:
|
||||
- Home: index.md
|
||||
|
||||
- Articles:
|
||||
|
||||
- articles/index.md
|
||||
|
||||
- Projects:
|
||||
|
||||
- projects/index.md
|
||||
|
||||
- Ansible Roles:
|
||||
|
||||
- Execution Environment:
|
||||
|
||||
- projects/execution_environment/index.md
|
||||
|
||||
- Operations:
|
||||
|
||||
- operations/index.md
|
||||
|
||||
- Contact Us: contact.md
|
||||
|
@ -1,2 +1,5 @@
|
||||
ansible-core==2.14.5
|
||||
ansible-lint==6.15.0
|
||||
|
||||
# Required for community.general.gitlab_*
|
||||
python_gitlab==3.14.0
|
1
website-template
Submodule
1
website-template
Submodule
Submodule website-template added at 992b54805b
Reference in New Issue
Block a user