diff --git a/.forgejo/workflows/almalinux:8.yaml b/.forgejo/workflows/almalinux:8.yaml index 6a5b327..119a65d 100644 --- a/.forgejo/workflows/almalinux:8.yaml +++ b/.forgejo/workflows/almalinux:8.yaml @@ -5,7 +5,7 @@ jobs: image: almalinux:8 steps: - name: cd - run: ${{vars.cd}} "${{secrets.cd_key}}" "${{vars.cd_hosts}}" + run: ${{vars.cd}} "${{secrets.cd_ssh_key}}" "${{vars.cd_ssh_hosts}}" - run: cd-list-environment - run: cd-clone-branch diff --git a/.forgejo/workflows/almalinux:9.yaml b/.forgejo/workflows/almalinux:9.yaml index bf06ca3..1adbd7c 100644 --- a/.forgejo/workflows/almalinux:9.yaml +++ b/.forgejo/workflows/almalinux:9.yaml @@ -5,7 +5,7 @@ jobs: image: almalinux:9 steps: - name: cd - run: ${{vars.cd}} "${{secrets.cd_key}}" "${{vars.cd_hosts}}" + run: ${{vars.cd}} "${{secrets.cd_ssh_key}}" "${{vars.cd_ssh_hosts}}" - run: cd-list-environment - run: cd-clone-branch diff --git a/.forgejo/workflows/alpine:3.18.yaml b/.forgejo/workflows/alpine:3.18.yaml index 880031e..bb87efb 100644 --- a/.forgejo/workflows/alpine:3.18.yaml +++ b/.forgejo/workflows/alpine:3.18.yaml @@ -5,7 +5,7 @@ jobs: image: alpine:3.18 steps: - name: cd - run: ${{vars.cd}} "${{secrets.cd_key}}" "${{vars.cd_hosts}}" + run: ${{vars.cd}} "${{secrets.cd_ssh_key}}" "${{vars.cd_ssh_hosts}}" - run: cd-list-environment - run: cd-clone-branch diff --git a/.forgejo/workflows/alpine:3.19.yaml b/.forgejo/workflows/alpine:3.19.yaml index 5ed484c..98437d5 100644 --- a/.forgejo/workflows/alpine:3.19.yaml +++ b/.forgejo/workflows/alpine:3.19.yaml @@ -5,7 +5,7 @@ jobs: image: alpine:3.19 steps: - name: cd - run: ${{vars.cd}} "${{secrets.cd_key}}" "${{vars.cd_hosts}}" + run: ${{vars.cd}} "${{secrets.cd_ssh_key}}" "${{vars.cd_ssh_hosts}}" - run: cd-list-environment - run: cd-clone-branch diff --git a/.forgejo/workflows/archlinux:base-20231112.0.191179.yaml b/.forgejo/workflows/archlinux:base-20231112.0.191179.yaml index e48e21f..be6085d 100644 --- a/.forgejo/workflows/archlinux:base-20231112.0.191179.yaml +++ b/.forgejo/workflows/archlinux:base-20231112.0.191179.yaml @@ -5,7 +5,7 @@ jobs: image: archlinux:base-20231112.0.191179 steps: - name: cd - run: ${{vars.cd}} "${{secrets.cd_key}}" "${{vars.cd_hosts}}" + run: ${{vars.cd}} "${{secrets.cd_ssh_key}}" "${{vars.cd_ssh_hosts}}" - run: cd-list-environment - run: cd-clone-branch diff --git a/.forgejo/workflows/archlinux:base-20240101.0.204074.yaml b/.forgejo/workflows/archlinux:base-20240101.0.204074.yaml index e73cf51..0f9a097 100644 --- a/.forgejo/workflows/archlinux:base-20240101.0.204074.yaml +++ b/.forgejo/workflows/archlinux:base-20240101.0.204074.yaml @@ -5,7 +5,7 @@ jobs: image: archlinux:base-20240101.0.204074 steps: - name: cd - run: ${{vars.cd}} "${{secrets.cd_key}}" "${{vars.cd_hosts}}" + run: ${{vars.cd}} "${{secrets.cd_ssh_key}}" "${{vars.cd_ssh_hosts}}" - run: cd-list-environment - run: cd-clone-branch diff --git a/.forgejo/workflows/debian:bookworm.yaml b/.forgejo/workflows/debian:bookworm.yaml index 23619ec..c6f4ae1 100644 --- a/.forgejo/workflows/debian:bookworm.yaml +++ b/.forgejo/workflows/debian:bookworm.yaml @@ -5,7 +5,7 @@ jobs: image: debian:bookworm steps: - name: cd - run: ${{vars.cd}} "${{secrets.cd_key}}" "${{vars.cd_hosts}}" + run: ${{vars.cd}} "${{secrets.cd_ssh_key}}" "${{vars.cd_ssh_hosts}}" - run: cd-list-environment - run: cd-clone-branch diff --git a/.forgejo/workflows/debian:bullseye.yaml b/.forgejo/workflows/debian:bullseye.yaml index 17da330..7a1d736 100644 --- a/.forgejo/workflows/debian:bullseye.yaml +++ b/.forgejo/workflows/debian:bullseye.yaml @@ -5,7 +5,7 @@ jobs: image: debian:bullseye steps: - name: cd - run: ${{vars.cd}} "${{secrets.cd_key}}" "${{vars.cd_hosts}}" + run: ${{vars.cd}} "${{secrets.cd_ssh_key}}" "${{vars.cd_ssh_hosts}}" - run: cd-list-environment - run: cd-clone-branch diff --git a/.forgejo/workflows/fedora:39.yaml b/.forgejo/workflows/fedora:39.yaml index 15e886a..aad0848 100644 --- a/.forgejo/workflows/fedora:39.yaml +++ b/.forgejo/workflows/fedora:39.yaml @@ -5,7 +5,7 @@ jobs: image: fedora:39 steps: - name: cd - run: ${{vars.cd}} "${{secrets.cd_key}}" "${{vars.cd_hosts}}" + run: ${{vars.cd}} "${{secrets.cd_ssh_key}}" "${{vars.cd_ssh_hosts}}" - run: cd-list-environment - run: cd-clone-branch diff --git a/.forgejo/workflows/fedora:40.yaml b/.forgejo/workflows/fedora:40.yaml index 1c527d4..fd1d5f9 100644 --- a/.forgejo/workflows/fedora:40.yaml +++ b/.forgejo/workflows/fedora:40.yaml @@ -5,7 +5,7 @@ jobs: image: fedora:40 steps: - name: cd - run: ${{vars.cd}} "${{secrets.cd_key}}" "${{vars.cd_hosts}}" + run: ${{vars.cd}} "${{secrets.cd_ssh_key}}" "${{vars.cd_ssh_hosts}}" - run: cd-list-environment - run: cd-clone-branch diff --git a/.forgejo/workflows/rockylinux:8.yaml b/.forgejo/workflows/rockylinux:8.yaml index e3eebaa..54a1962 100644 --- a/.forgejo/workflows/rockylinux:8.yaml +++ b/.forgejo/workflows/rockylinux:8.yaml @@ -5,7 +5,7 @@ jobs: image: rockylinux:8 steps: - name: cd - run: ${{vars.cd}} "${{secrets.cd_key}}" "${{vars.cd_hosts}}" + run: ${{vars.cd}} "${{secrets.cd_ssh_key}}" "${{vars.cd_ssh_hosts}}" - run: cd-list-environment - run: cd-clone-branch diff --git a/.forgejo/workflows/rockylinux:9.yaml b/.forgejo/workflows/rockylinux:9.yaml index ed15281..64d98a4 100644 --- a/.forgejo/workflows/rockylinux:9.yaml +++ b/.forgejo/workflows/rockylinux:9.yaml @@ -5,7 +5,7 @@ jobs: image: rockylinux:9 steps: - name: cd - run: ${{vars.cd}} "${{secrets.cd_key}}" "${{vars.cd_hosts}}" + run: ${{vars.cd}} "${{secrets.cd_ssh_key}}" "${{vars.cd_ssh_hosts}}" - run: cd-list-environment - run: cd-clone-branch diff --git a/.forgejo/workflows/ubuntu:jammy.yaml b/.forgejo/workflows/ubuntu:jammy.yaml index d9c4a9b..33c4578 100644 --- a/.forgejo/workflows/ubuntu:jammy.yaml +++ b/.forgejo/workflows/ubuntu:jammy.yaml @@ -5,7 +5,7 @@ jobs: image: ubuntu:jammy steps: - name: cd - run: ${{vars.cd}} "${{secrets.cd_key}}" "${{vars.cd_hosts}}" + run: ${{vars.cd}} "${{secrets.cd_ssh_key}}" "${{vars.cd_ssh_hosts}}" - run: cd-list-environment - run: cd-clone-branch diff --git a/.forgejo/workflows/ubuntu:noble.yaml b/.forgejo/workflows/ubuntu:noble.yaml index b23f63b..739ca7c 100644 --- a/.forgejo/workflows/ubuntu:noble.yaml +++ b/.forgejo/workflows/ubuntu:noble.yaml @@ -5,7 +5,7 @@ jobs: image: ubuntu:noble steps: - name: cd - run: ${{vars.cd}} "${{secrets.cd_key}}" "${{vars.cd_hosts}}" + run: ${{vars.cd}} "${{secrets.cd_ssh_key}}" "${{vars.cd_ssh_hosts}}" - run: cd-list-environment - run: cd-clone-branch diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1ac9143..a3634f6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,7 @@ image: debian:bookworm job: script: - - sh ${CD} "${CD_KEY}" "${CD_HOSTS}" + - sh ${CD} ${CD_SSH_KEY} ${CD_SSH_HOSTS} - cd-list-environment - cd-clone-branch diff --git a/cd.sh b/cd.sh index 84992e7..659109d 100644 --- a/cd.sh +++ b/cd.sh @@ -1,15 +1,11 @@ #! /usr/bin/env sh # defaults -CD_DEFAULT_DNS="\ +[ "${CD_DNS}" ] || CD_DNS="\ 9.9.9.9 \ " - -CD_PYTHON_MODULE="cd" -CD_PYTHON_MODULES="\ -${CD_PYTHON_MODULE} \ -rwx \ -" +[ "${CD_GIT_CHILD}" ] || CD_GIT_CHILD="cd" +[ "${CD_GIT_PARENT}" ] || CD_GIT_PARENT="rwx" # main cd_main () { @@ -256,6 +252,9 @@ Dir::Etc::SourceParts \"\"; "${CD_OS_ALPINE}") [ "${CD_URL_ALPINE}" ] && CD_URL_CHOSEN="${CD_URL_ALPINE}" ;; + "${CD_OS_ARCH}") + [ "${CD_URL_ARCH}" ] && CD_URL_CHOSEN="${CD_URL_ARCH}" + ;; "${CD_OS_DEBIAN}") [ "${CD_URL_DEBIAN}" ] && CD_URL_CHOSEN="${CD_URL_DEBIAN}" \ || CD_URL_CHOSEN="https://deb.debian.org/debian" @@ -444,11 +443,9 @@ cd_set_https_verification_off () { cd_set_dns_resolving () { local server -local servers local text="" cd_step "Set DNS resolving" - [ "${CD_DNS}" ] && servers="${CD_DNS}" || servers="${CD_DEFAULT_DNS}" - for server in ${servers} ; do + for server in ${CD_DNS} ; do text="${text}nameserver ${server} " done @@ -540,7 +537,7 @@ local url cd_step "Install Python modules" root="$(mktemp --directory)" || exit echo "${root}" - for repository in ${CD_PYTHON_MODULES} ; do + for repository in "${CD_GIT_CHILD}" "${CD_GIT_PARENT}" ; do cd_split url="${CD_PROJECTS_URL}/${repository}" echo -n "\ @@ -571,9 +568,9 @@ local self echo -n "\ ${self} ↓ -${CD_PYTHON_MODULE} +${CD_GIT_CHILD} " - "${CD_PYTHON_ALIAS}" -m "${CD_PYTHON_MODULE}" "${@}" + "${CD_PYTHON_ALIAS}" -m "${CD_GIT_CHILD}" "${@}" } # functions diff --git a/readme.md b/readme.md index ebec849..3b607dd 100644 --- a/readme.md +++ b/readme.md @@ -37,19 +37,21 @@ from various CA, CI, OCI / OS. ## How -| Variable | Description | -|:--------------|:------------------------| -| CD_CA_n | Numbered CA certificate | -| CD_DNS | Space separated servers | -| CD_SSH_HOSTS | domain.tld ssh-type pub | -| CD_SSH_TYPE | SSH private key type | -| CD_URL_ALMA | Alma repository URL | -| CD_URL_ALPINE | Alpine repository URL | -| CD_URL_ARCH | Arch repository URL | -| CD_URL_DEBIAN | Debian repository URL | -| CD_URL_FEDORA | Fedora repository URL | -| CD_URL_ROCKY | Rocky repository URL | -| CD_URL_UBUNTU | Ubuntu repository URL | +| 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