Metadata-Version: 2.3
Name: spcd
Version: 0.0.1
Summary: Shell to Python Continuous Deployment
Author-email: Marc Beninca <git@marc.beninca.link>
Maintainer-email: Marc Beninca <git@marc.beninca.link>
License-File: license.md
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Requires-Dist: rwx
Description-Content-Type: text/markdown

# 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 → Python 3.11
    * [X] 8
    * [X] 9
  * [X] Alpine → Python 3.11
    * [X] 3.18
    * [X] 3.19
  * [X] Arch → Python 3.12
    * [ ] 20231112
    * [X] 20240101
  * [X] Debian
    * [ ] Bullseye (11) → Python 3.9
    * [X] Bookworm (12) → Python 3.11
  * [X] Fedora → Python 3.12
    * [X] 39
    * [X] 40
  * [X] Rocky → Python 3.11
    * [X] 8
    * [X] 9
  * [X] Ubuntu
    * [X] Jammy (22.04) → Python 3.10
    * [X] Noble (24.04) → Python 3.12

## 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
    * shellcheck
  * openssh
  * pip
    * ruff
  * rsync
  * shfmt
* lint
  * .py
  * .sh

### .sh

* support opensuse
