spcd/readme.md
2024-07-17 22:31:04 +02:00

2.8 KiB

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
    • custom
    • known
  • Continuous Integration platforms
    • ForgeJo
    • Gitea
    • GitHub
    • GitLab
    • SourceHut
  • Operating Systems
    • Alma → Python 3.11
      • 9
      • 8
    • Alpine
      • 3.20 → Python 3.12
      • 3.19 → Python 3.11
    • Arch → Python 3.12
      • 20240101
      • 20231112
    • Debian
      • Bookworm (12) → Python 3.11
      • Bullseye (11) → Python 3.9
    • Fedora → Python 3.12
      • 40
      • 39
    • Rocky → Python 3.11
      • 9
      • 8
    • Ubuntu
      • Noble (24.04) → Python 3.12
      • Jammy (22.04) → Python 3.10

How

Variable Description Default
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_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

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

  • 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

  • filter production & staging branches
  • support opensuse