# Shell to Python Continuous Deployment Get a common set of Python CI & CD commands \ from various contexts of CA, CI and OCI / OS. ## Features * Certification Authority certificates * [X] custom * [X] known * Continuous Integration platforms * [X] ForgeJo * [X] Gitea * [X] GitHub * [X] GitLab * [ ] SourceHut * Operating Systems * [X] Alma * [X] 9 * [X] 8 * [X] Alpine * [X] 3.20 * [X] 3.19 * [X] Arch * [X] 20240101 * [ ] 20231112 * [X] Debian * [X] Bookworm (12) * [ ] Bullseye (11) * [X] Fedora * [X] 40 * [X] 39 * [X] Rocky * [X] 9 * [X] 8 * [X] Ubuntu * [X] Noble (24.04) * [X] Jammy (22.04) ## How | Variable | Description | Default | |:--------------------|:--------------------------|:--------------------------------| | SPCD_BRANCH_RELEASE | Release deployment branch | main | | SPCD_BRANCH_STAGING | Staging deployment branch | dev | | SPCD_BRANCH_FEATURE | Feature deployment branch | f | | SPCD_CA_n | Numbered CA certificate | | | SPCD_DNS | Space separated servers | 9.9.9.9 | | SPCD_GIT_MAIN | Main Git repository | spcd | | SPCD_GIT_ROOT | Root Git repository | rwx | | SPCD_SSH_HOSTS | domain.tld ssh-type pub | | | SPCD_SSH_KEY | SSH private key | | | SPCD_URL_ALMA | Alma repository URL | https://repo.almalinux.org | | SPCD_URL_ALPINE | Alpine repository URL | https://dl-cdn.alpinelinux.org | | SPCD_URL_ARCH | Arch repository URL | https://geo.mirror.pkgbuild.com | | SPCD_URL_DEBIAN | Debian repository URL | https://deb.debian.org | | SPCD_URL_EPEL | EPEL repository URL | https://dl.fedoraproject.org | | SPCD_URL_FEDORA | Fedora repository URL | https://rpmfind.net | | SPCD_URL_ROCKY | Rocky repository URL | https://dl.rockylinux.org | | SPCD_URL_UBUNTU | Ubuntu repository URL | https://ubuntu.mirrors.ovh.net | ## Packages | os | s | u | python | grviz | plantuml | shch | spx | shfm | ruf | |:----------------|---|---|:------------|:------|:----------|:-----|:----|:-----|:----| | Arch 20240101 | ☑ | ☑ | 3.12 | 12.0 | 1.2023.13 | 0.10 | 7.4 | 3.8 | 0.5 | | Fedora 40 | ☑ | ☑ | 3.12 → 3.13 | 9.0 | 1.2024.6 | 0.9 | 7.2 | 3.7 | 0.4 | | Alpine 3.20 | ☑ | ☐ | 3.12 | 9.0 | 1.2024.4 | 0.10 | 7.2 | 3.8 | 0.4 | | Ubuntu Noble | ☐ | ☐ | 3.12 | u2.42 | u1.2020.2 | u0.9 | 7.2 | u3.8 | | | Debian Bookworm | ☐ | ☐ | 3.11 | 2.42 | 1.2020.2 | 0.9 | 5.3 | 3.6 | | | Alma / Rocky 9 | ☑ | ☑ | 3.9 → 3.12 | 2.44 | e1.2024.6 | e0.8 | | | | | os | s | u | python | grviz | plantuml | shch | spx | shfm | ruf | |:----------------|---|---|:------------|:------|:----------|:-----|:----|:-----|:----| | Fedora 39 | ☑ | ☑ | 3.12 → 3.13 | 8.1 | 1.2024.6 | 0.9 | 6.2 | 3.5 | 0.4 | | Alpine 3.19 | ☑ | ☐ | 3.11 | 9.0 | 1.2023.12 | 0.9 | 6.2 | 3.7 | | | Ubuntu Jammy | ☐ | ☐ | 3.10 | u2.42 | u1.2020.2 | u0.8 | 4.3 | u3.4 | | | Debian Bullseye | ☐ | ☐ | 3.9 | 2.42 | 1.2020.2 | 0.7 | 3.4 | | | | Alma / Rocky 8 | ☑ | ☑ | 3.6 → 3.12 | 2.40 | e1.2024.6 | e0.6 | | | | ## Tasks * relay environment module name * write tests ### .py * detect ssh private key type * implement project repository cloning * install * epel * plantuml * shellcheck * graphviz * openssh * pip * ruff * rsync * shfmt * lint * .py * .sh ### .sh * support opensuse