diff --git a/.github/workflows/bapontag.yaml b/.github/workflows/bapontag.yaml index 36f6520..7ddfa88 100644 --- a/.github/workflows/bapontag.yaml +++ b/.github/workflows/bapontag.yaml @@ -8,6 +8,7 @@ on: - 'dbcmetrics-[0-9]+.[0-9]+.[0-9]+' - 'awx-ee-[0-9]+.[0-9]+.[0-9]+' - 'cron-tools-[0-9]+.[0-9]+.[0-9]+' + - 'moodle-tools-[0-9]+.[0-9]+.[0-9]+' jobs: pre_build: @@ -34,6 +35,8 @@ jobs: echo "registries=dockerhub" >> $GITHUB_OUTPUT elif [[ "${{ steps.nameTag.outputs.tag }}" == 'cron-tools' ]]; then echo "registries=dockerhub,quay.io" >> $GITHUB_OUTPUT + elif [[ "${{ steps.nameTag.outputs.tag }}" == 'moodle-tools' ]]; then + echo "registries=ghcr.io" >> $GITHUB_OUTPUT fi build_and_push: diff --git a/.github/workflows/dummytoghcr-on-push.yaml b/.github/workflows/dummytoghcr-on-push.yaml index 188130a..a089cc0 100644 --- a/.github/workflows/dummytoghcr-on-push.yaml +++ b/.github/workflows/dummytoghcr-on-push.yaml @@ -10,6 +10,7 @@ on: - 'dbcmetrics/**' - 'infra-tools/**' - 'cron-tools/**' + - 'moodle-tools/**' jobs: build_image_on_push: diff --git a/.github/workflows/moodletoolstoghcr-on-push.yaml b/.github/workflows/moodletoolstoghcr-on-push.yaml new file mode 100644 index 0000000..c3fe76a --- /dev/null +++ b/.github/workflows/moodletoolstoghcr-on-push.yaml @@ -0,0 +1,21 @@ +--- +name: moodle-tools Docker Image on Push to GHCR + +on: + push: + branches-ignore: + - master + paths: + - 'moodle-tools/**' + +jobs: + build_image_on_push: + permissions: + packages: write + security-events: write + actions: read + contents: read + uses: ./.github/workflows/imagetoghcr-on-push.yaml + with: + image_name: "moodle-tools" + context: "./moodle-tools/" diff --git a/moodle-tools/Dockerfile b/moodle-tools/Dockerfile new file mode 100644 index 0000000..2b99b49 --- /dev/null +++ b/moodle-tools/Dockerfile @@ -0,0 +1,23 @@ +FROM ubuntu:22.04 + +ARG DEBIAN_FRONTEND=noninteractive +ENV TZ=Europe/Berlin + +RUN set -x \ + && apt-get -y update \ + && apt-get -y install wget python3-pip \ + && wget https://dl.k8s.io/release/v1.28.7/bin/linux/amd64/kubectl \ + && chmod +x kubectl \ + && mv ./kubectl /usr/local/bin/kubectl \ + && wget -qO /usr/share/keyrings/postgres.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc \ + && echo "deb [signed-by=/usr/share/keyrings/postgres.asc] https://apt.postgresql.org/pub/repos/apt jammy-pgdg main" > /etc/apt/sources.list.d/pgdg.list \ + && pip install boto \ + && apt-get -y update \ + && apt-get -y install \ + duply \ + ca-certificates \ + gnupg \ + apt-transport-https \ + postgresql-client-14 \ + mariadb-client \ + && apt-get clean -y \ No newline at end of file diff --git a/moodle-tools/README.md b/moodle-tools/README.md new file mode 100644 index 0000000..9a5588c --- /dev/null +++ b/moodle-tools/README.md @@ -0,0 +1,12 @@ +# cron-tools +Minimal image with the tools that are necessary for our Moodle Kubernetes CronJobs. + +## Provided Tools +* [kubectl](https://kubernetes.io/docs/reference/kubectl/) +* [mariadb](https://www.mongodb.com/docs/mongodb-shell/) +* [psql](https://www.postgresql.org/docs/current/app-psql.html) +* [wget](https://www.gnu.org/software/wget/) +* [duply] +* [gnupg] +* [ca-certificates] +* [apt-transport-https]