From 70af7a9dfff487415e952eb0e4f4501b1c9e8a02 Mon Sep 17 00:00:00 2001 From: Pascal Zarrad Date: Sun, 1 Aug 2021 22:37:08 +0200 Subject: [PATCH] Make cassandra to a generic yolks image --- .../workflows/{software.yml => cassandra.yml} | 23 ++++---- cassandra/entrypoint.sh | 33 +++++++++++ .../java11_python3}/Dockerfile | 0 .../java8_python2}/Dockerfile | 0 software/cassandra/entrypoint.sh | 55 ------------------- 5 files changed, 43 insertions(+), 68 deletions(-) rename .github/workflows/{software.yml => cassandra.yml} (57%) create mode 100644 cassandra/entrypoint.sh rename {software/cassandra/cassandra_java11_python3 => cassandra/java11_python3}/Dockerfile (100%) rename {software/cassandra/cassandra_java8_python2 => cassandra/java8_python2}/Dockerfile (100%) delete mode 100644 software/cassandra/entrypoint.sh diff --git a/.github/workflows/software.yml b/.github/workflows/cassandra.yml similarity index 57% rename from .github/workflows/software.yml rename to .github/workflows/cassandra.yml index 59a97ac..1d61259 100644 --- a/.github/workflows/software.yml +++ b/.github/workflows/cassandra.yml @@ -1,4 +1,4 @@ -name: build software +name: build cassandra on: schedule: - cron: "0 0 * * 1" @@ -6,18 +6,17 @@ on: branches: - master paths: - - 'software/**' - + - cassandra/** jobs: - cassandra: - name: "software:${{ matrix.cassandra }}" + push: + name: "yolks:cassandra_${{ matrix.tag }}" runs-on: ubuntu-latest strategy: fail-fast: false matrix: - cassandra: - - cassandra_java11_python2 - - cassandra_java11_python3 + tag: + - java8_python2 + - java11_python3 steps: - uses: actions/checkout@v2 - uses: docker/setup-buildx-action@v1 @@ -31,11 +30,9 @@ jobs: password: ${{ secrets.REGISTRY_TOKEN }} - uses: docker/build-push-action@v2 with: - context: ./software/cassandra/${{ matrix.cassandra }} - file: ./software/cassandra/${{ matrix.cassandra }}/Dockerfile + context: ./cassandra + file: ./cassandra/${{ matrix.tag }}/Dockerfile platforms: linux/amd64 push: true tags: | - ghcr.io/parkervcp/software:${{ matrix.cassandra }} - -# Copy a job above and adjust it to enable the build of newly added software + ghcr.io/parkervcp/yolks:cassandra_${{ matrix.tag }} diff --git a/cassandra/entrypoint.sh b/cassandra/entrypoint.sh new file mode 100644 index 0000000..712088f --- /dev/null +++ b/cassandra/entrypoint.sh @@ -0,0 +1,33 @@ +#!/bin/ash + +# Default the TZ environment variable to UTC. +TZ=${TZ:-UTC} +export TZ + +# Set environment variable that holds the Internal Docker IP +INTERNAL_IP=$(ip route get 1 | awk '{print $NF;exit}') +export INTERNAL_IP + +# Switch to the container's working directory +cd /home/container || exit 1 + +# Print Python version +if command -v python &> /dev/null +then + printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mpython --version\n" + python --version +else + printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mpython3 --version\n" + python3 --version +fi + +# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell +# variable format of "${VARIABLE}" before evaluating the string and automatically +# replacing the values. +PARSED=$(echo "${STARTUP}" | sed -e 's/{{/${/g' -e 's/}}/}/g' | eval echo "$(cat -)") + +# Display the command we're running in the output, and then execute it with the env +# from the container itself. +printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0m%s\n" "$PARSED" +# shellcheck disable=SC2086 +exec env ${PARSED} diff --git a/software/cassandra/cassandra_java11_python3/Dockerfile b/cassandra/java11_python3/Dockerfile similarity index 100% rename from software/cassandra/cassandra_java11_python3/Dockerfile rename to cassandra/java11_python3/Dockerfile diff --git a/software/cassandra/cassandra_java8_python2/Dockerfile b/cassandra/java8_python2/Dockerfile similarity index 100% rename from software/cassandra/cassandra_java8_python2/Dockerfile rename to cassandra/java8_python2/Dockerfile diff --git a/software/cassandra/entrypoint.sh b/software/cassandra/entrypoint.sh deleted file mode 100644 index 4dcf22f..0000000 --- a/software/cassandra/entrypoint.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/ash - -# -# Copyright (c) 2021 Matthew Penner -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# - -# Default the TZ environment variable to UTC. -TZ=${TZ:-UTC} -export TZ - -# Set environment variable that holds the Internal Docker IP -INTERNAL_IP=$(ip route get 1 | awk '{print $NF;exit}') -export INTERNAL_IP - -# Switch to the container's working directory -cd /home/container || exit 1 - -# Print Python version -if command -v python &> /dev/null -then - printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mpython --version\n" - python --version -else - printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mpython3 --version\n" - python3 --version -fi - -# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell -# variable format of "${VARIABLE}" before evaluating the string and automatically -# replacing the values. -PARSED=$(echo "${STARTUP}" | sed -e 's/{{/${/g' -e 's/}}/}/g' | eval echo "$(cat -)") - -# Display the command we're running in the output, and then execute it with the env -# from the container itself. -printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0m%s\n" "$PARSED" -# shellcheck disable=SC2086 -exec env ${PARSED}