Move containers to seperate repository

This commit is contained in:
kjeld Schouten-Lebbing
2021-09-10 12:09:01 +02:00
parent ea9f4e7a6b
commit 76d1d303fd
43 changed files with 0 additions and 919 deletions

View File

@@ -1,180 +0,0 @@
name: "Containers: Test-and-Build"
on:
workflow_dispatch:
push:
branches:
- master
paths:
- 'containers/apps/**'
- 'containers/base/**'
- 'containers/dev/**'
- ".github/workflows/containers.build.yaml"
pull_request:
paths:
- 'containers/apps/**'
- 'containers/base/**'
- 'containers/dev/**'
- ".github/workflows/containers.build.yaml"
env:
# How long to sleep before running the tests (gives the application time to start)
GOSS_SLEEP: 30
# Detect which folders in project-root (which contain the containers) contain changes
jobs:
changes:
name: Get changes
runs-on: ubuntu-20.04
outputs:
matrix: "{\"container\": ${{ steps.reduce.outputs.containers }} }"
steps:
- name: Checkout
uses: actions/checkout@v2
- uses: dorny/paths-filter@v2
id: filter
with:
list-files: json
filters: |
changed:
- 'containers/apps/**'
- 'containers/base/**'
- 'containers/dev/**'
- run: echo '${{ toJson(steps.filter.outputs) }}' > changes.json
- id: reduce
run: |
CONTAINERS=$(jq --raw-output '.changed_files | fromjson | .[] |= sub("(?<filepath>(?<first_directory>(?<root1>[\/]?)[^\/]+\/)(?<second_directory>(?<root2>[\/]?)[^\/]+\/(?<third_directory>(?<root3>[\/]?)[^\/]+)(?<extra_paths>.+)))"; "\(.third_directory)") | unique' changes.json)
echo ::set-output name=containers::${CONTAINERS}
hadolint:
name: Run hadolint
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v2
- name: hadolint
uses: reviewdog/action-hadolint@v1.25.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
reporter: github-pr-review
filter_mode: diff_context
fail_on_error: true
build:
name: Build
runs-on: ubuntu-20.04
needs:
- hadolint
- changes
strategy:
matrix: ${{ fromJson(needs.changes.outputs.matrix) }}
fail-fast: false
if: "!contains(github.event.head_commit.message, '[ci-skip]')"
steps:
- name: Checkout
uses: actions/checkout@v2
# Define if tests and push should be run against which versions/platforms
- name: Prepare
id: prep
run: |
if test -f "./containers/apps/${{ matrix.container }}/Dockerfile"; then
CATEGORY="apps"
elif test -f "./containers/dev/${{ matrix.container }}/Dockerfile"; then
CATEGORY="dev"
else
CATEGORY="base"
fi
echo ::set-output name=category::${CATEGORY}
VERSION=$(cat ./containers/${CATEGORY}/${{ matrix.container }}/VERSION)
echo ::set-output name=version::${VERSION}
PLATFORM="linux/amd64"
echo ::set-output name=platform::${PLATFORM}
if test -f "./containers/${CATEGORY}/${{ matrix.container }}/goss.yaml"; then
echo ::set-output name=goss::true
else
echo ::set-output name=goss::false
fi
if [ "${{github.event_name}}" == "pull_request" ]; then
echo ::set-output name=push::false
echo ::set-output name=cache_from::"type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:buildcache" || echo ::set-output name=cache_from::""
echo ::set-output name=cache_to::""
else
echo ::set-output name=push::true
echo ::set-output name=cache_from::"type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:buildcache"
echo ::set-output name=cache_to::"type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:buildcache,mode=max"
fi
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
with:
platforms: amd64
- name: Login to GHCR
uses: docker/login-action@v1
if: github.event_name != 'pull_request'
with:
registry: ghcr.io
username: ${{ secrets.GHCR_USERNAME }}
password: ${{ secrets.GHCR_TOKEN }}
# Install and configure Buildx
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
install: true
version: latest
driver-opts: image=moby/buildkit:master
# Install the GOSS testing framework
- name: Set up goss/dgoss
uses: e1himself/goss-installation-action@v1.0.3
if: ${{ steps.prep.outputs.goss == 'true' }}
with:
version: 'v0.3.16'
# Creates a local build to run tests on
- name: Build and Load local test-container
if: ${{ steps.prep.outputs.goss == 'true' }}
uses: docker/build-push-action@v2
with:
build-args: VERSION=${{ steps.prep.outputs.version }}
context: .
file: ./containers/${{ steps.prep.outputs.category }}/${{ matrix.container }}/Dockerfile
load: true
tags: |
ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:test
cache-from: ${{ steps.prep.outputs.cache_from }}
cache-to: ${{ steps.prep.outputs.cache_to }}
# Run GOSS tests if included with the container
- name: Run GOSS tests
if: ${{ steps.prep.outputs.goss == 'true' }}
env:
GOSS_FILE: ./containers/${{ steps.prep.outputs.category }}/${{ matrix.container }}/goss.yaml
run: |
dgoss run ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:test
# Push if not a PR, otherwise just test the build process for all requested platforms
- name: Build and Push
uses: docker/build-push-action@v2
with:
build-args: VERSION=${{ steps.prep.outputs.version }}
context: .
platforms: ${{ steps.prep.outputs.platform }}
file: ./containers/${{ steps.prep.outputs.category }}/${{ matrix.container }}/Dockerfile
push: ${{ steps.prep.outputs.push }}
tags: |
ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:latest
ghcr.io/${{ github.repository_owner }}/${{ matrix.container }}:v${{ steps.prep.outputs.version }}
cache-from: ${{ steps.prep.outputs.cache_from }}
cache-to: ${{ steps.prep.outputs.cache_to }}
container-build-complete:
needs: [build]
name: Container Build Completed
runs-on: ubuntu-latest
steps:
- name: complete message
run: echo "Container Build and Tests Completed Successfully"

View File

@@ -1,164 +0,0 @@
name: "Housekeeping"
on:
workflow_dispatch:
push:
branches:
- main
paths:
- ".github/workflows/housekeeping.yaml"
schedule:
- cron: "0 3 * * *"
jobs:
housekeeping:
runs-on: ubuntu-latest
name: "Housekeeping"
steps:
- name: Checkout branch
uses: actions/checkout@v2
with:
fetch-depth: 0
token: ${{ secrets.BOT_TOKEN }}
- name: Set up Python
uses: actions/setup-python@v2
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pybump
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: install helm-docs
run: |
brew install norwoodj/tap/helm-docs
- name: Containers - Fetch new application versions
run: |
find ./containers/apps -maxdepth 1 -mindepth 1 -type d -exec basename {} \; | while read app; do
if test -f "./containers/apps/${app}/latest-version.sh"; then
version=$(bash "./containers/apps/${app}/latest-version.sh")
if [[ ! -z "${version}" || "${version}" != "null" ]]; then
echo "${version}" | tee "./containers/apps/${app}/VERSION" > /dev/null
echo "App: ${app} using version: ${version}"
fi
fi
if test -f "./containers/apps/${app}/BASE"; then
if test -f "./containers/apps/${app}/latest-base.sh"; then
base=$(bash "./containers/apps/${app}/latest-base.sh")
if [[ ! -z "${base}" || "${base}" != "null" ]]; then
echo "${base}" | tee "containers/apps/${app}/BASE" > /dev/null
echo "App: ${app} using Base: ${base}"
fi
fi
fi
done
- name: Containers - Fetch new base versions
run: |
find ./containers/base -maxdepth 1 -mindepth 1 -type d -exec basename {} \; | while read app; do
if test -f "./containers/base/${app}/latest-version.sh"; then
version=$(bash "./containers/base/${app}/latest-version.sh")
if [[ ! -z "${version}" || "${version}" != "null" ]]; then
echo "${version}" | tee "./containers/base/${app}/VERSION" > /dev/null
echo "${app} ${version}"
fi
fi
done
- name: update versions in docs
run: |
for train in stable incubator; do
for chart in charts/${train}/*; do
if [ -d "${chart}" ]; then
maxchartversion=$(cat ${chart}/Chart.yaml | grep "^version: " | awk -F" " '{ print $2 }')
chartname=$(basename ${chart})
echo "Copying templates to ${chart}"
helm-docs \
--ignore-file=".helmdocsignore" \
--output-file="README.md" \
--template-files="/home/runner/work/apps/apps/templates/docs/README.md.gotmpl" \
--chart-search-root="${chart}"
helm-docs \
--ignore-file=".helmdocsignore" \
--output-file="CONFIG.md" \
--template-files="/home/runner/work/apps/apps/templates/docs/CONFIG.md.gotmpl" \
--chart-search-root="${chart}"
helm-docs \
--ignore-file=".helmdocsignore" \
--output-file="app-readme.md" \
--template-files="/home/runner/work/apps/apps/templates/docs/app-readme.md.gotmpl" \
--chart-search-root="${chart}"
helm-docs \
--ignore-file=".helmdocsignore" \
--output-file="helm-values.md" \
--template-files="/home/runner/work/apps/apps/templates/docs/helm-values.md.gotmpl" \
--chart-search-root="${chart}"
fi
done
done
- name: generate common docs
run: |
mkdir -p docs/apps/common || echo "common path already exists, continuing..."
echo "Copying common templates to docs"
helm-docs \
--ignore-file=".helmdocsignore" \
--output-file="README.md" \
--template-files="/home/runner/work/apps/apps/templates/docs/common-README.md.gotmpl" \
--chart-search-root="/home/runner/work/apps/apps/charts/library/common"
helm-docs \
--ignore-file=".helmdocsignore" \
--output-file="helm-values.md" \
--template-files="/home/runner/work/apps/apps/templates/docs/common-helm-values.md.gotmpl" \
--chart-search-root="/home/runner/work/apps/apps/charts/library/common"
- name: run pre-commit checks
continue-on-error: true
uses: pre-commit/action@v2.0.3
- name: Copy general readme to website
run: |
yes | cp -rf index.yaml docs/index.yaml || echo "chart-index copy failed, continuing..."
yes | cp -rf .github/README.md docs/index.md || echo "readme copy failed, continuing..."
sed -i '1s/^/---\nhide:\n - navigation\n - toc\n---\n/' docs/index.md
sed -i 's~<!-- INSERT-DISCORD-WIDGET -->~<iframe src="https://discord.com/widget?id=830763548678291466\&theme=dark" width="350" height="500" allowtransparency="true" frameborder="0" sandbox="allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts"></iframe>~g' docs/index.md
yes | cp -rf .github/CODE_OF_CONDUCT docs/about/code_of_conduct.md || echo "CODE_OF_CONDUCT copy failed, continuing..."
yes | cp -rf .github/CONTRIBUTING docs/development/contributing.md || echo "CONTRIBUTING copy failed, continuing..."
yes | cp -rf .github/SUPPORT.md docs/manual/SUPPORT.md || echo "support policy copy failed, continuing..."
yes | cp -rf LICENSE docs/about/legal/LICENSE.md || echo "license copy failed, continuing..."
sed -i '1s/^/# License<br>\n\n/' docs/about/legal/LICENSE.md
yes | cp -rf NOTICE docs/about/legal/NOTICE.md || echo "license copy failed, continuing..."
sed -i '1s/^/# NOTICE<br>\n\n/' docs/about/legal/NOTICE.md
ls docs/
- name: Copy Apps readme to website
run: |
for train in stable incubator; do
for chart in charts/${train}/*; do
if [ -d "${chart}" ]; then
chartname=$(basename ${chart})
echo "Processing: ${chart}"
mkdir -p docs/apps/${train}/${chartname} || echo "app path already exists, continuing..."
yes | cp -rf ${chart}/README.md docs/apps/${train}/${chartname}/index.md || echo "readme copy failed, continuing..."
yes | cp -rf ${chart}/CONFIG.md docs/apps/${train}/${chartname}/CONFIG.md || echo "config copy failed, continuing..."
yes | cp -rf ${chart}/helm-values.md docs/apps/${train}/${chartname}/helm-values.md || echo "config copy failed, continuing..."
sed -i '1s/^/# License<br>\n\n/' docs/apps/${train}/${chartname}/LICENSE.md || echo "license edit failed, continuing..."
fi
done
echo "Processed charts for ${train}:"
ls docs/apps/${train}/ || echo "no Apps in train"
done
mkdir -p docs/apps/common || echo "common docs path already exists, continuing..."
yes | cp -rf charts/library/common/README.md docs/apps/common/index.md || echo "common readme copy failed, continuing..."
yes | cp -rf charts/library/common/helm-values.md docs/apps/common/helm-values.md || echo "common readme copy failed, continuing..."
- name: Commit and Push Housekeeping
run: |
git config user.name "TrueCharts-Bot"
git config user.email "bot@truecharts.org"
git add --all
git commit -sm "Daily Housekeeping" || exit 0
git push

View File

@@ -1 +0,0 @@
focal-20210827

View File

@@ -1,17 +0,0 @@
ARG TARGETPLATFORM
ARG VERSION
# hadolint ignore=DL3007
FROM freeradius/freeradius-server:${VERSION}
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# hadolint ignore=DL3008,DL3015,SC2086,SC2155
RUN \
rm /docker-entrypoint.sh && \
rm -Rf /etc/raddb
VOLUME /etc/raddb
COPY ./containers/apps/freeradius/entrypoint.sh /docker-entrypoint.sh
LABEL "maintainer"="TrueCharts <info@truecharts.org>"
LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps"

View File

@@ -1 +0,0 @@
3.0.23

View File

@@ -1,33 +0,0 @@
#!/bin/sh
set -e
if [ -f "/etc/raddb/clients.conf" ]; then
echo "Radius config already exists, skipping config copy..."
else
echo "Radius config does not exist, copying..."
cp -Rf /etc/freeradius/* /etc/raddb/
fi
chown -R freerad:freerad /etc/raddb/
# this if will check if the first argument is a flag
# but only works if all arguments require a hyphenated flag
# -v; -SL; -f arg; etc will work, but not arg1 arg2
if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then
set -- freeradius -d /etc/raddb "$@"
fi
# check for the expected command
if [ "$1" = 'freeradius' ]; then
shift
exec freeradius -f -d /etc/raddb "$@"
fi
# many people are likely to call "radiusd" as well, so allow that
if [ "$1" = 'radiusd' ]; then
shift
exec freeradius -f -d /etc/raddb "$@"
fi
# else default to run whatever the user wanted like "bash" or "sh"
exec "$@"

View File

@@ -1,5 +0,0 @@
---
port:
udp:1812:
listening: true

View File

@@ -1,2 +0,0 @@
#!/usr/bin/env bash
cat "./containers/base/ubuntu/VERSION"

View File

@@ -1,6 +0,0 @@
#!/usr/bin/env bash
version=$(curl "https://registry.hub.docker.com/v1/repositories/freeradius/freeradius-server/tags" | jq --raw-output '.[].name' | grep -v layer | grep -v alpine | grep -v latest | tail -n1)
version="${version#*v}"
version="${version#*release-}"
echo "${version}"

View File

@@ -1 +0,0 @@
focal-20210827

View File

@@ -1,54 +0,0 @@
# hadolint ignore=DL3007
FROM ghcr.io/truecharts/ubuntu:latest
ARG TARGETPLATFORM
ARG VERSION
USER root
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# hadolint ignore=DL3008,DL3015,SC2086,SC2155
RUN \
apt-get -qq update \
&& \
apt-get -qq install -y \
libicu66 \
jq \
&& \
case "${TARGETPLATFORM}" in \
'linux/amd64') export ARCH='linux-x64' ;; \
esac \
&& \
export URL=$(curl -sX GET https://api.github.com/repos/Ombi-app/Ombi/releases | \
jq -r '.[] | select(.tag_name | contains(env.VERSION)) | .assets[] | select(.browser_download_url | contains(env.ARCH)) | .browser_download_url') \
&& curl -fsSL -o /tmp/ombi.tgz "${URL}" \
&& tar ixzf /tmp/ombi.tgz -C /app \
&& \
rm -rf \
/tmp/ombi.tgz \
&& printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \
&& apt-get remove -y \
jq \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& apt-get autoremove -y \
&& apt-get clean \
&& \
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/ \
&& chmod -R u=rwX,go=rX /app \
&& printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \
&& update-ca-certificates
USER apps
EXPOSE 3579
COPY ./containers/apps/ombi/entrypoint.sh /entrypoint.sh
CMD ["/entrypoint.sh"]
LABEL "maintainer"="TrueCharts <info@truecharts.org>"
LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps"

View File

@@ -1 +0,0 @@
4.0.1482

View File

@@ -1,7 +0,0 @@
#!/usr/bin/env bash
#shellcheck disable=SC1091
source "/shim/umask.sh"
source "/shim/vpn.sh"
exec /app/Ombi --host http://0.0.0.0:3579 --storage /config ${EXTRA_ARGS}

View File

@@ -1,2 +0,0 @@
#!/usr/bin/env bash
cat "./containers/base/ubuntu/VERSION"

View File

@@ -1,6 +0,0 @@
#!/usr/bin/env bash
version=$(curl -sX GET "https://api.github.com/repos/Ombi-app/Ombi/releases" | jq --raw-output '.[0].tag_name')
version="${version#*v}"
version="${version#*release-}"
printf "%s" "${version}"

View File

@@ -1 +0,0 @@
focal-20210827

View File

@@ -1,107 +0,0 @@
# hadolint ignore=DL3007
FROM ghcr.io/truecharts/ubuntu:latest AS builder
# Change your name and email address
ARG DEBFULLNAME=TrueCharts
ARG DEBEMAIL=info@truecharts.org
ARG TARGETPLATFORM
ARG VERSION
# hadolint ignore=DL3002
USER root
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
WORKDIR /buildtmp
COPY ./containers/apps/sogo/build.sh /buildtmp/build.sh
# hadolint ignore=DL3008,DL3015,SC2086,SC2155,DL3047
RUN \
mkdir /build && \
cd /buildtmp && \
chmod 777 build.sh && \
chmod +x build.sh && \
./build.sh
# hadolint ignore=DL3007
FROM ghcr.io/truecharts/ubuntu:latest
ARG TARGETPLATFORM
ARG VERSION
ARG DEBIAN_FRONTEND=noninteractive
ARG SOGO_UBUNTU_REPOSITORY=https://packages.inverse.ca/SOGo/nightly/5/ubuntu/
ENV LC_ALL C
ENV GOSU_VERSION 1.12
# hadolint ignore=DL3002
USER root
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# hadolint ignore=DL3008,DL3015,SC2086,SC2155,DL3047
RUN --mount=type=bind,from=builder,source=/buildtmp/vendor/output,target=/build \
apt-get -qq update \
&& \
apt-get -qq install -y \
libicu66 \
jq \
apt-transport-https \
ca-certificates \
gettext \
gnupg \
mariadb-client \
libmariadb3 \
libcurl3-gnutls \
rsync \
supervisor \
syslog-ng \
syslog-ng-core \
syslog-ng-mod-redis \
dirmngr \
netcat \
psmisc \
wget \
patch \
apache2 \
gnupg2 \
memcached \
postgresql-client \
&& \
case "${TARGETPLATFORM}" in \
'linux/amd64') export ARCH='linux-x64' ;; \
esac \
&& \
mkdir ~/.gnupg && \
echo "disable-ipv6" >> ~/.gnupg/dirmngr.conf && \
mkdir /usr/share/doc/sogo && \
touch /usr/share/doc/sogo/empty.sh && \
cd /build && \
(echo "$(dpkg-deb -I _sogo_${VERSION}_amd64.deb | grep -E "Depends" | tr -d "|," | sed "s/([^)]*)/()/g" | tr -d "()" | tr " " "\n" | grep -Ev "Depends|Recommends|Suggests|Pre\-Depends|sogo|sope" | xargs)" | xargs -n 1 apt-get install -y || true) && \
apt install -y ./*.deb && \
apt-get install -f && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
a2enmod headers proxy proxy_http rewrite ssl && \
cp /etc/apache2/conf.d/SOGo.conf /etc/apache2/conf-available/ && \
sed -i -e 's/#RedirectMatch \^\/\$ https:\/\/mail.yourdomain.com\/SOGo/RedirectMatch \^\/\$ \/SOGo/' /etc/apache2/conf-available/SOGo.conf && \
sed -i -e 's|"x-webobjects-server-url" "https://|"x-webobjects-server-url" "http://|' /etc/apache2/conf-available/SOGo.conf && \
sed -i -e 's|"x-webobjects-server-port" "443"|"x-webobjects-server-port" "80"|' /etc/apache2/conf-available/SOGo.conf && \
a2enconf SOGo && \
usermod --home /srv/lib/sogo sogo && \
mkdir -p /var/run/memcached/ && \
chown memcache:memcache /var/run/memcached
EXPOSE 80 443
COPY ./containers/apps/sogo/etc /etc
COPY ./containers/apps/sogo/entrypoint.sh /entrypoint.sh
CMD ["supervisord", "-c", "/etc/supervisor/supervisord.conf"]
LABEL "maintainer"="TrueCharts <info@truecharts.org>"
LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps"

View File

@@ -1 +0,0 @@
5.2.0

View File

@@ -1,82 +0,0 @@
#!/usr/bin/env bash
set -e
# https://stackoverflow.com/a/246128
BASE_DIR="/buildtmp"
REPOSITORY_SOGO="https://github.com/inverse-inc/sogo.git"
REPOSITORY_SOPE="https://github.com/inverse-inc/sope.git"
SOGO_GIT_TAG="SOGo-${VERSION}"
SOPE_GIT_TAG="SOPE-${VERSION}"
PACKAGES_DIR="${BASE_DIR}/vendor"
PACKAGES_TO_INSTALL="build-essential git zip wget make debhelper gnustep-make libssl-dev libgnustep-base-dev libldap2-dev libytnef0-dev zlib1g-dev libpq-dev libmariadbclient-dev-compat libmemcached-dev liblasso3-dev libcurl4-gnutls-dev devscripts libexpat1-dev libpopt-dev libsbjson-dev libsbjson2.3 libcurl4 liboath-dev libsodium-dev libzip-dev"
export DEBIAN_FRONTEND=noninteractive
mkdir $PACKAGES_DIR
cd "$PACKAGES_DIR"
# Do not install recommended or suggested packages
echo 'APT::Get::Install-Recommends "false";' >> /etc/apt/apt.conf
echo 'APT::Get::Install-Suggests "false";' >> /etc/apt/apt.conf
# Install required packages
# shellcheck disable=SC2086
apt-get update && apt-get install -y $PACKAGES_TO_INSTALL
# Download and install libwbxml2 and libwbxml2-dev
wget -c https://packages.inverse.ca/SOGo/nightly/5/ubuntu/pool/focal/w/wbxml2/libwbxml2-dev_0.11.6-1_amd64.deb
wget -c https://packages.inverse.ca/SOGo/nightly/5/ubuntu/pool/focal/w/wbxml2/libwbxml2-0_0.11.6-1_amd64.deb
dpkg -i libwbxml2-0_0.11.6-1_amd64.deb libwbxml2-dev_0.11.6-1_amd64.deb
# Install any missing packages
apt-get -f install -y
# Install Python
apt-get install -y python
# Checkout the SOPE repository with the given tag
git clone --depth 1 --branch "${SOPE_GIT_TAG}" $REPOSITORY_SOPE
cd sope
cp -a packaging/debian debian
./debian/rules
dpkg-checkbuilddeps && dpkg-buildpackage
cd "$PACKAGES_DIR"
# Install the built packages
dpkg -i libsope*.deb
# Checkout the SOGo repository with the given tag
git clone --depth 1 --branch "${SOGO_GIT_TAG}" $REPOSITORY_SOGO
cd sogo
cp -a packaging/debian debian
dch --newversion "$VERSION" "Automated build for version $VERSION"
# cp packaging/debian-multiarch/control-no-openchange debian
./debian/rules
dpkg-checkbuilddeps && dpkg-buildpackage -b
ls "$PACKAGES_DIR"
cd $PACKAGES_DIR
rm *dev*
rm -Rf sogo || echo "sogo folder not found in output, no problem..."
mv sogo_${VERSION}_amd64.deb _sogo_${VERSION}_amd64.deb
mkdir output
mv *deb output/
# Install the built packages
# dpkg -i sope4.9-gdl1-mysql_4.9.r1664_amd64.deb
# dpkg -i sope4.9-libxmlsaxdriver_4.9.r1664_amd64.deb
# dpkg -i "sogo_${VERSION}_amd64.deb"

View File

@@ -1,22 +0,0 @@
#!/usr/bin/env bash
#shellcheck disable=SC1091
source "/shim/umask.sh"
source "/shim/vpn.sh"
if [[ "${SKIP_SOGO}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
echo "SKIP_SOGO=y, skipping SOGo..."
sleep 365d
exit 0
fi
# Run hooks
for file in /hooks/*; do
if [ -x "${file}" ]; then
echo "Running hook ${file}"
"${file}"
fi
done
exec "$@"

View File

@@ -1,42 +0,0 @@
# each program entry below is a separate terminal command.
# Each command MUST run in the foreground and stay running.
# If the command ever exits, the supervisor daemon will automatically run it again.
# Programs can be controlled like this: 'supervisorctl start fail2ban' 'supervisorctl stop fail2ban'
# supervisor writes program statuses in /var/log/supervisor
[supervisord]
nodaemon=true
[program:apache2]
startsecs=0
autostart=true
autorestart=false
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
environment=APACHE_ARGUMENTS="-DNO_DETACH"
command=/usr/sbin/apache2ctl start
[program:memcached]
startsecs=0
autostart=true
autorestart=true
user=memcache
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/usr/bin/memcached -m 128 -a 0666 -s /var/run/memcached/memcached.sock
[program:sogo]
startsecs=0
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
user=sogo
command=/usr/sbin/sogod -WONoDetach YES -WOPidFile /var/run/sogo/sogo.pid

View File

@@ -1,28 +0,0 @@
; supervisor config file
[unix_http_server]
file=/dev/shm/supervisor.sock ; (the path to the socket file)
chmod=0700 ; sockef file mode (default 0700)
[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)
; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///dev/shm/supervisor.sock ; use a unix:// URL for a unix socket
; The [include] section can just contain the "files" setting. This
; setting can list multiple files (separated by whitespace or
; newlines). It can also contain wildcards. The filenames are
; interpreted as relative to this file. Included files *cannot*
; include files themselves.
[include]
files = /etc/supervisor/conf.d/*.conf

View File

@@ -1,5 +0,0 @@
---
port:
tcp:80:
listening: true

View File

@@ -1,2 +0,0 @@
#!/usr/bin/env bash
cat "./containers/base/ubuntu/VERSION"

View File

@@ -1,7 +0,0 @@
#!/usr/bin/env bash
version=$(curl -sX GET "https://api.github.com/repos/inverse-inc/sogo/releases" | jq --raw-output '.[0].tag_name')
version="${version#*SOGo-}"
version="${version#*release-}"
version="${version#*v}"
printf "%s" "${version}"

View File

@@ -1 +0,0 @@
focal-20210827

View File

@@ -1,44 +0,0 @@
# hadolint ignore=DL3007
FROM quay.io/helmpack/chart-releaser:v1.2.1 AS cr
# hadolint ignore=DL3007
FROM jnorwood/helm-docs:v1.5.0 AS hd
# hadolint ignore=DL3007
FROM quay.io/git-chglog/git-chglog:0.15.0 AS gcl
# hadolint ignore=DL3007
FROM ixsystems/catalog_validation:latest
ARG TARGETPLATFORM
ARG VERSION
USER root
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# hadolint ignore=DL3008,DL3015,SC2086,SC2155
RUN --mount=type=bind,from=cr,source=/usr/local/bin,target=/crbin \
cp /crbin/cr /usr/local/bin/cr
# hadolint ignore=DL3008,DL3015,SC2086,SC2155
RUN --mount=type=bind,from=hd,source=/usr/bin/,target=/hdbin \
cp /hdbin/helm-docs /usr/local/bin/helm-docs
# hadolint ignore=DL3008,DL3015,SC2086,SC2155
RUN --mount=type=bind,from=gcl,source=/usr/local/bin,target=/gclbin \
cp /gclbin/git-chglog /usr/local/bin/git-chglog
COPY ./.pre-commit-config.yaml /app/.pre-commit-config.yaml
# hadolint ignore=DL3008,DL3015,SC2086,SC2155,DL3013
RUN pip install --no-cache-dir pre-commit && \
git init . && \
pre-commit install-hooks && \
rm -Rf /App/* && \
echo "installed pre-commit hooks:" && \
ls ~/.cache/pre-commit/*
LABEL "maintainer"="TrueCharts <info@truecharts.org>"
LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps"

View File

@@ -1 +0,0 @@
1.3.0

View File

@@ -1,2 +0,0 @@
#!/usr/bin/env bash
cat "./containers/base/ubuntu/VERSION"

View File

@@ -1,6 +0,0 @@
ARG VERSION
FROM ghcr.io/k8s-at-home/alpine:v${VERSION}
ENTRYPOINT ["/sbin/tini", "--"]
CMD ["echo", "'No can haz support yet. Chek bak l8r!'", "exit", "1337" ]

View File

@@ -1 +0,0 @@
linux/amd64

View File

@@ -1 +0,0 @@
3.14.2

View File

@@ -1,7 +0,0 @@
#!/usr/bin/env bash
TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/alpine:pull" | jq --raw-output '.[]')
version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/alpine/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1)
version="${version#*v}"
version="${version#*release-}"
echo "${version}"

View File

@@ -1,26 +0,0 @@
ARG VERSION
FROM ghcr.io/k8s-at-home/ubuntu:v${VERSION}
ARG TARGETPLATFORM
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
USER root
RUN \
usermod -l apps kah \
&& \
groupmod -n apps kah \
&& chown -R apps:apps /config
WORKDIR /app
USER apps
VOLUME [ "/config" ]
ENTRYPOINT [ "/usr/bin/tini", "--" ]
LABEL "maintainer"="TrueCharts <info@truecharts.org>"
LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps"

View File

@@ -1 +0,0 @@
linux/amd64

View File

@@ -1 +0,0 @@
focal-20210827

View File

@@ -1,7 +0,0 @@
#!/usr/bin/env bash
TOKEN=$(curl https://ghcr.io/token\?scope\="repository:k8s-at-home/ubuntu:pull" | jq --raw-output '.[]')
version=$(curl -H "Authorization: Bearer ${TOKEN}" https://ghcr.io/v2/k8s-at-home/ubuntu/tags/list | jq --raw-output '.tags[]' | grep -v latest | grep -v buildcache | tail -n1)
version="${version#*v}"
version="${version#*release-}"
echo "${version}"

View File

@@ -1 +0,0 @@
1.16

View File

@@ -1,36 +0,0 @@
ARG VERSION="1.16"
FROM mcr.microsoft.com/vscode/devcontainers/go:0-${VERSION}
ARG HELM_VERSION="3.5.4"
ARG CT_VERSION=3.3.1
ENV DEBIAN_FRONTEND=noninteractive
RUN \
apt-get update \
&& \
apt-get -y install --no-install-recommends \
libonig-dev \
gnupg2 \
python3-pip \
python3-setuptools \
&& \
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin \
&& \
curl -o /tmp/helm.tar.gz "https://get.helm.sh/helm-v${HELM_VERSION}-linux-$(dpkg --print-architecture).tar.gz" \
&& tar xvzf /tmp/helm.tar.gz -C /usr/local/bin --strip-components 1 "linux-$(dpkg --print-architecture)/helm" \
&& chmod +x /usr/local/bin/helm \
&& \
curl -o /tmp/ct.tar.gz -L "https://github.com/helm/chart-testing/releases/download/v${CT_VERSION}/chart-testing_${CT_VERSION}_linux_$(dpkg --print-architecture).tar.gz" \
&& mkdir -p /etc/ct \
&& tar xvzf /tmp/ct.tar.gz -C /usr/local/bin "ct" \
&& tar xvzf /tmp/ct.tar.gz --strip-components=1 -C /etc/ct "etc/" \
&& chmod +x /usr/local/bin/ct \
&& \
pip3 install \
pre-commit \
yamale \
yamllint \
&& \
rm \
/tmp/helm.tar.gz \
/tmp/ct.tar.gz

View File

@@ -1 +0,0 @@
1.16

View File

@@ -1,3 +0,0 @@
#!/usr/bin/env bash
printf "%s" "1.16"

View File

@@ -1,3 +0,0 @@
#!/usr/bin/env bash
printf "%s" "1.16"