From ea0c2fe67ccf1c1b8a1a1acca0da77b7d4fbb91b Mon Sep 17 00:00:00 2001
From: Pascal Zarrad
Date: Sun, 1 Aug 2021 20:44:10 +0200
Subject: [PATCH 1/5] Add cassandra images
---
.../cassandra_java11_python3/Dockerfile | 16 ++++++++++
.../cassandra_java8_python2/Dockerfile | 16 ++++++++++
software/cassandra/entrypoint.sh | 31 +++++++++++++++++++
3 files changed, 63 insertions(+)
create mode 100644 software/cassandra/cassandra_java11_python3/Dockerfile
create mode 100644 software/cassandra/cassandra_java8_python2/Dockerfile
create mode 100644 software/cassandra/entrypoint.sh
diff --git a/software/cassandra/cassandra_java11_python3/Dockerfile b/software/cassandra/cassandra_java11_python3/Dockerfile
new file mode 100644
index 0000000..9561cd8
--- /dev/null
+++ b/software/cassandra/cassandra_java11_python3/Dockerfile
@@ -0,0 +1,16 @@
+FROM --platform=$BUILDPLATFORM adoptopenjdk/openjdk11:alpine-jre
+
+LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"
+
+LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
+LABEL org.opencontainers.image.licenses=MIT
+
+RUN apk add --update --no-cache python3 ca-certificates curl fontconfig git openssl sqlite tar tzdata \
+ && adduser -D -h /home/container container
+
+USER container
+ENV USER=container HOME=/home/container
+WORKDIR /home/container
+
+COPY ./../entrypoint.sh /entrypoint.sh
+CMD [ "/bin/ash", "/entrypoint.sh" ]
diff --git a/software/cassandra/cassandra_java8_python2/Dockerfile b/software/cassandra/cassandra_java8_python2/Dockerfile
new file mode 100644
index 0000000..3fa95c8
--- /dev/null
+++ b/software/cassandra/cassandra_java8_python2/Dockerfile
@@ -0,0 +1,16 @@
+FROM --platform=$BUILDPLATFORM adoptopenjdk/openjdk8:alpine-jre
+
+LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"
+
+LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
+LABEL org.opencontainers.image.licenses=MIT
+
+RUN apk add --update --no-cache python2 ca-certificates curl fontconfig git openssl sqlite tar tzdata \
+ && adduser -D -h /home/container container
+
+USER container
+ENV USER=container HOME=/home/container
+WORKDIR /home/container
+
+COPY ./../entrypoint.sh /entrypoint.sh
+CMD [ "/bin/ash", "/entrypoint.sh" ]
diff --git a/software/cassandra/entrypoint.sh b/software/cassandra/entrypoint.sh
new file mode 100644
index 0000000..949fc72
--- /dev/null
+++ b/software/cassandra/entrypoint.sh
@@ -0,0 +1,31 @@
+#!/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 Java version
+printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mjava -version\n"
+java -version
+
+# Print Python version
+printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mpython --version\n"
+python --version
+
+# 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}
From 8b6f7a652a679291df6b9fde69c2c35aeb4cdaee Mon Sep 17 00:00:00 2001
From: Pascal Zarrad
Date: Sun, 1 Aug 2021 20:44:43 +0200
Subject: [PATCH 2/5] Add cassandra images to readme
---
README.md | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 547bbaa..9a3e3ae 100644
--- a/README.md
+++ b/README.md
@@ -30,6 +30,11 @@ is tagged correctly.
* `ghcr.io/parkervcp/yolks:alpine`
* [debian](/oses/debian)
* `ghcr.io/parkervcp/yolks:debian`
+### [Cassandra](/cassandra)
+ * [`cassandra_java8_python27`](/cassandra/cassandra_java8_python2)
+ * `ghcr.io/parkervcp/yolks:cassandra_java11_python2`
+ * [`cassandra_java11_python3`](/cassandra/cassandra_java11_python3)
+ * `ghcr.io/parkervcp/yolks:cassandra_java11_python3`
### [Erlang](/erlang)
* [`erlang22`](/erlang/22)
* `ghcr.io/parkervcp/yolks:erlang_22`
@@ -87,4 +92,4 @@ is tagged correctly.
* `ghcr.io/parkervcp/installers:alpine`
* [`debian-install`](/installers/debian)
- * `ghcr.io/parkervcp/installers:debian`
\ No newline at end of file
+ * `ghcr.io/parkervcp/installers:debian`
From 46ac715efaafecc648b1e2d32cac7327451ac190 Mon Sep 17 00:00:00 2001
From: Pascal Zarrad
Date: Sun, 1 Aug 2021 20:50:54 +0200
Subject: [PATCH 3/5] Add software build GitHub action
---
.github/workflows/software.yml | 41 ++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
create mode 100644 .github/workflows/software.yml
diff --git a/.github/workflows/software.yml b/.github/workflows/software.yml
new file mode 100644
index 0000000..59a97ac
--- /dev/null
+++ b/.github/workflows/software.yml
@@ -0,0 +1,41 @@
+name: build software
+on:
+ schedule:
+ - cron: "0 0 * * 1"
+ push:
+ branches:
+ - master
+ paths:
+ - 'software/**'
+
+jobs:
+ cassandra:
+ name: "software:${{ matrix.cassandra }}"
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ cassandra:
+ - cassandra_java11_python2
+ - cassandra_java11_python3
+ steps:
+ - uses: actions/checkout@v2
+ - uses: docker/setup-buildx-action@v1
+ with:
+ version: "v0.5.1"
+ buildkitd-flags: --debug
+ - uses: docker/login-action@v1
+ with:
+ registry: ghcr.io
+ username: ${{ github.repository_owner }}
+ password: ${{ secrets.REGISTRY_TOKEN }}
+ - uses: docker/build-push-action@v2
+ with:
+ context: ./software/cassandra/${{ matrix.cassandra }}
+ file: ./software/cassandra/${{ matrix.cassandra }}/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
From b797d567e4cecc9a05ee279e06e24a6f1242cbe5 Mon Sep 17 00:00:00 2001
From: Pascal Zarrad
Date: Sun, 1 Aug 2021 22:20:01 +0200
Subject: [PATCH 4/5] Fix version printing
---
software/cassandra/entrypoint.sh | 36 ++++++++++++++++++++++++++------
1 file changed, 30 insertions(+), 6 deletions(-)
diff --git a/software/cassandra/entrypoint.sh b/software/cassandra/entrypoint.sh
index 949fc72..4dcf22f 100644
--- a/software/cassandra/entrypoint.sh
+++ b/software/cassandra/entrypoint.sh
@@ -1,5 +1,27 @@
#!/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
@@ -11,13 +33,15 @@ export INTERNAL_IP
# Switch to the container's working directory
cd /home/container || exit 1
-# Print Java version
-printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mjava -version\n"
-java -version
-
# Print Python version
-printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mpython --version\n"
-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
From 70af7a9dfff487415e952eb0e4f4501b1c9e8a02 Mon Sep 17 00:00:00 2001
From: Pascal Zarrad
Date: Sun, 1 Aug 2021 22:37:08 +0200
Subject: [PATCH 5/5] 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}