Compare commits
107 Commits
Author | SHA1 | Date | |
---|---|---|---|
f63e2746c8 | |||
6144a91211 | |||
a7f46163ab | |||
9022d69379 | |||
22e5a226ed | |||
c6d93c866b | |||
94ca5e0c84 | |||
00fec19008 | |||
fa6b5143ee | |||
7f2c67dd83 | |||
88b1196345 | |||
730164bd17 | |||
d517411282 | |||
fde14297d9 | |||
3b64142b31 | |||
f6a83efd70 | |||
d7038cb885 | |||
ce5568d081 | |||
7d20562e5f | |||
8292d2ea4f | |||
cce1f61063 | |||
2eb0dbcf08 | |||
4a8650e067 | |||
1cb4e82dd8 | |||
e19ea7aef5 | |||
25d1ca3558 | |||
1b7cdc716f | |||
197dc0f4b2 | |||
df32baba7c | |||
859c027611 | |||
89569ee691 | |||
a3cdc8255d | |||
1401254b8e | |||
b353e03987 | |||
15d25c5540 | |||
56b6e304bb | |||
f5c4b33c69 | |||
b8b9348e30 | |||
592344e642 | |||
cc1c073a64 | |||
a2d6baf705 | |||
5a90438f8c | |||
a1e3a0c656 | |||
ea2e336aac | |||
ba3b32dc47 | |||
b4f08f2995 | |||
e82f96a402 | |||
369987eaf5 | |||
e48800bf8e | |||
e146a0934e | |||
55ffc49281 | |||
9ee993c60e | |||
5436e2b0f0 | |||
ff5813903f | |||
adfe708f7c | |||
085317dc81 | |||
6bf1a8f334 | |||
c5232b82b1 | |||
7de7efaab8 | |||
eb9326f371 | |||
51ef1528da | |||
86e38ce4ef | |||
1b3c6ee7db | |||
3cc035721a | |||
e2852ebe29 | |||
b713b3e6b7 | |||
8379ecbf67 | |||
2792f413c9 | |||
31f8fd0e0f | |||
5bb4a209f3 | |||
6b785d0c53 | |||
6dfba719cc | |||
07cdde820a | |||
c98427e00e | |||
1da35d5770 | |||
469b99b88d | |||
24a65b4d99 | |||
eab21aad9e | |||
318a91ce6d | |||
9b67f9aa8d | |||
30797b4577 | |||
26dcc382b0 | |||
0bf72f8945 | |||
eaab0035ac | |||
f93ef764ff | |||
f35259f796 | |||
d9df60e27f | |||
b76772d955 | |||
aa8804f887 | |||
b0f236d935 | |||
5484d6315a | |||
fb7db64235 | |||
3e7094c243 | |||
3f6e77b0ed | |||
0a367146bf | |||
42d2cb79df | |||
53e445d155 | |||
e1ffb03ce4 | |||
cd82c7c3d7 | |||
f944a3c6ee | |||
f43f265c7f | |||
ea1c9ec676 | |||
669689e8df | |||
96b9cf0bbb | |||
e6ce3f9581 | |||
2cbc4e11d9 | |||
1c517d4157 |
7
.cz.yaml
Normal file
7
.cz.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
commitizen:
|
||||
bump_message: "build(version): bump version $current_version \u2192 $new_version"
|
||||
changelog_incremental: false
|
||||
name: cz_conventional_commits
|
||||
tag_format: $major.$minor.$patch$prerelease
|
||||
update_changelog_on_bump: true
|
||||
version: 0.1.1rc3
|
2
.dockerignore
Normal file
2
.dockerignore
Normal file
@ -0,0 +1,2 @@
|
||||
.gitlab-ci.yml
|
||||
README.md
|
61
.gitlab-ci.yml
Normal file
61
.gitlab-ci.yml
Normal file
@ -0,0 +1,61 @@
|
||||
---
|
||||
|
||||
variables:
|
||||
MY_PROJECT_ID: "45741845"
|
||||
GIT_SYNC_URL: "https://$GITHUB_USERNAME_ROBOT:$GITHUB_TOKEN_ROBOT@github.com/NoFussComputing/execution_environment.git"
|
||||
|
||||
DOCKER_IMAGE_BUILD_TARGET_PLATFORMS: "linux/amd64,linux/arm64,linux/arm/v7"
|
||||
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:
|
||||
- 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
|
||||
image: nofusscomputing/docker-buildx-qemu:dev
|
||||
services:
|
||||
- name: docker:23-dind
|
||||
entrypoint: ["env", "-u", "DOCKER_HOST"]
|
||||
command: ["dockerd-entrypoint.sh"]
|
||||
variables:
|
||||
DOCKER_HOST: tcp://docker:2375/
|
||||
DOCKER_DRIVER: overlay2
|
||||
DOCKER_TLS_CERTDIR: ""
|
||||
before_script:
|
||||
- docker info
|
||||
#- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||
- 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
|
||||
script: |
|
||||
docker buildx build \
|
||||
--file dockerfile-build_cache \
|
||||
--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
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
when: never
|
||||
- if: $CI_COMMIT_TAG
|
||||
when: never
|
||||
- if: '$CI_COMMIT_BRANCH != "master"'
|
||||
allow_failure: true
|
||||
when: manual
|
||||
- when: never
|
16
.gitmodules
vendored
Normal file
16
.gitmodules
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
[submodule "gitlab-ci"]
|
||||
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
|
72
CHANGELOG.md
Normal file
72
CHANGELOG.md
Normal file
@ -0,0 +1,72 @@
|
||||
## 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
|
||||
|
||||
- **ci**: [42d2cb79](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/42d2cb79dfc9d1ecbdab9945b327d819f00631fe) - syntax error [ [!3](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/3) ]
|
||||
- **ci**: [53e445d1](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/53e445d15511bb7691acc273d2e0c90c02da30d8) - specify commitezen version [ [!3](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/3) ]
|
||||
- **ci**: [e1ffb03c](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/e1ffb03ce4473b4ef8d56a56847fc27390df8bfd) - use specified dind imge [ [!3](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/3) ]
|
||||
- **ci**: [cd82c7c3](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/cd82c7c3d7a81a27f10c15ec3a6aaedbe2712894) - ensure submodules expanded [ [!3](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/3) ]
|
||||
|
||||
### Continious Integration
|
||||
|
||||
- [b0f236d9](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/b0f236d93553f1301a8487092e0cb5105b7abccc) - update to current gitlab-ci project dev head [ [!3](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/3) ]
|
||||
- **publish**: [0a367146](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/0a367146bfa5b409273c0412fca8f4d33287068d) - default to dev tag for image [ [!3](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/3) ]
|
||||
- [f43f265c](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/f43f265c7f1691c58bcdf8bb4ec0a0bf8fb0be6f) - added initial ci jobs [ [!3](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/3) ]
|
||||
- [e6ce3f95](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/e6ce3f9581a90f5ce4d11eaf16e89b6956ec39c9) - add dummy job [ [!1](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/1) ]
|
||||
- **github**: [1c517d41](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/1c517d41575b838e61561f03fcf1d118df163f55) - add github sync job [ [!1](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/1) ]
|
||||
|
||||
### Documentaton / Guides
|
||||
|
||||
- [fb7db642](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/fb7db64235133aac3ff02331b14ae8131f9da9bf) - todo [ [!3](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/3) ]
|
||||
- **readme**: [669689e8](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/669689e8df76bc3d3225081db99918cbd4b51688) - Updated Repository README
|
||||
- **readme**: [2cbc4e11](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/2cbc4e11d9e4e935db54ae1e3e319b1e4d813299) - Updated Repository README
|
||||
|
||||
### Features
|
||||
|
||||
- **ci**: [3e7094c2](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/3e7094c243e8a22bf3443bf8db176a4f0b69776c) - use nfc gitlab-ci project for ci [ [!3](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/3) ]
|
||||
- **python_build**: [3f6e77b0](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/commit/3f6e77b0ed651a1f0418ada7d8849b5f048880f1) - compile and cache pip packages [ [!3](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests/3) ]
|
||||
|
||||
## 0.0.1 (2023-05-05)
|
62
README.md
62
README.md
@ -1,3 +1,61 @@
|
||||
# execution environment Repository.
|
||||
<div align="center" width="100%">
|
||||
|
||||
This repository was created by ansible!!
|
||||
|
||||
|
||||
# No Fuss Computing - Execution Environment
|
||||
|
||||
<br>
|
||||
|
||||

|
||||
|
||||
<br>
|
||||
|
||||
  [](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues)
|
||||
|
||||
|
||||
|
||||
  
|
||||
<br>
|
||||
|
||||
This project is hosted on [gitlab](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment) and has a read-only copy hosted on [Github](https://github.com/NofussComputing/execution_environment).
|
||||
|
||||
----
|
||||
|
||||
**Stable Branch**
|
||||
|
||||
 
|
||||
|
||||
----
|
||||
|
||||
**Development Branch**
|
||||
|
||||
 
|
||||
|
||||
----
|
||||
<br>
|
||||
|
||||
</div>
|
||||
|
||||
links:
|
||||
|
||||
- [Issues](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/issues)
|
||||
|
||||
- [Merge Requests (Pull Requests)](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment/-/merge_requests)
|
||||
|
||||
## Documentation
|
||||
|
||||
|
||||
**TO DO:**
|
||||
|
||||
point docs to gitlab-ci for docker build
|
||||
|
||||
|
||||
## Contributing
|
||||
All contributions for this project must conducted from [Gitlab](https://gitlab.com/nofusscomputing/projects/ansible/execution_environment).
|
||||
|
||||
For further details on contributing please refer to the [contribution guide](CONTRIBUTING.md).
|
||||
|
||||
|
||||
## Other
|
||||
|
||||
This repo is release under this [license](LICENSE)
|
||||
|
72
dockerfile
Normal file
72
dockerfile
Normal file
@ -0,0 +1,72 @@
|
||||
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 /
|
||||
|
||||
|
||||
# Ref: https://github.com/opencontainers/image-spec/blob/d86384efdb8c30770a92415c100f57a9bffbb64e/annotations.md
|
||||
LABEL \
|
||||
# org.opencontainers.image.authors="{contributor url}" \
|
||||
org.opencontainers.image.vendor="No Fuss Computing" \
|
||||
# org.opencontainers.image.url="{dockerhub url}" \
|
||||
# org.opencontainers.image.documentation="{docs url}" \
|
||||
# org.opencontainers.image.source="{repo url}" \
|
||||
# org.opencontainers.image.revision="{git commit sha at time of build}" \
|
||||
org.opencontainers.image.title="No Fuss Computings Ansible Execution Environment" \
|
||||
org.opencontainers.image.description="An ansible execution environment for awx/tower and CI/CD pipelines" \
|
||||
org.opencontainers.image.vendor="No Fuss Computing"
|
||||
# org.opencontainers.image.version="{git tag}"
|
||||
|
||||
|
||||
|
||||
# This Black Magic exists as libc-bin was being a turd and returning errors when trying to install git, ssh.
|
||||
# see: https://askubuntu.com/questions/1339558/cant-build-dockerfile-for-arm64-due-to-libc-bin-segmentation-fault
|
||||
# see: https://github.com/dcycle/prepare-docker-buildx/blob/09057fe4879e31ee780b9e69b87f41327ca8cd8e/example/Dockerfile#L8-L10
|
||||
RUN export DEBIAN_FRONTEND=noninteractive \
|
||||
&& apt update \
|
||||
&& apt --fix-broken install \
|
||||
&& apt install -y libc-bin locales-all \
|
||||
&& apt update \
|
||||
&& apt install --reinstall --no-install-recommends -yq \
|
||||
openssh-client \
|
||||
git || true \
|
||||
&& dpkg --purge --force-all libc-bin \
|
||||
&& apt-get install --no-install-recommends -y \
|
||||
openssh-client \
|
||||
git \
|
||||
# End of Black Magic
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& mkdir -p /etc/ansible/roles \
|
||||
&& mkdir -p /etc/ansible/collections \
|
||||
&& mkdir -p /workdir \
|
||||
&& 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 requirements.txt /tmp/requirements.txt
|
||||
|
||||
|
||||
RUN pip install --upgrade pip
|
||||
|
||||
RUN pip install --index-url https://gitlab.com/api/v4/projects/45741845/packages/pypi/simple -r /tmp/requirements.txt
|
||||
|
||||
|
||||
RUN ansible-galaxy collection install \
|
||||
awx.awx \
|
||||
kubernetes.core \
|
||||
# community.general.gitlab_*
|
||||
community.general \
|
||||
# ansible.posix.authorized_key for SSH
|
||||
ansible.posix \
|
||||
# docker managment
|
||||
community.docker
|
74
dockerfile-build_cache
Normal file
74
dockerfile-build_cache
Normal file
@ -0,0 +1,74 @@
|
||||
FROM --platform=$TARGETPLATFORM python:3.11-bullseye as wheelbuild
|
||||
|
||||
ARG CI_JOB_TOKEN
|
||||
ARG CI_API_V4_URL
|
||||
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
|
||||
|
||||
RUN apt update \
|
||||
&& apt install --reinstall -yq \
|
||||
git \
|
||||
curl \
|
||||
rustc cargo || true
|
||||
|
||||
|
||||
RUN mkdir -p /tmp/python_modules /tmp/python_builds
|
||||
|
||||
|
||||
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 || true
|
||||
|
||||
|
||||
RUN pip install --upgrade pip
|
||||
|
||||
RUN pip install --upgrade \
|
||||
setuptools \
|
||||
wheel \
|
||||
setuptools-rust \
|
||||
twine
|
||||
|
||||
COPY requirements.txt /tmp/requirements.txt
|
||||
|
||||
RUN cd /tmp/python_modules \
|
||||
&& pip download --dest . --check-build-dependencies \
|
||||
-r /tmp/requirements.txt
|
||||
|
||||
|
||||
RUN cd /tmp/python_modules \
|
||||
# && export PATH=$PATH:~/.cargo/bin \
|
||||
&& echo "[DEBUG] PATH=$PATH" \
|
||||
&& pip wheel --wheel-dir /tmp/python_builds --find-links . *.whl
|
||||
|
||||
|
||||
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/*
|
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
1
gitlab-ci
Submodule
1
gitlab-ci
Submodule
Submodule gitlab-ci added at 606b19151e
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 fa347da88c
1
includes/etc/ansible/roles
Submodule
1
includes/etc/ansible/roles
Submodule
Submodule includes/etc/ansible/roles added at 2526044cc8
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
|
||||
|
5
requirements.txt
Normal file
5
requirements.txt
Normal file
@ -0,0 +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