Shell to Python Continuous Deployment https://spcd.rwx.work
Find a file
2024-06-05 11:54:36 +02:00
.forgejo/workflows ssh 2024-06-02 15:43:45 +02:00
cd py/split 2024-06-05 11:45:41 +02:00
.gitea gitea 2024-05-03 16:17:20 +02:00
.github github 2024-05-03 16:28:50 +02:00
.gitignore ignore 2024-04-26 21:33:57 +02:00
.gitlab-ci.yml ssh 2024-06-02 15:43:45 +02:00
cd.sh vertical 2024-06-05 11:54:36 +02:00
license.md license 2024-05-03 16:33:15 +02:00
readme.md split 2024-06-04 21:13:08 +02:00

Continuous Deployment

Get build-time Python commands
from various CA, CI, OCI / OS.

Features

  • CA certificates
    • custom
    • known
  • Continuous Integration platforms
    • GitHub → Gitea → ForgeJo
    • GitLab
    • SourceHut
  • Operating Systems
    • Alma → Python 3.11
      • 8
      • 9
    • Alpine → Python 3.11
      • 3.18
      • 3.19
    • Arch → Python 3.12
      • 20231112
      • 20240101
    • Debian
      • Bullseye (11) → Python 3.9
      • Bookworm (12) → Python 3.11
    • Fedora → Python 3.12
      • 39
      • 40
    • Rocky → Python 3.11
      • 8
      • 9
    • Ubuntu
      • Jammy (22.04) → Python 3.10
      • Noble (24.04) → Python 3.12

How

Variable Description Default
CD_CA_n Numbered CA certificate
CD_DNS Space separated servers 9.9.9.9
CD_GIT_CHILD Child Git repository cd
CD_GIT_PARENT Parent Git repository rwx
CD_SSH_HOSTS domain.tld ssh-type pub
CD_SSH_KEY SSH private key
CD_URL_ALMA Alma repository URL https://repo.almalinux.org
CD_URL_ALPINE Alpine repository URL https://dl-cdn.alpinelinux.org
CD_URL_ARCH Arch repository URL https://geo.mirror.pkgbuild.com
CD_URL_DEBIAN Debian repository URL https://deb.debian.org
CD_URL_FEDORA Fedora repository URL https://rpmfind.net
CD_URL_ROCKY Rocky repository URL https://dl.rockylinux.org
CD_URL_UBUNTU Ubuntu repository URL https://ubuntu.mirrors.ovh.net

HTTPS & Python

OS img crt upd Python
Alma 8
Alma 9 ☑ 3.9
Alpine
Arch
Debian
Fedora ☑ 3.12
Rocky 8
Rocky 9 ☑ 3.9
Ubuntu

Tasks

  • write bats

  • detect private key type

  • handle git cloning credentials

  • install rstnc and ssh from Python

  • reduce single conditions with &&

  • write Python bootstrap process

  • integrate project repository cloning

  • override repository and framework locations

  • show previous states of directories & files

  • relay Python module name