spcd/readme.md

115 lines
4.2 KiB
Markdown
Raw Normal View History

2024-06-27 11:54:46 +00:00
# Shell to Python Continuous Deployment
2024-04-29 11:04:36 +00:00
2024-06-21 11:29:18 +00:00
Get a common set of Python CI & CD commands \
2024-06-14 08:02:31 +00:00
from various contexts of CA, CI and OCI / OS.
2024-05-03 13:11:58 +00:00
2024-04-29 11:04:36 +00:00
## Features
2024-06-25 12:47:42 +00:00
* Certification Authority certificates
2024-05-05 20:20:49 +00:00
* [X] custom
* [X] known
2024-06-25 12:47:42 +00:00
* Continuous Integration platforms
2024-06-14 08:02:31 +00:00
* [X] ForgeJo
2024-06-17 19:44:22 +00:00
* [X] Gitea
* [X] GitHub
2024-05-05 20:20:49 +00:00
* [X] GitLab
* [ ] SourceHut
2024-06-25 12:47:42 +00:00
* Operating Systems
2024-07-21 11:24:53 +00:00
* [X] Alma
2024-05-05 20:20:49 +00:00
* [X] 9
2024-07-12 21:24:50 +00:00
* [X] 8
* [X] Alpine
2024-07-21 11:24:53 +00:00
* [X] 3.20
* [X] 3.19
* [X] Arch
2024-05-10 20:33:13 +00:00
* [X] 20240101
2024-07-12 21:24:50 +00:00
* [ ] 20231112
2024-06-25 12:47:42 +00:00
* [X] Debian
2024-07-21 11:24:53 +00:00
* [X] Bookworm (12)
* [ ] Bullseye (11)
2024-07-21 19:24:29 +00:00
* [X] Fedora
2024-05-10 20:33:13 +00:00
* [X] 40
2024-07-12 21:24:50 +00:00
* [X] 39
2024-07-21 11:24:53 +00:00
* [X] Rocky
2024-05-05 20:20:49 +00:00
* [X] 9
2024-07-12 21:24:50 +00:00
* [X] 8
2024-05-05 20:20:49 +00:00
* [X] Ubuntu
2024-07-21 11:24:53 +00:00
* [X] Noble (24.04)
* [X] Jammy (22.04)
2024-04-29 11:04:36 +00:00
2024-05-02 08:58:02 +00:00
## How
2024-07-20 16:07:42 +00:00
| Variable | Description | Default |
|:--------------------|:--------------------------|:--------------------------------|
| SPCD_BRANCH_RELEASE | Release deployment branch | main |
| SPCD_BRANCH_STAGING | Staging deployment branch | dev |
| SPCD_BRANCH_FEATURE | Feature deployment branch | f |
2024-08-06 10:53:23 +00:00
| SPCD_CA_n | Numbered CA certificates | |
| SPCD_DNS_n | Numbered name servers | 9.9.9.9 |
2024-07-20 16:07:42 +00:00
| 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 |
2024-07-22 15:12:44 +00:00
| SPCD_URL_EPEL | EPEL repository URL | https://dl.fedoraproject.org |
2024-07-20 16:07:42 +00:00
| SPCD_URL_FEDORA | Fedora repository URL | https://rpmfind.net |
2024-08-06 17:29:24 +00:00
| SPCD_URL_PYTHON | Python repository URL | https://pypi.org/project |
2024-07-20 16:07:42 +00:00
| SPCD_URL_ROCKY | Rocky repository URL | https://dl.rockylinux.org |
| SPCD_URL_UBUNTU | Ubuntu repository URL | https://ubuntu.mirrors.ovh.net |
2024-05-02 08:58:02 +00:00
2024-07-21 17:30:27 +00:00
## Packages
2024-05-10 20:25:17 +00:00
2024-07-26 14:59:27 +00:00
| os | https | updt-ca | py | graphviz | plantuml | shchk | sphinx | shfmt | pelican | ruff |
2024-07-26 14:50:32 +00:00
|:----------------|---|---|:------------|:------|:----------|:-----|:----|:-----|:----|:----|
| Arch 20240101 | ☑ | ☑ | 3.12 | 12.0 | 1.2023.13 | 0.10 | 7.4 | 3.8 | 4.9 | 0.5 |
| Fedora 40 | ☑ | ☑ | 3.12 → 3.13 | 9.0 | 1.2024.6 | 0.9 | 7.2 | 3.7 | 4.8 | 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 | 4.9 | |
| Debian Bookworm | ☐ | ☐ | 3.11 | 2.42 | 1.2020.2 | 0.9 | 5.3 | 3.6 | 4.8 | |
| Alma / Rocky 9 | ☑ | ☑ | 3.9 → 3.12 | 2.44 | e1.2024.6 | e0.8 | | | | |
2024-07-22 07:08:06 +00:00
2024-07-26 14:59:27 +00:00
| os | https | updt-ca | py | graphviz | plantuml | shchk | sphinx | shfmt | pelican | ruff |
2024-07-26 14:50:32 +00:00
|:----------------|---|---|:------------|:------|:----------|:-----|:----|:-----|:----|:----|
| Fedora 39 | ☑ | ☑ | 3.12 → 3.13 | 8.1 | 1.2024.6 | 0.9 | 6.2 | 3.5 | 4.8 | 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 | 4.7 | |
| Debian Bullseye | ☐ | ☐ | 3.9 | 2.42 | 1.2020.2 | 0.7 | 3.4 | | 4.0 | |
| Alma / Rocky 8 | ☑ | ☑ | 3.6 → 3.12 | 2.40 | e1.2024.6 | e0.6 | | | | |
2024-05-10 20:25:17 +00:00
2024-04-29 11:04:36 +00:00
## Tasks
2024-08-02 19:19:28 +00:00
* define templates
* actions
* includes
2024-08-02 19:17:40 +00:00
* handle python virtual environment
2024-08-06 17:30:16 +00:00
* create venv
2024-08-06 17:29:24 +00:00
* activate venv
2024-08-02 22:51:58 +00:00
* upgrade pip
* install packages
* ruff
2024-06-14 07:55:16 +00:00
* relay environment module name
* write tests
2024-06-14 07:16:28 +00:00
### .py
2024-06-14 07:55:16 +00:00
* detect ssh private key type
* implement project repository cloning
* install
2024-06-14 09:59:10 +00:00
* epel
2024-07-17 09:29:24 +00:00
* plantuml
2024-06-14 09:59:10 +00:00
* shellcheck
2024-07-17 09:42:08 +00:00
* graphviz
2024-06-14 07:55:16 +00:00
* openssh
* rsync
2024-06-25 12:47:42 +00:00
* shfmt
2024-06-14 09:59:10 +00:00
* lint
* .py
* .sh
2024-06-14 07:55:16 +00:00
2024-06-14 07:16:28 +00:00
### .sh
2024-06-14 07:55:16 +00:00
* support opensuse