28 Commits

Author SHA1 Message Date
e374fc16b0 build(version): bump version 0.11.0rc0 → 0.11.0 2024-01-14 19:30:00 +00:00
Jon
1b1ef85059 feat(submodules): manual update of playbooks and roles
!185 nofusscomputing/projects/ansible/git_configuration#26 nofusscomputing/projects/ansible/git_configuration!130
2024-01-15 04:50:02 +09:30
Jon
fd84b48a7e Merge branch 'fix-mysql-shrink-image' into 'development'
fix: issues 25, 23

Closes #25

See merge request nofusscomputing/projects/ansible/execution_environment!184
2024-01-14 17:35:51 +00:00
Jon
18d15f2978 ci: update pages path
!184
2024-01-15 02:57:54 +09:30
Jon
4a722374a8 docs: update to current structure
!184
2024-01-15 02:36:20 +09:30
Jon
5fe7a206f0 feat(docker): add required deps for mysql ansible module
!184 fixes #25
2024-01-15 02:30:12 +09:30
Jon
4c69d8e2e5 feat(docker): update base image from buster to bookworm
!184 #23
2024-01-15 02:24:15 +09:30
Jon
b037996a4d refactor(docker): get file name with ls and grep
!184
2024-01-15 02:24:15 +09:30
Jon
e4feaaa69d fix: depreciated warning "ANSIBLE_COLLECTIONS_PATHS option, does not fit var naming standard, use the singular form ANSIBLE_COLLECTIONS_PATH instead"
!184
2024-01-15 02:24:15 +09:30
Jon
d48901bab9 fix(docker_cache): ensure .tar.gz are built to wheels
!184
2024-01-15 02:24:15 +09:30
Jon
0ae0fadfd2 refactor(docker_cache): cleanup commands and place items in alphanumerical order
!184
2024-01-15 02:24:15 +09:30
Jon
9730657d1e feat(python): updated awxkit, python_gitlab and dns to current head versions
!184
2024-01-15 02:24:15 +09:30
Jon
c5f9ae33a5 ci(docker_cache): require compilation tools
!184 #23
2024-01-15 02:24:15 +09:30
Jon
cefc16d145 ci(docker_cache): start straight away as no deps for building
!184
2024-01-15 02:24:15 +09:30
Jon
2b3693e957 fix(docker_cache): migrated ldconfig fixes from ee container file
required to fix ldconfig missing errors

!184
2024-01-15 02:24:15 +09:30
Jon
a39be61aac feat(collections): update all modules to current HEAD versions available
!184
2024-01-15 02:24:15 +09:30
Jon
4fcb5ee5ea feat(docker): use python slim for base image
!184 #23
2024-01-15 02:24:15 +09:30
Jon
6b78eca456 fix(docker_cache): build image binaries to match deployed binaries
these install dependencies required to build the python modules

!184
2024-01-15 02:24:15 +09:30
Jon
26df54dfa2 fix(docker_cache): build image must not be slim
!184
2024-01-15 02:24:15 +09:30
Jon
537e7b6b6a revert(container): reomve slim usage
issue #23
2024-01-05 19:28:44 +09:30
Jon
cf39a9140b feat(submodule): update sub module playbooks
nofusscomputing/projects/ansible/ansible_playbooks!67
2024-01-05 19:24:09 +09:30
Jon
5aba6b96dc feat(contianer): shrink container size
#23
2024-01-05 19:21:26 +09:30
a4621f5618 Merge branch 'automated-tasks' into 'development'
chore(ansible_playbooks): Automated update of git sub-module

See merge request nofusscomputing/projects/ansible/execution_environment!182
2024-01-05 07:57:13 +00:00
9e1c717599 feat(ansible_playbooks): updated submodule ansible_playbooks
Automation Data:
{
    "branch": "development",
    "current_commit": "bfd6f9ecd2de3272cd53ca3a9837c3e36ce83edf)",
    "name": "ansible_playbooks",
    "path": "/builds/nofusscomputing/projects/ansible/execution_environment/_automation_/includes/etc/ansible/playbooks",
    "remote_head": "ce7c4ef2d41ce81e80853493820a63cb0b169b65)",
    "remote_name": "origin",
    "url": "https://gitlab.com/nofusscomputing/projects/ansible/ansible_playbooks.git"
}

Changes: Submodule path includes/etc/ansible/playbooks: checked out ce7c4ef2d41ce81e80853493820a63cb0b169b65

MR !182
2024-01-05 07:47:23 +00:00
0b2c8ffda8 Merge branch 'automated-tasks' into 'development'
chore(ansible_playbooks): Automated update of git sub-module

See merge request nofusscomputing/projects/ansible/execution_environment!181
2024-01-03 10:26:55 +00:00
085de2b272 feat(ansible_playbooks): updated submodule ansible_playbooks
Automation Data:
{
    "branch": "development",
    "current_commit": "1ff6458d7e657ed53e697957ce8ebaa032dc1f98)",
    "name": "ansible_playbooks",
    "path": "/builds/nofusscomputing/projects/ansible/execution_environment/_automation_/includes/etc/ansible/playbooks",
    "remote_head": "bfd6f9ecd2de3272cd53ca3a9837c3e36ce83edf)",
    "remote_name": "origin",
    "url": "https://gitlab.com/nofusscomputing/projects/ansible/ansible_playbooks.git"
}

Changes: Submodule path includes/etc/ansible/playbooks: checked out bfd6f9ecd2de3272cd53ca3a9837c3e36ce83edf

MR !181
2024-01-03 10:17:28 +00:00
d1e6280728 Merge branch 'automated-tasks' into 'development'
chore(ansible_playbooks): Automated update of git sub-module

See merge request nofusscomputing/projects/ansible/execution_environment!180
2024-01-02 11:43:31 +00:00
733633209a feat(ansible_playbooks): updated submodule ansible_playbooks
Automation Data:
{
    "branch": "development",
    "current_commit": "e78fbab1f9ce97f20344c1dc1ab644fb629d977f)",
    "name": "ansible_playbooks",
    "path": "/builds/nofusscomputing/projects/ansible/execution_environment/_automation_/includes/etc/ansible/playbooks",
    "remote_head": "1ff6458d7e657ed53e697957ce8ebaa032dc1f98)",
    "remote_name": "origin",
    "url": "https://gitlab.com/nofusscomputing/projects/ansible/ansible_playbooks.git"
}

Changes: Submodule path includes/etc/ansible/playbooks: checked out 1ff6458d7e657ed53e697957ce8ebaa032dc1f98

MR !180
2024-01-02 11:33:46 +00:00
13 changed files with 141 additions and 59 deletions

View File

@ -4,4 +4,4 @@ commitizen:
name: cz_conventional_commits
tag_format: $major.$minor.$patch$prerelease
update_changelog_on_bump: true
version: 0.11.0rc0
version: 0.11.0

View File

@ -8,7 +8,7 @@ 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/
PAGES_ENVIRONMENT_PATH: projects/ansible/execution_environment/
include:
- project: nofusscomputing/projects/gitlab-ci
@ -27,6 +27,7 @@ Build/Cache Python Packages:
- name: docker:23-dind
entrypoint: ["env", "-u", "DOCKER_HOST"]
command: ["dockerd-entrypoint.sh"]
needs: []
variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
@ -49,7 +50,8 @@ Build/Cache Python Packages:
--platform=$DOCKER_IMAGE_BUILD_TARGET_PLATFORMS . \
--build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN \
--build-arg CI_API_V4_URL=$CI_API_V4_URL \
--build-arg CI_PROJECT_ID=$CI_PROJECT_ID
--build-arg CI_PROJECT_ID=$CI_PROJECT_ID \
--progress plain
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: never

View File

@ -1,3 +1,42 @@
## 0.11.0 (2024-01-14)
### Bug Fixes
- [e4feaaa6](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/e4feaaa69dd6c1dd0ca2f7a8a827ca032d2b706a) - depreciated warning "ANSIBLE_COLLECTIONS_PATHS option, does not fit var naming standard, use the singular form ANSIBLE_COLLECTIONS_PATH instead" [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) ]
- **docker_cache**: [d48901ba](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/d48901bab9f7a48f56b774245c399f1b079219e7) - ensure .tar.gz are built to wheels [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) ]
- **docker_cache**: [2b3693e9](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/2b3693e957c6e3578ed1ade75574b260638dea4c) - migrated ldconfig fixes from ee container file [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) ]
- **docker_cache**: [6b78eca4](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/6b78eca4563376d2346e3cd75e0887e8cb6bc15a) - build image binaries to match deployed binaries [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) ]
- **docker_cache**: [26df54df](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/26df54dfa2ff2ee416cb824252900d7335533724) - build image must not be slim [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) ]
### Code Refactor
- **docker**: [b037996a](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/b037996a4dc9631f2395f5b14390415f943139ac) - get file name with ls and grep [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) ]
- **docker_cache**: [0ae0fadf](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/0ae0fadfd220bd71d86c7096b114b95b7e04216d) - cleanup commands and place items in alphanumerical order [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) ]
### Continious Integration
- [18d15f29](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/18d15f2978ba9f3b7fd8802ed4d06d024d174a77) - update pages path [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) ]
- **docker_cache**: [c5f9ae33](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/c5f9ae33a556e9ac5391505bf3d2cb184f7b69f7) - require compilation tools [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) [#23](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/23) ]
- **docker_cache**: [cefc16d1](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/cefc16d145c931aeacd94e7a89f36a184074f50b) - start straight away as no deps for building [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) ]
### Documentaton / Guides
- [4a722374](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/4a722374a8561d301c82839dca0ab2f812f55b07) - update to current structure [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) ]
### Features
- **submodules**: [1b1ef850](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/1b1ef8505985530579f356193ce5529c915309f4) - manual update of playbooks and roles [ [!185](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/185) [#26](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/26) [!130](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/130) ]
- **docker**: [5fe7a206](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/5fe7a206f0c7741986dffb6af82e97f9554c75ff) - add required deps for mysql ansible module [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) [#25](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/25) ]
- **docker**: [4c69d8e2](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/4c69d8e2e56cb63d8890a2a70d53bac782ce3df3) - update base image from buster to bookworm [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) [#23](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/23) ]
- **python**: [9730657d](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/9730657d1ec8bfdf1d780f88ae7513f0211540fb) - updated awxkit, python_gitlab and dns to current head versions [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) ]
- **collections**: [a39be61a](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/a39be61aac7fce8404f4c60cc7752ec9ca8af0fe) - update all modules to current HEAD versions available [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) ]
- **docker**: [4fcb5ee5](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/4fcb5ee5ea75840768fe81009d6bf761ddb0d0b6) - use python slim for base image [ [!184](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/184) [#23](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/23) ]
- **submodule**: [cf39a914](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/cf39a9140be290f5b517143b00bc3bb7ff4fcde8) - update sub module playbooks [ [!67](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/67) ]
- **contianer**: [5aba6b96](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/5aba6b96dc37c0ffb5611dd7f7842701efd000c8) - shrink container size [ [#23](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues/23) ]
- **ansible_playbooks**: [9e1c7175](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/9e1c7175999d061e9088bb2b37f67af0f1cb5a4b) - updated submodule ansible_playbooks [ [!182](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/182) ]
- **ansible_playbooks**: [085de2b2](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/085de2b272fdb00189d8897aca55e64c826009c5) - updated submodule ansible_playbooks [ [!181](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/181) ]
- **ansible_playbooks**: [73363320](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/733633209aa3b661f88993acccfdad39ebcd765c) - updated submodule ansible_playbooks [ [!180](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/180) ]
## 0.11.0rc0 (2024-01-02)
### Bug Fixes

View File

@ -2,7 +2,7 @@
FROM --platform=$TARGETPLATFORM quay.io/ansible/receptor:devel as receptor
FROM --platform=$TARGETPLATFORM python:3.11-bullseye
FROM --platform=$TARGETPLATFORM python:3.11-slim-bookworm
# Ansible chucks a wobbler without. see: https://github.com/ansible/ansible/issues/78283
ENV LC_ALL en_US.UTF-8
@ -11,7 +11,7 @@ ENV DEBIAN_FRONTEND noninteractive
ENV ANSIBLE_PLAYBOOK_DIR=/etc/ansible/playbooks
ENV ANSIBLE_COLLECTIONS_PATHS=/etc/ansible/collections
ENV ANSIBLE_COLLECTIONS_PATH=/etc/ansible/collections
COPY includes /
@ -36,10 +36,10 @@ RUN apt update \
&& cd /tmp \
&& apt-get download \
libc-bin \
&& dpkg --extract ./libc-bin_*.deb /tmp/deb \
&& dpkg --extract $(ls | grep libc-bin_ | grep -a '.deb') /tmp/deb \
&& cp /tmp/deb/sbin/ldconfig /sbin/ \
&& rm -Rf /tmp/deb \
&& rm libc-bin_*.deb \
&& rm $(ls | grep libc-bin_ | grep -a '.deb') \
&& apt-get install --reinstall \
libc-bin \
# EoF fixing dpkg ldconfig not found error
@ -57,6 +57,7 @@ RUN apt update \
postgresql-common \
postgresql-client \
mariadb-client \
mariadb-client-core \
&& mkdir -p /etc/ansible/roles \
&& mkdir -p /etc/ansible/collections \
&& mkdir -p /workdir \
@ -83,15 +84,15 @@ RUN pip install --index-url https://gitlab.com/api/v4/projects/45741845/packages
RUN ansible-galaxy collection install \
awx.awx==23.5.0 \
awx.awx==23.6.0 \
# ansible.posix.authorized_key for SSH
ansible.posix==1.5.4 \
ansible.utils==3.0.0 \
community.dns==2.6.4 \
community.dns==2.7.0 \
# docker managment
community.docker==3.4.11 \
community.docker==3.5.0 \
# community.general.gitlab_*
community.general==8.1.0 \
community.general==8.2.0 \
community.mysql==3.8.0 \
community.postgresql==3.2.0 \
community.postgresql==3.3.0 \
kubernetes.core==3.0.0

View File

@ -1,4 +1,4 @@
FROM --platform=$TARGETPLATFORM python:3.11-slim-bookworm as wheelbuild
FROM --platform=$TARGETPLATFORM python:3.11-bookworm as wheelbuild
ARG CI_JOB_TOKEN
ARG CI_API_V4_URL
@ -6,62 +6,91 @@ ARG CI_PROJECT_ID
ENV LC_ALL en_US.UTF-8
ENV PATH /usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.cargo/bin::~/.cargo/bin
RUN export DEBIAN_FRONTEND=noninteractive \
&& dpkg-reconfigure debconf -f noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN apt update \
&& apt install --reinstall -yq \
git \
RUN dpkg-reconfigure debconf -f noninteractive
RUN apt update
# SoF fixing dpkg ldconfig not found error
# Download Binary
RUN cd /tmp \
&& apt-get download \
libc-bin
RUN ls -la
# Extract Binary
RUN cd /tmp; \
dpkg --extract $(ls | grep libc-bin_ | grep -a '.deb') /tmp/deb; ls -laR
# # Extracted?
# RUN ls -laR
# Copy to home location
RUN cp /tmp/deb/sbin/ldconfig /sbin/
# Confirm present
RUN ls -l /sbin/ldconfig
# Confirm can be found
RUN which ldconfig
# Cleanup
# RUN rm -Rf /tmp/deb \
# && rm libc-bin_*.deb
# Should re-install without issue
RUN apt-get install --reinstall \
libc-bin
# EoF fixing dpkg ldconfig not found error
# Set Locale to en_US as ansible requires a locale for it to function without chucking a tantrum!!
RUN apt install -yq \
build-essential \
cargo \
curl \
rustc cargo \
libpq-dev || true
RUN mkdir -p /tmp/python_modules /tmp/python_builds
git \
libffi-dev \
libpq-dev \
libssl-dev \
mariadb-client \
mariadb-client-core \
openssh-client \
pkg-config \
postgresql-client \
postgresql-common \
python3-dev \
rustc
RUN rustc --version \
&& cargo --version
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt update \
&& apt --fix-broken install \
&& apt install -y libc-bin locales-all \
&& apt update \
&& apt install --reinstall -yq \
openssh-client \
git || true \
&& dpkg --purge --force-all libc-bin \
&& apt-get install -y \
openssh-client \
git
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt update \
&& apt install --no-install-recommends -yq libc-bin locales-all \
&& apt-get install --reinstall -yq \
build-essential \
libssl-dev \
libffi-dev \
python3-dev \
cargo \
pkg-config \
libpq-dev || true
RUN pip install --upgrade pip
RUN pip install --upgrade \
setuptools \
wheel \
setuptools-rust \
twine
COPY requirements.txt /tmp/requirements.txt
RUN mkdir -p /tmp/python_modules /tmp/python_builds
RUN cd /tmp/python_modules \
&& pip download --dest . --check-build-dependencies \
-r /tmp/requirements.txt
@ -70,7 +99,11 @@ RUN cd /tmp/python_modules \
RUN cd /tmp/python_modules \
# && export PATH=$PATH:~/.cargo/bin \
&& echo "[DEBUG] PATH=$PATH" \
&& pip wheel --wheel-dir /tmp/python_builds --find-links . *.whl
&& pip wheel --wheel-dir /tmp/python_builds --find-links . *.whl; \
pip wheel --wheel-dir /tmp/python_builds --find-links . *.tar.gz;
RUN cd /tmp; \
ls -laR
RUN TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python -m twine upload --verbose --skip-existing --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi /tmp/python_builds/*

View File

@ -8,9 +8,9 @@ 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 Playbooks](../playbooks/index.md)
- [Ansible Roles](../ansible-roles/index.md)
- [Ansible Roles](../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.

View File

View File

@ -17,11 +17,18 @@ nav:
- projects/index.md
- Ansible Roles:
- Ansible:
- projects/ansible/index.md
- Execution Environment:
- projects/execution_environment/index.md
- projects/ansible/execution_environment/index.md
- Playbooks: projects/ansible/playbooks/index.md
- Roles: projects/ansible/roles/index.md
- Operations:

View File

@ -1,14 +1,14 @@
ansible-core==2.16.1
ansible-lint==6.15.0
ansible-runner==2.3.4
awxkit==23.5.1
awxkit==23.6.0
# Required for community.general.gitlab_*
python_gitlab==3.14.0
python_gitlab==4.3.0
# community.postgresql
psycopg2==2.9.9
# community.mysql
PyMySQL==1.1.0
dnspython
dnspython==2.4.2
xmltodict==0.13.0
xmltodict==0.13.0