Shell to Python Continuous Deployment
Get a common set of Python CI & CD commands
from various contexts of CA, DNS, CI and OS / OCI.
Features
Handle project workflows
- from a POSIX shell script payload in a group variable
- with a unified YAML syntax implemented in Python
- whether the network infrastructure is
- whatever the Continuous Integration platform
- whatever the Operating System container
How
Packages
Latest
os |
https |
updt-ca |
python |
graphviz |
plantuml |
shellcheck |
shunit |
shfmt |
Arch 20240818 |
☑ |
☑ |
3.12 |
12.0 |
1.2023.13 |
0.10 |
2.1.8 |
3.8 |
Alpine 3.20 |
☑ |
☐ |
3.12 |
9.0 |
1.2024.4 |
0.10 |
2.1.8 |
3.8 |
Fedora 40 |
☑ |
☑ |
3.12 → 3.13 |
9.0 |
1.2024.6 |
0.9 |
2.1.6 |
3.7 |
Debian Bookworm |
☐ |
☐ |
3.11 |
2.42 |
1.2020.2 |
0.9 |
2.1.8 |
3.6 |
OpenSUSE 15.6 |
☐ |
☑ |
3.6 → 3.12 |
2.48 |
1.2020.9 |
0.8 |
2.1.6 |
3.5 |
Ubuntu Noble |
☐ |
☐ |
3.12 |
u2.42 |
u1.2020.2 |
u0.9 |
2.1.8 |
u3.8 |
Alma / Rocky 9 |
☑ |
☑ |
3.9 → 3.12 |
2.44 |
e1.2024.6 |
e0.8 |
git |
|
Previous
os |
https |
updt-ca |
python |
graphviz |
plantuml |
shellcheck |
shunit |
shfmt |
Alpine 3.19 |
☑ |
☐ |
3.11 |
9.0 |
1.2023.12 |
0.9 |
2.1.8 |
3.7 |
Fedora 39 |
☑ |
☑ |
3.12 → 3.13 |
8.1 |
1.2024.6 |
0.9 |
2.1.6 |
3.5 |
OpenSUSE 15.5 |
☐ |
☑ |
3.6 → 3.11 |
2.48 |
1.2020.9 |
0.8 |
2.1.6 |
3.5 |
Alma / Rocky 8 |
☑ |
☑ |
3.6 → 3.12 |
2.40 |
e1.2024.6 |
e0.6 |
git |
|
Older Python
os |
https |
updt-ca |
python |
graphviz |
plantuml |
shellcheck |
shunit |
shfmt |
Ubuntu Jammy |
☐ |
☐ |
3.10 |
u2.42 |
u1.2020.2 |
u0.8 |
2.1.6 |
u3.4 |
Debian Bullseye |
☐ |
☐ |
3.9 |
2.42 |
1.2020.2 |
0.7 |
2.1.6 |
|
Tasks
- try git repo url variable first for shunit
Shell
- fit banner to text
- review repositories handling for systems
- opensuse
- codecs repository
- disable & enable https
- write function to clone git repositories
- write unit tests
Shell → Python
- check file & variable sums
- install system packages
- epel
- graphviz
- openssh
- rsync
- shfmt
- shunit
- python virtual environment
- install system package
- configure pip
- venv
- relay environment module name
Python
- check
- detect ssh private key type
- fit banner to text
- implement substeps
- list sys.path
- set workflow templates
- write unit tests
Later
- turn readme into documentation