diff --git a/.github/workflows/epicmorg.advanced.cassandra.yml b/.github/workflows/epicmorg.advanced.cassandra.yml new file mode 100644 index 000000000..cb4167d90 --- /dev/null +++ b/.github/workflows/epicmorg.advanced.cassandra.yml @@ -0,0 +1,44 @@ +name: EpicMorg Advanced Cassandra Image + +on: + workflow_dispatch: + schedule: + - cron: '0 02 * * 2,4,6' + +jobs: + + build-images: + name: EpicMorg Advanced Cassandra Image + runs-on: [ ubuntu-24.04 ] + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + +# - name: Log into harbor registry +# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Cassandra 3.11 Image:" + run: cd linux/advanced/cassandra/3.11 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make clean + +################################################################################## diff --git a/.github/workflows/epicmorg.advanced.nextcloud.images.yml b/.github/workflows/epicmorg.advanced.nextcloud.images.yml index b1b7ea72e..b5cc690a5 100644 --- a/.github/workflows/epicmorg.advanced.nextcloud.images.yml +++ b/.github/workflows/epicmorg.advanced.nextcloud.images.yml @@ -1,4 +1,4 @@ -name: EpicMorg Advanced Nextcloud Images +name: EpicMorg Advanced Nextcloud Images on: workflow_dispatch: @@ -6,192 +6,40 @@ on: - cron: '0 02 * * 2,4,6' jobs: - - build-pure-images: - name: EpicMorg Advanced Nextcloud Stock Images - runs-on: [ ubuntu-24.04 ] - + build-nextcloud-images: + name: Build Nextcloud ${{ matrix.version }} (${{ matrix.image_type }}) + runs-on: ubuntu-24.04 + strategy: + matrix: + version: [ +# '14', '15', '16', '17', '18', '19', +# '20', '21', '22', '23', '24', '25', '26', + '27', '28', '29', + '30', '31', 'latest' + ] steps: - uses: actions/checkout@v4 - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - name: Check buildah - run: | - buildah --version + run: buildah --version - name: Test Make - run: make + run: make - name: Install requirements.txt - run: make pip + run: make pip -# - name: "Build and Deploy Advanced Nextcloud 14 Stock Images:" -# run: cd linux/advanced/nextcloud/pure/14 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 15 Stock Images:" -# run: cd linux/advanced/nextcloud/pure/15 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 16 Stock Images:" -# run: cd linux/advanced/nextcloud/pure/16 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 17 Stock Images:" -# run: cd linux/advanced/nextcloud/pure/17 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 18 Stock Images:" -# run: cd linux/advanced/nextcloud/pure/18 && pwd && make build && make deploy -# -# - name: Cleanup -# run: make clean -# -# - name: "Build and Deploy Advanced Nextcloud 19 Stock Images:" -# run: cd linux/advanced/nextcloud/pure/19 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 20 Stock Images:" -# run: cd linux/advanced/nextcloud/pure/20 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 21 Stock Images:" -# run: cd linux/advanced/nextcloud/pure/21 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 22 Stock Images:" -# run: cd linux/advanced/nextcloud/pure/22 && pwd && make build && make deploy -# -# - name: Cleanup -# run: make clean -# -# - name: "Build and Deploy Advanced Nextcloud 23 Stock Images:" -# run: cd linux/advanced/nextcloud/pure/23 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 24 Stock Images:" -# run: cd linux/advanced/nextcloud/pure/24 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 25 Stock Images:" -# run: cd linux/advanced/nextcloud/pure/25 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 26 Stock Images:" -# run: cd linux/advanced/nextcloud/pure/26 && pwd && make build && make deploy + - name: Build and Deploy Nextcloud ${{ matrix.version }} Stock + run: cd linux/advanced/nextcloud/pure/${{ matrix.version }} && pwd && make build && make deploy - - name: "Build and Deploy Advanced Nextcloud 27 Stock Images:" - run: cd linux/advanced/nextcloud/pure/27 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 28 Stock Images:" - run: cd linux/advanced/nextcloud/pure/28 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 29 Stock Images:" - run: cd linux/advanced/nextcloud/pure/29 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 30 Stock Images:" - run: cd linux/advanced/nextcloud/pure/30 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 31 Stock Images:" - run: cd linux/advanced/nextcloud/pure/31 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud Latest Stock Images:" - run: cd linux/advanced/nextcloud/pure/latest && pwd && make build && make deploy - - - name: Cleanup - run: make clean - -################################################################################## - - build-patched-images: - name: Advanced Nextcloud Patched Images - runs-on: [ ubuntu-24.04 ] - needs: build-pure-images - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - -# - name: "Build and Deploy Advanced Nextcloud 14 Patched Images:" -# run: cd linux/advanced/nextcloud/patched/14 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 15 Patched Images:" -# run: cd linux/advanced/nextcloud/patched/15 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 16 Patched Images:" -# run: cd linux/advanced/nextcloud/patched/16 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 17 Patched Images:" -# run: cd linux/advanced/nextcloud/patched/17 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 18 Patched Images:" -# run: cd linux/advanced/nextcloud/patched/18 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 19 Patched Images:" -# run: cd linux/advanced/nextcloud/patched/19 && pwd && make build && make deploy -# -# - name: Cleanup -# run: make clean -# -# - name: "Build and Deploy Advanced Nextcloud 20 Patched Images:" -# run: cd linux/advanced/nextcloud/patched/20 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 21 Patched Images:" -# run: cd linux/advanced/nextcloud/patched/21 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 22 Patched Images:" -# run: cd linux/advanced/nextcloud/patched/22 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 23 Patched Images:" -# run: cd linux/advanced/nextcloud/patched/23 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 24 Patched Images:" -# run: cd linux/advanced/nextcloud/patched/24 && pwd && make build && make deploy -# -# - name: Cleanup -# run: make clean -# -# - name: "Build and Deploy Advanced Nextcloud 25 Patched Images:" -# run: cd linux/advanced/nextcloud/patched/25 && pwd && make build && make deploy -# -# - name: "Build and Deploy Advanced Nextcloud 26 Patched Images:" -# run: cd linux/advanced/nextcloud/patched/26 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 27 Patched Images:" - run: cd linux/advanced/nextcloud/patched/27 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 28 Patched Images:" - run: cd linux/advanced/nextcloud/patched/28 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 29 Patched Images:" - run: cd linux/advanced/nextcloud/patched/29 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 30 Patched Images:" - run: cd linux/advanced/nextcloud/patched/30 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud 31 Patched Images:" - run: cd linux/advanced/nextcloud/patched/31 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Nextcloud Latest Patched Images:" - run: cd linux/advanced/nextcloud/patched/latest && pwd && make build && make deploy - -################################################################################## + - name: Build and Deploy Nextcloud ${{ matrix.version }} Patched + run: cd linux/advanced/nextcloud/patched/${{ matrix.version }} && pwd && make build && make deploy - name: Cleanup - run: make clean + run: make clean \ No newline at end of file diff --git a/.github/workflows/epicmorg.advanced.vscode.images.yml b/.github/workflows/epicmorg.advanced.vscode.images.yml index 42d182dc5..121235e5b 100644 --- a/.github/workflows/epicmorg.advanced.vscode.images.yml +++ b/.github/workflows/epicmorg.advanced.vscode.images.yml @@ -8,7 +8,7 @@ on: jobs: build-images: - name: Build EpicMorg Advanced Vscode Server Images + name: Build EpicMorg Advanced Vscode Server - Latest Image runs-on: [ ubuntu-24.04 ] steps: @@ -38,6 +38,40 @@ jobs: - name: "Build and Deploy Advanced Vscode Server Images:" run: cd linux/advanced/vscode-server/latest && pwd && make build && make deploy + - name: "Build and Deploy Advanced Vscode Server CPP Images:" + run: cd linux/advanced/vscode-server/cpp && pwd && make build && make deploy + +################################################################################## + + build-other-images: + name: Build EpicMorg Advanced Vscode Server - Other Images + runs-on: [ ubuntu-24.04 ] + needs: build-images + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + +# - name: Log into harbor registry +# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + +################################################################################## + - name: "Build and Deploy Advanced Vscode Server AMXX 1.9 Images:" run: cd linux/advanced/vscode-server/amxx/1.9 && pwd && make build && make deploy @@ -64,9 +98,6 @@ jobs: - name: "Build and Deploy Advanced Vscode Server NodeJS Images:" run: cd linux/advanced/vscode-server/nodejs && pwd && make build && make deploy - - name: "Build and Deploy Advanced Vscode Server CPP Images:" - run: cd linux/advanced/vscode-server/cpp && pwd && make build && make deploy - - name: "Build and Deploy Advanced Vscode Server Docker Images:" run: cd linux/advanced/vscode-server/docker && pwd && make build && make deploy diff --git a/.github/workflows/epicmorg.advanced.zabbix.images.yml b/.github/workflows/epicmorg.advanced.zabbix.images.yml index e2001bcfd..fd00f994e 100644 --- a/.github/workflows/epicmorg.advanced.zabbix.images.yml +++ b/.github/workflows/epicmorg.advanced.zabbix.images.yml @@ -63,585 +63,12 @@ jobs: - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" run: cd linux/advanced/zabbix/latest/web-pgsql && pwd && make build && make deploy -################################################################################## - - build-30-images: - name: Build EpicMorg Advanced Zabbix 3.0 Images - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Advanced Zabbix Agent Images:" - run: cd linux/advanced/zabbix/3.0/agent && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" - run: cd linux/advanced/zabbix/3.0/java-gateway && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" - run: cd linux/advanced/zabbix/3.0/proxy-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" - run: cd linux/advanced/zabbix/3.0/proxy-sqlite3 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" - run: cd linux/advanced/zabbix/3.0/server-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" - run: cd linux/advanced/zabbix/3.0/server-pgsql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" - run: cd linux/advanced/zabbix/3.0/snmptraps && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" - run: cd linux/advanced/zabbix/3.0/web-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" - run: cd linux/advanced/zabbix/3.0/web-pgsql && pwd && make build && make deploy - -################################################################################## - - build-40-images: - name: Build EpicMorg Advanced Zabbix 4.0 Images - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Advanced Zabbix Agent Images:" - run: cd linux/advanced/zabbix/4.0/agent && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" - run: cd linux/advanced/zabbix/4.0/java-gateway && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" - run: cd linux/advanced/zabbix/4.0/proxy-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" - run: cd linux/advanced/zabbix/4.0/proxy-sqlite3 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" - run: cd linux/advanced/zabbix/4.0/server-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" - run: cd linux/advanced/zabbix/4.0/server-pgsql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" - run: cd linux/advanced/zabbix/4.0/snmptraps && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" - run: cd linux/advanced/zabbix/4.0/web-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" - run: cd linux/advanced/zabbix/4.0/web-pgsql && pwd && make build && make deploy - -################################################################################## - - build-50-images: - name: Build EpicMorg Advanced Zabbix 5.0 Images - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Advanced Zabbix Agent Images:" - run: cd linux/advanced/zabbix/5.0/agent && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Agent2 Images:" - run: cd linux/advanced/zabbix/5.0/agent2 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" - run: cd linux/advanced/zabbix/5.0/java-gateway && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" - run: cd linux/advanced/zabbix/5.0/proxy-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" - run: cd linux/advanced/zabbix/5.0/proxy-sqlite3 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" - run: cd linux/advanced/zabbix/5.0/server-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" - run: cd linux/advanced/zabbix/5.0/server-pgsql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" - run: cd linux/advanced/zabbix/5.0/snmptraps && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" - run: cd linux/advanced/zabbix/5.0/web-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" - run: cd linux/advanced/zabbix/5.0/web-pgsql && pwd && make build && make deploy - -################################################################################## - - build-52-images: - name: Build EpicMorg Advanced Zabbix 5.2 Images - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Advanced Zabbix Agent Images:" - run: cd linux/advanced/zabbix/5.2/agent && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Agent2 Images:" - run: cd linux/advanced/zabbix/5.2/agent2 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" - run: cd linux/advanced/zabbix/5.2/java-gateway && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" - run: cd linux/advanced/zabbix/5.2/proxy-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" - run: cd linux/advanced/zabbix/5.2/proxy-sqlite3 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" - run: cd linux/advanced/zabbix/5.2/server-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" - run: cd linux/advanced/zabbix/5.2/server-pgsql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" - run: cd linux/advanced/zabbix/5.2/snmptraps && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" - run: cd linux/advanced/zabbix/5.2/web-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" - run: cd linux/advanced/zabbix/5.2/web-pgsql && pwd && make build && make deploy - -################################################################################## - - build-54-images: - name: Build EpicMorg Advanced Zabbix 5.4 Images - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Advanced Zabbix Agent Images:" - run: cd linux/advanced/zabbix/5.4/agent && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Agent2 Images:" - run: cd linux/advanced/zabbix/5.4/agent2 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" - run: cd linux/advanced/zabbix/5.4/java-gateway && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" - run: cd linux/advanced/zabbix/5.4/proxy-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" - run: cd linux/advanced/zabbix/5.4/proxy-sqlite3 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" - run: cd linux/advanced/zabbix/5.4/server-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" - run: cd linux/advanced/zabbix/5.4/server-pgsql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" - run: cd linux/advanced/zabbix/5.4/snmptraps && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" - run: cd linux/advanced/zabbix/5.4/web-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" - run: cd linux/advanced/zabbix/5.4/web-pgsql && pwd && make build && make deploy - -################################################################################## - - build-60-images: - name: Build EpicMorg Advanced Zabbix 6.0 Images - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Advanced Zabbix Agent Images:" - run: cd linux/advanced/zabbix/6.0/agent && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Agent2 Images:" - run: cd linux/advanced/zabbix/6.0/agent2 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" - run: cd linux/advanced/zabbix/6.0/java-gateway && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" - run: cd linux/advanced/zabbix/6.0/proxy-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" - run: cd linux/advanced/zabbix/6.0/proxy-sqlite3 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" - run: cd linux/advanced/zabbix/6.0/server-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" - run: cd linux/advanced/zabbix/6.0/server-pgsql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" - run: cd linux/advanced/zabbix/6.0/snmptraps && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" - run: cd linux/advanced/zabbix/6.0/web-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" - run: cd linux/advanced/zabbix/6.0/web-pgsql && pwd && make build && make deploy - -################################################################################## - - build-62-images: - name: Build EpicMorg Advanced Zabbix 6.2 Images - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Advanced Zabbix Agent Images:" - run: cd linux/advanced/zabbix/6.2/agent && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Agent2 Images:" - run: cd linux/advanced/zabbix/6.2/agent2 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" - run: cd linux/advanced/zabbix/6.2/java-gateway && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" - run: cd linux/advanced/zabbix/6.2/proxy-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" - run: cd linux/advanced/zabbix/6.2/proxy-sqlite3 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" - run: cd linux/advanced/zabbix/6.2/server-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" - run: cd linux/advanced/zabbix/6.2/server-pgsql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" - run: cd linux/advanced/zabbix/6.2/snmptraps && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" - run: cd linux/advanced/zabbix/6.2/web-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" - run: cd linux/advanced/zabbix/6.2/web-pgsql && pwd && make build && make deploy - -################################################################################## - - build-64-images: - name: Build EpicMorg Advanced Zabbix 6.4 Images - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Advanced Zabbix Agent Images:" - run: cd linux/advanced/zabbix/6.4/agent && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Agent2 Images:" - run: cd linux/advanced/zabbix/6.4/agent2 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" - run: cd linux/advanced/zabbix/6.4/java-gateway && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" - run: cd linux/advanced/zabbix/6.4/proxy-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" - run: cd linux/advanced/zabbix/6.4/proxy-sqlite3 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" - run: cd linux/advanced/zabbix/6.4/server-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" - run: cd linux/advanced/zabbix/6.4/server-pgsql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" - run: cd linux/advanced/zabbix/6.4/snmptraps && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" - run: cd linux/advanced/zabbix/6.4/web-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" - run: cd linux/advanced/zabbix/6.4/web-pgsql && pwd && make build && make deploy - -################################################################################## - - build-70-images: - name: Build EpicMorg Advanced Zabbix 7.0 Images - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Advanced Zabbix Agent Images:" - run: cd linux/advanced/zabbix/7.0/agent && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Agent2 Images:" - run: cd linux/advanced/zabbix/7.0/agent2 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" - run: cd linux/advanced/zabbix/7.0/java-gateway && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" - run: cd linux/advanced/zabbix/7.0/proxy-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" - run: cd linux/advanced/zabbix/7.0/proxy-sqlite3 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" - run: cd linux/advanced/zabbix/7.0/server-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" - run: cd linux/advanced/zabbix/7.0/server-pgsql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" - run: cd linux/advanced/zabbix/7.0/snmptraps && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" - run: cd linux/advanced/zabbix/7.0/web-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" - run: cd linux/advanced/zabbix/7.0/web-pgsql && pwd && make build && make deploy - -################################################################################## - - build-72-images: - name: Build EpicMorg Advanced Zabbix 7.2 Images - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Advanced Zabbix Agent Images:" - run: cd linux/advanced/zabbix/7.2/agent && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Agent2 Images:" - run: cd linux/advanced/zabbix/7.2/agent2 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" - run: cd linux/advanced/zabbix/7.2/java-gateway && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" - run: cd linux/advanced/zabbix/7.2/proxy-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" - run: cd linux/advanced/zabbix/7.2/proxy-sqlite3 && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" - run: cd linux/advanced/zabbix/7.2/server-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" - run: cd linux/advanced/zabbix/7.2/server-pgsql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" - run: cd linux/advanced/zabbix/7.2/snmptraps && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" - run: cd linux/advanced/zabbix/7.2/web-mysql && pwd && make build && make deploy - - - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" - run: cd linux/advanced/zabbix/7.2/web-pgsql && pwd && make build && make deploy - ################################################################################## build-trunk-images: name: Build EpicMorg Advanced Zabbix trunk Images runs-on: [ ubuntu-24.04 ] + needs: build-latest-images steps: - uses: actions/checkout@v4 @@ -695,7 +122,638 @@ jobs: - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" run: cd linux/advanced/zabbix/trunk/web-pgsql && pwd && make build && make deploy +################################################################################## + + build-72-images: + name: Build EpicMorg Advanced Zabbix 7.2 Images + runs-on: [ ubuntu-24.04 ] + needs: build-trunk-images + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + +# - name: Log into harbor registry +# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Advanced Zabbix Agent Images:" + run: cd linux/advanced/zabbix/7.2/agent && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Agent2 Images:" + run: cd linux/advanced/zabbix/7.2/agent2 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" + run: cd linux/advanced/zabbix/7.2/java-gateway && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" + run: cd linux/advanced/zabbix/7.2/proxy-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" + run: cd linux/advanced/zabbix/7.2/proxy-sqlite3 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" + run: cd linux/advanced/zabbix/7.2/server-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" + run: cd linux/advanced/zabbix/7.2/server-pgsql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" + run: cd linux/advanced/zabbix/7.2/snmptraps && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" + run: cd linux/advanced/zabbix/7.2/web-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" + run: cd linux/advanced/zabbix/7.2/web-pgsql && pwd && make build && make deploy + ################################################################################## - name: Cleanup run: make clean + +################################################################################## + + build-70-images: + name: Build EpicMorg Advanced Zabbix 7.0 Images + runs-on: [ ubuntu-24.04 ] + needs: build-72-images + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + +# - name: Log into harbor registry +# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Advanced Zabbix Agent Images:" + run: cd linux/advanced/zabbix/7.0/agent && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Agent2 Images:" + run: cd linux/advanced/zabbix/7.0/agent2 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" + run: cd linux/advanced/zabbix/7.0/java-gateway && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" + run: cd linux/advanced/zabbix/7.0/proxy-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" + run: cd linux/advanced/zabbix/7.0/proxy-sqlite3 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" + run: cd linux/advanced/zabbix/7.0/server-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" + run: cd linux/advanced/zabbix/7.0/server-pgsql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" + run: cd linux/advanced/zabbix/7.0/snmptraps && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" + run: cd linux/advanced/zabbix/7.0/web-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" + run: cd linux/advanced/zabbix/7.0/web-pgsql && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make clean + +################################################################################## + + build-64-images: + name: Build EpicMorg Advanced Zabbix 6.4 Images + runs-on: [ ubuntu-24.04 ] + needs: build-70-images + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + +# - name: Log into harbor registry +# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Advanced Zabbix Agent Images:" + run: cd linux/advanced/zabbix/6.4/agent && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Agent2 Images:" + run: cd linux/advanced/zabbix/6.4/agent2 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" + run: cd linux/advanced/zabbix/6.4/java-gateway && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" + run: cd linux/advanced/zabbix/6.4/proxy-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" + run: cd linux/advanced/zabbix/6.4/proxy-sqlite3 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" + run: cd linux/advanced/zabbix/6.4/server-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" + run: cd linux/advanced/zabbix/6.4/server-pgsql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" + run: cd linux/advanced/zabbix/6.4/snmptraps && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" + run: cd linux/advanced/zabbix/6.4/web-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" + run: cd linux/advanced/zabbix/6.4/web-pgsql && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make clean + +################################################################################## + + build-62-images: + name: Build EpicMorg Advanced Zabbix 6.2 Images + runs-on: [ ubuntu-24.04 ] + needs: build-64-images + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + +# - name: Log into harbor registry +# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Advanced Zabbix Agent Images:" + run: cd linux/advanced/zabbix/6.2/agent && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Agent2 Images:" + run: cd linux/advanced/zabbix/6.2/agent2 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" + run: cd linux/advanced/zabbix/6.2/java-gateway && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" + run: cd linux/advanced/zabbix/6.2/proxy-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" + run: cd linux/advanced/zabbix/6.2/proxy-sqlite3 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" + run: cd linux/advanced/zabbix/6.2/server-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" + run: cd linux/advanced/zabbix/6.2/server-pgsql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" + run: cd linux/advanced/zabbix/6.2/snmptraps && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" + run: cd linux/advanced/zabbix/6.2/web-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" + run: cd linux/advanced/zabbix/6.2/web-pgsql && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make clean + +################################################################################## + + build-60-images: + name: Build EpicMorg Advanced Zabbix 6.0 Images + runs-on: [ ubuntu-24.04 ] + needs: build-62-images + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + +# - name: Log into harbor registry +# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Advanced Zabbix Agent Images:" + run: cd linux/advanced/zabbix/6.0/agent && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Agent2 Images:" + run: cd linux/advanced/zabbix/6.0/agent2 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" + run: cd linux/advanced/zabbix/6.0/java-gateway && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" + run: cd linux/advanced/zabbix/6.0/proxy-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" + run: cd linux/advanced/zabbix/6.0/proxy-sqlite3 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" + run: cd linux/advanced/zabbix/6.0/server-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" + run: cd linux/advanced/zabbix/6.0/server-pgsql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" + run: cd linux/advanced/zabbix/6.0/snmptraps && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" + run: cd linux/advanced/zabbix/6.0/web-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" + run: cd linux/advanced/zabbix/6.0/web-pgsql && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make clean + +################################################################################## + + build-54-images: + name: Build EpicMorg Advanced Zabbix 5.4 Images + runs-on: [ ubuntu-24.04 ] + needs: build-60-images + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + +# - name: Log into harbor registry +# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Advanced Zabbix Agent Images:" + run: cd linux/advanced/zabbix/5.4/agent && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Agent2 Images:" + run: cd linux/advanced/zabbix/5.4/agent2 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" + run: cd linux/advanced/zabbix/5.4/java-gateway && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" + run: cd linux/advanced/zabbix/5.4/proxy-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" + run: cd linux/advanced/zabbix/5.4/proxy-sqlite3 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" + run: cd linux/advanced/zabbix/5.4/server-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" + run: cd linux/advanced/zabbix/5.4/server-pgsql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" + run: cd linux/advanced/zabbix/5.4/snmptraps && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" + run: cd linux/advanced/zabbix/5.4/web-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" + run: cd linux/advanced/zabbix/5.4/web-pgsql && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make clean + +################################################################################## + + build-52-images: + name: Build EpicMorg Advanced Zabbix 5.2 Images + runs-on: [ ubuntu-24.04 ] + needs: build-54-images + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + +# - name: Log into harbor registry +# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Advanced Zabbix Agent Images:" + run: cd linux/advanced/zabbix/5.2/agent && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Agent2 Images:" + run: cd linux/advanced/zabbix/5.2/agent2 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" + run: cd linux/advanced/zabbix/5.2/java-gateway && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" + run: cd linux/advanced/zabbix/5.2/proxy-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" + run: cd linux/advanced/zabbix/5.2/proxy-sqlite3 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" + run: cd linux/advanced/zabbix/5.2/server-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" + run: cd linux/advanced/zabbix/5.2/server-pgsql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" + run: cd linux/advanced/zabbix/5.2/snmptraps && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" + run: cd linux/advanced/zabbix/5.2/web-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" + run: cd linux/advanced/zabbix/5.2/web-pgsql && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make clean + +################################################################################## + + build-50-images: + name: Build EpicMorg Advanced Zabbix 5.0 Images + runs-on: [ ubuntu-24.04 ] + needs: build-52-images + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + +# - name: Log into harbor registry +# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Advanced Zabbix Agent Images:" + run: cd linux/advanced/zabbix/5.0/agent && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Agent2 Images:" + run: cd linux/advanced/zabbix/5.0/agent2 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" + run: cd linux/advanced/zabbix/5.0/java-gateway && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" + run: cd linux/advanced/zabbix/5.0/proxy-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" + run: cd linux/advanced/zabbix/5.0/proxy-sqlite3 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" + run: cd linux/advanced/zabbix/5.0/server-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" + run: cd linux/advanced/zabbix/5.0/server-pgsql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" + run: cd linux/advanced/zabbix/5.0/snmptraps && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" + run: cd linux/advanced/zabbix/5.0/web-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" + run: cd linux/advanced/zabbix/5.0/web-pgsql && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make clean + +################################################################################## + + build-40-images: + name: Build EpicMorg Advanced Zabbix 4.0 Images + runs-on: [ ubuntu-24.04 ] + needs: build-50-images + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + +# - name: Log into harbor registry +# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Advanced Zabbix Agent Images:" + run: cd linux/advanced/zabbix/4.0/agent && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" + run: cd linux/advanced/zabbix/4.0/java-gateway && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" + run: cd linux/advanced/zabbix/4.0/proxy-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" + run: cd linux/advanced/zabbix/4.0/proxy-sqlite3 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" + run: cd linux/advanced/zabbix/4.0/server-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" + run: cd linux/advanced/zabbix/4.0/server-pgsql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" + run: cd linux/advanced/zabbix/4.0/snmptraps && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" + run: cd linux/advanced/zabbix/4.0/web-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" + run: cd linux/advanced/zabbix/4.0/web-pgsql && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make clean + +################################################################################## + + build-30-images: + name: Build EpicMorg Advanced Zabbix 3.0 Images + runs-on: [ ubuntu-24.04 ] + needs: build-40-images + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + +# - name: Log into harbor registry +# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Advanced Zabbix Agent Images:" + run: cd linux/advanced/zabbix/3.0/agent && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Java Gateway Images:" + run: cd linux/advanced/zabbix/3.0/java-gateway && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Mysql Images:" + run: cd linux/advanced/zabbix/3.0/proxy-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Proxy Sqlite3 Images:" + run: cd linux/advanced/zabbix/3.0/proxy-sqlite3 && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Mysql Images:" + run: cd linux/advanced/zabbix/3.0/server-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Server Pgsql Images:" + run: cd linux/advanced/zabbix/3.0/server-pgsql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Snmptraps Images:" + run: cd linux/advanced/zabbix/3.0/snmptraps && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Mysql Images:" + run: cd linux/advanced/zabbix/3.0/web-mysql && pwd && make build && make deploy + + - name: "Build and Deploy Advanced Zabbix Web Pgsql Images:" + run: cd linux/advanced/zabbix/3.0/web-pgsql && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make clean + +################################################################################## diff --git a/.github/workflows/epicmorg.base.images.debian.10.yml b/.github/workflows/epicmorg.base.images.debian.10.yml index 8b7adfff7..aede101b7 100644 --- a/.github/workflows/epicmorg.base.images.debian.10.yml +++ b/.github/workflows/epicmorg.base.images.debian.10.yml @@ -1,4 +1,4 @@ -name: EpicMorg Debian 10 Images +name: EpicMorg Base - Debian 10 Images on: workflow_dispatch: diff --git a/.github/workflows/epicmorg.base.images.debian.11.yml b/.github/workflows/epicmorg.base.images.debian.11.yml index 6dc54dad3..567944fe3 100644 --- a/.github/workflows/epicmorg.base.images.debian.11.yml +++ b/.github/workflows/epicmorg.base.images.debian.11.yml @@ -1,4 +1,4 @@ -name: EpicMorg Debian 11 Images +name: EpicMorg Base - Debian 11 Images on: workflow_dispatch: diff --git a/.github/workflows/epicmorg.base.images.debian.12.yml b/.github/workflows/epicmorg.base.images.debian.12.yml index 9553c6ab1..b5990b6a2 100644 --- a/.github/workflows/epicmorg.base.images.debian.12.yml +++ b/.github/workflows/epicmorg.base.images.debian.12.yml @@ -1,4 +1,4 @@ -name: EpicMorg Debian 12 Images +name: EpicMorg Base - Debian 12 Images on: workflow_dispatch: diff --git a/.github/workflows/epicmorg.base.images.debian.13.yml b/.github/workflows/epicmorg.base.images.debian.13.yml index 699c44591..ab35eabf8 100644 --- a/.github/workflows/epicmorg.base.images.debian.13.yml +++ b/.github/workflows/epicmorg.base.images.debian.13.yml @@ -1,4 +1,4 @@ -name: EpicMorg Debian 13 Images +name: EpicMorg Base - Debian 13 Images on: workflow_dispatch: diff --git a/.github/workflows/epicmorg.base.images.debian.6.yml b/.github/workflows/epicmorg.base.images.debian.6.yml index 627df1b74..bb366e036 100644 --- a/.github/workflows/epicmorg.base.images.debian.6.yml +++ b/.github/workflows/epicmorg.base.images.debian.6.yml @@ -1,4 +1,4 @@ -name: EpicMorg Debian 6 Images +name: EpicMorg Base - Debian 6 Images on: workflow_dispatch: diff --git a/.github/workflows/epicmorg.base.images.debian.7.yml b/.github/workflows/epicmorg.base.images.debian.7.yml index af6164110..db18963af 100644 --- a/.github/workflows/epicmorg.base.images.debian.7.yml +++ b/.github/workflows/epicmorg.base.images.debian.7.yml @@ -1,4 +1,4 @@ -name: EpicMorg Debian 7 Images +name: EpicMorg Base - Debian 7 Images on: workflow_dispatch: diff --git a/.github/workflows/epicmorg.base.images.debian.8.yml b/.github/workflows/epicmorg.base.images.debian.8.yml index bf4ce0f7e..73385f278 100644 --- a/.github/workflows/epicmorg.base.images.debian.8.yml +++ b/.github/workflows/epicmorg.base.images.debian.8.yml @@ -1,4 +1,4 @@ -name: EpicMorg Debian 8 Images +name: EpicMorg Base - Debian 8 Images on: workflow_dispatch: diff --git a/.github/workflows/epicmorg.base.images.debian.9.yml b/.github/workflows/epicmorg.base.images.debian.9.yml index bf2d782a2..50f2edd9c 100644 --- a/.github/workflows/epicmorg.base.images.debian.9.yml +++ b/.github/workflows/epicmorg.base.images.debian.9.yml @@ -1,4 +1,4 @@ -name: EpicMorg Debian 9 Images +name: EpicMorg Base - Debian 9 Images on: workflow_dispatch: diff --git a/.github/workflows/epicmorg.base.images.debian.sid.yml b/.github/workflows/epicmorg.base.images.debian.sid.yml index e1315038b..b95de8c67 100644 --- a/.github/workflows/epicmorg.base.images.debian.sid.yml +++ b/.github/workflows/epicmorg.base.images.debian.sid.yml @@ -1,4 +1,4 @@ -name: EpicMorg Debian SID Images +name: EpicMorg Base - Debian SID Images on: workflow_dispatch: diff --git a/.github/workflows/epicmorg.base.images.giltab.runners.yml b/.github/workflows/epicmorg.base.images.giltab.runners.yml deleted file mode 100644 index 4b974a6e2..000000000 --- a/.github/workflows/epicmorg.base.images.giltab.runners.yml +++ /dev/null @@ -1,265 +0,0 @@ -name: EpicMorg EcoSystem Gitlab Runner Images - -on: - workflow_dispatch: - schedule: - - cron: '4 5 * * 2,4,6' - -jobs: - - build-glr-main-images: - name: Build EpicMorg Gitlab Runner Main Images - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Gitlab Runner minimal Image:" - run: cd linux/ecosystem/gitlab/runner/minimal && pwd && make build && make deploy - - - - name: "Build and Deploy Gitlab Runner Main Image:" - run: cd linux/ecosystem/gitlab/runner/latest && pwd && make build && make deploy - -################################################################################### -# -# build-glr-other-images: -# name: Build EpicMorg Gitlab Runner Oter Images -# runs-on: [ ubuntu-24.04 ] -# needs: build-glr-main-images -# -# steps: -# - uses: actions/checkout@v4 -# - name: Log into registry -# run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin -# -# - name: Check buildah -# run: | -# buildah --version -# buildah info -# -# - name: Test Make -# run: make -# - - name: Install requirements.txt - run: make pip -# -# - name: "Build and Deploy Gitlab Runner amxX 1.9 SDK Image:" -# run: cd linux/ecosystem/gitlab/runner/amxx-sdk/1.9 && pwd && make build && make deploy -# -# - name: "Build and Deploy Gitlab Runner amxX 1.10 SDK Image:" -# run: cd linux/ecosystem/gitlab/runner/amxx-sdk/1.10 && pwd && make build && make deploy -# -################################################################################### -# -# - name: Cleanup -# run: make clean -# -################################################################################### -# -# - name: "Build and Deploy Gitlab Runner Android SDK Image (jdk8):" -# run: cd linux/ecosystem/gitlab/runner/android-sdk/jdk8 && pwd && make build && make deploy -# -################################################################################### -# -# - name: Cleanup -# run: make clean -# -################################################################################### -# -# - name: "Build and Deploy Gitlab Runner Android SDK Image (jdk11):" -# run: cd linux/ecosystem/gitlab/runner/android-sdk/jdk11 && pwd && make build && make deploy -# -################################################################################### -# -# - name: Cleanup -# run: make clean -# -################################################################################### -# -# - name: "Build and Deploy Gitlab Runner Android SDK Image (jdk17):" -# run: cd linux/ecosystem/gitlab/runner/android-sdk/jdk17 && pwd && make build && make deploy -# -################################################################################### -# -# - name: Cleanup -# run: make clean -# -################################################################################### -# -# - name: "Build and Deploy Gitlab Runner Atlassian SDK Image:" -# run: cd linux/ecosystem/gitlab/runner/atlassian-sdk && pwd && make build && make deploy -# -################################################################################### -# -# - name: Cleanup -# run: make clean -# -################################################################################### -# -# - name: "Build and Deploy Gitlab Runner dotNet SDK Image:" -# run: cd linux/ecosystem/gitlab/runner/dotnet-sdk && pwd && make build && make deploy -# -# - name: "Build and Deploy Gitlab Runner node0.12 Image:" -# run: cd linux/ecosystem/gitlab/runner/node0.12 && pwd && make build && make deploy -# -# - name: "Build and Deploy Gitlab Runner node4 Image:" -# run: cd linux/ecosystem/gitlab/runner/node4 && pwd && make build && make deploy -# -################################################################################### -# -# - name: Cleanup -# run: make clean -# -################################################################################### -## -## - name: "Build and Deploy Gitlab Runner node5 Image:" -## run: cd linux/ecosystem/gitlab/runner/node5 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner node6 Image:" -## run: cd linux/ecosystem/gitlab/runner/node6 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner node7 Image:" -## run: cd linux/ecosystem/gitlab/runner/node7 && pwd && make build && make deploy -## -## ################################################################################## -## -## - name: Cleanup -## run: make clean -## -## ################################################################################## -## -## - name: "Build and Deploy Gitlab Runner node8 Image:" -## run: cd linux/ecosystem/gitlab/runner/node8 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner node9 Image:" -## run: cd linux/ecosystem/gitlab/runner/node9 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner node10 Image:" -## run: cd linux/ecosystem/gitlab/runner/node10 && pwd && make build && make deploy -## -## ################################################################################## -## -## - name: Cleanup -## run: make clean -## -## ################################################################################## -## -## - name: "Build and Deploy Gitlab Runner node11 Image:" -## run: cd linux/ecosystem/gitlab/runner/node11 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner node12 Image:" -## run: cd linux/ecosystem/gitlab/runner/node12 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner node13 Image:" -## run: cd linux/ecosystem/gitlab/runner/node13 && pwd && make build && make deploy -## -## ################################################################################## -## -## - name: Cleanup -## run: make clean -## -## ################################################################################## -## -## - name: "Build and Deploy Gitlab Runner node14 Image:" -## run: cd linux/ecosystem/gitlab/runner/node14 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner node15 Image:" -## run: cd linux/ecosystem/gitlab/runner/node15 && pwd && make build && make deploy -## -## -## ################################################################################## -## -## - name: Cleanup -## run: make clean -## -## ################################################################################## -## -## - name: "Build and Deploy Gitlab Runner node16 Image:" -## run: cd linux/ecosystem/gitlab/runner/node16 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner node17 Image:" -## run: cd linux/ecosystem/gitlab/runner/node17 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner node18 Image:" -## run: cd linux/ecosystem/gitlab/runner/node18 && pwd && make build && make deploy -## -## ################################################################################## -## -## - name: Cleanup -## run: make clean -## -## ################################################################################## -## -## - name: "Build and Deploy Gitlab Runner node19 Image:" -## run: cd linux/ecosystem/gitlab/runner/node19 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner node20 Image:" -## run: cd linux/ecosystem/gitlab/runner/node20 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner node21 Image:" -## run: cd linux/ecosystem/gitlab/runner/node21 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner node22 Image:" -## run: cd linux/ecosystem/gitlab/runner/node22 && pwd && make build && make deploy -## -## ################################################################################## -## -## - name: Cleanup -## run: make clean -## -## ################################################################################## -## -## - name: "Build and Deploy Gitlab Runner php7.2 Image:" -## run: cd linux/ecosystem/gitlab/runner/php7.2 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner php7.3 Image:" -## run: cd linux/ecosystem/gitlab/runner/php7.3 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner php7.4 Image:" -## run: cd linux/ecosystem/gitlab/runner/php7.4 && pwd && make build && make deploy -## -## -## ################################################################################## -## -## - name: Cleanup -## run: make clean -## -## ################################################################################## -## -## - name: "Build and Deploy Gitlab Runner php8.0 Image:" -## run: cd linux/ecosystem/gitlab/runner/php8.0 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner php8.1 Image:" -## run: cd linux/ecosystem/gitlab/runner/php8.1 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner php8.2 Image:" -## run: cd linux/ecosystem/gitlab/runner/php8.2 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner php8.3 Image:" -## run: cd linux/ecosystem/gitlab/runner/php8.3 && pwd && make build && make deploy -## -## - name: "Build and Deploy Gitlab Runner Steam SDK Image:" -## run: cd linux/ecosystem/gitlab/runner/steam-sdk && pwd && make build && make deploy -## -## ################################################################################## -# \ No newline at end of file diff --git a/.github/workflows/epicmorg.base.images.github.runners.yml b/.github/workflows/epicmorg.base.images.github.runners.yml deleted file mode 100644 index 251d496b2..000000000 --- a/.github/workflows/epicmorg.base.images.github.runners.yml +++ /dev/null @@ -1,264 +0,0 @@ -name: EpicMorg EcoSystem Github Runner Images - -on: - workflow_dispatch: - schedule: - - cron: '4 5 * * 2,4,6' - -jobs: - - build-glr-main-images: - name: Build EpicMorg GitHub Runner Main Images - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy GitHub Runner Minimal Image:" - run: cd linux/ecosystem/github/runner/minimal && pwd && make build && make deploy - - - name: "Build and Deploy GitHub Runner Main Image:" - run: cd linux/ecosystem/github/runner/latest && pwd && make build && make deploy - -################################################################################### -# -# build-glr-other-images: -# name: Build EpicMorg GitHub Runner Oter Images -# runs-on: [ ubuntu-24.04 ] -# needs: build-glr-main-images -# -# steps: -# - uses: actions/checkout@v4 -# - name: Log into registry -# run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin -# -# - name: Check buildah -# run: | -# buildah --version -# buildah info -# -# - name: Test Make -# run: make -# - - name: Install requirements.txt - run: make pip -# -# - name: "Build and Deploy GitHub Runner amxX 1.9 SDK Image:" -# run: cd linux/ecosystem/github/runner/amxx-sdk/1.9 && pwd && make build && make deploy -# -# - name: "Build and Deploy GitHub Runner amxX 1.10 SDK Image:" -# run: cd linux/ecosystem/github/runner/amxx-sdk/1.10 && pwd && make build && make deploy -# -################################################################################### -# -# - name: Cleanup -# run: make clean -# -################################################################################### -# -# - name: "Build and Deploy GitHub Runner Android SDK Image (jdk8):" -# run: cd linux/ecosystem/github/runner/android-sdk/jdk8 && pwd && make build && make deploy -# -################################################################################### -# -# - name: Cleanup -# run: make clean -# -################################################################################### -# -# - name: "Build and Deploy GitHub Runner Android SDK Image (jdk11):" -# run: cd linux/ecosystem/github/runner/android-sdk/jdk11 && pwd && make build && make deploy -# -################################################################################### -# -# - name: Cleanup -# run: make clean -# -################################################################################### -# -# - name: "Build and Deploy GitHub Runner Android SDK Image (jdk17):" -# run: cd linux/ecosystem/github/runner/android-sdk/jdk17 && pwd && make build && make deploy -# -################################################################################### -# -# - name: Cleanup -# run: make clean -# -################################################################################### -# -# - name: "Build and Deploy GitHub Runner Atlassian SDK Image:" -# run: cd linux/ecosystem/github/runner/atlassian-sdk && pwd && make build && make deploy -# -################################################################################### -# -# - name: Cleanup -# run: make clean -# -################################################################################### -# -# - name: "Build and Deploy GitHub Runner dotNet SDK Image:" -# run: cd linux/ecosystem/github/runner/dotnet-sdk && pwd && make build && make deploy -# -# - name: "Build and Deploy GitHub Runner node0.12 Image:" -# run: cd linux/ecosystem/github/runner/node0.12 && pwd && make build && make deploy -# -# - name: "Build and Deploy GitHub Runner node4 Image:" -# run: cd linux/ecosystem/github/runner/node4 && pwd && make build && make deploy -# -################################################################################### -# -# - name: Cleanup -# run: make clean -# -################################################################################### -## -## - name: "Build and Deploy GitHub Runner node5 Image:" -## run: cd linux/ecosystem/github/runner/node5 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner node6 Image:" -## run: cd linux/ecosystem/github/runner/node6 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner node7 Image:" -## run: cd linux/ecosystem/github/runner/node7 && pwd && make build && make deploy -## -## ################################################################################## -## -## - name: Cleanup -## run: make clean -## -## ################################################################################## -## -## - name: "Build and Deploy GitHub Runner node8 Image:" -## run: cd linux/ecosystem/github/runner/node8 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner node9 Image:" -## run: cd linux/ecosystem/github/runner/node9 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner node10 Image:" -## run: cd linux/ecosystem/github/runner/node10 && pwd && make build && make deploy -## -## ################################################################################## -## -## - name: Cleanup -## run: make clean -## -## ################################################################################## -## -## - name: "Build and Deploy GitHub Runner node11 Image:" -## run: cd linux/ecosystem/github/runner/node11 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner node12 Image:" -## run: cd linux/ecosystem/github/runner/node12 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner node13 Image:" -## run: cd linux/ecosystem/github/runner/node13 && pwd && make build && make deploy -## -## ################################################################################## -## -## - name: Cleanup -## run: make clean -## -## ################################################################################## -## -## - name: "Build and Deploy GitHub Runner node14 Image:" -## run: cd linux/ecosystem/github/runner/node14 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner node15 Image:" -## run: cd linux/ecosystem/github/runner/node15 && pwd && make build && make deploy -## -## -## ################################################################################## -## -## - name: Cleanup -## run: make clean -## -## ################################################################################## -## -## - name: "Build and Deploy GitHub Runner node16 Image:" -## run: cd linux/ecosystem/github/runner/node16 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner node17 Image:" -## run: cd linux/ecosystem/github/runner/node17 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner node18 Image:" -## run: cd linux/ecosystem/github/runner/node18 && pwd && make build && make deploy -## -## ################################################################################## -## -## - name: Cleanup -## run: make clean -## -## ################################################################################## -## -## - name: "Build and Deploy GitHub Runner node19 Image:" -## run: cd linux/ecosystem/github/runner/node19 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner node20 Image:" -## run: cd linux/ecosystem/github/runner/node20 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner node21 Image:" -## run: cd linux/ecosystem/github/runner/node21 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner node22 Image:" -## run: cd linux/ecosystem/github/runner/node22 && pwd && make build && make deploy -## -## ################################################################################## -## -## - name: Cleanup -## run: make clean -## -## ################################################################################## -## -## - name: "Build and Deploy GitHub Runner php7.2 Image:" -## run: cd linux/ecosystem/github/runner/php7.2 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner php7.3 Image:" -## run: cd linux/ecosystem/github/runner/php7.3 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner php7.4 Image:" -## run: cd linux/ecosystem/github/runner/php7.4 && pwd && make build && make deploy -## -## -## ################################################################################## -## -## - name: Cleanup -## run: make clean -## -## ################################################################################## -## -## - name: "Build and Deploy GitHub Runner php8.0 Image:" -## run: cd linux/ecosystem/github/runner/php8.0 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner php8.1 Image:" -## run: cd linux/ecosystem/github/runner/php8.1 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner php8.2 Image:" -## run: cd linux/ecosystem/github/runner/php8.2 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner php8.3 Image:" -## run: cd linux/ecosystem/github/runner/php8.3 && pwd && make build && make deploy -## -## - name: "Build and Deploy GitHub Runner Steam SDK Image:" -## run: cd linux/ecosystem/github/runner/steam-sdk && pwd && make build && make deploy -## -## ################################################################################## -# \ No newline at end of file diff --git a/.github/workflows/epicmorg.base.images.perforce.yml b/.github/workflows/epicmorg.base.images.perforce.yml deleted file mode 100644 index 39f222b7b..000000000 --- a/.github/workflows/epicmorg.base.images.perforce.yml +++ /dev/null @@ -1,207 +0,0 @@ -name: EpicMorg EcoSystem Perfocre Images - -on: - workflow_dispatch: - schedule: - - cron: '4 4 * * 1,3,5' - -jobs: - - build-p4-images: - name: Build EpicMorg Perfocre Images - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Perfocre r16.2 Image:" - run: cd linux/ecosystem/perforce/base/r16.2 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre r17.1 Image:" - run: cd linux/ecosystem/perforce/base/r17.1 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre r17.2 Image:" - run: cd linux/ecosystem/perforce/base/r17.2 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy Perfocre r18.1 Image:" - run: cd linux/ecosystem/perforce/base/r18.1 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre r18.2 Image:" - run: cd linux/ecosystem/perforce/base/r18.2 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre r19.1 Image:" - run: cd linux/ecosystem/perforce/base/r19.1 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy Perfocre r19.2 Image:" - run: cd linux/ecosystem/perforce/base/r19.2 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre r20.1 Image:" - run: cd linux/ecosystem/perforce/base/r20.1 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre r20.2 Image:" - run: cd linux/ecosystem/perforce/base/r20.2 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy Perfocre r21.1 Image:" - run: cd linux/ecosystem/perforce/base/r21.1 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre r21.2 Image:" - run: cd linux/ecosystem/perforce/base/r21.2 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre r22.1 Image:" - run: cd linux/ecosystem/perforce/base/r22.1 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy Perfocre r23.1 Image:" - run: cd linux/ecosystem/perforce/base/r23.1 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre r23.2 Image:" - run: cd linux/ecosystem/perforce/base/r23.2 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre r24.2 Image:" - run: cd linux/ecosystem/perforce/base/r24.2 && pwd && make build && make deploy - -################################################################################## - - build-p4p-images: - name: Build EpicMorg Perfocre Proxy Images - runs-on: [ ubuntu-24.04 ] - needs: build-p4-images - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Perfocre Proxy r16.2 Image:" - run: cd linux/ecosystem/perforce/p4p/r16.2 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre Proxy r17.1 Image:" - run: cd linux/ecosystem/perforce/p4p/r17.1 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre Proxy r17.2 Image:" - run: cd linux/ecosystem/perforce/p4p/r17.2 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy Perfocre Proxy r18.1 Image:" - run: cd linux/ecosystem/perforce/p4p/r18.1 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre Proxy r18.2 Image:" - run: cd linux/ecosystem/perforce/p4p/r18.2 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre Proxy r19.1 Image:" - run: cd linux/ecosystem/perforce/p4p/r19.1 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre Proxy r19.2 Image:" - run: cd linux/ecosystem/perforce/p4p/r19.2 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy Perfocre Proxy r20.1 Image:" - run: cd linux/ecosystem/perforce/p4p/r20.1 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre Proxy r20.2 Image:" - run: cd linux/ecosystem/perforce/p4p/r20.2 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre Proxy r21.1 Image:" - run: cd linux/ecosystem/perforce/p4p/r21.1 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre Proxy r21.2 Image:" - run: cd linux/ecosystem/perforce/p4p/r21.2 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy Perfocre Proxy r22.1 Image:" - run: cd linux/ecosystem/perforce/p4p/r22.1 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre Proxy r23.1 Image:" - run: cd linux/ecosystem/perforce/p4p/r23.1 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre Proxy r23.2 Image:" - run: cd linux/ecosystem/perforce/p4p/r23.2 && pwd && make build && make deploy - - - name: "Build and Deploy Perfocre Proxy r24.2 Image:" - run: cd linux/ecosystem/perforce/p4p/r24.2 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean diff --git a/.github/workflows/epicmorg.base.images.postgresql.yml b/.github/workflows/epicmorg.base.images.postgresql.yml deleted file mode 100644 index 0ce6db726..000000000 --- a/.github/workflows/epicmorg.base.images.postgresql.yml +++ /dev/null @@ -1,139 +0,0 @@ -name: EpicMorg EcoSystem PostgreSQL Images - -on: - workflow_dispatch: - schedule: - - cron: '5 5 * * 1,3,5' - -jobs: - - build-pgsql-images: - name: Build EpicMorg PostgreSQL Images - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy PostgreSQL 8.2 Image:" - run: cd linux/ecosystem/postgres/8.2 && pwd && make build && make deploy - - - name: "Build and Deploy PostgreSQL 8.3 Image:" - run: cd linux/ecosystem/postgres/8.3 && pwd && make build && make deploy - - - name: "Build and Deploy PostgreSQL 8.4 Image:" - run: cd linux/ecosystem/postgres/8.4 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy PostgreSQL 9.0 Image:" - run: cd linux/ecosystem/postgres/9.0 && pwd && make build && make deploy - - - name: "Build and Deploy PostgreSQL 9.1 Image:" - run: cd linux/ecosystem/postgres/9.1 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy PostgreSQL 9.2 Image:" - run: cd linux/ecosystem/postgres/9.2 && pwd && make build && make deploy - - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy PostgreSQL 9.3 Image:" - run: cd linux/ecosystem/postgres/9.3 && pwd && make build && make deploy - - - name: "Build and Deploy PostgreSQL 9.4 Image:" - run: cd linux/ecosystem/postgres/9.4 && pwd && make build && make deploy - - - name: "Build and Deploy PostgreSQL 9.5 Image:" - run: cd linux/ecosystem/postgres/9.5 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy PostgreSQL 9.6 Image:" - run: cd linux/ecosystem/postgres/9.6 && pwd && make build && make deploy - - - name: "Build and Deploy PostgreSQL 10 Image:" - run: cd linux/ecosystem/postgres/10 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy PostgreSQL 11 Image:" - run: cd linux/ecosystem/postgres/11 && pwd && make build && make deploy - - - name: "Build and Deploy PostgreSQL 12 Image:" - run: cd linux/ecosystem/postgres/12 && pwd && make build && make deploy - - - name: "Build and Deploy PostgreSQL 13 Image:" - run: cd linux/ecosystem/postgres/13 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy PostgreSQL 14 Image:" - run: cd linux/ecosystem/postgres/14 && pwd && make build && make deploy - - - name: "Build and Deploy PostgreSQL 15 Image:" - run: cd linux/ecosystem/postgres/15 && pwd && make build && make deploy - - - name: "Build and Deploy PostgreSQL 16 Image:" - run: cd linux/ecosystem/postgres/16 && pwd && make build && make deploy - -# - name: "Build and Deploy PostgreSQL 17 Image:" -# run: cd linux/ecosystem/postgres/17 && pwd && make build && make deploy - -# - name: "Build and Deploy PostgreSQL 18 Image:" -# run: cd linux/ecosystem/postgres/18 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean diff --git a/.github/workflows/epicmorg.base.images.teamcity.agents.yml b/.github/workflows/epicmorg.base.images.teamcity.agents.yml deleted file mode 100644 index 5c352a97d..000000000 --- a/.github/workflows/epicmorg.base.images.teamcity.agents.yml +++ /dev/null @@ -1,234 +0,0 @@ -name: EpicMorg EcoSystem TeamCity Agents Images - -on: - workflow_dispatch: - schedule: - - cron: '4 4 * * 2,4,6' - -jobs: - - build-tca-main-images: - name: Build EpicMorg TeamCity Agent Main Images - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: "Build and Deploy TeamCity Agent Minimal Image (jdk21):" - run: cd linux/ecosystem/teamcity/agent/minimal && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent Main Image (jdk21):" - run: cd linux/ecosystem/teamcity/agent/latest && pwd && make build && make deploy - -################################################################################## - - build-tca-other-images: - name: Build EpicMorg TeamCity Agent Oter Images - runs-on: [ ubuntu-24.04 ] - needs: build-tca-main-images - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - - - name: "Build and Deploy TeamCity Agent amxX 1.9 SDK Image:" - run: cd linux/ecosystem/teamcity/agent/amxx-sdk/1.9 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent amxX 1.10 SDK Image:" - run: cd linux/ecosystem/teamcity/agent/amxx-sdk/1.10 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy TeamCity Agent Android SDK Image:" - run: cd linux/ecosystem/teamcity/agent/android-sdk && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy TeamCity Agent Atlassian SDK Image:" - run: cd linux/ecosystem/teamcity/agent/atlassian-sdk && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################# - - - name: "Build and Deploy TeamCity Agent node0.12 Image:" - run: cd linux/ecosystem/teamcity/agent/node0.12 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node4 Image:" - run: cd linux/ecosystem/teamcity/agent/node4 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node5 Image:" - run: cd linux/ecosystem/teamcity/agent/node5 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node6 Image:" - run: cd linux/ecosystem/teamcity/agent/node6 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy TeamCity Agent node7 Image:" - run: cd linux/ecosystem/teamcity/agent/node7 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node8 Image:" - run: cd linux/ecosystem/teamcity/agent/node8 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node9 Image:" - run: cd linux/ecosystem/teamcity/agent/node9 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node10 Image:" - run: cd linux/ecosystem/teamcity/agent/node10 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy TeamCity Agent node11 Image:" - run: cd linux/ecosystem/teamcity/agent/node11 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node12 Image:" - run: cd linux/ecosystem/teamcity/agent/node12 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node13 Image:" - run: cd linux/ecosystem/teamcity/agent/node13 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node14 Image:" - run: cd linux/ecosystem/teamcity/agent/node14 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy TeamCity Agent node15 Image:" - run: cd linux/ecosystem/teamcity/agent/node15 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node16 Image:" - run: cd linux/ecosystem/teamcity/agent/node16 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node17 Image:" - run: cd linux/ecosystem/teamcity/agent/node17 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node18 Image:" - run: cd linux/ecosystem/teamcity/agent/node18 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy TeamCity Agent node19 Image:" - run: cd linux/ecosystem/teamcity/agent/node19 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node20 Image:" - run: cd linux/ecosystem/teamcity/agent/node20 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node21 Image:" - run: cd linux/ecosystem/teamcity/agent/node21 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node22 Image:" - run: cd linux/ecosystem/teamcity/agent/node22 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent node23 Image:" - run: cd linux/ecosystem/teamcity/agent/node23 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy TeamCity Agent php5.6 Image:" - run: cd linux/ecosystem/teamcity/agent/php56 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent php7.0 Image:" - run: cd linux/ecosystem/teamcity/agent/php70 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent php7.1 Image:" - run: cd linux/ecosystem/teamcity/agent/php71 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent php7.2 Image:" - run: cd linux/ecosystem/teamcity/agent/php72 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent php7.3 Image:" - run: cd linux/ecosystem/teamcity/agent/php73 && pwd && make build && make deploy - - - name: Cleanup - run: make clean - - - name: "Build and Deploy TeamCity Agent php7.4 Image:" - run: cd linux/ecosystem/teamcity/agent/php74 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent php8.0 Image:" - run: cd linux/ecosystem/teamcity/agent/php80 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent php8.1 Image:" - run: cd linux/ecosystem/teamcity/agent/php81 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent php8.2 Image:" - run: cd linux/ecosystem/teamcity/agent/php82 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent php8.3 Image:" - run: cd linux/ecosystem/teamcity/agent/php83 && pwd && make build && make deploy - - - name: "Build and Deploy TeamCity Agent php8.4 Image:" - run: cd linux/ecosystem/teamcity/agent/php84 && pwd && make build && make deploy - -################################################################################## diff --git a/.github/workflows/epicmorg.base.images.testrail.yml b/.github/workflows/epicmorg.base.images.testrail.yml deleted file mode 100644 index 50661172a..000000000 --- a/.github/workflows/epicmorg.base.images.testrail.yml +++ /dev/null @@ -1,120 +0,0 @@ -name: EpicMorg EcoSystem Testrail Images - -on: - workflow_dispatch: - schedule: - - cron: '4 4 * * 1,3,5' - -jobs: - - build-testrail-images: - name: Build EpicMorg Testrail Images - runs-on: [ ubuntu-24.04 ] -# needs: build-php-images - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Cassandra 3.11 Image:" - run: cd linux/advanced/cassandra/3.11 && pwd && make build && make deploy - -################################################################################## - - build-testrail-702-images: - name: Build EpicMorg Testrail 7.0.2.1016 Images - runs-on: [ ubuntu-24.04 ] -# needs: build-php-images - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Testrail 7.0.2.1016 Image:" - run: cd linux/ecosystem/testrail/7.0.2.1016/main && pwd && make build && make deploy - - - name: "Build and Deploy Testrail 7.0.2.1016 + AD Image:" - run: cd linux/ecosystem/testrail/7.0.2.1016/ad && pwd && make build && make deploy - - - name: "Build and Deploy Testrail 7.0.2.1016 + LDAP Image:" - run: cd linux/ecosystem/testrail/7.0.2.1016/ldap && pwd && make build && make deploy - -################################################################################## - - build-testrail-741-images: - name: Build EpicMorg Testrail 7.4.1.8092 Images - runs-on: [ ubuntu-24.04 ] -# needs: build-php-images - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Testrail 7.4.1.8092 Image:" - run: cd linux/ecosystem/testrail/7.4.1.8092/main && pwd && make build && make deploy - - - name: "Build and Deploy Testrail 7.4.1.8092 + AD Image:" - run: cd linux/ecosystem/testrail/7.4.1.8092/ad && pwd && make build && make deploy - - - name: "Build and Deploy Testrail 7.4.1.8092 + LDAP Image:" - run: cd linux/ecosystem/testrail/7.4.1.8092/ldap && pwd && make build && make deploy - - -################################################################################## - - - name: Cleanup - run: make clean diff --git a/.github/workflows/epicmorg.ecosysctem.images.apache2.yml b/.github/workflows/epicmorg.ecosysctem.images.apache2.yml new file mode 100644 index 000000000..4c9e8d9fc --- /dev/null +++ b/.github/workflows/epicmorg.ecosysctem.images.apache2.yml @@ -0,0 +1,42 @@ +name: EpicMorg EcoSystem Apache2 Images + +on: + workflow_dispatch: + schedule: + - cron: '2 2 * * 1,3,5' + +jobs: + build-apache2-images: + name: Build Apache2 + PHP ${{ matrix.version }} + runs-on: ubuntu-24.04 + strategy: + matrix: + version: [ + '5.6', + '7.0', '7.1', '7.2', '7.3', '7.4', + '8.0', '8.1', '8.2', '8.3', '8.4' + ] + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + + - name: Check buildah + run: buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: Build and Deploy Apache2 + PHP ${{ matrix.version }} + run: cd linux/ecosystem/apache2/php${{ matrix.version }} && pwd && make build && make deploy + + - name: Conditional Cleanup + run: make clean diff --git a/.github/workflows/epicmorg.ecosysctem.images.giltab.runners.yml b/.github/workflows/epicmorg.ecosysctem.images.giltab.runners.yml new file mode 100644 index 000000000..31e990090 --- /dev/null +++ b/.github/workflows/epicmorg.ecosysctem.images.giltab.runners.yml @@ -0,0 +1,110 @@ +name: EpicMorg EcoSystem Gitlab Runner Images + +on: + workflow_dispatch: + schedule: + - cron: '4 4 * * 2,4,6' + +jobs: + build-main-runners: + name: Build Main Gitlab Runners + runs-on: ubuntu-24.04 + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: Build and Deploy Minimal Gitlab Runner + run: cd linux/ecosystem/gitlab/runner/minimal && pwd && make build && make deploy + + - name: Build and Deploy Main Gitlab Runner + run: cd linux/ecosystem/gitlab/runner/latest && pwd && make build && make deploy + + build-additional-runners: + name: Build Additional Gitlab Runner + runs-on: ubuntu-24.04 + needs: build-main-runners + strategy: + matrix: + agent_type: [ + # AMXX SDK + {type: 'amxx-sdk', version: '1.9', path: 'amxx-sdk/1.9'}, + {type: 'amxx-sdk', version: '1.10', path: 'amxx-sdk/1.10'}, + + # Android SDK + {type: 'android-sdk', version: 'latest', path: 'android-sdk'}, + + # Atlassian SDK + {type: 'atlassian-sdk', version: 'latest', path: 'atlassian-sdk'}, + + # Node.js versions + {type: 'node', version: '0.12', path: 'node0.12'}, + {type: 'node', version: '4', path: 'node4'}, + {type: 'node', version: '5', path: 'node5'}, + {type: 'node', version: '6', path: 'node6'}, + {type: 'node', version: '7', path: 'node7'}, + {type: 'node', version: '8', path: 'node8'}, + {type: 'node', version: '9', path: 'node9'}, + {type: 'node', version: '10', path: 'node10'}, + {type: 'node', version: '11', path: 'node11'}, + {type: 'node', version: '12', path: 'node12'}, + {type: 'node', version: '13', path: 'node13'}, + {type: 'node', version: '14', path: 'node14'}, + {type: 'node', version: '15', path: 'node15'}, + {type: 'node', version: '16', path: 'node16'}, + {type: 'node', version: '17', path: 'node17'}, + {type: 'node', version: '18', path: 'node18'}, + {type: 'node', version: '19', path: 'node19'}, + {type: 'node', version: '20', path: 'node20'}, + {type: 'node', version: '21', path: 'node21'}, + {type: 'node', version: '22', path: 'node22'}, + {type: 'node', version: '23', path: 'node23'}, + + # PHP versions + {type: 'php', version: '5.6', path: 'php56'}, + {type: 'php', version: '7.0', path: 'php70'}, + {type: 'php', version: '7.1', path: 'php71'}, + {type: 'php', version: '7.2', path: 'php72'}, + {type: 'php', version: '7.3', path: 'php73'}, + {type: 'php', version: '7.4', path: 'php74'}, + {type: 'php', version: '8.0', path: 'php80'}, + {type: 'php', version: '8.1', path: 'php81'}, + {type: 'php', version: '8.2', path: 'php82'}, + {type: 'php', version: '8.3', path: 'php83'}, + {type: 'php', version: '8.4', path: 'php84'} + ] + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + + - name: Check buildah + run: buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: Build and Deploy Gitlab Runner ${{ matrix.agent_type.type }} ${{ matrix.agent_type.version }} + run: cd linux/ecosystem/gitlab/runner/${{ matrix.agent_type.path }} && pwd && make build && make deploy + + - name: Cleanup + run: make clean diff --git a/.github/workflows/epicmorg.ecosysctem.images.github.runners.yml b/.github/workflows/epicmorg.ecosysctem.images.github.runners.yml new file mode 100644 index 000000000..fb982a16e --- /dev/null +++ b/.github/workflows/epicmorg.ecosysctem.images.github.runners.yml @@ -0,0 +1,110 @@ +name: EpicMorg EcoSystem Github Runner Images + +on: + workflow_dispatch: + schedule: + - cron: '4 5 * * 2,4,6' + +jobs: + build-main-runners: + name: Build Main Github Runners + runs-on: ubuntu-24.04 + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: Build and Deploy Minimal Github Runner + run: cd linux/ecosystem/github/runner/minimal && pwd && make build && make deploy + + - name: Build and Deploy Main Github Runner + run: cd linux/ecosystem/github/runner/latest && pwd && make build && make deploy + + build-additional-runners: + name: Build Additional Github Runner + runs-on: ubuntu-24.04 + needs: build-main-runners + strategy: + matrix: + agent_type: [ + # AMXX SDK + {type: 'amxx-sdk', version: '1.9', path: 'amxx-sdk/1.9'}, + {type: 'amxx-sdk', version: '1.10', path: 'amxx-sdk/1.10'}, + + # Android SDK + {type: 'android-sdk', version: 'latest', path: 'android-sdk'}, + + # Atlassian SDK + {type: 'atlassian-sdk', version: 'latest', path: 'atlassian-sdk'}, + + # Node.js versions + {type: 'node', version: '0.12', path: 'node0.12'}, + {type: 'node', version: '4', path: 'node4'}, + {type: 'node', version: '5', path: 'node5'}, + {type: 'node', version: '6', path: 'node6'}, + {type: 'node', version: '7', path: 'node7'}, + {type: 'node', version: '8', path: 'node8'}, + {type: 'node', version: '9', path: 'node9'}, + {type: 'node', version: '10', path: 'node10'}, + {type: 'node', version: '11', path: 'node11'}, + {type: 'node', version: '12', path: 'node12'}, + {type: 'node', version: '13', path: 'node13'}, + {type: 'node', version: '14', path: 'node14'}, + {type: 'node', version: '15', path: 'node15'}, + {type: 'node', version: '16', path: 'node16'}, + {type: 'node', version: '17', path: 'node17'}, + {type: 'node', version: '18', path: 'node18'}, + {type: 'node', version: '19', path: 'node19'}, + {type: 'node', version: '20', path: 'node20'}, + {type: 'node', version: '21', path: 'node21'}, + {type: 'node', version: '22', path: 'node22'}, + {type: 'node', version: '23', path: 'node23'}, + + # PHP versions + {type: 'php', version: '5.6', path: 'php56'}, + {type: 'php', version: '7.0', path: 'php70'}, + {type: 'php', version: '7.1', path: 'php71'}, + {type: 'php', version: '7.2', path: 'php72'}, + {type: 'php', version: '7.3', path: 'php73'}, + {type: 'php', version: '7.4', path: 'php74'}, + {type: 'php', version: '8.0', path: 'php80'}, + {type: 'php', version: '8.1', path: 'php81'}, + {type: 'php', version: '8.2', path: 'php82'}, + {type: 'php', version: '8.3', path: 'php83'}, + {type: 'php', version: '8.4', path: 'php84'} + ] + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + + - name: Check buildah + run: buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: Build and Deploy Github Runner ${{ matrix.agent_type.type }} ${{ matrix.agent_type.version }} + run: cd linux/ecosystem/github/runner/${{ matrix.agent_type.path }} && pwd && make build && make deploy + + - name: Cleanup + run: make clean diff --git a/.github/workflows/epicmorg.ecosysctem.misc.images.yml b/.github/workflows/epicmorg.ecosysctem.images.misc.yml similarity index 57% rename from .github/workflows/epicmorg.ecosysctem.misc.images.yml rename to .github/workflows/epicmorg.ecosysctem.images.misc.yml index 04ec23e25..2a55675e3 100644 --- a/.github/workflows/epicmorg.ecosysctem.misc.images.yml +++ b/.github/workflows/epicmorg.ecosysctem.images.misc.yml @@ -98,148 +98,6 @@ jobs: - name: Build and Deploy vk2discord run: cd linux/ecosystem/vk2discord && make build && make deploy -################################################################################## - - build-qbittorrent-image: - name: EpicMorg EcoSystem qBittorrent Image - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: Build and Deploy qBittorrent 4.4.0 - run: cd linux/ecosystem/qbittorrent/4.4.0 && make build && make deploy - - - name: Build and Deploy qBittorrent 4.4.1 - run: cd linux/ecosystem/qbittorrent/4.4.1 && make build && make deploy - - - name: Build and Deploy qBittorrent 4.4.2 - run: cd linux/ecosystem/qbittorrent/4.4.2 && make build && make deploy - - - name: Build and Deploy qBittorrent 4.4.3.1 - run: cd linux/ecosystem/qbittorrent/4.4.3.1 && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: Build and Deploy qBittorrent 4.4.4 - run: cd linux/ecosystem/qbittorrent/4.4.4 && make build && make deploy - - - name: Build and Deploy qBittorrent 4.4.5 - run: cd linux/ecosystem/qbittorrent/4.4.5 && make build && make deploy - - - name: Build and Deploy qBittorrent 4.5.0 - run: cd linux/ecosystem/qbittorrent/4.5.0 && make build && make deploy - - - name: Build and Deploy qBittorrent 4.5.1 - run: cd linux/ecosystem/qbittorrent/4.5.1 && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: Build and Deploy qBittorrent 4.5.2 - run: cd linux/ecosystem/qbittorrent/4.5.2 && make build && make deploy - - - name: Build and Deploy qBittorrent 4.5.3 - run: cd linux/ecosystem/qbittorrent/4.5.3 && make build && make deploy - - - name: Build and Deploy qBittorrent 4.5.4 - run: cd linux/ecosystem/qbittorrent/4.5.4 && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: Build and Deploy qBittorrent 4.5.5 - run: cd linux/ecosystem/qbittorrent/4.5.5 && make build && make deploy - - - name: Build and Deploy qBittorrent 4.6.0 - run: cd linux/ecosystem/qbittorrent/4.6.0 && make build && make deploy - - - name: Build and Deploy qBittorrent 4.6.1 - run: cd linux/ecosystem/qbittorrent/4.6.1 && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: Build and Deploy qBittorrent 4.6.2 - run: cd linux/ecosystem/qbittorrent/4.6.2 && make build && make deploy - - - name: Build and Deploy qBittorrent 4.6.3 - run: cd linux/ecosystem/qbittorrent/4.6.3 && make build && make deploy - - - name: Build and Deploy qBittorrent 4.6.4 - run: cd linux/ecosystem/qbittorrent/4.6.4 && make build && make deploy - - - name: Build and Deploy qBittorrent 4.6.5 - run: cd linux/ecosystem/qbittorrent/4.6.5 && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: Build and Deploy qBittorrent 4.6.6 - run: cd linux/ecosystem/qbittorrent/4.6.6 && make build && make deploy - - - name: Build and Deploy qBittorrent 4.6.7 - run: cd linux/ecosystem/qbittorrent/4.6.7 && make build && make deploy - - - name: Build and Deploy qBittorrent 5.0.0 - run: cd linux/ecosystem/qbittorrent/5.0.0 && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: Build and Deploy qBittorrent 5.0.1 - run: cd linux/ecosystem/qbittorrent/5.0.1 && make build && make deploy - - - name: Build and Deploy qBittorrent 5.0.2 - run: cd linux/ecosystem/qbittorrent/5.0.2 && make build && make deploy - - - name: Build and Deploy qBittorrent Testing - run: cd linux/ecosystem/qbittorrent/testing && make build && make deploy - ################################################################################## build-opentracker-image: @@ -302,40 +160,6 @@ jobs: # - name: Build and Deploy reTracker # run: cd linux/ecosystem/retracker && make build && make deploy -################################################################################## - - build-torrust-tracker-image: - name: EpicMorg EcoSystem Torrust Tracker Image - runs-on: [ ubuntu-24.04 ] - - steps: - - uses: actions/checkout@v4 - - - name: Log into docker registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Log into Quay.IO registry - run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" - -# - name: Log into harbor registry -# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" - - - name: Check buildah - run: | - buildah --version - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: Build and Deploy Torrust Tracker - run: cd linux/ecosystem/torrust-tracker && make build && make deploy -# to rework -# - name: Build and Deploy Torrust Index -# run: cd linux/ecosystem/torrust-index && make build && make deploy - ################################################################################## build-monero-cli-image: diff --git a/.github/workflows/epicmorg.base.images.web.yml b/.github/workflows/epicmorg.ecosysctem.images.nginx.yml.disabled similarity index 53% rename from .github/workflows/epicmorg.base.images.web.yml rename to .github/workflows/epicmorg.ecosysctem.images.nginx.yml.disabled index 8641eaf7d..69e163cd5 100644 --- a/.github/workflows/epicmorg.base.images.web.yml +++ b/.github/workflows/epicmorg.ecosysctem.images.nginx.yml.disabled @@ -1,4 +1,4 @@ -name: EpicMorg EcoSystem Web Images +name: EpicMorg EcoSystem Nginx Images on: workflow_dispatch: @@ -33,55 +33,6 @@ jobs: - name: Install requirements.txt run: make pip -# - name: "Build and Deploy Apache 2 Latest Image:" -# run: cd linux/ecosystem/apache2/latest && pwd && make build && make deploy - - - name: "Build and Deploy Apache 2 + PHP 5.6 Image:" - run: cd linux/ecosystem/apache2/php5.6 && pwd && make build && make deploy - - - name: "Build and Deploy Apache 2 + PHP 7.0 Image:" - run: cd linux/ecosystem/apache2/php7.0 && pwd && make build && make deploy - - - name: "Build and Deploy Apache 2 + PHP 7.1 Image:" - run: cd linux/ecosystem/apache2/php7.1 && pwd && make build && make deploy - - - name: "Build and Deploy Apache 2 + PHP 7.2 Image:" - run: cd linux/ecosystem/apache2/php7.2 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy Apache 2 + PHP 7.3 Image:" - run: cd linux/ecosystem/apache2/php7.3 && pwd && make build && make deploy - - - name: "Build and Deploy Apache 2 + PHP 7.4 Image:" - run: cd linux/ecosystem/apache2/php7.4 && pwd && make build && make deploy - - - name: "Build and Deploy Apache 2 + PHP 8.0 Image:" - run: cd linux/ecosystem/apache2/php8.0 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make clean - -################################################################################## - - - name: "Build and Deploy Apache 2 + PHP 8.1 Image:" - run: cd linux/ecosystem/apache2/php8.1 && pwd && make build && make deploy - - - name: "Build and Deploy Apache 2 + PHP 8.2 Image:" - run: cd linux/ecosystem/apache2/php8.2 && pwd && make build && make deploy - - - name: "Build and Deploy Apache 2 + PHP 8.3 Image:" - run: cd linux/ecosystem/apache2/php8.3 && pwd && make build && make deploy - - - name: "Build and Deploy Apache 2 + PHP 8.4 Image:" - run: cd linux/ecosystem/apache2/php8.4 && pwd && make build && make deploy # ################################################################################## # diff --git a/.github/workflows/epicmorg.ecosysctem.images.perforce.yml b/.github/workflows/epicmorg.ecosysctem.images.perforce.yml new file mode 100644 index 000000000..647b6f8c8 --- /dev/null +++ b/.github/workflows/epicmorg.ecosysctem.images.perforce.yml @@ -0,0 +1,51 @@ +name: EpicMorg EcoSystem Perforce Images + +on: + workflow_dispatch: + schedule: + - cron: '4 4 * * 1,3,5' + +jobs: + build-perforce-images: + name: Build Perforce and Proxy Images + runs-on: ubuntu-24.04 + strategy: + matrix: + version: [ + 'r16.2', + 'r17.1', 'r17.2', + 'r18.1', 'r18.2', + 'r19.1', 'r19.2', + 'r20.1', 'r20.2', + 'r21.1', 'r21.2', + 'r22.1', + 'r23.1', 'r23.2', + 'r24.2' + ] + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + + - name: Check buildah + run: buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: Build and Deploy Perforce ${{ matrix.version }} + run: cd linux/ecosystem/perforce/base/${{ matrix.version }} && pwd && make build && make deploy + + - name: Build and Deploy Perforce Proxy ${{ matrix.version }} + run: cd linux/ecosystem/perforce/p4p/${{ matrix.version }} && pwd && make build && make deploy + + - name: Final Cleanup + run: make clean \ No newline at end of file diff --git a/.github/workflows/epicmorg.ecosysctem.images.postgresql.yml b/.github/workflows/epicmorg.ecosysctem.images.postgresql.yml new file mode 100644 index 000000000..1e35147d3 --- /dev/null +++ b/.github/workflows/epicmorg.ecosysctem.images.postgresql.yml @@ -0,0 +1,43 @@ +name: EpicMorg EcoSystem PostgreSQL Images + +on: + workflow_dispatch: + schedule: + - cron: '5 5 * * 1,3,5' + +jobs: + build-pgsql-images: + name: Build PostgreSQL ${{ matrix.version }} + runs-on: ubuntu-24.04 + strategy: + matrix: + version: [ + '8.2', '8.3', '8.4', + '9.0', '9.1', '9.2', '9.3', '9.4', '9.5', '9.6', + '10', '11', '12', '13', '14', '15', '16' + # '17', '18' + ] + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + + - name: Check buildah + run: buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: Build and Deploy PostgreSQL ${{ matrix.version }} + run: cd linux/ecosystem/postgres/${{ matrix.version }} && pwd && make build && make deploy + + - name: Cleanup + run: make clean \ No newline at end of file diff --git a/.github/workflows/epicmorg.ecosysctem.images.qbittorrent.yml b/.github/workflows/epicmorg.ecosysctem.images.qbittorrent.yml new file mode 100644 index 000000000..c08b730dc --- /dev/null +++ b/.github/workflows/epicmorg.ecosysctem.images.qbittorrent.yml @@ -0,0 +1,47 @@ +name: EpicMorg EcoSystem QBittorrent Images + +on: + workflow_dispatch: + schedule: + - cron: '0 0 * * 2,4,6' + +jobs: + build-qbittorrent-images: + name: Build qBittorrent Images + runs-on: ubuntu-24.04 + strategy: + matrix: + version: [ + 'testing', + '4.4.0', '4.4.1', '4.4.2', '4.4.3.1', '4.4.4', '4.4.5', + '4.5.0', '4.5.1', '4.5.2', '4.5.3', '4.5.4', '4.5.5', + '4.6.0', '4.6.1', '4.6.2', '4.6.3', '4.6.4', '4.6.5', '4.6.6', '4.6.7', + '5.0.0', '5.0.1', '5.0.2', '5.0.3', '5.0.4', '5.0.5' + ] + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + + - name: Check buildah + run: buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: Build and Deploy qBittorrent ${{ matrix.version }} + run: cd linux/ecosystem/qbittorrent/${{ matrix.version }} && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make clean + +################################################################################## diff --git a/.github/workflows/epicmorg.ecosysctem.images.teamcity.agents.yml b/.github/workflows/epicmorg.ecosysctem.images.teamcity.agents.yml new file mode 100644 index 000000000..a184ca79a --- /dev/null +++ b/.github/workflows/epicmorg.ecosysctem.images.teamcity.agents.yml @@ -0,0 +1,110 @@ +name: EpicMorg EcoSystem TeamCity Agents Images + +on: + workflow_dispatch: + schedule: + - cron: '4 4 * * 2,4,6' + +jobs: + build-main-agents: + name: Build Main TeamCity Agents + runs-on: ubuntu-24.04 + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: Build and Deploy Minimal Agent (jdk21) + run: cd linux/ecosystem/teamcity/agent/minimal && pwd && make build && make deploy + + - name: Build and Deploy Main Agent (jdk21) + run: cd linux/ecosystem/teamcity/agent/latest && pwd && make build && make deploy + + build-additional-agents: + name: Build Additional TeamCity Agents + runs-on: ubuntu-24.04 + needs: build-main-agents + strategy: + matrix: + agent_type: [ + # AMXX SDK + {type: 'amxx-sdk', version: '1.9', path: 'amxx-sdk/1.9'}, + {type: 'amxx-sdk', version: '1.10', path: 'amxx-sdk/1.10'}, + + # Android SDK + {type: 'android-sdk', version: 'latest', path: 'android-sdk'}, + + # Atlassian SDK + {type: 'atlassian-sdk', version: 'latest', path: 'atlassian-sdk'}, + + # Node.js versions + {type: 'node', version: '0.12', path: 'node0.12'}, + {type: 'node', version: '4', path: 'node4'}, + {type: 'node', version: '5', path: 'node5'}, + {type: 'node', version: '6', path: 'node6'}, + {type: 'node', version: '7', path: 'node7'}, + {type: 'node', version: '8', path: 'node8'}, + {type: 'node', version: '9', path: 'node9'}, + {type: 'node', version: '10', path: 'node10'}, + {type: 'node', version: '11', path: 'node11'}, + {type: 'node', version: '12', path: 'node12'}, + {type: 'node', version: '13', path: 'node13'}, + {type: 'node', version: '14', path: 'node14'}, + {type: 'node', version: '15', path: 'node15'}, + {type: 'node', version: '16', path: 'node16'}, + {type: 'node', version: '17', path: 'node17'}, + {type: 'node', version: '18', path: 'node18'}, + {type: 'node', version: '19', path: 'node19'}, + {type: 'node', version: '20', path: 'node20'}, + {type: 'node', version: '21', path: 'node21'}, + {type: 'node', version: '22', path: 'node22'}, + {type: 'node', version: '23', path: 'node23'}, + + # PHP versions + {type: 'php', version: '5.6', path: 'php56'}, + {type: 'php', version: '7.0', path: 'php70'}, + {type: 'php', version: '7.1', path: 'php71'}, + {type: 'php', version: '7.2', path: 'php72'}, + {type: 'php', version: '7.3', path: 'php73'}, + {type: 'php', version: '7.4', path: 'php74'}, + {type: 'php', version: '8.0', path: 'php80'}, + {type: 'php', version: '8.1', path: 'php81'}, + {type: 'php', version: '8.2', path: 'php82'}, + {type: 'php', version: '8.3', path: 'php83'}, + {type: 'php', version: '8.4', path: 'php84'} + ] + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + + - name: Check buildah + run: buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: Build and Deploy TeamCity Agent ${{ matrix.agent_type.type }} ${{ matrix.agent_type.version }} + run: cd linux/ecosystem/teamcity/agent/${{ matrix.agent_type.path }} && pwd && make build && make deploy + + - name: Cleanup + run: make clean diff --git a/.github/workflows/epicmorg.ecosysctem.images.testrail.yml b/.github/workflows/epicmorg.ecosysctem.images.testrail.yml new file mode 100644 index 000000000..7e8263f93 --- /dev/null +++ b/.github/workflows/epicmorg.ecosysctem.images.testrail.yml @@ -0,0 +1,304 @@ +name: EpicMorg EcoSystem Testrail Images + +on: + workflow_dispatch: + schedule: + - cron: '4 4 * * 1,3,5' + +jobs: + build-testrail-main-images: + name: Build EpicMorg Testrail Main Images + runs-on: [ ubuntu-24.04 ] + strategy: + matrix: + version: [ + '5.4.1.3669', + '5.5.0.3727', + '5.5.0.3731', + '5.5.0.3735', + '5.5.1.3746', + '5.6.0.3853', + '5.6.0.3856', + '5.6.0.3861', + '5.6.0.3862', + '5.6.0.3865', + '5.7.0.3938', + '5.7.0.3942', + '5.7.0.3951', + '5.7.1.4026', + '5.7.1.4028', + '6.0.0.4140', + '6.0.1.4163', + '6.1.0.4367', + '6.1.0.4369', + '6.1.1.1020', + '6.1.1.1021', + '6.2.0.1085', + '6.2.1.1003', + '6.2.1.1005', + '6.2.2.1107', + '6.2.3.1114', + '6.3.0.1120', + '6.3.1.1004', + '6.3.1.1006', + '6.4.0.1284', + '6.4.0.1293', + '6.5.0.1298', + '6.5.1.1002', + '6.5.3.1001', + '6.5.4.1002', + '6.5.4.1007', + '6.5.5.1009', + '6.5.6.1014', + '6.5.7.1000', + '6.6.0.1156', + '6.6.1.1166', + '6.7.1.1020', + '6.7.2.1037', + '6.7.2.1043', + '7.0.0.1057', + '7.0.1.1002', + '7.0.1.1013', + '7.0.2.1014', + '7.0.2.1015', + '7.0.2.1016', + '7.4.1.8079', + '7.4.1.8091', + '7.4.1.8092', + '7.5.1.7010', + '7.5.1.7012', + '7.5.1.7013', + '7.5.2.1002', + '7.5.3.1000', + '8.0.0.1089', + '8.0.1.1029', + '8.0.4.7036', + '8.0.6.1019', + '8.1.0.6186', + '9.0.0.1057' + ] + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Testrail ${{ matrix.version }} Image:" + run: cd linux/ecosystem/testrail/${{ matrix.version }}/main && pwd && make build && make deploy + + - name: Cleanup + run: make clean + +################################################################################## + + build-testrail-ad-images: + name: Build EpicMorg Testrail AD Images + runs-on: [ ubuntu-24.04 ] + needs: build-testrail-main-images + strategy: + matrix: + version: [ + '5.4.1.3669', + '5.5.0.3727', + '5.5.0.3731', + '5.5.0.3735', + '5.5.1.3746', + '5.6.0.3853', + '5.6.0.3856', + '5.6.0.3861', + '5.6.0.3862', + '5.6.0.3865', + '5.7.0.3938', + '5.7.0.3942', + '5.7.0.3951', + '5.7.1.4026', + '5.7.1.4028', + '6.0.0.4140', + '6.0.1.4163', + '6.1.0.4367', + '6.1.0.4369', + '6.1.1.1020', + '6.1.1.1021', + '6.2.0.1085', + '6.2.1.1003', + '6.2.1.1005', + '6.2.2.1107', + '6.2.3.1114', + '6.3.0.1120', + '6.3.1.1004', + '6.3.1.1006', + '6.4.0.1284', + '6.4.0.1293', + '6.5.0.1298', + '6.5.1.1002', + '6.5.3.1001', + '6.5.4.1002', + '6.5.4.1007', + '6.5.5.1009', + '6.5.6.1014', + '6.5.7.1000', + '6.6.0.1156', + '6.6.1.1166', + '6.7.1.1020', + '6.7.2.1037', + '6.7.2.1043', + '7.0.0.1057', + '7.0.1.1002', + '7.0.1.1013', + '7.0.2.1014', + '7.0.2.1015', + '7.0.2.1016', + '7.4.1.8079', + '7.4.1.8091', + '7.4.1.8092', + '7.5.1.7010', + '7.5.1.7012', + '7.5.1.7013', + '7.5.2.1002', + '7.5.3.1000', + '8.0.0.1089', + '8.0.1.1029', + '8.0.4.7036', + '8.0.6.1019', + '8.1.0.6186', + '9.0.0.1057' + ] + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Testrail ${{ matrix.version }} + AD Image:" + run: cd linux/ecosystem/testrail/${{ matrix.version }}/ad && pwd && make build && make deploy + + - name: Cleanup + run: make clean + +################################################################################## + + build-testrail-ldap-images: + name: Build EpicMorg Testrail LDAP Images + runs-on: [ ubuntu-24.04 ] + needs: build-testrail-main-images + strategy: + matrix: + version: [ + '5.4.1.3669', + '5.5.0.3727', + '5.5.0.3731', + '5.5.0.3735', + '5.5.1.3746', + '5.6.0.3853', + '5.6.0.3856', + '5.6.0.3861', + '5.6.0.3862', + '5.6.0.3865', + '5.7.0.3938', + '5.7.0.3942', + '5.7.0.3951', + '5.7.1.4026', + '5.7.1.4028', + '6.0.0.4140', + '6.0.1.4163', + '6.1.0.4367', + '6.1.0.4369', + '6.1.1.1020', + '6.1.1.1021', + '6.2.0.1085', + '6.2.1.1003', + '6.2.1.1005', + '6.2.2.1107', + '6.2.3.1114', + '6.3.0.1120', + '6.3.1.1004', + '6.3.1.1006', + '6.4.0.1284', + '6.4.0.1293', + '6.5.0.1298', + '6.5.1.1002', + '6.5.3.1001', + '6.5.4.1002', + '6.5.4.1007', + '6.5.5.1009', + '6.5.6.1014', + '6.5.7.1000', + '6.6.0.1156', + '6.6.1.1166', + '6.7.1.1020', + '6.7.2.1037', + '6.7.2.1043', + '7.0.0.1057', + '7.0.1.1002', + '7.0.1.1013', + '7.0.2.1014', + '7.0.2.1015', + '7.0.2.1016', + '7.4.1.8079', + '7.4.1.8091', + '7.4.1.8092', + '7.5.1.7010', + '7.5.1.7012', + '7.5.1.7013', + '7.5.2.1002', + '7.5.3.1000', + '8.0.0.1089', + '8.0.1.1029', + '8.0.4.7036', + '8.0.6.1019', + '8.1.0.6186', + '9.0.0.1057' + ] + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Testrail ${{ matrix.version }} + LDAP Image:" + run: cd linux/ecosystem/testrail/${{ matrix.version }}/ldap && pwd && make build && make deploy + + - name: Cleanup + run: make clean diff --git a/.github/workflows/epicmorg.base.images.current.atlassian.yml b/.github/workflows/epicmorg.ecosystem.images.atlassian.latest.yml similarity index 100% rename from .github/workflows/epicmorg.base.images.current.atlassian.yml rename to .github/workflows/epicmorg.ecosystem.images.atlassian.latest.yml diff --git a/.github/workflows/epicmorg.experimental.images.yml b/.github/workflows/epicmorg.experimental.images.yml index 1c11cc818..55ca88f53 100644 --- a/.github/workflows/epicmorg.experimental.images.yml +++ b/.github/workflows/epicmorg.experimental.images.yml @@ -45,3 +45,35 @@ jobs: run: make clean ################################################################################## + + build-torrust-tracker-image: + name: EpicMorg EcoSystem Torrust Tracker Image + runs-on: [ ubuntu-24.04 ] + + steps: + - uses: actions/checkout@v4 + + - name: Log into docker registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + run: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + +# - name: Log into harbor registry +# run: echo "${{ secrets.HARBOR_SERVER_KEY }}" | docker login -u "${{ secrets.HARBOR_SERVER_LOGIN }}" --password-stdin "${{ secrets.HARBOR_SERVER_URL }}" + + - name: Check buildah + run: | + buildah --version + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: Build and Deploy Torrust Tracker + run: cd linux/ecosystem/torrust-tracker && make build && make deploy +# to rework +# - name: Build and Deploy Torrust Index +# run: cd linux/ecosystem/torrust-index && make build && make deploy \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 63331e896..d5a0f9862 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,7 @@ # Changelog + +## 2025 + * `apr` * updated `cassandra` * added support for `Java` base images of custom CA certs @@ -23,7 +26,7 @@ * added `nextcloud` version `31` * updated `python` * updated `gitlab-runner` -## 2025 + * `mar` * updated `teamcity-server` iamge * added new `atlassian images`: `conflunece` 4 - 9, updated `jira` and `bitbucket`, added new `crowd` iamges. @@ -34,6 +37,7 @@ * Makefiles switched to `buildah` build runtime * `GHA` switched to `buildah` build runtime * updated `nodejs`, `jdk` base images + * `feb` * added `zabbix` images with `7.2` version * added `OpenSSL` version `3.4.x` and `1.0.2u`. @@ -41,6 +45,7 @@ * created `python` base images. * updated `nextcloud` images. * fixed `sid` and `trixie` images. + * `jan` * updated `atlassian` images * updated some deps in images: @@ -52,6 +57,7 @@ * fixed building of `debian` `12`, `13`, `sid`: * temprorary deprecated `boringssl` due compile issues. * also, current maintainer do not like google's `rolling` update politics. + ## 2024 * `dec` * reworked `dhparam` regeneration in base images diff --git a/README.md b/README.md index 260b7efa3..8794ebef7 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ A collection of docker images for production use. This repo contains 2 types of | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.advanced.nextcloud.images.yml?label=Nextcloud%20Images&logo=Nextcloud%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.advanced.nextcloud.images.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.web.yml?label=Web%20Images&logo=Web%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.web.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.advanced.zabbix.images.yml?label=Zabbix%20Images&logo=Zabbix%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.advanced.zabbix.images.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.testrail.yml?label=Testrail%20Images&logo=Testrail%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.testrail.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.advanced.vscode.images.yml?label=Vscode%20Server%20Images&logo=Vscode%20Server%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.advanced.vscode.images.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.teamcity.agents.yml?label=TeamCity%20Agents%20Images&logo=TeamCity%20Agents%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.teamcity.agents.yml) -| [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.advanced.teamcity.servers.yml?label=20TeamCity%20Servers&logo=EpicMorg%20TeamCity%20Servers&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.advanced.teamcity.servers.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.ecosysctem.misc.images.yml?label=EcoSystem%20Misc%20Images&logo=EcoSystem%20Misc%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.ecosysctem.misc.images.yml) +| [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.advanced.teamcity.servers.yml?label=TeamCity%20Servers&logo=EpicMorg%20TeamCity%20Servers&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.advanced.teamcity.servers.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.ecosysctem.misc.images.yml?label=EcoSystem%20Misc%20Images&logo=EcoSystem%20Misc%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.ecosysctem.misc.images.yml) | `-` | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.current.atlassian.yml?label=Atlassian%20Images&logo=Atlassian%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.current.atlassian.yml) | `-` | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.perforce.yml?label=Perfocre%20Images&logo=Perfocre%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.perforce.yml) | `-` | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.giltab.runners.yml?label=Gitlab%20Runner%20Images&logo=Gitlab%20Runner%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.giltab.runners.yml) diff --git a/linux/advanced/vscode-server/amxx/1.10/Makefile b/linux/advanced/vscode-server/amxx/1.10/Makefile index ff56425bb..1e4371492 100644 --- a/linux/advanced/vscode-server/amxx/1.10/Makefile +++ b/linux/advanced/vscode-server/amxx/1.10/Makefile @@ -13,7 +13,7 @@ deploy: make deploy-buildah build-buildah: - buildah-wrapper --build --squash + buildah-wrapper --build deploy-buildah: buildah-wrapper --deploy diff --git a/linux/advanced/vscode-server/amxx/1.9/Makefile b/linux/advanced/vscode-server/amxx/1.9/Makefile index ff56425bb..1e4371492 100644 --- a/linux/advanced/vscode-server/amxx/1.9/Makefile +++ b/linux/advanced/vscode-server/amxx/1.9/Makefile @@ -13,7 +13,7 @@ deploy: make deploy-buildah build-buildah: - buildah-wrapper --build --squash + buildah-wrapper --build deploy-buildah: buildah-wrapper --deploy diff --git a/linux/advanced/vscode-server/android/Dockerfile b/linux/advanced/vscode-server/android/Dockerfile index 12d926312..e4fe21e65 100644 --- a/linux/advanced/vscode-server/android/Dockerfile +++ b/linux/advanced/vscode-server/android/Dockerfile @@ -1,7 +1,7 @@ ################################################################################ # https://github.com/linuxserver/docker-code-server/pkgs/container/code-server ################################################################################ -FROM quay.io/epicmorg/vscode-server:latest +FROM quay.io/epicmorg/vscode-server:cpp LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive @@ -148,17 +148,12 @@ RUN sdkmanager --install --verbose \ # "platform-tools" \ # - "platforms;android-21" \ - "platforms;android-34" \ "platforms;android-35" \ # - "build-tools;21.1.2" \ - "build-tools;34.0.0" \ "build-tools;35.0.0" \ # "extras;android;m2repository" \ # - "ndk;25.1.8937393" \ "ndk;25.2.9519653" ENV PATH="${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin:${ANDROID_SDK_ROOT}/tools/bin:${ANDROID_SDK_ROOT}/tools:${ANDROID_SDK_ROOT}/tools/proguard/bin:${ANDROID_SDK_ROOT}/platform-tools:${PATH}" diff --git a/linux/advanced/vscode-server/android/Makefile b/linux/advanced/vscode-server/android/Makefile index ff56425bb..1e4371492 100644 --- a/linux/advanced/vscode-server/android/Makefile +++ b/linux/advanced/vscode-server/android/Makefile @@ -13,7 +13,7 @@ deploy: make deploy-buildah build-buildah: - buildah-wrapper --build --squash + buildah-wrapper --build deploy-buildah: buildah-wrapper --deploy diff --git a/linux/advanced/vscode-server/android/docker-compose.yml b/linux/advanced/vscode-server/android/docker-compose.yml index 246ab4b92..44dfaec6a 100644 --- a/linux/advanced/vscode-server/android/docker-compose.yml +++ b/linux/advanced/vscode-server/android/docker-compose.yml @@ -3,7 +3,3 @@ services: image: "quay.io/epicmorg/vscode-server:android" build: context: . - app-jdk17: - image: "quay.io/epicmorg/debian:bookworm-develop-jdk17" - build: - context: . diff --git a/linux/advanced/vscode-server/cpp/Dockerfile b/linux/advanced/vscode-server/cpp/Dockerfile index a20682d6f..ef5aabe6c 100644 --- a/linux/advanced/vscode-server/cpp/Dockerfile +++ b/linux/advanced/vscode-server/cpp/Dockerfile @@ -256,6 +256,8 @@ RUN apt-get update && \ autopkgtest \ gcc-multilib \ g++-multilib \ + clang \ + pkg-config \ libxkbcommon-dev \ zlib1g-dev \ libfreetype6-dev \ diff --git a/linux/advanced/vscode-server/cpp/Makefile b/linux/advanced/vscode-server/cpp/Makefile index ff56425bb..1e4371492 100644 --- a/linux/advanced/vscode-server/cpp/Makefile +++ b/linux/advanced/vscode-server/cpp/Makefile @@ -13,7 +13,7 @@ deploy: make deploy-buildah build-buildah: - buildah-wrapper --build --squash + buildah-wrapper --build deploy-buildah: buildah-wrapper --deploy diff --git a/linux/advanced/vscode-server/devops/Dockerfile b/linux/advanced/vscode-server/devops/Dockerfile deleted file mode 100644 index c7c9149d0..000000000 --- a/linux/advanced/vscode-server/devops/Dockerfile +++ /dev/null @@ -1,611 +0,0 @@ -################################################################################ -# https://github.com/linuxserver/docker-code-server/pkgs/container/code-server -################################################################################ -FROM quay.io/epicmorg/vscode-server:latest - -LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" -ARG DEBIAN_FRONTEND=noninteractive - -################################################################## -# ARGuments -################################################################## -ENV BuildDocker true - -ENV ANDROID_HOME=/usr/lib/android-sdk -ENV ANDROID_SDK_ROOT=/usr/lib/android-sdk - -ARG K_NODE_MAJOR_VERSION=22 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.6.0 -ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz -ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz - -################################################################## -# dotnet setup -################################################################## -ENV DOTNET_CHANNEL=LTS -ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} -ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools -ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} -ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh - -# Opt out of the telemetry feature -ENV DOTNET_CLI_TELEMETRY_OPTOUT=true -# Disable first time experience -ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -# Configure Kestrel web server to bind to port 80 when present -ENV ASPNETCORE_URLS=\ -# Enable detection of running in a container -ENV DOTNET_RUNNING_IN_CONTAINER=true -# Enable correct mode for dotnet watch (only mode supported in a container) -ENV DOTNET_USE_POLLING_FILE_WATCHER=true -# Skip extraction of XML docs - generally not useful within an image/container - helps perfomance -ENV NUGET_XMLDOC_MODE=skip -# unofficial support of openssl1.1 instead of 1.0 [https://stackoverflow.com/questions/51901359] -ENV CLR_OPENSSL_VERSION_OVERRIDE=45 -# PowerShell telemetry for docker image usage -ENV POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-20.04 - -RUN mkdir -p /usr/share/dotnet/host/fxr - -################################################################## -# java11 -################################################################## -ARG K_JDK_MAJOR_VERSION=11 -ARG K_JDK_FULL_VERSION=jdk-11.0.27 -ARG K_JDK_VERSION=11.0.27 -ARG K_JDK_BUILD_VERSION=6 -ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz -ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz - -ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} -ENV JRE_HOME=${JAVA_HOME} -ENV JDK_HOME=${JAVA_HOME} -ENV PATH=$PATH:${JAVA_HOME}/bin - -# steam runtime sdk -ENV STEAM_RUNTIME_SDK_DIR=${EMG_LOCAL_BASE_DIR}/valve/steam/runtime-sdk/latest -ARG STEAM_RUNTIME_SDK_BIN_DIR=${STEAM_RUNTIME_SDK_DIR}/bin -ARG STEAM_RUNTIME_SDK_URL=http://media.steampowered.com/client/runtime/steam-runtime-sdk_latest.tar.xz -ARG STEAM_RUNTIME_SDK_TEMP=/tmp/steam-runtime-sdk_latest.tar.xz - -# cmake compiller -ENV CMAKE_3_31_VERSION=3.31.6 -ENV CMAKE_3_31_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_3_31_VERSION} -ARG CMAKE_3_31_BIN_DIR=${CMAKE_3_31_DIR}/bin -ARG CMAKE_3_31_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_3_31_VERSION}/cmake-${CMAKE_3_31_VERSION}-linux-x86_64.tar.gz -ARG CMAKE_3_31_TEMP=/tmp/cmake-${CMAKE_3_31_VERSION}-linux-x86_64.tar.gz - -# cmake compiller -ENV CMAKE_3_30_VERSION=3.30.8 -ENV CMAKE_3_30_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_3_30_VERSION} -ARG CMAKE_3_30_BIN_DIR=${CMAKE_3_30_DIR}/bin -ARG CMAKE_3_30_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_3_30_VERSION}/cmake-${CMAKE_3_30_VERSION}-linux-x86_64.tar.gz -ARG CMAKE_3_30_TEMP=/tmp/cmake-${CMAKE_3_30_VERSION}-linux-x86_64.tar.gz - -# cmake compiller -ENV CMAKE_3_21_VERSION=3.21.7 -ENV CMAKE_3_21_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_3_21_VERSION} -ARG CMAKE_3_21_BIN_DIR=${CMAKE_3_21_DIR}/bin -ARG CMAKE_3_21_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_3_21_VERSION}/cmake-${CMAKE_3_21_VERSION}-linux-x86_64.tar.gz -ARG CMAKE_3_21_TEMP=/tmp/cmake-${CMAKE_3_21_VERSION}-linux-x86_64.tar.gz - -# cmake compiller -ENV CMAKE_3_20_VERSION=3.20.6 -ENV CMAKE_3_20_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_3_20_VERSION} -ARG CMAKE_3_20_BIN_DIR=${CMAKE_3_20_DIR}/bin -ARG CMAKE_3_20_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_3_20_VERSION}/cmake-${CMAKE_3_20_VERSION}-linux-x86_64.tar.gz -ARG CMAKE_3_20_TEMP=/tmp/cmake-${CMAKE_3_20_VERSION}-linux-x86_64.tar.gz - -# cmake compiller -ENV CMAKE_3_19_VERSION=3.19.8 -ENV CMAKE_3_19_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_3_19_VERSION} -ARG CMAKE_3_19_BIN_DIR=${CMAKE_3_19_DIR}/bin -ARG CMAKE_3_19_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_3_19_VERSION}/cmake-${CMAKE_3_19_VERSION}-linux-x86_64.tar.gz -ARG CMAKE_3_19_TEMP=/tmp/cmake-${CMAKE_3_19_VERSION}-linux-x86_64.tar.gz - -# cmake compiller -ENV CMAKE_3_18_VERSION=3.18.6 -ENV CMAKE_3_18_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_3_18_VERSION} -ARG CMAKE_3_18_BIN_DIR=${CMAKE_3_18_DIR}/bin -ARG CMAKE_3_18_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_3_18_VERSION}/cmake-${CMAKE_3_18_VERSION}-linux-x86_64.tar.gz -ARG CMAKE_3_18_TEMP=/tmp/cmake-${CMAKE_3_18_VERSION}-linux-x86_64.tar.gz - -# cmake compiller -ENV CMAKE_3_16_VERSION=3.16.9 -ENV CMAKE_3_16_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_3_16_VERSION} -ARG CMAKE_3_16_BIN_DIR=${CMAKE_3_16_DIR}/bin -ARG CMAKE_3_16_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_3_16_VERSION}/cmake-${CMAKE_3_16_VERSION}-linux-x86_64.tar.gz -ARG CMAKE_3_16_TEMP=/tmp/cmake-${CMAKE_3_16_VERSION}-linux-x86_64.tar.gz - -# flutter source tarball -ENV FLUTTER_VERSION=3.29.2 -ENV FLUTTER_CHANNEL=stable -ENV FLUTTER_DIR=${EMG_LOCAL_BASE_DIR}/flutter/${FLUTTER_VERSION} -ARG FLUTTER_BIN_DIR=${FLUTTER_DIR}/bin -ARG FLUTTER_DOWNLOAD_URL=https://storage.googleapis.com/flutter_infra_release/releases/${FLUTTER_CHANNEL}/linux/flutter_linux_${FLUTTER_VERSION}-${FLUTTER_CHANNEL}.tar.xz -ARG FLUTTER_TEMP=/tmp/flutter_linux_${FLUTTER_VERSION}-${FLUTTER_CHANNEL}.tar.xz - -# ninja source tarball -ENV NINJA_VERSION=1.12.1 -ENV NINJA_DIR=${EMG_LOCAL_BASE_DIR}/ninja/${NINJA_VERSION} -ARG NINJA_BIN_DIR=${NINJA_DIR}/bin -ARG NINJA_DOWNLOAD_URL=https://github.com/ninja-build/ninja/releases/download/v${NINJA_VERSION}/ninja-linux.zip -ARG NINJA_TEMP=/tmp/ninja-linux.zip - -# GO source tarball -ENV GO_VERSION=1.24.2 -ENV GO_DIR=${EMG_LOCAL_BASE_DIR}/go/${GO_VERSION} -ARG GO_BIN_DIR=${GO_DIR}/bin -ARG GO_PATH_DIR=${GO_DIR}/gopath -ARG GO_PATH_BIN_DIR=${GO_PATH_DIR}/bin -ARG GO_DOWNLOAD_URL=https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz -ARG GO_TEMP=/tmp/go${GO_VERSION}.linux-amd64.tar.gz - - -################################################################## -# AMXXModX setup -################################################################## -# -# Reserved for future -# export AMXX_CSTRIKE_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-cstrike-linux` && \ -# export AMXX_DOD_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-dod-linux` && \ -# export AMXX_ESF_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-esf-linux` && \ -# export AMXX_NS_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-ns-linux` && \ -# export AMXX_TFC_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-tfc-linux` && \ -# export AMXX_TS_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-base-linux` && \ -# -# Install packages -ENV AMXX_VERSION=1.10 -ENV AMXX_INSTALL_PATH=${EMG_LOCAL_BASE_DIR}/amxmodx/${AMXX_VERSION} -ENV AMXX_BIN_PATH=${AMXX_INSTALL_PATH}/scripting -ENV AMXX_INC_PATH=${AMXX_BIN_PATH}/include -ENV PATH=${AMXX_BIN_PATH}:${PATH} -ENV LD_LIBRARY_PATH=${AMXX_BIN_PATH}:${LD_LIBRARY_PATH} - -COPY inc.tar /tmp - -RUN export AMXX_BASE_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-base-linux` && \ - mkdir -p ${AMXX_INSTALL_PATH} && \ - curl -SL https://www.amxmodx.org/amxxdrop/{$AMXX_VERSION}/{$AMXX_BASE_LATEST_VERSION} -o /tmp/amxx_base_latest.tar.gz && \ - cd /tmp && tar -zxf /tmp/amxx_base_latest.tar.gz && cd / && \ - mv -f /tmp/addons/amxmodx/* ${AMXX_INSTALL_PATH} && \ - chmod +x ${AMXX_BIN_PATH}/amxxpc && \ - tar -C ${AMXX_INC_PATH} -xvf /tmp/inc.tar && \ - chmod -R 700 ${AMXX_INC_PATH} && \ - chmod +x ${AMXX_BIN_PATH}/compile.sh - -################################################################## -# Rust compillers -################################################################## -ENV CARGO_HOME=${EMG_LOCAL_BASE_DIR}/cargo -ENV RUSTUP_HOME=${EMG_LOCAL_BASE_DIR}/rustup -ARG CARGO_BIN=${CARGO_HOME}/bin - -RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile complete --default-toolchain stable --verbose - -ENV PATH="$CARGO_HOME/bin:${PATH}" - -RUN echo "=============================================" && \ - echo cargo $(cargo --version) && \ - echo rustc $(rustc --version) && \ - echo rustup $(rustup --version) && \ - echo "=============================================" - -################################################################## -# CMake -################################################################## -RUN mkdir -p ${CMAKE_3_31_DIR} ${CMAKE_3_30_DIR} ${CMAKE_3_21_DIR} ${CMAKE_3_20_DIR} ${CMAKE_3_19_DIR} ${CMAKE_3_18_DIR} ${CMAKE_3_16_DIR} -ADD ${CMAKE_3_31_DOWNLOAD_URL} /tmp -ADD ${CMAKE_3_30_DOWNLOAD_URL} /tmp -ADD ${CMAKE_3_21_DOWNLOAD_URL} /tmp -ADD ${CMAKE_3_20_DOWNLOAD_URL} /tmp -ADD ${CMAKE_3_19_DOWNLOAD_URL} /tmp -ADD ${CMAKE_3_18_DOWNLOAD_URL} /tmp -ADD ${CMAKE_3_16_DOWNLOAD_URL} /tmp - -RUN tar -xf ${CMAKE_3_31_TEMP} --directory ${CMAKE_3_31_DIR} --strip-components=1 && \ - chmod +x ${CMAKE_3_31_BIN_DIR}/ccmake && \ - chmod +x ${CMAKE_3_31_BIN_DIR}/cmake && \ - chmod +x ${CMAKE_3_31_BIN_DIR}/cmake-gui && \ - chmod +x ${CMAKE_3_31_BIN_DIR}/cpack && \ - chmod +x ${CMAKE_3_31_BIN_DIR}/ctest && \ - tar -xf ${CMAKE_3_30_TEMP} --directory ${CMAKE_3_30_DIR} --strip-components=1 && \ - chmod +x ${CMAKE_3_30_BIN_DIR}/ccmake && \ - chmod +x ${CMAKE_3_30_BIN_DIR}/cmake && \ - chmod +x ${CMAKE_3_30_BIN_DIR}/cmake-gui && \ - chmod +x ${CMAKE_3_30_BIN_DIR}/cpack && \ - chmod +x ${CMAKE_3_30_BIN_DIR}/ctest && \ - tar -xf ${CMAKE_3_21_TEMP} --directory ${CMAKE_3_21_DIR} --strip-components=1 && \ - chmod +x ${CMAKE_3_21_BIN_DIR}/ccmake && \ - chmod +x ${CMAKE_3_21_BIN_DIR}/cmake && \ - chmod +x ${CMAKE_3_21_BIN_DIR}/cmake-gui && \ - chmod +x ${CMAKE_3_21_BIN_DIR}/cpack && \ - chmod +x ${CMAKE_3_21_BIN_DIR}/ctest && \ - tar -xf ${CMAKE_3_20_TEMP} --directory ${CMAKE_3_20_DIR} --strip-components=1 && \ - chmod +x ${CMAKE_3_20_BIN_DIR}/ccmake && \ - chmod +x ${CMAKE_3_20_BIN_DIR}/cmake && \ - chmod +x ${CMAKE_3_20_BIN_DIR}/cmake-gui && \ - chmod +x ${CMAKE_3_20_BIN_DIR}/cpack && \ - chmod +x ${CMAKE_3_20_BIN_DIR}/ctest && \ - tar -xf ${CMAKE_3_19_TEMP} --directory ${CMAKE_3_19_DIR} --strip-components=1 && \ - chmod +x ${CMAKE_3_19_BIN_DIR}/ccmake && \ - chmod +x ${CMAKE_3_19_BIN_DIR}/cmake && \ - chmod +x ${CMAKE_3_19_BIN_DIR}/cmake-gui && \ - chmod +x ${CMAKE_3_19_BIN_DIR}/cpack && \ - chmod +x ${CMAKE_3_19_BIN_DIR}/ctest && \ - tar -xf ${CMAKE_3_18_TEMP} --directory ${CMAKE_3_18_DIR} --strip-components=1 && \ - chmod +x ${CMAKE_3_18_BIN_DIR}/ccmake && \ - chmod +x ${CMAKE_3_18_BIN_DIR}/cmake && \ - chmod +x ${CMAKE_3_18_BIN_DIR}/cmake-gui && \ - chmod +x ${CMAKE_3_18_BIN_DIR}/cpack && \ - chmod +x ${CMAKE_3_18_BIN_DIR}/ctest && \ - tar -xf ${CMAKE_3_16_TEMP} --directory ${CMAKE_3_16_DIR} --strip-components=1 && \ - chmod +x ${CMAKE_3_16_BIN_DIR}/ccmake && \ - chmod +x ${CMAKE_3_16_BIN_DIR}/cmake && \ - chmod +x ${CMAKE_3_16_BIN_DIR}/cmake-gui && \ - chmod +x ${CMAKE_3_16_BIN_DIR}/cpack && \ - chmod +x ${CMAKE_3_16_BIN_DIR}/ctest - -# Install default latest version -ENV PATH="${CMAKE_3_31_BIN_DIR}:${PATH}" - -RUN echo "=============================================" && \ - echo $(cmake --version) && \ - echo "=============================================" - -################################################################## -# steam runtime and ssdk -################################################################## -RUN mkdir -p ${STEAM_RUNTIME_SDK_DIR} -ADD ${STEAM_RUNTIME_SDK_URL} /tmp - -RUN tar -xf ${STEAM_RUNTIME_SDK_TEMP} --directory ${STEAM_RUNTIME_SDK_DIR} --strip-components=1 && \ - tree ${STEAM_RUNTIME_SDK_DIR} && \ - chmod +x ${STEAM_RUNTIME_SDK_BIN_DIR} -R && \ - chmod +x ${STEAM_RUNTIME_SDK_DIR}/setup.sh && \ - chmod +x ${STEAM_RUNTIME_SDK_DIR}/shell.sh && \ - chmod +x ${STEAM_RUNTIME_SDK_DIR}/shell-amd64.sh && \ - chmod +x ${STEAM_RUNTIME_SDK_DIR}/shell-i386.sh -# printf '%s\n' 3 1 Y Y Y | ./setup.sh - -################################################################## -# Flutter SDK -################################################################## -RUN mkdir -p ${FLUTTER_DIR} -ADD ${FLUTTER_DOWNLOAD_URL} /tmp - -RUN tar -xf ${FLUTTER_TEMP} --directory ${FLUTTER_DIR} --strip-components=1 && \ - chmod +x ${FLUTTER_BIN_DIR}/dart && \ - chmod +x ${FLUTTER_BIN_DIR}/flutter && \ - chmod +x ${FLUTTER_BIN_DIR}/internal/shared.sh && \ - chmod +x ${FLUTTER_BIN_DIR}/internal/update_dart_sdk.sh - -ENV PATH="${FLUTTER_BIN_DIR}:${PATH}" - -RUN git config --global --add safe.directory ${FLUTTER_DIR} && \ - flutter precache && \ - flutter config --no-analytics && \ - dart --disable-analytics - -RUN echo "=============================================" && \ - echo dart $(dart --version) && \ - echo flutter $(flutter --version) && \ - echo "=============================================" - -################################################################## -# GO compillers -################################################################## -RUN mkdir -p ${GO_DIR} ${GO_PATH_BIN_DIR} ${GO_BIN_DIR} -ADD ${GO_DOWNLOAD_URL} /tmp - -RUN tar -xzf ${GO_TEMP} --directory ${GO_DIR} --strip-components=1 && \ - chmod +x ${GO_BIN_DIR}/go && \ - chmod +x ${GO_BIN_DIR}/gofmt - -ENV GOROOT=${GO_DIR} -ENV GOPATH=${GO_PATH_DIR} -ENV PATH="${GO_BIN_DIR}:${GO_PATH_BIN_DIR}:${PATH}" - -RUN echo "=============================================" && \ - echo go $(go version) && \ - echo "=============================================" - -################################################################## -# Get NINJA binary -################################################################## -RUN mkdir -p ${NINJA_BIN_DIR} -ADD ${NINJA_DOWNLOAD_URL} /tmp - -RUN 7zz x ${NINJA_TEMP} -o${NINJA_BIN_DIR} -y && \ - chmod +x ${NINJA_BIN_DIR}/ninja - -ENV PATH="${NINJA_BIN_DIR}:${PATH}" - -RUN echo "=============================================" && \ - echo ninja $(ninja --version) && \ - echo "=============================================" - -################################################################## -# deps -################################################################## -RUN apt-get update && \ - apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests --allow-downgrades \ - build-essential \ - autoconf-archive \ - gnu-standards \ - cmake \ - libunwind-dev \ - golang \ - at \ - autopkgtest \ - gcc-multilib \ - g++-multilib \ - libxkbcommon-dev \ - zlib1g-dev \ - libfreetype6-dev \ - libegl1-mesa-dev \ - libgles2-mesa-dev \ - libgbm-dev \ - uuid-dev \ - nvidia-cg-toolkit \ - nvidia-cg-dev \ - libavcodec-dev \ - libsdl2-dev \ - libsdl-image1.2-dev \ - libxml2-dev \ - yasm \ - devscripts \ - automake \ - libtool \ - autotools-dev \ - dpkg-dev \ - fakeroot \ - checkinstall \ - dh-make \ - zlib1g \ - zlib1g-dev \ - libssl-dev \ - libxslt-dev \ - libgd-dev \ - libpcre3-dev \ - libgeoip-dev \ - libkrb5-dev \ - libperl-dev \ - krb5-user \ - luajit \ - liblua5.1-0-dev \ - libmaxminddb-dev \ - libpam0g-dev \ - libldap2-dev \ - libavformat-dev \ - libavfilter-dev \ - libswscale-dev \ - libavcodec-dev \ - libz-dev \ - libhiredis-dev \ - libzip-dev \ - libcrypto++-dev \ - libbz2-dev \ - libvpx-dev \ - libc6 \ - libgssapi-krb5-2 \ - libstdc++6 \ - zlib1g \ - tcl - -################################################################## -# docker setup -################################################################## - -#Install packages -RUN install -m 0755 -d /etc/apt/keyrings && \ - curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && \ - chmod a+r /etc/apt/keyrings/docker.asc && \ - echo "deb [signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble nightly" > /etc/apt/sources.list.d/docker.list && \ - echo "deb [signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble stable" >> /etc/apt/sources.list.d/docker.list && \ - echo "deb [signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble test" >> /etc/apt/sources.list.d/docker.list && \ - apt-get update && \ - apt-get install -y --no-install-recommends --allow-unauthenticated \ - docker-ce \ - docker-ce-cli \ - containerd.io \ - docker-buildx-plugin \ - docker-compose-plugin - -# A better fix for TW-52939 Dockerfile build fails because of aufs -VOLUME /var/lib/docker - -COPY run-docker.sh /services/run-docker.sh -RUN chmod +x /services/run-docker.sh && \ - sync - -################################################################## -# docker compose setup -################################################################## -COPY docker-compose-update /usr/local/bin/docker-compose-update -RUN chmod +x /usr/local/bin/docker-compose-update && \ - sync - -#Try to test -RUN docker-compose-update - -#Install packages -RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` && \ - echo "Latest compose is: ${DOCKER_COMPOSE_VERSION}" && \ - curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \ - chmod +x /usr/local/bin/docker-compose && \ - docker-compose -v - - -################################################################## -# installing java11 -################################################################## -ADD ${K_JDK_URL} /tmp -RUN tar -xzf ${K_JDK_TEMP} --directory /usr/local && \ - ln -sfv ${JAVA_HOME} /usr/jre && \ - java -version - -################################################################## -# Additional settings -################################################################## -ENV MAVEN_VERSION=3.9.9 -ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -ENV MAVEN_ROOT=${EMG_LOCAL_BASE_DIR}/maven/${MAVEN_VERSION} -ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} -ENV MAVEN_BIN=${MAVEN_PATH}/bin -ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip - -ENV GRADLE_VERSION=8.13 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=${EMG_LOCAL_BASE_DIR}/gradle/${GRADLE_VERSION} -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=${GRADLE_PATH}/bin -ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip - -ENV KTC_VERSION=2.1.10 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip -ENV KTC_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KTC_VERSION} -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=${KTC_PATH}/bin - -ENV KNPL_VERSION=${KTC_VERSION} -ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz -ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz -ENV KNPL_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KNPL_VERSION} -ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} -ENV KNPL_BIN=${KNPL_PATH}/bin - -RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} -ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} - -################################################################## -# Maven -################################################################## -ENV MAVEN_HOME=${MAVEN_ROOT} -ENV M2_HOME=${MAVEN_ROOT} - -ADD ${MAVEN_LINK} /tmp -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} -RUN chmod +x -R ${MAVEN_BIN} -RUN mvn -v - -################################################################## -# GRADLE -################################################################## -ADD ${GRADLE_LINK} /tmp -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} -RUN chmod +x -R ${GRADLE_BIN} -RUN gradle -v - -################################################################## -# kotlin-compiler -################################################################## -ADD ${KTC_LINK} /tmp -RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} -RUN chmod +x -R ${KTC_BIN} -RUN kotlin -version - -################################################################## -# kotlin-native-prebuilt-linux -################################################################## -ADD ${KNPL_LINK} /tmp -RUN tar -xzf ${KNPL_TEMP} --directory ${KTC_ROOT} -RUN chmod +x -R ${KNPL_BIN} - -################################################################## -# Android SDK -################################################################## -RUN apt-get update && \ - apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ - android-sdk \ - android-sdk-build-tools \ - android-sdk-platform-tools-common \ - android-sdk-platform-tools \ - adb fastboot f2fs-tools e2fsprogs libsqlite3-0 sqlite3 - -################################################################## -# Activate Android SDK -################################################################## -RUN echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > /usr/lib/android-sdk/licenses/android-sdk-license - -################################################################## -# installing dotnet -################################################################## -ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp -RUN mkdir -p ${DOTNET_ROOT} && \ - chmod +x /tmp/dotnet-install.sh && \ - /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest - -################################################################## -# Setup $PATH -################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} - -################################################################## -# Version after install -################################################################## -RUN echo "=============================================" && \ - echo $(dotnet --info) && \ - echo $(dotnet --list-sdks) && \ - echo $(dotnet --list-runtimes) && \ - echo "=============================================" - -################################################################## -# Mono -################################################################## -RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \ - echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list && \ -# echo "deb https://download.mono-project.com/repo/ubuntu nightly-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-nightly.list && \ -# echo "deb https://download.mono-project.com/repo/ubuntu preview-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-preview.list && \ - apt-get update && \ - apt-get install -y --allow-unauthenticated \ - mono-complete \ - mono-llvm-support \ - mono-devel \ - mono-dbg \ - referenceassemblies-pcl \ - ca-certificates-mono \ - mono-xsp4 - -################################################################## -# Node.js 22.x -################################################################## -RUN groupadd -g 1337 node && \ - useradd -u 1337 --gid node --shell /bin/bash --create-home node - -ADD ${K_NODE_URL} /tmp -ADD ${K_NODE_HEADERS_URL} /tmp - -RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ - tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ - rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md - -RUN npm install -g pnpm yarn - -################################################################## -# Version after install -################################################################## -RUN echo "=============================================" && \ - echo node $(node --version) && \ - echo npm $(npm --version) && \ - echo yarn $(yarn --version) && \ - echo pnpm $(pnpm --version) && \ - echo "=============================================" - -################################################################## -# other customisations -################################################################## - -################################################################## -# Cleanup -################################################################## -RUN echo "clean up" && \ - apt-get clean -y && \ - apt-get autoclean -y && \ - rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb && \ - rm -rfv /root/tmp/* && \ - rm -rfv /tmp/* - -RUN updatedb diff --git a/linux/advanced/vscode-server/devops/docker-compose-update b/linux/advanced/vscode-server/devops/docker-compose-update deleted file mode 100755 index 1a43d1c9b..000000000 --- a/linux/advanced/vscode-server/devops/docker-compose-update +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -export DOCKER_COMPOSE_REMOTE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` - -export DOCKER_COMPOSE_LOCAL_VERSION=`docker-compose -v` - -export DOCKER_COMPOSE_BIN=/usr/local/bin/docker-compose - -if [ -f $DOCKER_COMPOSE_BIN ]; then - echo "========================================================================================" - echo "The file '$DOCKER_COMPOSE_BIN' exists." - echo "========================================================================================" - echo "Local Docker Compose version is: ${DOCKER_COMPOSE_LOCAL_VERSION}" - echo "========================================================================================" -else - echo "========================================================================================" - echo "The file '$DOCKER_COMPOSE_BIN' in not found. Installing..." - echo "========================================================================================" -fi - -echo "========================================================================================" -echo "Latest Docker Compose version is: ${DOCKER_COMPOSE_REMOTE_VERSION}" -echo "========================================================================================" - - -echo "========================================================================================" -echo "Installing remote version:" -echo "========================================================================================" -curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_REMOTE_VERSION}/docker-compose-Linux-x86_64 -o $DOCKER_COMPOSE_BIN - -echo "========================================================================================" -echo "Setting up permissions..." -echo "========================================================================================" -chmod +x $DOCKER_COMPOSE_BIN - - -echo "========================================================================================" -echo "Updated Docker Compose version is: ${DOCKER_COMPOSE_LOCAL_VERSION}" -echo "========================================================================================" diff --git a/linux/advanced/vscode-server/devops/docker-compose.yml b/linux/advanced/vscode-server/devops/docker-compose.yml deleted file mode 100644 index 6afe677dc..000000000 --- a/linux/advanced/vscode-server/devops/docker-compose.yml +++ /dev/null @@ -1,5 +0,0 @@ -services: - app: - image: "quay.io/epicmorg/vscode-server:devops" - build: - context: . diff --git a/linux/advanced/vscode-server/devops/run-docker.sh b/linux/advanced/vscode-server/devops/run-docker.sh deleted file mode 100755 index 41b5e68e5..000000000 --- a/linux/advanced/vscode-server/devops/run-docker.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -if [ "$DOCKER_IN_DOCKER" = "start" ] ; then - rm /var/run/docker.pid 2>/dev/null - service docker start - echo "Docker daemon started" -fi diff --git a/linux/advanced/vscode-server/docker/Dockerfile b/linux/advanced/vscode-server/docker/Dockerfile index ee246a44b..934b22e91 100644 --- a/linux/advanced/vscode-server/docker/Dockerfile +++ b/linux/advanced/vscode-server/docker/Dockerfile @@ -12,47 +12,55 @@ ARG DEBIAN_FRONTEND=noninteractive ENV BuildDocker true ################################################################## -# docker setup +# OCI setup: Buildah, Podman, Kaniko, Docker ################################################################## - -#Install packages +# https://docs.docker.com/build/architecture/#install-buildx RUN install -m 0755 -d /etc/apt/keyrings && \ - curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && \ + curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && \ chmod a+r /etc/apt/keyrings/docker.asc && \ - echo "deb [signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble nightly" > /etc/apt/sources.list.d/docker.list && \ - echo "deb [signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble stable" >> /etc/apt/sources.list.d/docker.list && \ - echo "deb [signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble test" >> /etc/apt/sources.list.d/docker.list && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable nightly" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \ apt-get update && \ apt-get install -y --no-install-recommends --allow-unauthenticated \ - docker-ce \ - docker-ce-cli \ - containerd.io \ - docker-buildx-plugin \ - docker-compose-plugin - -# A better fix for TW-52939 Dockerfile build fails because of aufs -VOLUME /var/lib/docker - -COPY run-docker.sh /services/run-docker.sh -RUN chmod +x /services/run-docker.sh && \ - sync - -################################################################## -# docker compose setup -################################################################## -COPY docker-compose-update /usr/local/bin/docker-compose-update -RUN chmod +x /usr/local/bin/docker-compose-update && \ - sync - -#Try to test -RUN docker-compose-update - -#Install packages -RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` && \ + supervisor \ + docker-ce \ + docker-ce-cli \ + containerd.io \ + docker-buildx-plugin \ + docker-compose-plugin \ + containerd.io \ + buildah \ + podman \ + podman-compose \ + fuse-overlayfs && \ + pip3 install --break-system-packages --no-cache-dir \ + kaniko-wrapper \ + buildah-wrapper && \ + systemctl disable docker && \ + systemctl disable podman && \ + rm -rf /bin/docker-compose && \ + rm -rf /sbin/docker-compose && \ + rm -rf /usr/bin/docker-compose && \ + rm -rf /usr/sbin/docker-compose && \ + rm -rf /usr/local/bin/docker-compose && \ + rm -rf /usr/local/sbin/docker-compose && \ + export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` && \ echo "Latest compose is: ${DOCKER_COMPOSE_VERSION}" && \ curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \ chmod +x /usr/local/bin/docker-compose && \ - docker-compose -v +# cleanup + apt-get clean -y && \ + apt-get clean all -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +ENV BUILDAH_FORMAT=docker +ENV BUILDAH_ISOLATION=docker +ENV DOCKER_HOST="unix:///var/run/docker.sock" +ENV PODMAN_HOST="unix:///var/run/docker.sock" + +COPY etc/ /etc/ ################################################################## # Cleanup @@ -65,4 +73,7 @@ RUN echo "clean up" && \ rm -rfv /root/tmp/* && \ rm -rfv /tmp/* +# A better fix for TW-52939 Dockerfile build fails because of aufs +VOLUME ["/var/lib/docker", "/var/lib/containers", "/var/tmp", "/var/log/supervisor"] + RUN updatedb diff --git a/linux/advanced/vscode-server/docker/Makefile b/linux/advanced/vscode-server/docker/Makefile index ff56425bb..1e4371492 100644 --- a/linux/advanced/vscode-server/docker/Makefile +++ b/linux/advanced/vscode-server/docker/Makefile @@ -13,7 +13,7 @@ deploy: make deploy-buildah build-buildah: - buildah-wrapper --build --squash + buildah-wrapper --build deploy-buildah: buildah-wrapper --deploy diff --git a/linux/advanced/vscode-server/docker/docker-compose-update b/linux/advanced/vscode-server/docker/docker-compose-update deleted file mode 100755 index 1a43d1c9b..000000000 --- a/linux/advanced/vscode-server/docker/docker-compose-update +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -export DOCKER_COMPOSE_REMOTE_VERSION=`curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r` - -export DOCKER_COMPOSE_LOCAL_VERSION=`docker-compose -v` - -export DOCKER_COMPOSE_BIN=/usr/local/bin/docker-compose - -if [ -f $DOCKER_COMPOSE_BIN ]; then - echo "========================================================================================" - echo "The file '$DOCKER_COMPOSE_BIN' exists." - echo "========================================================================================" - echo "Local Docker Compose version is: ${DOCKER_COMPOSE_LOCAL_VERSION}" - echo "========================================================================================" -else - echo "========================================================================================" - echo "The file '$DOCKER_COMPOSE_BIN' in not found. Installing..." - echo "========================================================================================" -fi - -echo "========================================================================================" -echo "Latest Docker Compose version is: ${DOCKER_COMPOSE_REMOTE_VERSION}" -echo "========================================================================================" - - -echo "========================================================================================" -echo "Installing remote version:" -echo "========================================================================================" -curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_REMOTE_VERSION}/docker-compose-Linux-x86_64 -o $DOCKER_COMPOSE_BIN - -echo "========================================================================================" -echo "Setting up permissions..." -echo "========================================================================================" -chmod +x $DOCKER_COMPOSE_BIN - - -echo "========================================================================================" -echo "Updated Docker Compose version is: ${DOCKER_COMPOSE_LOCAL_VERSION}" -echo "========================================================================================" diff --git a/linux/advanced/vscode-server/docker/etc/containers/registries.conf b/linux/advanced/vscode-server/docker/etc/containers/registries.conf new file mode 100644 index 000000000..681592e4a --- /dev/null +++ b/linux/advanced/vscode-server/docker/etc/containers/registries.conf @@ -0,0 +1,79 @@ +# For more information on this configuration file, see containers-registries.conf(5). +# +# NOTE: RISK OF USING UNQUALIFIED IMAGE NAMES +# We recommend always using fully qualified image names including the registry +# server (full dns name), namespace, image name, and tag +# (e.g., registry.redhat.io/ubi8/ubi:latest). Pulling by digest (i.e., +# quay.io/repository/name@digest) further eliminates the ambiguity of tags. +# When using short names, there is always an inherent risk that the image being +# pulled could be spoofed. For example, a user wants to pull an image named +# `foobar` from a registry and expects it to come from myregistry.com. If +# myregistry.com is not first in the search list, an attacker could place a +# different `foobar` image at a registry earlier in the search list. The user +# would accidentally pull and run the attacker's image and code rather than the +# intended content. We recommend only adding registries which are completely +# trusted (i.e., registries which don't allow unknown or anonymous users to +# create accounts with arbitrary names). This will prevent an image from being +# spoofed, squatted or otherwise made insecure. If it is necessary to use one +# of these registries, it should be added at the end of the list. +# +# # An array of host[:port] registries to try when pulling an unqualified image, in order. +# unqualified-search-registries = ["example.com"] +# +# [[registry]] +# # The "prefix" field is used to choose the relevant [[registry]] TOML table; +# # (only) the TOML table with the longest match for the input image name +# # (taking into account namespace/repo/tag/digest separators) is used. +# # +# # The prefix can also be of the form: *.example.com for wildcard subdomain +# # matching. +# # +# # If the prefix field is missing, it defaults to be the same as the "location" field. +# prefix = "example.com/foo" +# +# # If true, unencrypted HTTP as well as TLS connections with untrusted +# # certificates are allowed. +# insecure = false +# +# # If true, pulling images with matching names is forbidden. +# blocked = false +# +# # The physical location of the "prefix"-rooted namespace. +# # +# # By default, this is equal to "prefix" (in which case "prefix" can be omitted +# # and the [[registry]] TOML table can only specify "location"). +# # +# # Example: Given +# # prefix = "example.com/foo" +# # location = "internal-registry-for-example.net/bar" +# # requests for the image example.com/foo/myimage:latest will actually work with the +# # internal-registry-for-example.net/bar/myimage:latest image. +# +# # The location can be empty iff prefix is in a +# # wildcarded format: "*.example.com". In this case, the input reference will +# # be used as-is without any rewrite. +# location = internal-registry-for-example.com/bar" +# +# # (Possibly-partial) mirrors for the "prefix"-rooted namespace. +# # +# # The mirrors are attempted in the specified order; the first one that can be +# # contacted and contains the image will be used (and if none of the mirrors contains the image, +# # the primary location specified by the "registry.location" field, or using the unmodified +# # user-specified reference, is tried last). +# # +# # Each TOML table in the "mirror" array can contain the following fields, with the same semantics +# # as if specified in the [[registry]] TOML table directly: +# # - location +# # - insecure +# [[registry.mirror]] +# location = "example-mirror-0.local/mirror-for-foo" +# [[registry.mirror]] +# location = "example-mirror-1.local/mirrors/foo" +# insecure = true +# # Given the above, a pull of example.com/foo/image:latest will try: +# # 1. example-mirror-0.local/mirror-for-foo/image:latest +# # 2. example-mirror-1.local/mirrors/foo/image:latest +# # 3. internal-registry-for-example.net/bar/image:latest +# # in order, and use the first one that exists. + +unqualified-search-registries = ["docker.io"] diff --git a/linux/advanced/vscode-server/docker/etc/containers/storage.conf b/linux/advanced/vscode-server/docker/etc/containers/storage.conf new file mode 100644 index 000000000..edb86fb1d --- /dev/null +++ b/linux/advanced/vscode-server/docker/etc/containers/storage.conf @@ -0,0 +1,8 @@ +[storage] +driver = "overlay" +runroot = "/run/containers/storage" +graphroot = "/var/lib/containers/storage" +#rootless_storage_path = "$HOME/.local/share/containers/storage" + +[storage.options.overlay] +mount_program = "/usr/bin/fuse-overlayfs" diff --git a/linux/advanced/vscode-server/docker/etc/supervisor/conf.d/docker-service.conf b/linux/advanced/vscode-server/docker/etc/supervisor/conf.d/docker-service.conf new file mode 100644 index 000000000..faaafcaf4 --- /dev/null +++ b/linux/advanced/vscode-server/docker/etc/supervisor/conf.d/docker-service.conf @@ -0,0 +1,13 @@ +[program:dockerd] +command=/usr/bin/dockerd --host unix:///var/run/docker.sock --experimental --iptables=false --bridge=none --log-level=warn +autostart=true +autorestart=true +killasgroup=true +stopasgroup=true +stdout_logfile=/var/log/supervisor/dockerd.out.log +stdout_logfile_maxbytes=128MB +stderr_logfile=/var/log/supervisor/dockerd.err.log +stderr_logfile_maxbytes=128MB +user=root +priority=1 +startretries=5 diff --git a/linux/advanced/vscode-server/docker/etc/supervisor/conf.d/supervisord.conf b/linux/advanced/vscode-server/docker/etc/supervisor/conf.d/supervisord.conf new file mode 100644 index 000000000..591277381 --- /dev/null +++ b/linux/advanced/vscode-server/docker/etc/supervisor/conf.d/supervisord.conf @@ -0,0 +1,5 @@ +[supervisord] +nodaemon=true + +#[inet_http_server] +#port = 1337 diff --git a/linux/advanced/vscode-server/dotnet-full/Dockerfile b/linux/advanced/vscode-server/dotnet-full/Dockerfile index c7569fd6c..5b1359f11 100644 --- a/linux/advanced/vscode-server/dotnet-full/Dockerfile +++ b/linux/advanced/vscode-server/dotnet-full/Dockerfile @@ -14,30 +14,14 @@ ENV BuildDocker true ################################################################## # dotnet setup ################################################################## -ENV DOTNET_CHANNEL=LTS +ENV DOTNET_CHANNEL=STS ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh -# Opt out of the telemetry feature ENV DOTNET_CLI_TELEMETRY_OPTOUT=true -# Disable first time experience ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -# Configure Kestrel web server to bind to port 80 when present -ENV ASPNETCORE_URLS=\ -# Enable detection of running in a container -ENV DOTNET_RUNNING_IN_CONTAINER=true -# Enable correct mode for dotnet watch (only mode supported in a container) -ENV DOTNET_USE_POLLING_FILE_WATCHER=true -# Skip extraction of XML docs - generally not useful within an image/container - helps perfomance -ENV NUGET_XMLDOC_MODE=skip -# unofficial support of openssl1.1 instead of 1.0 [https://stackoverflow.com/questions/51901359] -ENV CLR_OPENSSL_VERSION_OVERRIDE=45 -# PowerShell telemetry for docker image usage -ENV POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-20.04 - -RUN mkdir -p /usr/share/dotnet/host/fxr ################################################################## # installing dotnet @@ -65,9 +49,9 @@ RUN echo "=============================================" && \ # Mono ################################################################## RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \ - echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list && \ +# echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list && \ # echo "deb https://download.mono-project.com/repo/ubuntu nightly-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-nightly.list && \ -# echo "deb https://download.mono-project.com/repo/ubuntu preview-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-preview.list && \ + echo "deb https://download.mono-project.com/repo/ubuntu preview-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-preview.list && \ apt-get update && \ apt-get install -y --allow-unauthenticated \ mono-complete \ diff --git a/linux/advanced/vscode-server/dotnet-full/Makefile b/linux/advanced/vscode-server/dotnet-full/Makefile index ff56425bb..1e4371492 100644 --- a/linux/advanced/vscode-server/dotnet-full/Makefile +++ b/linux/advanced/vscode-server/dotnet-full/Makefile @@ -13,7 +13,7 @@ deploy: make deploy-buildah build-buildah: - buildah-wrapper --build --squash + buildah-wrapper --build deploy-buildah: buildah-wrapper --deploy diff --git a/linux/advanced/vscode-server/dotnet/Dockerfile b/linux/advanced/vscode-server/dotnet/Dockerfile index ae445cdc3..53829e0a5 100644 --- a/linux/advanced/vscode-server/dotnet/Dockerfile +++ b/linux/advanced/vscode-server/dotnet/Dockerfile @@ -14,31 +14,14 @@ ENV BuildDocker true ################################################################## # dotnet setup ################################################################## -ENV DOTNET_CHANNEL=LTS +ENV DOTNET_CHANNEL=STS ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh -# Opt out of the telemetry feature ENV DOTNET_CLI_TELEMETRY_OPTOUT=true -# Disable first time experience ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -# Configure Kestrel web server to bind to port 80 when present -ENV ASPNETCORE_URLS=\ -# Enable detection of running in a container -ENV DOTNET_RUNNING_IN_CONTAINER=true -# Enable correct mode for dotnet watch (only mode supported in a container) -ENV DOTNET_USE_POLLING_FILE_WATCHER=true -# Skip extraction of XML docs - generally not useful within an image/container - helps perfomance -ENV NUGET_XMLDOC_MODE=skip -# unofficial support of openssl1.1 instead of 1.0 [https://stackoverflow.com/questions/51901359] -ENV CLR_OPENSSL_VERSION_OVERRIDE=45 -# PowerShell telemetry for docker image usage -ENV POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Ubuntu-20.04 - - -RUN mkdir -p /usr/share/dotnet/host/fxr ################################################################## # installing dotnet diff --git a/linux/advanced/vscode-server/dotnet/Makefile b/linux/advanced/vscode-server/dotnet/Makefile index ff56425bb..1e4371492 100644 --- a/linux/advanced/vscode-server/dotnet/Makefile +++ b/linux/advanced/vscode-server/dotnet/Makefile @@ -13,7 +13,7 @@ deploy: make deploy-buildah build-buildah: - buildah-wrapper --build --squash + buildah-wrapper --build deploy-buildah: buildah-wrapper --deploy diff --git a/linux/advanced/vscode-server/latest/Dockerfile b/linux/advanced/vscode-server/latest/Dockerfile index 27e991196..4841f473a 100644 --- a/linux/advanced/vscode-server/latest/Dockerfile +++ b/linux/advanced/vscode-server/latest/Dockerfile @@ -78,13 +78,6 @@ ENV GOSU_VERSION=1.17 ARG GOSU_BIN_DIR=${EMG_LOCAL_BASE_DIR}/gosu/${GOSU_VERSION}/bin ARG GOSU_DOWNLOAD_URL=https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-amd64 -ENV FLUTTER_VERSION=3.29.2 -ENV FLUTTER_CHANNEL=stable -ENV FLUTTER_DIR=${EMG_LOCAL_BASE_DIR}/flutter/${FLUTTER_VERSION} -ARG FLUTTER_BIN_DIR=${FLUTTER_DIR}/bin -ARG FLUTTER_DOWNLOAD_URL=https://storage.googleapis.com/flutter_infra_release/releases/${FLUTTER_CHANNEL}/linux/flutter_linux_${FLUTTER_VERSION}-${FLUTTER_CHANNEL}.tar.xz -ARG FLUTTER_TEMP=/tmp/flutter_linux_${FLUTTER_VERSION}-${FLUTTER_CHANNEL}.tar.xz - ENV BuildDocker true ################################################################## @@ -117,6 +110,9 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio bash \ binutils \ ca-certificates \ + python3 \ + python3-pip \ + python3-dev \ cmatrix \ cmatrix-xfont \ console-cyrillic \ @@ -217,30 +213,6 @@ RUN echo "=============================================" && \ echo 7z $(7z | head -4) && \ echo "=============================================" -################################################################## -# Flutter SDK -################################################################## -RUN mkdir -p ${FLUTTER_DIR} -ADD ${FLUTTER_DOWNLOAD_URL} /tmp - -RUN tar -xf ${FLUTTER_TEMP} --directory ${FLUTTER_DIR} --strip-components=1 && \ - chmod +x ${FLUTTER_BIN_DIR}/dart && \ - chmod +x ${FLUTTER_BIN_DIR}/flutter && \ - chmod +x ${FLUTTER_BIN_DIR}/internal/shared.sh && \ - chmod +x ${FLUTTER_BIN_DIR}/internal/update_dart_sdk.sh - -ENV PATH="${FLUTTER_BIN_DIR}:${PATH}" - -RUN git config --global --add safe.directory ${FLUTTER_DIR} && \ - flutter precache && \ - flutter config --no-analytics && \ - dart --disable-analytics - -RUN echo "=============================================" && \ - echo dart $(dart --version) && \ - echo flutter $(flutter --version) && \ - echo "=============================================" - ################################################################## # Install LazyGit official binary ################################################################## diff --git a/linux/advanced/vscode-server/mono/Dockerfile b/linux/advanced/vscode-server/mono/Dockerfile index 9540bfbd6..07d0202b8 100644 --- a/linux/advanced/vscode-server/mono/Dockerfile +++ b/linux/advanced/vscode-server/mono/Dockerfile @@ -15,9 +15,9 @@ ENV BuildDocker true # Mono ################################################################## RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \ - echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list && \ +# echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list && \ # echo "deb https://download.mono-project.com/repo/ubuntu nightly-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-nightly.list && \ -# echo "deb https://download.mono-project.com/repo/ubuntu preview-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-preview.list && \ + echo "deb https://download.mono-project.com/repo/ubuntu preview-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-preview.list && \ apt-get update && \ apt-get install -y --allow-unauthenticated \ mono-complete \ diff --git a/linux/advanced/vscode-server/mono/Makefile b/linux/advanced/vscode-server/mono/Makefile index ff56425bb..1e4371492 100644 --- a/linux/advanced/vscode-server/mono/Makefile +++ b/linux/advanced/vscode-server/mono/Makefile @@ -13,7 +13,7 @@ deploy: make deploy-buildah build-buildah: - buildah-wrapper --build --squash + buildah-wrapper --build deploy-buildah: buildah-wrapper --deploy diff --git a/linux/advanced/vscode-server/nodejs/Makefile b/linux/advanced/vscode-server/nodejs/Makefile index ff56425bb..1e4371492 100644 --- a/linux/advanced/vscode-server/nodejs/Makefile +++ b/linux/advanced/vscode-server/nodejs/Makefile @@ -13,7 +13,7 @@ deploy: make deploy-buildah build-buildah: - buildah-wrapper --build --squash + buildah-wrapper --build deploy-buildah: buildah-wrapper --deploy diff --git a/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/epicmorg_epicmorg_rootCA.crt b/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/epicmorg_epicmorg_rootCA.crt new file mode 100644 index 000000000..3e868398d --- /dev/null +++ b/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/epicmorg_epicmorg_rootCA.crt @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIIEEzCCAvugAwIBAgIUfigpDYicmN8hCXwWg9sHF17jVQ0wDQYJKoZIhvcNAQEN +BQAwgZgxCzAJBgNVBAYTAlJVMQwwCgYDVQQIDANTUEIxDDAKBgNVBAcMA1NQQjES +MBAGA1UECgwJRXBpY00ub3JnMRkwFwYDVQQLDBBFcGljTW9yZyBSb290IENBMRow +GAYDVQQDDBFFcGljTS5vcmcgUm9vdCBDQTEiMCAGCSqGSIb3DQEJARYTZGV2ZWxv +cGVyQGVwaWNtLm9yZzAeFw0yNDA2MDExMjQ3MTlaFw0zNDA1MzAxMjQ3MTlaMIGY +MQswCQYDVQQGEwJSVTEMMAoGA1UECAwDU1BCMQwwCgYDVQQHDANTUEIxEjAQBgNV +BAoMCUVwaWNNLm9yZzEZMBcGA1UECwwQRXBpY01vcmcgUm9vdCBDQTEaMBgGA1UE +AwwRRXBpY00ub3JnIFJvb3QgQ0ExIjAgBgkqhkiG9w0BCQEWE2RldmVsb3BlckBl +cGljbS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCU7/vFW4dm +atoZWEhtFwJ8WhBTWAx0fJzON9kzOM6YIvcu6/gpj++0j9d3hsg4VsTLjqeyRhYN +ts3b71CaW96OHZ+X4GFE87p2dOoBvzCE9iM+WqHJZzjf4Oa2hK/oiQtsbU+q66lw +eASPYRl5AU3gm7bzOLlpEvmabSzowdAU8qLBgrqJkdZf4ZjAcLfOvrVk8WaiUH3J +D19newfGu9LIH76LzOu+w48C+nYqUsHtnxVstQgxFdSGuul2UTqK/Xv+IOwR3tXt +WOhId6rGHxyXXM8Q+3jXcNWLLmGYecPoyQ4v3FNnecQzU76sx5h4Zf6oRA6crdya +3tHoPQqa+td3AgMBAAGjUzBRMB0GA1UdDgQWBBRyeMxzrQllpfSaruwHSo9HEJYE +/zAfBgNVHSMEGDAWgBRyeMxzrQllpfSaruwHSo9HEJYE/zAPBgNVHRMBAf8EBTAD +AQH/MA0GCSqGSIb3DQEBDQUAA4IBAQAXqf8kQqSmFVgRQ9EbwCDzHkjPZq0o7lkU +fZiH6/fshMG63lOLirLYXzQhfkkX2Gm671wAATpyj4GHzaf4+BPxn+1XdqGDV+AP +V6EqKNF5lixdEm9KsSlztQ5+7cN7noLbhfHGFm1ExLdLJi4fY0EgX60ACkwttfkb +OCTSXGK6JHXWE2hGWKhANyFjC62oFWdaptTlLDiSLLjtrMfs7c9Ng+HUh0mMwejS +p2/4a3P0OFbLq/2TnHNTdYSDNM/oilhf0crebElUCYHir1HQF74Sh6G3ut8OO95J +qw2J44n6YPr8LwL4lGCj8+okUvwPqC305zpBjP6c1ztmxQ8+dCKZ +-----END CERTIFICATE----- diff --git a/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/epicmorg_intermediateCA_code.crt b/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/epicmorg_intermediateCA_code.crt new file mode 100644 index 000000000..8aa93749d --- /dev/null +++ b/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/epicmorg_intermediateCA_code.crt @@ -0,0 +1,26 @@ +-----BEGIN CERTIFICATE----- +MIIETzCCAzegAwIBAgIUFGpH3osZ3jzR99AL4v3ljyQWtLUwDQYJKoZIhvcNAQEN +BQAwgZgxCzAJBgNVBAYTAlJVMQwwCgYDVQQIDANTUEIxDDAKBgNVBAcMA1NQQjES +MBAGA1UECgwJRXBpY00ub3JnMRkwFwYDVQQLDBBFcGljTW9yZyBSb290IENBMRow +GAYDVQQDDBFFcGljTS5vcmcgUm9vdCBDQTEiMCAGCSqGSIb3DQEJARYTZGV2ZWxv +cGVyQGVwaWNtLm9yZzAeFw0yNDA2MDExMjQ3MjBaFw0zNDA1MzAxMjQ3MjBaMIGv +MQswCQYDVQQGEwJSVTEMMAoGA1UECAwDU1BCMQwwCgYDVQQHDANTUEIxEjAQBgNV +BAoMCUVwaWNNLm9yZzEeMBwGA1UECwwVRXBpY01vcmcgQ29kZSBTaWduaW5nMSww +KgYDVQQDDCNFcGljTS5vcmcgSW50ZXJtZWRpYXRlIENvZGUgU2lnbmluZzEiMCAG +CSqGSIb3DQEJARYTZGV2ZWxvcGVyQGVwaWNtLm9yZzCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAL+Vm2ZwT27KenCyMEujAlmp0c92rCOu3QB/Ji8YR5Fh +EgacatKRQ8kbZfb+uNK8s25oZlYlYd7VxdRp+rwGAjSKjxZ3SoQUj+gt7dGKhgNo +TADMO+17ZC7KS+El4l2esjL4wWSVWT2axnwCbytpe0HG0bfAW3PktSc4X5w+5eoK +YIQ7o00Yp+7tw6MDefQJDjDvigr1BizlCcF3WmygRAP8X+2/gHzzQ2AWqykQ9Vdv +4KPavcCpg7j8rHE4cK2lbET/4vYlexe6GreG6TRvlxntY3BxsERkq8uG5MjriIBl +Z1KKAoGr/0PSjMbqzlzLr0hLeIMZ3JU5AUrIWOZe7iMCAwEAAaN4MHYwHwYDVR0j +BBgwFoAUcnjMc60JZaX0mq7sB0qPRxCWBP8wDwYDVR0TBAgwBgEB/wIBADAOBgNV +HQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMwHQYDVR0OBBYEFPnuujuW +Y60YVHIXpUV15ioUXU3bMA0GCSqGSIb3DQEBDQUAA4IBAQAJvXBYLcPV6TV0cYt7 +KqQ/d7+BPqE5dHYYNKRGQLrZY05ceVDDAnQoiTO7R6zT75I34D0RjcWbBFcJsfas +gvzgjqEItN7cm051kkthGYFIfASN07n89YqUeQpqQ5tg5MEqNBbNAlTgazgwlMFV +sSh3hZLmeUW6phvU89VineF+IPTEhHWcvoYfmwd4rW0JSEImbr6QmJ8dhw0DSocW +HSSpST9Mk6zEswBbs9Pvpgdewy+DkvApD7bPlfy/8jctAKk2R43jw8XTxWy07phE ++po13WQCC94Ydb2MBh0U6gwTPe+/QAS90IpvhjlDQWWJtaZKNQIHMh9qdrZU/fK1 +pzZh +-----END CERTIFICATE----- diff --git a/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/intermediateCA_https.crt b/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/intermediateCA_https.crt new file mode 100644 index 000000000..f0e7d4027 --- /dev/null +++ b/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/intermediateCA_https.crt @@ -0,0 +1,25 @@ +-----BEGIN CERTIFICATE----- +MIIEQTCCAymgAwIBAgIUFGpH3osZ3jzR99AL4v3ljyQWtLYwDQYJKoZIhvcNAQEN +BQAwgZgxCzAJBgNVBAYTAlJVMQwwCgYDVQQIDANTUEIxDDAKBgNVBAcMA1NQQjES +MBAGA1UECgwJRXBpY00ub3JnMRkwFwYDVQQLDBBFcGljTW9yZyBSb290IENBMRow +GAYDVQQDDBFFcGljTS5vcmcgUm9vdCBDQTEiMCAGCSqGSIb3DQEJARYTZGV2ZWxv +cGVyQGVwaWNtLm9yZzAeFw0yNDA2MDExMjQ3MjBaFw0zNDA1MzAxMjQ3MjBaMIGh +MQswCQYDVQQGEwJSVTEMMAoGA1UECAwDU1BCMQwwCgYDVQQHDANTUEIxEjAQBgNV +BAoMCUVwaWNNLm9yZzEXMBUGA1UECwwORXBpY01vcmcgSFRUUFMxJTAjBgNVBAMM +HEVwaWNNLm9yZyBJbnRlcm1lZGlhdGUgSFRUUFMxIjAgBgkqhkiG9w0BCQEWE2Rl +dmVsb3BlckBlcGljbS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQCziMvV2TQ7FRp3SG8ArOre4e34alHUxF7pUFVchMJpEWa6AVFtkPvFs/Zm/KcY +FLxsI8c4UT21lkH6Np1zr8ZUYF/QG32WZTEpeGL3FKI5WO83bSkuaRSGYm9lQ932 +/t+oQ36B+JpLcmnEPr79I4fwU2BG+Yr+1McWqpwOaM10c+2QcXFMUWszno8kxdUG +ixjbxrGGoNJxW+zBhXpC1PBiK5whBe5p/u4cn7i4f8ANTmKd4jn0NSN4K5gnP03J +Wf+ePbbyaXMj4YWamlTMWOFDID9xJHwYaYF8bDVR7cUPKRGJe5D6mc8JcnO8+WHJ +GsvCkRZEA44OEArpXVNwMTgZAgMBAAGjeDB2MB8GA1UdIwQYMBaAFHJ4zHOtCWWl +9Jqu7AdKj0cQlgT/MA8GA1UdEwQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMBMG +A1UdJQQMMAoGCCsGAQUFBwMBMB0GA1UdDgQWBBTyIWWlrsX5gyd+pGFmYzZVnbXg +GzANBgkqhkiG9w0BAQ0FAAOCAQEAdMkjh0fJI+S1u5efCu0LiwM8SaMz0E8OuaAY +7MNLUu1NeiVqPyxYIxr25OnBzDwTIdsoMNHcgQB+aQFWLH6LFRgheBn6ywqIm/zJ +l3+1tLJhj/NJEI7o0eLDjGwKKoSloj8QdpMc+PIQENQVlwNm1zdHBDQfclAL2t1n +UpLfYrt7Hjta++ZI+8JAgqBb3yijI6fu8KRCQU5SpwEV/ifdFWsPjh68oQFnQafQ +WyiKsy4EPPkCChMI/vD/PTImwes8obyGHD/CshNFvxVnmqNq2o9r5wl6udLMC5NF +fpCbO1B5Sm6SwBhpOAWfaD2SoVP1d0MKCroATB88vpZUCFoaVw== +-----END CERTIFICATE----- diff --git a/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt b/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt new file mode 100644 index 000000000..4c143a21f --- /dev/null +++ b/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt @@ -0,0 +1,33 @@ +-----BEGIN CERTIFICATE----- +MIIFwjCCA6qgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjIwMzAxMjEwNDE1WhcNMzIwMjI3MjEwNDE1WjBwMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMSAwHgYDVQQDDBdSdXNzaWFuIFRydXN0ZWQgUm9v +dCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMfFOZ8pUAL3+r2n +qqE0Zp52selXsKGFYoG0GM5bwz1bSFtCt+AZQMhkWQheI3poZAToYJu69pHLKS6Q +XBiwBC1cvzYmUYKMYZC7jE5YhEU2bSL0mX7NaMxMDmH2/NwuOVRj8OImVa5s1F4U +zn4Kv3PFlDBjjSjXKVY9kmjUBsXQrIHeaqmUIsPIlNWUnimXS0I0abExqkbdrXbX +YwCOXhOO2pDUx3ckmJlCMUGacUTnylyQW2VsJIyIGA8V0xzdaeUXg0VZ6ZmNUr5Y +Ber/EAOLPb8NYpsAhJe2mXjMB/J9HNsoFMBFJ0lLOT/+dQvjbdRZoOT8eqJpWnVD +U+QL/qEZnz57N88OWM3rabJkRNdU/Z7x5SFIM9FrqtN8xewsiBWBI0K6XFuOBOTD +4V08o4TzJ8+Ccq5XlCUW2L48pZNCYuBDfBh7FxkB7qDgGDiaftEkZZfApRg2E+M9 +G8wkNKTPLDc4wH0FDTijhgxR3Y4PiS1HL2Zhw7bD3CbslmEGgfnnZojNkJtcLeBH +BLa52/dSwNU4WWLubaYSiAmA9IUMX1/RpfpxOxd4Ykmhz97oFbUaDJFipIggx5sX +ePAlkTdWnv+RWBxlJwMQ25oEHmRguNYf4Zr/Rxr9cS93Y+mdXIZaBEE0KS2iLRqa +OiWBki9IMQU4phqPOBAaG7A+eP8PAgMBAAGjZjBkMB0GA1UdDgQWBBTh0YHlzlpf +BKrS6badZrHF+qwshzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qwshzAS +BgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF +AAOCAgEAALIY1wkilt/urfEVM5vKzr6utOeDWCUczmWX/RX4ljpRdgF+5fAIS4vH +tmXkqpSCOVeWUrJV9QvZn6L227ZwuE15cWi8DCDal3Ue90WgAJJZMfTshN4OI8cq +W9E4EG9wglbEtMnObHlms8F3CHmrw3k6KmUkWGoa+/ENmcVl68u/cMRl1JbW2bM+ +/3A+SAg2c6iPDlehczKx2oa95QW0SkPPWGuNA/CE8CpyANIhu9XFrj3RQ3EqeRcS +AQQod1RNuHpfETLU/A2gMmvn/w/sx7TB3W5BPs6rprOA37tutPq9u6FTZOcG1Oqj +C/B7yTqgI7rbyvox7DEXoX7rIiEqyNNUguTk/u3SZ4VXE2kmxdmSh3TQvybfbnXV +4JbCZVaqiZraqc7oZMnRoWrXRG3ztbnbes/9qhRGI7PqXqeKJBztxRTEVj8ONs1d +WN5szTwaPIvhkhO3CO5ErU2rVdUr89wKpNXbBODFKRtgxUT70YpmJ46VVaqdAhOZ +D9EUUn4YaeLaS8AjSF/h7UkjOibNc4qVDiPP+rkehFWM66PVnP1Msh93tc+taIfC +EYVMxjh8zNbFuoc7fzvvrFILLe7ifvEIUqSVIC/AzplM/Jxw7buXFeGP1qVCBEHq +391d/9RAfaZ12zkwFsl+IKwE/OZxW8AHa9i1p4GO0YSNuczzEm4= +-----END CERTIFICATE----- \ No newline at end of file diff --git a/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt b/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt new file mode 100644 index 000000000..2e3f8285d --- /dev/null +++ b/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt @@ -0,0 +1,41 @@ +-----BEGIN CERTIFICATE----- +MIIHQjCCBSqgAwIBAgICEAIwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjIwMzAyMTEyNTE5WhcNMjcwMzA2MTEyNTE5WjBvMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMR8wHQYDVQQDDBZSdXNzaWFuIFRydXN0ZWQgU3Vi +IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9YPqBKOk19NFymrE +wehzrhBEgT2atLezpduB24mQ7CiOa/HVpFCDRZzdxqlh8drku408/tTmWzlNH/br +HuQhZ/miWKOf35lpKzjyBd6TPM23uAfJvEOQ2/dnKGGJbsUo1/udKSvxQwVHpVv3 +S80OlluKfhWPDEXQpgyFqIzPoxIQTLZ0deirZwMVHarZ5u8HqHetRuAtmO2ZDGQn +vVOJYAjls+Hiueq7Lj7Oce7CQsTwVZeP+XQx28PAaEZ3y6sQEt6rL06ddpSdoTMp +BnCqTbxW+eWMyjkIn6t9GBtUV45yB1EkHNnj2Ex4GwCiN9T84QQjKSr+8f0psGrZ +vPbCbQAwNFJjisLixnjlGPLKa5vOmNwIh/LAyUW5DjpkCx004LPDuqPpFsKXNKpa +L2Dm6uc0x4Jo5m+gUTVORB6hOSzWnWDj2GWfomLzzyjG81DRGFBpco/O93zecsIN +3SL2Ysjpq1zdoS01CMYxie//9zWvYwzI25/OZigtnpCIrcd2j1Y6dMUFQAzAtHE+ +qsXflSL8HIS+IJEFIQobLlYhHkoE3avgNx5jlu+OLYe0dF0Ykx1PGNjbwqvTX37R +Cn32NMjlotW2QcGEZhDKj+3urZizp5xdTPZitA+aEjZM/Ni71VOdiOP0igbw6asZ +2fxdozZ1TnSSYNYvNATwthNmZysCAwEAAaOCAeUwggHhMBIGA1UdEwEB/wQIMAYB +Af8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTR4XENCy2BTm6KSo9MI7NM +XqtpCzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qwshzCBxwYIKwYBBQUH +AQEEgbowgbcwOwYIKwYBBQUHMAKGL2h0dHA6Ly9yb3N0ZWxlY29tLnJ1L2NkcC9y +b290Y2Ffc3NsX3JzYTIwMjIuY3J0MDsGCCsGAQUFBzAChi9odHRwOi8vY29tcGFu +eS5ydC5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNydDA7BggrBgEFBQcwAoYv +aHR0cDovL3JlZXN0ci1wa2kucnUvY2RwL3Jvb3RjYV9zc2xfcnNhMjAyMi5jcnQw +gbAGA1UdHwSBqDCBpTA1oDOgMYYvaHR0cDovL3Jvc3RlbGVjb20ucnUvY2RwL3Jv +b3RjYV9zc2xfcnNhMjAyMi5jcmwwNaAzoDGGL2h0dHA6Ly9jb21wYW55LnJ0LnJ1 +L2NkcC9yb290Y2Ffc3NsX3JzYTIwMjIuY3JsMDWgM6Axhi9odHRwOi8vcmVlc3Ry +LXBraS5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNybDANBgkqhkiG9w0BAQsF +AAOCAgEARBVzZls79AdiSCpar15dA5Hr/rrT4WbrOfzlpI+xrLeRPrUG6eUWIW4v +Sui1yx3iqGLCjPcKb+HOTwoRMbI6ytP/ndp3TlYua2advYBEhSvjs+4vDZNwXr/D +anbwIWdurZmViQRBDFebpkvnIvru/RpWud/5r624Wp8voZMRtj/cm6aI9LtvBfT9 +cfzhOaexI/99c14dyiuk1+6QhdwKaCRTc1mdfNQmnfWNRbfWhWBlK3h4GGE9JK33 +Gk8ZS8DMrkdAh0xby4xAQ/mSWAfWrBmfzlOqGyoB1U47WTOeqNbWkkoAP2ys94+s +Jg4NTkiDVtXRF6nr6fYi0bSOvOFg0IQrMXO2Y8gyg9ARdPJwKtvWX8VPADCYMiWH +h4n8bZokIrImVKLDQKHY4jCsND2HHdJfnrdL2YJw1qFskNO4cSNmZydw0Wkgjv9k +F+KxqrDKlB8MZu2Hclph6v/CZ0fQ9YuE8/lsHZ0Qc2HyiSMnvjgK5fDc3TD4fa8F +E8gMNurM+kV8PT8LNIM+4Zs+LKEV8nqRWBaxkIVJGekkVKO8xDBOG/aN62AZKHOe +GcyIdu7yNMMRihGVZCYr8rYiJoKiOzDqOkPkLOPdhtVlgnhowzHDxMHND/E2WA5p +ZHuNM/m0TXt2wTTPL7JH2YC0gPz/BvvSzjksgzU5rLbRyUKQkgU= +-----END CERTIFICATE----- \ No newline at end of file diff --git a/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem_2024.crt b/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem_2024.crt new file mode 100644 index 000000000..1fbc4a47e --- /dev/null +++ b/linux/advanced/zabbix/5.0/snmptraps/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem_2024.crt @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIG6DCCBNCgAwIBAgICEAUwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjQwNzE1MTI1MDQxWhcNMjkwNzE5MTI1MDQxWjBvMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMR8wHQYDVQQDDBZSdXNzaWFuIFRydXN0ZWQgU3Vi +IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1j0rkZECOt1S8o7I +JY+4YKAxuEa5xaHKHXT2EpkuC/0krqMOjUy2oPIRNgR5g8X0Jl6jamxeGLc4Q1tf +ju6or9oSRYThIUhRsFDQNBiBBEXoBgWxTfiKB2eyT97+pz5TBtBiRCPaLGRHYLRb +9Jz2HkJlxbtNPjtDrF5DPHym+mZ1M1z3hIQYAqJwLpsEBnsw/VxWMlxqHoeewd0h +uJMd71KQ5vOKlz7KrIZ6EobNNa6wItuvsfj3kYCK7O78uLHGXXFxdr8Hae9lMUmC +8F7AFwa+bO1LRlTlqW7rE3rLf+jj70N01N8T3o22v14YBaFBWQWncAVYD2JuL3tH +252+kdNOERf1fLbLRigJAbd+hOhWYlNf963TFDgnNPliHNIW72SygVBnI2V3JwO1 +dp1hVKpK/zt8ziGdHW4gmOLTsH50YKdR4jNqUgQv4wASlKn9OpN6zHYc5G8h86fY +BM+zxE5ikGI+I/vIqBuI0eaDU92AWN/YjFLpu8tMu9kLRSCf1vug6FIfDPWVo7iP +ac/SI2v8jnnpaW7ph/Pz3WkzaG7ZZJsfFs+8dploWc6LOoDtbFBhMdGMxu024msC +0PSjZb5ODXPIaO2NsA7fMiAtZcoK6anTUJh4zOP/stA9qsJGNxdrEmiPXSmBZY/N +Y0wkZgZ6JTDhw7038bPvctkblJkCAwEAAaOCAYswggGHMB0GA1UdDgQWBBR3Pdk5 +r0K93FvKduru/c4+YSkwXzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qws +hzAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADCBmAYIKwYBBQUH +AQEEgYswgYgwQAYIKwYBBQUHMAKGNGh0dHA6Ly9udWMtY2RwLnZvc2tob2QucnUv +Y2RwL3Jvb3RjYV9zc2xfcnNhMjAyMi5jcnQwRAYIKwYBBQUHMAKGOGh0dHA6Ly9u +dWMtY2RwLmRpZ2l0YWwuZ292LnJ1L2NkcC9yb290Y2Ffc3NsX3JzYTIwMjIuY3J0 +MIGFBgNVHR8EfjB8MDqgOKA2hjRodHRwOi8vbnVjLWNkcC52b3NraG9kLnJ1L2Nk +cC9yb290Y2Ffc3NsX3JzYTIwMjIuY3JsMD6gPKA6hjhodHRwOi8vbnVjLWNkcC5k +aWdpdGFsLmdvdi5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNybDANBgkqhkiG +9w0BAQsFAAOCAgEAmsINXtQ7wwUWvIeOr80MdJS/5G4xhyZOVEmeUorThquT672y +cCg3XCxc4fwbiZqSSbBqntQ7RtiTAKMYMvBageKoVHbzz+R4jX01tKcTx8cDePrz +dJ73bLNUorE7RU9QsW4KyiUeRmjMDV23AUlEvuQFTwgkHXvbac1BBdPn9CrssQuF +5EGohZKcQPFiAAc4SHbRNhlr7uAwgpc/erzI9EAcvA6BVAXcVKoeGpV01uexUgZ6 +St5RP9UmDWNA7T4yVXWJ233N0Q8bl+6AswINQ3PosPu6yQQHQjr65YS06epK+AeI +6j+oGR4xI7EhTQhQvaobnGmX/8QQ7XDRYCP2HXYxiffnn/CfZ/BVyKLYeY1ZipjE +nzqdQIC2+Q3WtY8jsVRQMP38WFRmtsIt5snehnPTs5bKGVIcYzj3o3Ex/K7agEz0 +zAJ0JR5ivXZOvNkT0g9x1v+S1IkU3e/nX1a+tpRquMtnHX0L2lXArNHUbaOO9EJt +d57WaIpofV5cVhhwShOgAuBc9UMJF3/n4t4RKiPxtsK8P67gcmphMhslj7AMYrYM +ej2NvQZY4m3ub3CPC/PrTjDONvb+8g5xrKtxBjYqC74HSB4dg9G3WimSDUuP2Su6 +G2y2TUeyJuCvCLz289VoO0vg7cNdMobE3KCqAiiNhN2VBFxHAUKmUoRcRdw= +-----END CERTIFICATE----- diff --git a/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/epicmorg_epicmorg_rootCA.crt b/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/epicmorg_epicmorg_rootCA.crt new file mode 100644 index 000000000..3e868398d --- /dev/null +++ b/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/epicmorg_epicmorg_rootCA.crt @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIIEEzCCAvugAwIBAgIUfigpDYicmN8hCXwWg9sHF17jVQ0wDQYJKoZIhvcNAQEN +BQAwgZgxCzAJBgNVBAYTAlJVMQwwCgYDVQQIDANTUEIxDDAKBgNVBAcMA1NQQjES +MBAGA1UECgwJRXBpY00ub3JnMRkwFwYDVQQLDBBFcGljTW9yZyBSb290IENBMRow +GAYDVQQDDBFFcGljTS5vcmcgUm9vdCBDQTEiMCAGCSqGSIb3DQEJARYTZGV2ZWxv +cGVyQGVwaWNtLm9yZzAeFw0yNDA2MDExMjQ3MTlaFw0zNDA1MzAxMjQ3MTlaMIGY +MQswCQYDVQQGEwJSVTEMMAoGA1UECAwDU1BCMQwwCgYDVQQHDANTUEIxEjAQBgNV +BAoMCUVwaWNNLm9yZzEZMBcGA1UECwwQRXBpY01vcmcgUm9vdCBDQTEaMBgGA1UE +AwwRRXBpY00ub3JnIFJvb3QgQ0ExIjAgBgkqhkiG9w0BCQEWE2RldmVsb3BlckBl +cGljbS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCU7/vFW4dm +atoZWEhtFwJ8WhBTWAx0fJzON9kzOM6YIvcu6/gpj++0j9d3hsg4VsTLjqeyRhYN +ts3b71CaW96OHZ+X4GFE87p2dOoBvzCE9iM+WqHJZzjf4Oa2hK/oiQtsbU+q66lw +eASPYRl5AU3gm7bzOLlpEvmabSzowdAU8qLBgrqJkdZf4ZjAcLfOvrVk8WaiUH3J +D19newfGu9LIH76LzOu+w48C+nYqUsHtnxVstQgxFdSGuul2UTqK/Xv+IOwR3tXt +WOhId6rGHxyXXM8Q+3jXcNWLLmGYecPoyQ4v3FNnecQzU76sx5h4Zf6oRA6crdya +3tHoPQqa+td3AgMBAAGjUzBRMB0GA1UdDgQWBBRyeMxzrQllpfSaruwHSo9HEJYE +/zAfBgNVHSMEGDAWgBRyeMxzrQllpfSaruwHSo9HEJYE/zAPBgNVHRMBAf8EBTAD +AQH/MA0GCSqGSIb3DQEBDQUAA4IBAQAXqf8kQqSmFVgRQ9EbwCDzHkjPZq0o7lkU +fZiH6/fshMG63lOLirLYXzQhfkkX2Gm671wAATpyj4GHzaf4+BPxn+1XdqGDV+AP +V6EqKNF5lixdEm9KsSlztQ5+7cN7noLbhfHGFm1ExLdLJi4fY0EgX60ACkwttfkb +OCTSXGK6JHXWE2hGWKhANyFjC62oFWdaptTlLDiSLLjtrMfs7c9Ng+HUh0mMwejS +p2/4a3P0OFbLq/2TnHNTdYSDNM/oilhf0crebElUCYHir1HQF74Sh6G3ut8OO95J +qw2J44n6YPr8LwL4lGCj8+okUvwPqC305zpBjP6c1ztmxQ8+dCKZ +-----END CERTIFICATE----- diff --git a/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/epicmorg_intermediateCA_code.crt b/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/epicmorg_intermediateCA_code.crt new file mode 100644 index 000000000..8aa93749d --- /dev/null +++ b/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/epicmorg_intermediateCA_code.crt @@ -0,0 +1,26 @@ +-----BEGIN CERTIFICATE----- +MIIETzCCAzegAwIBAgIUFGpH3osZ3jzR99AL4v3ljyQWtLUwDQYJKoZIhvcNAQEN +BQAwgZgxCzAJBgNVBAYTAlJVMQwwCgYDVQQIDANTUEIxDDAKBgNVBAcMA1NQQjES +MBAGA1UECgwJRXBpY00ub3JnMRkwFwYDVQQLDBBFcGljTW9yZyBSb290IENBMRow +GAYDVQQDDBFFcGljTS5vcmcgUm9vdCBDQTEiMCAGCSqGSIb3DQEJARYTZGV2ZWxv +cGVyQGVwaWNtLm9yZzAeFw0yNDA2MDExMjQ3MjBaFw0zNDA1MzAxMjQ3MjBaMIGv +MQswCQYDVQQGEwJSVTEMMAoGA1UECAwDU1BCMQwwCgYDVQQHDANTUEIxEjAQBgNV +BAoMCUVwaWNNLm9yZzEeMBwGA1UECwwVRXBpY01vcmcgQ29kZSBTaWduaW5nMSww +KgYDVQQDDCNFcGljTS5vcmcgSW50ZXJtZWRpYXRlIENvZGUgU2lnbmluZzEiMCAG +CSqGSIb3DQEJARYTZGV2ZWxvcGVyQGVwaWNtLm9yZzCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAL+Vm2ZwT27KenCyMEujAlmp0c92rCOu3QB/Ji8YR5Fh +EgacatKRQ8kbZfb+uNK8s25oZlYlYd7VxdRp+rwGAjSKjxZ3SoQUj+gt7dGKhgNo +TADMO+17ZC7KS+El4l2esjL4wWSVWT2axnwCbytpe0HG0bfAW3PktSc4X5w+5eoK +YIQ7o00Yp+7tw6MDefQJDjDvigr1BizlCcF3WmygRAP8X+2/gHzzQ2AWqykQ9Vdv +4KPavcCpg7j8rHE4cK2lbET/4vYlexe6GreG6TRvlxntY3BxsERkq8uG5MjriIBl +Z1KKAoGr/0PSjMbqzlzLr0hLeIMZ3JU5AUrIWOZe7iMCAwEAAaN4MHYwHwYDVR0j +BBgwFoAUcnjMc60JZaX0mq7sB0qPRxCWBP8wDwYDVR0TBAgwBgEB/wIBADAOBgNV +HQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMwHQYDVR0OBBYEFPnuujuW +Y60YVHIXpUV15ioUXU3bMA0GCSqGSIb3DQEBDQUAA4IBAQAJvXBYLcPV6TV0cYt7 +KqQ/d7+BPqE5dHYYNKRGQLrZY05ceVDDAnQoiTO7R6zT75I34D0RjcWbBFcJsfas +gvzgjqEItN7cm051kkthGYFIfASN07n89YqUeQpqQ5tg5MEqNBbNAlTgazgwlMFV +sSh3hZLmeUW6phvU89VineF+IPTEhHWcvoYfmwd4rW0JSEImbr6QmJ8dhw0DSocW +HSSpST9Mk6zEswBbs9Pvpgdewy+DkvApD7bPlfy/8jctAKk2R43jw8XTxWy07phE ++po13WQCC94Ydb2MBh0U6gwTPe+/QAS90IpvhjlDQWWJtaZKNQIHMh9qdrZU/fK1 +pzZh +-----END CERTIFICATE----- diff --git a/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/intermediateCA_https.crt b/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/intermediateCA_https.crt new file mode 100644 index 000000000..f0e7d4027 --- /dev/null +++ b/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/intermediateCA_https.crt @@ -0,0 +1,25 @@ +-----BEGIN CERTIFICATE----- +MIIEQTCCAymgAwIBAgIUFGpH3osZ3jzR99AL4v3ljyQWtLYwDQYJKoZIhvcNAQEN +BQAwgZgxCzAJBgNVBAYTAlJVMQwwCgYDVQQIDANTUEIxDDAKBgNVBAcMA1NQQjES +MBAGA1UECgwJRXBpY00ub3JnMRkwFwYDVQQLDBBFcGljTW9yZyBSb290IENBMRow +GAYDVQQDDBFFcGljTS5vcmcgUm9vdCBDQTEiMCAGCSqGSIb3DQEJARYTZGV2ZWxv +cGVyQGVwaWNtLm9yZzAeFw0yNDA2MDExMjQ3MjBaFw0zNDA1MzAxMjQ3MjBaMIGh +MQswCQYDVQQGEwJSVTEMMAoGA1UECAwDU1BCMQwwCgYDVQQHDANTUEIxEjAQBgNV +BAoMCUVwaWNNLm9yZzEXMBUGA1UECwwORXBpY01vcmcgSFRUUFMxJTAjBgNVBAMM +HEVwaWNNLm9yZyBJbnRlcm1lZGlhdGUgSFRUUFMxIjAgBgkqhkiG9w0BCQEWE2Rl +dmVsb3BlckBlcGljbS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQCziMvV2TQ7FRp3SG8ArOre4e34alHUxF7pUFVchMJpEWa6AVFtkPvFs/Zm/KcY +FLxsI8c4UT21lkH6Np1zr8ZUYF/QG32WZTEpeGL3FKI5WO83bSkuaRSGYm9lQ932 +/t+oQ36B+JpLcmnEPr79I4fwU2BG+Yr+1McWqpwOaM10c+2QcXFMUWszno8kxdUG +ixjbxrGGoNJxW+zBhXpC1PBiK5whBe5p/u4cn7i4f8ANTmKd4jn0NSN4K5gnP03J +Wf+ePbbyaXMj4YWamlTMWOFDID9xJHwYaYF8bDVR7cUPKRGJe5D6mc8JcnO8+WHJ +GsvCkRZEA44OEArpXVNwMTgZAgMBAAGjeDB2MB8GA1UdIwQYMBaAFHJ4zHOtCWWl +9Jqu7AdKj0cQlgT/MA8GA1UdEwQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMBMG +A1UdJQQMMAoGCCsGAQUFBwMBMB0GA1UdDgQWBBTyIWWlrsX5gyd+pGFmYzZVnbXg +GzANBgkqhkiG9w0BAQ0FAAOCAQEAdMkjh0fJI+S1u5efCu0LiwM8SaMz0E8OuaAY +7MNLUu1NeiVqPyxYIxr25OnBzDwTIdsoMNHcgQB+aQFWLH6LFRgheBn6ywqIm/zJ +l3+1tLJhj/NJEI7o0eLDjGwKKoSloj8QdpMc+PIQENQVlwNm1zdHBDQfclAL2t1n +UpLfYrt7Hjta++ZI+8JAgqBb3yijI6fu8KRCQU5SpwEV/ifdFWsPjh68oQFnQafQ +WyiKsy4EPPkCChMI/vD/PTImwes8obyGHD/CshNFvxVnmqNq2o9r5wl6udLMC5NF +fpCbO1B5Sm6SwBhpOAWfaD2SoVP1d0MKCroATB88vpZUCFoaVw== +-----END CERTIFICATE----- diff --git a/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt b/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt new file mode 100644 index 000000000..4c143a21f --- /dev/null +++ b/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt @@ -0,0 +1,33 @@ +-----BEGIN CERTIFICATE----- +MIIFwjCCA6qgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjIwMzAxMjEwNDE1WhcNMzIwMjI3MjEwNDE1WjBwMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMSAwHgYDVQQDDBdSdXNzaWFuIFRydXN0ZWQgUm9v +dCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMfFOZ8pUAL3+r2n +qqE0Zp52selXsKGFYoG0GM5bwz1bSFtCt+AZQMhkWQheI3poZAToYJu69pHLKS6Q +XBiwBC1cvzYmUYKMYZC7jE5YhEU2bSL0mX7NaMxMDmH2/NwuOVRj8OImVa5s1F4U +zn4Kv3PFlDBjjSjXKVY9kmjUBsXQrIHeaqmUIsPIlNWUnimXS0I0abExqkbdrXbX +YwCOXhOO2pDUx3ckmJlCMUGacUTnylyQW2VsJIyIGA8V0xzdaeUXg0VZ6ZmNUr5Y +Ber/EAOLPb8NYpsAhJe2mXjMB/J9HNsoFMBFJ0lLOT/+dQvjbdRZoOT8eqJpWnVD +U+QL/qEZnz57N88OWM3rabJkRNdU/Z7x5SFIM9FrqtN8xewsiBWBI0K6XFuOBOTD +4V08o4TzJ8+Ccq5XlCUW2L48pZNCYuBDfBh7FxkB7qDgGDiaftEkZZfApRg2E+M9 +G8wkNKTPLDc4wH0FDTijhgxR3Y4PiS1HL2Zhw7bD3CbslmEGgfnnZojNkJtcLeBH +BLa52/dSwNU4WWLubaYSiAmA9IUMX1/RpfpxOxd4Ykmhz97oFbUaDJFipIggx5sX +ePAlkTdWnv+RWBxlJwMQ25oEHmRguNYf4Zr/Rxr9cS93Y+mdXIZaBEE0KS2iLRqa +OiWBki9IMQU4phqPOBAaG7A+eP8PAgMBAAGjZjBkMB0GA1UdDgQWBBTh0YHlzlpf +BKrS6badZrHF+qwshzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qwshzAS +BgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF +AAOCAgEAALIY1wkilt/urfEVM5vKzr6utOeDWCUczmWX/RX4ljpRdgF+5fAIS4vH +tmXkqpSCOVeWUrJV9QvZn6L227ZwuE15cWi8DCDal3Ue90WgAJJZMfTshN4OI8cq +W9E4EG9wglbEtMnObHlms8F3CHmrw3k6KmUkWGoa+/ENmcVl68u/cMRl1JbW2bM+ +/3A+SAg2c6iPDlehczKx2oa95QW0SkPPWGuNA/CE8CpyANIhu9XFrj3RQ3EqeRcS +AQQod1RNuHpfETLU/A2gMmvn/w/sx7TB3W5BPs6rprOA37tutPq9u6FTZOcG1Oqj +C/B7yTqgI7rbyvox7DEXoX7rIiEqyNNUguTk/u3SZ4VXE2kmxdmSh3TQvybfbnXV +4JbCZVaqiZraqc7oZMnRoWrXRG3ztbnbes/9qhRGI7PqXqeKJBztxRTEVj8ONs1d +WN5szTwaPIvhkhO3CO5ErU2rVdUr89wKpNXbBODFKRtgxUT70YpmJ46VVaqdAhOZ +D9EUUn4YaeLaS8AjSF/h7UkjOibNc4qVDiPP+rkehFWM66PVnP1Msh93tc+taIfC +EYVMxjh8zNbFuoc7fzvvrFILLe7ifvEIUqSVIC/AzplM/Jxw7buXFeGP1qVCBEHq +391d/9RAfaZ12zkwFsl+IKwE/OZxW8AHa9i1p4GO0YSNuczzEm4= +-----END CERTIFICATE----- \ No newline at end of file diff --git a/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt b/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt new file mode 100644 index 000000000..2e3f8285d --- /dev/null +++ b/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt @@ -0,0 +1,41 @@ +-----BEGIN CERTIFICATE----- +MIIHQjCCBSqgAwIBAgICEAIwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjIwMzAyMTEyNTE5WhcNMjcwMzA2MTEyNTE5WjBvMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMR8wHQYDVQQDDBZSdXNzaWFuIFRydXN0ZWQgU3Vi +IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9YPqBKOk19NFymrE +wehzrhBEgT2atLezpduB24mQ7CiOa/HVpFCDRZzdxqlh8drku408/tTmWzlNH/br +HuQhZ/miWKOf35lpKzjyBd6TPM23uAfJvEOQ2/dnKGGJbsUo1/udKSvxQwVHpVv3 +S80OlluKfhWPDEXQpgyFqIzPoxIQTLZ0deirZwMVHarZ5u8HqHetRuAtmO2ZDGQn +vVOJYAjls+Hiueq7Lj7Oce7CQsTwVZeP+XQx28PAaEZ3y6sQEt6rL06ddpSdoTMp +BnCqTbxW+eWMyjkIn6t9GBtUV45yB1EkHNnj2Ex4GwCiN9T84QQjKSr+8f0psGrZ +vPbCbQAwNFJjisLixnjlGPLKa5vOmNwIh/LAyUW5DjpkCx004LPDuqPpFsKXNKpa +L2Dm6uc0x4Jo5m+gUTVORB6hOSzWnWDj2GWfomLzzyjG81DRGFBpco/O93zecsIN +3SL2Ysjpq1zdoS01CMYxie//9zWvYwzI25/OZigtnpCIrcd2j1Y6dMUFQAzAtHE+ +qsXflSL8HIS+IJEFIQobLlYhHkoE3avgNx5jlu+OLYe0dF0Ykx1PGNjbwqvTX37R +Cn32NMjlotW2QcGEZhDKj+3urZizp5xdTPZitA+aEjZM/Ni71VOdiOP0igbw6asZ +2fxdozZ1TnSSYNYvNATwthNmZysCAwEAAaOCAeUwggHhMBIGA1UdEwEB/wQIMAYB +Af8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTR4XENCy2BTm6KSo9MI7NM +XqtpCzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qwshzCBxwYIKwYBBQUH +AQEEgbowgbcwOwYIKwYBBQUHMAKGL2h0dHA6Ly9yb3N0ZWxlY29tLnJ1L2NkcC9y +b290Y2Ffc3NsX3JzYTIwMjIuY3J0MDsGCCsGAQUFBzAChi9odHRwOi8vY29tcGFu +eS5ydC5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNydDA7BggrBgEFBQcwAoYv +aHR0cDovL3JlZXN0ci1wa2kucnUvY2RwL3Jvb3RjYV9zc2xfcnNhMjAyMi5jcnQw +gbAGA1UdHwSBqDCBpTA1oDOgMYYvaHR0cDovL3Jvc3RlbGVjb20ucnUvY2RwL3Jv +b3RjYV9zc2xfcnNhMjAyMi5jcmwwNaAzoDGGL2h0dHA6Ly9jb21wYW55LnJ0LnJ1 +L2NkcC9yb290Y2Ffc3NsX3JzYTIwMjIuY3JsMDWgM6Axhi9odHRwOi8vcmVlc3Ry +LXBraS5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNybDANBgkqhkiG9w0BAQsF +AAOCAgEARBVzZls79AdiSCpar15dA5Hr/rrT4WbrOfzlpI+xrLeRPrUG6eUWIW4v +Sui1yx3iqGLCjPcKb+HOTwoRMbI6ytP/ndp3TlYua2advYBEhSvjs+4vDZNwXr/D +anbwIWdurZmViQRBDFebpkvnIvru/RpWud/5r624Wp8voZMRtj/cm6aI9LtvBfT9 +cfzhOaexI/99c14dyiuk1+6QhdwKaCRTc1mdfNQmnfWNRbfWhWBlK3h4GGE9JK33 +Gk8ZS8DMrkdAh0xby4xAQ/mSWAfWrBmfzlOqGyoB1U47WTOeqNbWkkoAP2ys94+s +Jg4NTkiDVtXRF6nr6fYi0bSOvOFg0IQrMXO2Y8gyg9ARdPJwKtvWX8VPADCYMiWH +h4n8bZokIrImVKLDQKHY4jCsND2HHdJfnrdL2YJw1qFskNO4cSNmZydw0Wkgjv9k +F+KxqrDKlB8MZu2Hclph6v/CZ0fQ9YuE8/lsHZ0Qc2HyiSMnvjgK5fDc3TD4fa8F +E8gMNurM+kV8PT8LNIM+4Zs+LKEV8nqRWBaxkIVJGekkVKO8xDBOG/aN62AZKHOe +GcyIdu7yNMMRihGVZCYr8rYiJoKiOzDqOkPkLOPdhtVlgnhowzHDxMHND/E2WA5p +ZHuNM/m0TXt2wTTPL7JH2YC0gPz/BvvSzjksgzU5rLbRyUKQkgU= +-----END CERTIFICATE----- \ No newline at end of file diff --git a/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem_2024.crt b/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem_2024.crt new file mode 100644 index 000000000..1fbc4a47e --- /dev/null +++ b/linux/advanced/zabbix/5.2/server-pgsql/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem_2024.crt @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIG6DCCBNCgAwIBAgICEAUwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjQwNzE1MTI1MDQxWhcNMjkwNzE5MTI1MDQxWjBvMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMR8wHQYDVQQDDBZSdXNzaWFuIFRydXN0ZWQgU3Vi +IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1j0rkZECOt1S8o7I +JY+4YKAxuEa5xaHKHXT2EpkuC/0krqMOjUy2oPIRNgR5g8X0Jl6jamxeGLc4Q1tf +ju6or9oSRYThIUhRsFDQNBiBBEXoBgWxTfiKB2eyT97+pz5TBtBiRCPaLGRHYLRb +9Jz2HkJlxbtNPjtDrF5DPHym+mZ1M1z3hIQYAqJwLpsEBnsw/VxWMlxqHoeewd0h +uJMd71KQ5vOKlz7KrIZ6EobNNa6wItuvsfj3kYCK7O78uLHGXXFxdr8Hae9lMUmC +8F7AFwa+bO1LRlTlqW7rE3rLf+jj70N01N8T3o22v14YBaFBWQWncAVYD2JuL3tH +252+kdNOERf1fLbLRigJAbd+hOhWYlNf963TFDgnNPliHNIW72SygVBnI2V3JwO1 +dp1hVKpK/zt8ziGdHW4gmOLTsH50YKdR4jNqUgQv4wASlKn9OpN6zHYc5G8h86fY +BM+zxE5ikGI+I/vIqBuI0eaDU92AWN/YjFLpu8tMu9kLRSCf1vug6FIfDPWVo7iP +ac/SI2v8jnnpaW7ph/Pz3WkzaG7ZZJsfFs+8dploWc6LOoDtbFBhMdGMxu024msC +0PSjZb5ODXPIaO2NsA7fMiAtZcoK6anTUJh4zOP/stA9qsJGNxdrEmiPXSmBZY/N +Y0wkZgZ6JTDhw7038bPvctkblJkCAwEAAaOCAYswggGHMB0GA1UdDgQWBBR3Pdk5 +r0K93FvKduru/c4+YSkwXzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qws +hzAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADCBmAYIKwYBBQUH +AQEEgYswgYgwQAYIKwYBBQUHMAKGNGh0dHA6Ly9udWMtY2RwLnZvc2tob2QucnUv +Y2RwL3Jvb3RjYV9zc2xfcnNhMjAyMi5jcnQwRAYIKwYBBQUHMAKGOGh0dHA6Ly9u +dWMtY2RwLmRpZ2l0YWwuZ292LnJ1L2NkcC9yb290Y2Ffc3NsX3JzYTIwMjIuY3J0 +MIGFBgNVHR8EfjB8MDqgOKA2hjRodHRwOi8vbnVjLWNkcC52b3NraG9kLnJ1L2Nk +cC9yb290Y2Ffc3NsX3JzYTIwMjIuY3JsMD6gPKA6hjhodHRwOi8vbnVjLWNkcC5k +aWdpdGFsLmdvdi5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNybDANBgkqhkiG +9w0BAQsFAAOCAgEAmsINXtQ7wwUWvIeOr80MdJS/5G4xhyZOVEmeUorThquT672y +cCg3XCxc4fwbiZqSSbBqntQ7RtiTAKMYMvBageKoVHbzz+R4jX01tKcTx8cDePrz +dJ73bLNUorE7RU9QsW4KyiUeRmjMDV23AUlEvuQFTwgkHXvbac1BBdPn9CrssQuF +5EGohZKcQPFiAAc4SHbRNhlr7uAwgpc/erzI9EAcvA6BVAXcVKoeGpV01uexUgZ6 +St5RP9UmDWNA7T4yVXWJ233N0Q8bl+6AswINQ3PosPu6yQQHQjr65YS06epK+AeI +6j+oGR4xI7EhTQhQvaobnGmX/8QQ7XDRYCP2HXYxiffnn/CfZ/BVyKLYeY1ZipjE +nzqdQIC2+Q3WtY8jsVRQMP38WFRmtsIt5snehnPTs5bKGVIcYzj3o3Ex/K7agEz0 +zAJ0JR5ivXZOvNkT0g9x1v+S1IkU3e/nX1a+tpRquMtnHX0L2lXArNHUbaOO9EJt +d57WaIpofV5cVhhwShOgAuBc9UMJF3/n4t4RKiPxtsK8P67gcmphMhslj7AMYrYM +ej2NvQZY4m3ub3CPC/PrTjDONvb+8g5xrKtxBjYqC74HSB4dg9G3WimSDUuP2Su6 +G2y2TUeyJuCvCLz289VoO0vg7cNdMobE3KCqAiiNhN2VBFxHAUKmUoRcRdw= +-----END CERTIFICATE----- diff --git a/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/epicmorg_epicmorg_rootCA.crt b/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/epicmorg_epicmorg_rootCA.crt new file mode 100644 index 000000000..3e868398d --- /dev/null +++ b/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/epicmorg_epicmorg_rootCA.crt @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIIEEzCCAvugAwIBAgIUfigpDYicmN8hCXwWg9sHF17jVQ0wDQYJKoZIhvcNAQEN +BQAwgZgxCzAJBgNVBAYTAlJVMQwwCgYDVQQIDANTUEIxDDAKBgNVBAcMA1NQQjES +MBAGA1UECgwJRXBpY00ub3JnMRkwFwYDVQQLDBBFcGljTW9yZyBSb290IENBMRow +GAYDVQQDDBFFcGljTS5vcmcgUm9vdCBDQTEiMCAGCSqGSIb3DQEJARYTZGV2ZWxv +cGVyQGVwaWNtLm9yZzAeFw0yNDA2MDExMjQ3MTlaFw0zNDA1MzAxMjQ3MTlaMIGY +MQswCQYDVQQGEwJSVTEMMAoGA1UECAwDU1BCMQwwCgYDVQQHDANTUEIxEjAQBgNV +BAoMCUVwaWNNLm9yZzEZMBcGA1UECwwQRXBpY01vcmcgUm9vdCBDQTEaMBgGA1UE +AwwRRXBpY00ub3JnIFJvb3QgQ0ExIjAgBgkqhkiG9w0BCQEWE2RldmVsb3BlckBl +cGljbS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCU7/vFW4dm +atoZWEhtFwJ8WhBTWAx0fJzON9kzOM6YIvcu6/gpj++0j9d3hsg4VsTLjqeyRhYN +ts3b71CaW96OHZ+X4GFE87p2dOoBvzCE9iM+WqHJZzjf4Oa2hK/oiQtsbU+q66lw +eASPYRl5AU3gm7bzOLlpEvmabSzowdAU8qLBgrqJkdZf4ZjAcLfOvrVk8WaiUH3J +D19newfGu9LIH76LzOu+w48C+nYqUsHtnxVstQgxFdSGuul2UTqK/Xv+IOwR3tXt +WOhId6rGHxyXXM8Q+3jXcNWLLmGYecPoyQ4v3FNnecQzU76sx5h4Zf6oRA6crdya +3tHoPQqa+td3AgMBAAGjUzBRMB0GA1UdDgQWBBRyeMxzrQllpfSaruwHSo9HEJYE +/zAfBgNVHSMEGDAWgBRyeMxzrQllpfSaruwHSo9HEJYE/zAPBgNVHRMBAf8EBTAD +AQH/MA0GCSqGSIb3DQEBDQUAA4IBAQAXqf8kQqSmFVgRQ9EbwCDzHkjPZq0o7lkU +fZiH6/fshMG63lOLirLYXzQhfkkX2Gm671wAATpyj4GHzaf4+BPxn+1XdqGDV+AP +V6EqKNF5lixdEm9KsSlztQ5+7cN7noLbhfHGFm1ExLdLJi4fY0EgX60ACkwttfkb +OCTSXGK6JHXWE2hGWKhANyFjC62oFWdaptTlLDiSLLjtrMfs7c9Ng+HUh0mMwejS +p2/4a3P0OFbLq/2TnHNTdYSDNM/oilhf0crebElUCYHir1HQF74Sh6G3ut8OO95J +qw2J44n6YPr8LwL4lGCj8+okUvwPqC305zpBjP6c1ztmxQ8+dCKZ +-----END CERTIFICATE----- diff --git a/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/epicmorg_intermediateCA_code.crt b/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/epicmorg_intermediateCA_code.crt new file mode 100644 index 000000000..8aa93749d --- /dev/null +++ b/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/epicmorg_intermediateCA_code.crt @@ -0,0 +1,26 @@ +-----BEGIN CERTIFICATE----- +MIIETzCCAzegAwIBAgIUFGpH3osZ3jzR99AL4v3ljyQWtLUwDQYJKoZIhvcNAQEN +BQAwgZgxCzAJBgNVBAYTAlJVMQwwCgYDVQQIDANTUEIxDDAKBgNVBAcMA1NQQjES +MBAGA1UECgwJRXBpY00ub3JnMRkwFwYDVQQLDBBFcGljTW9yZyBSb290IENBMRow +GAYDVQQDDBFFcGljTS5vcmcgUm9vdCBDQTEiMCAGCSqGSIb3DQEJARYTZGV2ZWxv +cGVyQGVwaWNtLm9yZzAeFw0yNDA2MDExMjQ3MjBaFw0zNDA1MzAxMjQ3MjBaMIGv +MQswCQYDVQQGEwJSVTEMMAoGA1UECAwDU1BCMQwwCgYDVQQHDANTUEIxEjAQBgNV +BAoMCUVwaWNNLm9yZzEeMBwGA1UECwwVRXBpY01vcmcgQ29kZSBTaWduaW5nMSww +KgYDVQQDDCNFcGljTS5vcmcgSW50ZXJtZWRpYXRlIENvZGUgU2lnbmluZzEiMCAG +CSqGSIb3DQEJARYTZGV2ZWxvcGVyQGVwaWNtLm9yZzCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAL+Vm2ZwT27KenCyMEujAlmp0c92rCOu3QB/Ji8YR5Fh +EgacatKRQ8kbZfb+uNK8s25oZlYlYd7VxdRp+rwGAjSKjxZ3SoQUj+gt7dGKhgNo +TADMO+17ZC7KS+El4l2esjL4wWSVWT2axnwCbytpe0HG0bfAW3PktSc4X5w+5eoK +YIQ7o00Yp+7tw6MDefQJDjDvigr1BizlCcF3WmygRAP8X+2/gHzzQ2AWqykQ9Vdv +4KPavcCpg7j8rHE4cK2lbET/4vYlexe6GreG6TRvlxntY3BxsERkq8uG5MjriIBl +Z1KKAoGr/0PSjMbqzlzLr0hLeIMZ3JU5AUrIWOZe7iMCAwEAAaN4MHYwHwYDVR0j +BBgwFoAUcnjMc60JZaX0mq7sB0qPRxCWBP8wDwYDVR0TBAgwBgEB/wIBADAOBgNV +HQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMwHQYDVR0OBBYEFPnuujuW +Y60YVHIXpUV15ioUXU3bMA0GCSqGSIb3DQEBDQUAA4IBAQAJvXBYLcPV6TV0cYt7 +KqQ/d7+BPqE5dHYYNKRGQLrZY05ceVDDAnQoiTO7R6zT75I34D0RjcWbBFcJsfas +gvzgjqEItN7cm051kkthGYFIfASN07n89YqUeQpqQ5tg5MEqNBbNAlTgazgwlMFV +sSh3hZLmeUW6phvU89VineF+IPTEhHWcvoYfmwd4rW0JSEImbr6QmJ8dhw0DSocW +HSSpST9Mk6zEswBbs9Pvpgdewy+DkvApD7bPlfy/8jctAKk2R43jw8XTxWy07phE ++po13WQCC94Ydb2MBh0U6gwTPe+/QAS90IpvhjlDQWWJtaZKNQIHMh9qdrZU/fK1 +pzZh +-----END CERTIFICATE----- diff --git a/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/intermediateCA_https.crt b/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/intermediateCA_https.crt new file mode 100644 index 000000000..f0e7d4027 --- /dev/null +++ b/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/intermediateCA_https.crt @@ -0,0 +1,25 @@ +-----BEGIN CERTIFICATE----- +MIIEQTCCAymgAwIBAgIUFGpH3osZ3jzR99AL4v3ljyQWtLYwDQYJKoZIhvcNAQEN +BQAwgZgxCzAJBgNVBAYTAlJVMQwwCgYDVQQIDANTUEIxDDAKBgNVBAcMA1NQQjES +MBAGA1UECgwJRXBpY00ub3JnMRkwFwYDVQQLDBBFcGljTW9yZyBSb290IENBMRow +GAYDVQQDDBFFcGljTS5vcmcgUm9vdCBDQTEiMCAGCSqGSIb3DQEJARYTZGV2ZWxv +cGVyQGVwaWNtLm9yZzAeFw0yNDA2MDExMjQ3MjBaFw0zNDA1MzAxMjQ3MjBaMIGh +MQswCQYDVQQGEwJSVTEMMAoGA1UECAwDU1BCMQwwCgYDVQQHDANTUEIxEjAQBgNV +BAoMCUVwaWNNLm9yZzEXMBUGA1UECwwORXBpY01vcmcgSFRUUFMxJTAjBgNVBAMM +HEVwaWNNLm9yZyBJbnRlcm1lZGlhdGUgSFRUUFMxIjAgBgkqhkiG9w0BCQEWE2Rl +dmVsb3BlckBlcGljbS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQCziMvV2TQ7FRp3SG8ArOre4e34alHUxF7pUFVchMJpEWa6AVFtkPvFs/Zm/KcY +FLxsI8c4UT21lkH6Np1zr8ZUYF/QG32WZTEpeGL3FKI5WO83bSkuaRSGYm9lQ932 +/t+oQ36B+JpLcmnEPr79I4fwU2BG+Yr+1McWqpwOaM10c+2QcXFMUWszno8kxdUG +ixjbxrGGoNJxW+zBhXpC1PBiK5whBe5p/u4cn7i4f8ANTmKd4jn0NSN4K5gnP03J +Wf+ePbbyaXMj4YWamlTMWOFDID9xJHwYaYF8bDVR7cUPKRGJe5D6mc8JcnO8+WHJ +GsvCkRZEA44OEArpXVNwMTgZAgMBAAGjeDB2MB8GA1UdIwQYMBaAFHJ4zHOtCWWl +9Jqu7AdKj0cQlgT/MA8GA1UdEwQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMBMG +A1UdJQQMMAoGCCsGAQUFBwMBMB0GA1UdDgQWBBTyIWWlrsX5gyd+pGFmYzZVnbXg +GzANBgkqhkiG9w0BAQ0FAAOCAQEAdMkjh0fJI+S1u5efCu0LiwM8SaMz0E8OuaAY +7MNLUu1NeiVqPyxYIxr25OnBzDwTIdsoMNHcgQB+aQFWLH6LFRgheBn6ywqIm/zJ +l3+1tLJhj/NJEI7o0eLDjGwKKoSloj8QdpMc+PIQENQVlwNm1zdHBDQfclAL2t1n +UpLfYrt7Hjta++ZI+8JAgqBb3yijI6fu8KRCQU5SpwEV/ifdFWsPjh68oQFnQafQ +WyiKsy4EPPkCChMI/vD/PTImwes8obyGHD/CshNFvxVnmqNq2o9r5wl6udLMC5NF +fpCbO1B5Sm6SwBhpOAWfaD2SoVP1d0MKCroATB88vpZUCFoaVw== +-----END CERTIFICATE----- diff --git a/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt b/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt new file mode 100644 index 000000000..4c143a21f --- /dev/null +++ b/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt @@ -0,0 +1,33 @@ +-----BEGIN CERTIFICATE----- +MIIFwjCCA6qgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjIwMzAxMjEwNDE1WhcNMzIwMjI3MjEwNDE1WjBwMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMSAwHgYDVQQDDBdSdXNzaWFuIFRydXN0ZWQgUm9v +dCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMfFOZ8pUAL3+r2n +qqE0Zp52selXsKGFYoG0GM5bwz1bSFtCt+AZQMhkWQheI3poZAToYJu69pHLKS6Q +XBiwBC1cvzYmUYKMYZC7jE5YhEU2bSL0mX7NaMxMDmH2/NwuOVRj8OImVa5s1F4U +zn4Kv3PFlDBjjSjXKVY9kmjUBsXQrIHeaqmUIsPIlNWUnimXS0I0abExqkbdrXbX +YwCOXhOO2pDUx3ckmJlCMUGacUTnylyQW2VsJIyIGA8V0xzdaeUXg0VZ6ZmNUr5Y +Ber/EAOLPb8NYpsAhJe2mXjMB/J9HNsoFMBFJ0lLOT/+dQvjbdRZoOT8eqJpWnVD +U+QL/qEZnz57N88OWM3rabJkRNdU/Z7x5SFIM9FrqtN8xewsiBWBI0K6XFuOBOTD +4V08o4TzJ8+Ccq5XlCUW2L48pZNCYuBDfBh7FxkB7qDgGDiaftEkZZfApRg2E+M9 +G8wkNKTPLDc4wH0FDTijhgxR3Y4PiS1HL2Zhw7bD3CbslmEGgfnnZojNkJtcLeBH +BLa52/dSwNU4WWLubaYSiAmA9IUMX1/RpfpxOxd4Ykmhz97oFbUaDJFipIggx5sX +ePAlkTdWnv+RWBxlJwMQ25oEHmRguNYf4Zr/Rxr9cS93Y+mdXIZaBEE0KS2iLRqa +OiWBki9IMQU4phqPOBAaG7A+eP8PAgMBAAGjZjBkMB0GA1UdDgQWBBTh0YHlzlpf +BKrS6badZrHF+qwshzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qwshzAS +BgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF +AAOCAgEAALIY1wkilt/urfEVM5vKzr6utOeDWCUczmWX/RX4ljpRdgF+5fAIS4vH +tmXkqpSCOVeWUrJV9QvZn6L227ZwuE15cWi8DCDal3Ue90WgAJJZMfTshN4OI8cq +W9E4EG9wglbEtMnObHlms8F3CHmrw3k6KmUkWGoa+/ENmcVl68u/cMRl1JbW2bM+ +/3A+SAg2c6iPDlehczKx2oa95QW0SkPPWGuNA/CE8CpyANIhu9XFrj3RQ3EqeRcS +AQQod1RNuHpfETLU/A2gMmvn/w/sx7TB3W5BPs6rprOA37tutPq9u6FTZOcG1Oqj +C/B7yTqgI7rbyvox7DEXoX7rIiEqyNNUguTk/u3SZ4VXE2kmxdmSh3TQvybfbnXV +4JbCZVaqiZraqc7oZMnRoWrXRG3ztbnbes/9qhRGI7PqXqeKJBztxRTEVj8ONs1d +WN5szTwaPIvhkhO3CO5ErU2rVdUr89wKpNXbBODFKRtgxUT70YpmJ46VVaqdAhOZ +D9EUUn4YaeLaS8AjSF/h7UkjOibNc4qVDiPP+rkehFWM66PVnP1Msh93tc+taIfC +EYVMxjh8zNbFuoc7fzvvrFILLe7ifvEIUqSVIC/AzplM/Jxw7buXFeGP1qVCBEHq +391d/9RAfaZ12zkwFsl+IKwE/OZxW8AHa9i1p4GO0YSNuczzEm4= +-----END CERTIFICATE----- \ No newline at end of file diff --git a/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt b/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt new file mode 100644 index 000000000..2e3f8285d --- /dev/null +++ b/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt @@ -0,0 +1,41 @@ +-----BEGIN CERTIFICATE----- +MIIHQjCCBSqgAwIBAgICEAIwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjIwMzAyMTEyNTE5WhcNMjcwMzA2MTEyNTE5WjBvMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMR8wHQYDVQQDDBZSdXNzaWFuIFRydXN0ZWQgU3Vi +IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9YPqBKOk19NFymrE +wehzrhBEgT2atLezpduB24mQ7CiOa/HVpFCDRZzdxqlh8drku408/tTmWzlNH/br +HuQhZ/miWKOf35lpKzjyBd6TPM23uAfJvEOQ2/dnKGGJbsUo1/udKSvxQwVHpVv3 +S80OlluKfhWPDEXQpgyFqIzPoxIQTLZ0deirZwMVHarZ5u8HqHetRuAtmO2ZDGQn +vVOJYAjls+Hiueq7Lj7Oce7CQsTwVZeP+XQx28PAaEZ3y6sQEt6rL06ddpSdoTMp +BnCqTbxW+eWMyjkIn6t9GBtUV45yB1EkHNnj2Ex4GwCiN9T84QQjKSr+8f0psGrZ +vPbCbQAwNFJjisLixnjlGPLKa5vOmNwIh/LAyUW5DjpkCx004LPDuqPpFsKXNKpa +L2Dm6uc0x4Jo5m+gUTVORB6hOSzWnWDj2GWfomLzzyjG81DRGFBpco/O93zecsIN +3SL2Ysjpq1zdoS01CMYxie//9zWvYwzI25/OZigtnpCIrcd2j1Y6dMUFQAzAtHE+ +qsXflSL8HIS+IJEFIQobLlYhHkoE3avgNx5jlu+OLYe0dF0Ykx1PGNjbwqvTX37R +Cn32NMjlotW2QcGEZhDKj+3urZizp5xdTPZitA+aEjZM/Ni71VOdiOP0igbw6asZ +2fxdozZ1TnSSYNYvNATwthNmZysCAwEAAaOCAeUwggHhMBIGA1UdEwEB/wQIMAYB +Af8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTR4XENCy2BTm6KSo9MI7NM +XqtpCzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qwshzCBxwYIKwYBBQUH +AQEEgbowgbcwOwYIKwYBBQUHMAKGL2h0dHA6Ly9yb3N0ZWxlY29tLnJ1L2NkcC9y +b290Y2Ffc3NsX3JzYTIwMjIuY3J0MDsGCCsGAQUFBzAChi9odHRwOi8vY29tcGFu +eS5ydC5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNydDA7BggrBgEFBQcwAoYv +aHR0cDovL3JlZXN0ci1wa2kucnUvY2RwL3Jvb3RjYV9zc2xfcnNhMjAyMi5jcnQw +gbAGA1UdHwSBqDCBpTA1oDOgMYYvaHR0cDovL3Jvc3RlbGVjb20ucnUvY2RwL3Jv +b3RjYV9zc2xfcnNhMjAyMi5jcmwwNaAzoDGGL2h0dHA6Ly9jb21wYW55LnJ0LnJ1 +L2NkcC9yb290Y2Ffc3NsX3JzYTIwMjIuY3JsMDWgM6Axhi9odHRwOi8vcmVlc3Ry +LXBraS5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNybDANBgkqhkiG9w0BAQsF +AAOCAgEARBVzZls79AdiSCpar15dA5Hr/rrT4WbrOfzlpI+xrLeRPrUG6eUWIW4v +Sui1yx3iqGLCjPcKb+HOTwoRMbI6ytP/ndp3TlYua2advYBEhSvjs+4vDZNwXr/D +anbwIWdurZmViQRBDFebpkvnIvru/RpWud/5r624Wp8voZMRtj/cm6aI9LtvBfT9 +cfzhOaexI/99c14dyiuk1+6QhdwKaCRTc1mdfNQmnfWNRbfWhWBlK3h4GGE9JK33 +Gk8ZS8DMrkdAh0xby4xAQ/mSWAfWrBmfzlOqGyoB1U47WTOeqNbWkkoAP2ys94+s +Jg4NTkiDVtXRF6nr6fYi0bSOvOFg0IQrMXO2Y8gyg9ARdPJwKtvWX8VPADCYMiWH +h4n8bZokIrImVKLDQKHY4jCsND2HHdJfnrdL2YJw1qFskNO4cSNmZydw0Wkgjv9k +F+KxqrDKlB8MZu2Hclph6v/CZ0fQ9YuE8/lsHZ0Qc2HyiSMnvjgK5fDc3TD4fa8F +E8gMNurM+kV8PT8LNIM+4Zs+LKEV8nqRWBaxkIVJGekkVKO8xDBOG/aN62AZKHOe +GcyIdu7yNMMRihGVZCYr8rYiJoKiOzDqOkPkLOPdhtVlgnhowzHDxMHND/E2WA5p +ZHuNM/m0TXt2wTTPL7JH2YC0gPz/BvvSzjksgzU5rLbRyUKQkgU= +-----END CERTIFICATE----- \ No newline at end of file diff --git a/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem_2024.crt b/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem_2024.crt new file mode 100644 index 000000000..1fbc4a47e --- /dev/null +++ b/linux/advanced/zabbix/6.2/proxy-mysql/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem_2024.crt @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIG6DCCBNCgAwIBAgICEAUwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjQwNzE1MTI1MDQxWhcNMjkwNzE5MTI1MDQxWjBvMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMR8wHQYDVQQDDBZSdXNzaWFuIFRydXN0ZWQgU3Vi +IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1j0rkZECOt1S8o7I +JY+4YKAxuEa5xaHKHXT2EpkuC/0krqMOjUy2oPIRNgR5g8X0Jl6jamxeGLc4Q1tf +ju6or9oSRYThIUhRsFDQNBiBBEXoBgWxTfiKB2eyT97+pz5TBtBiRCPaLGRHYLRb +9Jz2HkJlxbtNPjtDrF5DPHym+mZ1M1z3hIQYAqJwLpsEBnsw/VxWMlxqHoeewd0h +uJMd71KQ5vOKlz7KrIZ6EobNNa6wItuvsfj3kYCK7O78uLHGXXFxdr8Hae9lMUmC +8F7AFwa+bO1LRlTlqW7rE3rLf+jj70N01N8T3o22v14YBaFBWQWncAVYD2JuL3tH +252+kdNOERf1fLbLRigJAbd+hOhWYlNf963TFDgnNPliHNIW72SygVBnI2V3JwO1 +dp1hVKpK/zt8ziGdHW4gmOLTsH50YKdR4jNqUgQv4wASlKn9OpN6zHYc5G8h86fY +BM+zxE5ikGI+I/vIqBuI0eaDU92AWN/YjFLpu8tMu9kLRSCf1vug6FIfDPWVo7iP +ac/SI2v8jnnpaW7ph/Pz3WkzaG7ZZJsfFs+8dploWc6LOoDtbFBhMdGMxu024msC +0PSjZb5ODXPIaO2NsA7fMiAtZcoK6anTUJh4zOP/stA9qsJGNxdrEmiPXSmBZY/N +Y0wkZgZ6JTDhw7038bPvctkblJkCAwEAAaOCAYswggGHMB0GA1UdDgQWBBR3Pdk5 +r0K93FvKduru/c4+YSkwXzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qws +hzAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADCBmAYIKwYBBQUH +AQEEgYswgYgwQAYIKwYBBQUHMAKGNGh0dHA6Ly9udWMtY2RwLnZvc2tob2QucnUv +Y2RwL3Jvb3RjYV9zc2xfcnNhMjAyMi5jcnQwRAYIKwYBBQUHMAKGOGh0dHA6Ly9u +dWMtY2RwLmRpZ2l0YWwuZ292LnJ1L2NkcC9yb290Y2Ffc3NsX3JzYTIwMjIuY3J0 +MIGFBgNVHR8EfjB8MDqgOKA2hjRodHRwOi8vbnVjLWNkcC52b3NraG9kLnJ1L2Nk +cC9yb290Y2Ffc3NsX3JzYTIwMjIuY3JsMD6gPKA6hjhodHRwOi8vbnVjLWNkcC5k +aWdpdGFsLmdvdi5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNybDANBgkqhkiG +9w0BAQsFAAOCAgEAmsINXtQ7wwUWvIeOr80MdJS/5G4xhyZOVEmeUorThquT672y +cCg3XCxc4fwbiZqSSbBqntQ7RtiTAKMYMvBageKoVHbzz+R4jX01tKcTx8cDePrz +dJ73bLNUorE7RU9QsW4KyiUeRmjMDV23AUlEvuQFTwgkHXvbac1BBdPn9CrssQuF +5EGohZKcQPFiAAc4SHbRNhlr7uAwgpc/erzI9EAcvA6BVAXcVKoeGpV01uexUgZ6 +St5RP9UmDWNA7T4yVXWJ233N0Q8bl+6AswINQ3PosPu6yQQHQjr65YS06epK+AeI +6j+oGR4xI7EhTQhQvaobnGmX/8QQ7XDRYCP2HXYxiffnn/CfZ/BVyKLYeY1ZipjE +nzqdQIC2+Q3WtY8jsVRQMP38WFRmtsIt5snehnPTs5bKGVIcYzj3o3Ex/K7agEz0 +zAJ0JR5ivXZOvNkT0g9x1v+S1IkU3e/nX1a+tpRquMtnHX0L2lXArNHUbaOO9EJt +d57WaIpofV5cVhhwShOgAuBc9UMJF3/n4t4RKiPxtsK8P67gcmphMhslj7AMYrYM +ej2NvQZY4m3ub3CPC/PrTjDONvb+8g5xrKtxBjYqC74HSB4dg9G3WimSDUuP2Su6 +G2y2TUeyJuCvCLz289VoO0vg7cNdMobE3KCqAiiNhN2VBFxHAUKmUoRcRdw= +-----END CERTIFICATE----- diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node23/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node23/docker-compose.yml index fec117814..628407c75 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node23/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node23/docker-compose.yml @@ -1,10 +1,10 @@ services: app: - image: "quay.io/epicmorg/debian:bookworm-nodejs22" + image: "quay.io/epicmorg/debian:bookworm-nodejs23" build: context: . app-develop: - image: "quay.io/epicmorg/debian:bookworm-develop-nodejs22" + image: "quay.io/epicmorg/debian:bookworm-develop-nodejs23" build: context: . dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Dockerfile index 158055446..fe0550a07 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Dockerfile @@ -22,7 +22,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Version after install diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Dockerfile.develop index b3e6afc0d..b93de17e8 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Dockerfile.develop @@ -22,7 +22,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Setup certs diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Dockerfile index 1e3d9bc63..139c977b1 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Dockerfile @@ -22,7 +22,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Version after install diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Dockerfile.develop index 060d3ea79..9750c91a8 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Dockerfile.develop @@ -22,7 +22,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Setup certs diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Dockerfile index ea6c82576..784c943a7 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Dockerfile @@ -1,6 +1,3 @@ -FROM quay.io/epicmorg/debian:trixie-develop as builder -RUN echo "Just temp lyer to copy OpenSSL" - FROM quay.io/epicmorg/debian:trixie LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive @@ -14,23 +11,6 @@ ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scrip ENV DOTNET_CLI_TELEMETRY_OPTOUT=true ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -################################################################## -# OpenSSL 3.4 -################################################################## -ENV OPENSSL_34_VERSION=3.4.1 -ENV OPENSSL_34_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_34_VERSION} -ENV OPENSSL_34_BIN_DIR=${OPENSSL_34_DIR}/bin -ENV OPENSSL_34_INC_DIR=${OPENSSL_34_DIR}/include -ENV OPENSSL_34_LIB_DIR=${OPENSSL_34_DIR}/lib64 -ENV OPENSSL_34_SRC_DIR=/usr/local/src/openssl/${OPENSSL_34_VERSION} - -COPY --from=builder ${OPENSSL_34_DIR} ${OPENSSL_34_DIR} -COPY --from=builder ${OPENSSL_34_SRC_DIR} ${OPENSSL_34_SRC_DIR} - -ENV OPENSSL_ROOT=${OPENSSL_34_DIR} -ENV LD_LIBRARY_PATH="${OPENSSL_ROOT}/lib64:${PYTHON_DIR}/lib:$LD_LIBRARY_PATH" -ENV PYTHONPATH="${PYTHON_DIR}/lib/python${PYTHON_VERSION}/site-packages:$PYTHONPATH" - ################################################################## # installing dotnet ################################################################## @@ -42,7 +22,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Version after install diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Dockerfile.develop index 3dd5f2b31..d9900c5b0 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Dockerfile.develop @@ -11,10 +11,6 @@ ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scrip ENV DOTNET_CLI_TELEMETRY_OPTOUT=true ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -ENV OPENSSL_ROOT=${OPENSSL_34_DIR} -ENV LD_LIBRARY_PATH="${OPENSSL_ROOT}/lib64:${PYTHON_DIR}/lib:$LD_LIBRARY_PATH" -ENV PYTHONPATH="${PYTHON_DIR}/lib/python${PYTHON_VERSION}/site-packages:$PYTHONPATH" - ################################################################## # installing dotnet ################################################################## @@ -26,7 +22,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Setup certs diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Dockerfile index 9532c13b4..a30f58ea3 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Dockerfile @@ -14,23 +14,6 @@ ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scrip ENV DOTNET_CLI_TELEMETRY_OPTOUT=true ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -################################################################## -# OpenSSL 3.4 -################################################################## -ENV OPENSSL_34_VERSION=3.4.1 -ENV OPENSSL_34_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_34_VERSION} -ENV OPENSSL_34_BIN_DIR=${OPENSSL_34_DIR}/bin -ENV OPENSSL_34_INC_DIR=${OPENSSL_34_DIR}/include -ENV OPENSSL_34_LIB_DIR=${OPENSSL_34_DIR}/lib64 -ENV OPENSSL_34_SRC_DIR=/usr/local/src/openssl/${OPENSSL_34_VERSION} - -COPY --from=builder ${OPENSSL_34_DIR} ${OPENSSL_34_DIR} -COPY --from=builder ${OPENSSL_34_SRC_DIR} ${OPENSSL_34_SRC_DIR} - -ENV OPENSSL_ROOT=${OPENSSL_34_DIR} -ENV LD_LIBRARY_PATH="${OPENSSL_ROOT}/lib64:${PYTHON_DIR}/lib:$LD_LIBRARY_PATH" -ENV PYTHONPATH="${PYTHON_DIR}/lib/python${PYTHON_VERSION}/site-packages:$PYTHONPATH" - ################################################################## # installing dotnet ################################################################## @@ -42,7 +25,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Version after install diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Dockerfile.develop index caef82978..2cc652618 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Dockerfile.develop @@ -11,10 +11,6 @@ ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scrip ENV DOTNET_CLI_TELEMETRY_OPTOUT=true ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -ENV OPENSSL_ROOT=${OPENSSL_34_DIR} -ENV LD_LIBRARY_PATH="${OPENSSL_ROOT}/lib64:${PYTHON_DIR}/lib:$LD_LIBRARY_PATH" -ENV PYTHONPATH="${PYTHON_DIR}/lib/python${PYTHON_VERSION}/site-packages:$PYTHONPATH" - ################################################################## # installing dotnet ################################################################## @@ -26,7 +22,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Setup certs diff --git a/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Dockerfile index 2ba1f276d..7718926fa 100644 --- a/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Dockerfile @@ -22,7 +22,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Version after install diff --git a/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Dockerfile.develop index 3b4f4ec2e..014407694 100644 --- a/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Dockerfile.develop @@ -22,7 +22,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Setup certs diff --git a/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Dockerfile index 66d1a482c..ed4ba9ca9 100644 --- a/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Dockerfile @@ -22,7 +22,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Version after install diff --git a/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Dockerfile.develop index 5a4285ca9..459920a8b 100644 --- a/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Dockerfile.develop @@ -22,7 +22,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Setup certs diff --git a/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Dockerfile index fba5e8bfb..a73b4db0c 100644 --- a/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Dockerfile @@ -1,6 +1,3 @@ -FROM quay.io/epicmorg/debian:sid-develop as builder -RUN echo "Just temp lyer to copy OpenSSL" - FROM quay.io/epicmorg/debian:sid LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive @@ -14,23 +11,6 @@ ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scrip ENV DOTNET_CLI_TELEMETRY_OPTOUT=true ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -################################################################## -# OpenSSL 3.4 -################################################################## -ENV OPENSSL_34_VERSION=3.4.1 -ENV OPENSSL_34_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_34_VERSION} -ENV OPENSSL_34_BIN_DIR=${OPENSSL_34_DIR}/bin -ENV OPENSSL_34_INC_DIR=${OPENSSL_34_DIR}/include -ENV OPENSSL_34_LIB_DIR=${OPENSSL_34_DIR}/lib64 -ENV OPENSSL_34_SRC_DIR=/usr/local/src/openssl/${OPENSSL_34_VERSION} - -COPY --from=builder ${OPENSSL_34_DIR} ${OPENSSL_34_DIR} -COPY --from=builder ${OPENSSL_34_SRC_DIR} ${OPENSSL_34_SRC_DIR} - -ENV OPENSSL_ROOT=${OPENSSL_34_DIR} -ENV LD_LIBRARY_PATH="${OPENSSL_ROOT}/lib64:${PYTHON_DIR}/lib:$LD_LIBRARY_PATH" -ENV PYTHONPATH="${PYTHON_DIR}/lib/python${PYTHON_VERSION}/site-packages:$PYTHONPATH" - ################################################################## # installing dotnet ################################################################## @@ -42,7 +22,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Version after install diff --git a/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Dockerfile.develop index b55f4bc5e..2de77664b 100644 --- a/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Dockerfile.develop @@ -11,10 +11,6 @@ ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scrip ENV DOTNET_CLI_TELEMETRY_OPTOUT=true ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -ENV OPENSSL_ROOT=${OPENSSL_34_DIR} -ENV LD_LIBRARY_PATH="${OPENSSL_ROOT}/lib64:${PYTHON_DIR}/lib:$LD_LIBRARY_PATH" -ENV PYTHONPATH="${PYTHON_DIR}/lib/python${PYTHON_VERSION}/site-packages:$PYTHONPATH" - ################################################################## # installing dotnet ################################################################## @@ -26,7 +22,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Setup certs diff --git a/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Dockerfile index 06eb16816..6a35b8628 100644 --- a/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Dockerfile @@ -1,6 +1,3 @@ -FROM quay.io/epicmorg/debian:sid-develop as builder -RUN echo "Just temp lyer to copy OpenSSL" - FROM quay.io/epicmorg/debian:sid LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive @@ -14,23 +11,6 @@ ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scrip ENV DOTNET_CLI_TELEMETRY_OPTOUT=true ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -################################################################## -# OpenSSL 3.4 -################################################################## -ENV OPENSSL_34_VERSION=3.4.1 -ENV OPENSSL_34_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_34_VERSION} -ENV OPENSSL_34_BIN_DIR=${OPENSSL_34_DIR}/bin -ENV OPENSSL_34_INC_DIR=${OPENSSL_34_DIR}/include -ENV OPENSSL_34_LIB_DIR=${OPENSSL_34_DIR}/lib64 -ENV OPENSSL_34_SRC_DIR=/usr/local/src/openssl/${OPENSSL_34_VERSION} - -COPY --from=builder ${OPENSSL_34_DIR} ${OPENSSL_34_DIR} -COPY --from=builder ${OPENSSL_34_SRC_DIR} ${OPENSSL_34_SRC_DIR} - -ENV OPENSSL_ROOT=${OPENSSL_34_DIR} -ENV LD_LIBRARY_PATH="${OPENSSL_ROOT}/lib64:${PYTHON_DIR}/lib:$LD_LIBRARY_PATH" -ENV PYTHONPATH="${PYTHON_DIR}/lib/python${PYTHON_VERSION}/site-packages:$PYTHONPATH" - ################################################################## # installing dotnet ################################################################## @@ -42,7 +22,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Version after install diff --git a/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Dockerfile.develop index 79a45292b..177661621 100644 --- a/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Dockerfile.develop @@ -11,10 +11,6 @@ ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scrip ENV DOTNET_CLI_TELEMETRY_OPTOUT=true ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -ENV OPENSSL_ROOT=${OPENSSL_34_DIR} -ENV LD_LIBRARY_PATH="${OPENSSL_ROOT}/lib64:${PYTHON_DIR}/lib:$LD_LIBRARY_PATH" -ENV PYTHONPATH="${PYTHON_DIR}/lib/python${PYTHON_VERSION}/site-packages:$PYTHONPATH" - ################################################################## # installing dotnet ################################################################## @@ -26,7 +22,7 @@ RUN mkdir -p ${DOTNET_ROOT} && \ ################################################################## # Setup $PATH ################################################################## -ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR}:${OPENSSL_34_BIN_DIR} +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} ################################################################## # Setup certs diff --git a/linux/ecosystem/github/runner/amxx-sdk/1.10/Dockerfile b/linux/ecosystem/github/runner/amxx-sdk/1.10/Dockerfile new file mode 100644 index 000000000..08b1e074e --- /dev/null +++ b/linux/ecosystem/github/runner/amxx-sdk/1.10/Dockerfile @@ -0,0 +1,51 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# teamcity AMXXModX setup +################################################################## +# +# Reserved for future +# export AMXX_CSTRIKE_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-cstrike-linux` && \ +# export AMXX_DOD_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-dod-linux` && \ +# export AMXX_ESF_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-esf-linux` && \ +# export AMXX_NS_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-ns-linux` && \ +# export AMXX_TFC_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-tfc-linux` && \ +# export AMXX_TS_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-base-linux` && \ +# +# Install packages +ENV AMXX_VERSION=1.10 +ENV AMXX_INSTALL_PATH=${EMG_LOCAL_BASE_DIR}/amxmodx/${AMXX_VERSION} +ENV AMXX_BIN_PATH=${AMXX_INSTALL_PATH}/scripting +ENV AMXX_INC_PATH=${AMXX_BIN_PATH}/include +ENV PATH=${AMXX_BIN_PATH}:${PATH} +ENV LD_LIBRARY_PATH=${AMXX_BIN_PATH}:${LD_LIBRARY_PATH} + +COPY inc.tar /tmp + +RUN export AMXX_BASE_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.10/amxmodx-latest-base-linux` && \ + mkdir -p ${AMXX_INSTALL_PATH} && \ + curl -SL https://www.amxmodx.org/amxxdrop/{$AMXX_VERSION}/{$AMXX_BASE_LATEST_VERSION} -o /tmp/amxx_base_latest.tar.gz && \ + cd /tmp && tar -zxf /tmp/amxx_base_latest.tar.gz && cd / && \ + mv -f /tmp/addons/amxmodx/* ${AMXX_INSTALL_PATH} && \ + chmod +x ${AMXX_BIN_PATH}/amxxpc && \ + chmod +x ${AMXX_BIN_PATH}/compile.sh && \ + tar -C ${AMXX_INC_PATH} -xvf /tmp/inc.tar && \ + chmod -R 700 ${AMXX_INC_PATH} && \ + amxxpc --help 2>&1 | head -n 1 + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## +RUN updatedb diff --git a/linux/advanced/vscode-server/devops/Makefile b/linux/ecosystem/github/runner/amxx-sdk/1.10/Makefile similarity index 95% rename from linux/advanced/vscode-server/devops/Makefile rename to linux/ecosystem/github/runner/amxx-sdk/1.10/Makefile index ff56425bb..1e4371492 100644 --- a/linux/advanced/vscode-server/devops/Makefile +++ b/linux/ecosystem/github/runner/amxx-sdk/1.10/Makefile @@ -13,7 +13,7 @@ deploy: make deploy-buildah build-buildah: - buildah-wrapper --build --squash + buildah-wrapper --build deploy-buildah: buildah-wrapper --deploy diff --git a/linux/ecosystem/github/runner/amxx-sdk/1.10/README.md b/linux/ecosystem/github/runner/amxx-sdk/1.10/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/amxx-sdk/1.10/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/amxx-sdk/1.10/docker-compose.yml b/linux/ecosystem/github/runner/amxx-sdk/1.10/docker-compose.yml new file mode 100644 index 000000000..9dbf99195 --- /dev/null +++ b/linux/ecosystem/github/runner/amxx-sdk/1.10/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:amxx-sdk-rc" + build: + context: . diff --git a/linux/advanced/vscode-server/devops/inc.tar b/linux/ecosystem/github/runner/amxx-sdk/1.10/inc.tar similarity index 100% rename from linux/advanced/vscode-server/devops/inc.tar rename to linux/ecosystem/github/runner/amxx-sdk/1.10/inc.tar diff --git a/linux/ecosystem/github/runner/amxx-sdk/1.9/Dockerfile b/linux/ecosystem/github/runner/amxx-sdk/1.9/Dockerfile new file mode 100644 index 000000000..28a0c6547 --- /dev/null +++ b/linux/ecosystem/github/runner/amxx-sdk/1.9/Dockerfile @@ -0,0 +1,51 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# teamcity AMXXModX setup +################################################################## +# +# Reserved for future +# export AMXX_CSTRIKE_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.9/amxmodx-latest-cstrike-linux` && \ +# export AMXX_DOD_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.9/amxmodx-latest-dod-linux` && \ +# export AMXX_ESF_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.9/amxmodx-latest-esf-linux` && \ +# export AMXX_NS_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.9/amxmodx-latest-ns-linux` && \ +# export AMXX_TFC_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.9/amxmodx-latest-tfc-linux` && \ +# export AMXX_TS_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.9/amxmodx-latest-base-linux` && \ +# +# Install packages +ENV AMXX_VERSION=1.9 +ENV AMXX_INSTALL_PATH=${EMG_LOCAL_BASE_DIR}/amxmodx/${AMXX_VERSION} +ENV AMXX_BIN_PATH=${AMXX_INSTALL_PATH}/scripting +ENV AMXX_INC_PATH=${AMXX_BIN_PATH}/include +ENV PATH=${AMXX_BIN_PATH}:${PATH} +ENV LD_LIBRARY_PATH=${AMXX_BIN_PATH}:${LD_LIBRARY_PATH} + +COPY inc.tar /tmp + +RUN export AMXX_BASE_LATEST_VERSION=`curl -s https://www.amxmodx.org/amxxdrop/1.9/amxmodx-latest-base-linux` && \ + mkdir -p ${AMXX_INSTALL_PATH} && \ + curl -SL https://www.amxmodx.org/amxxdrop/{$AMXX_VERSION}/{$AMXX_BASE_LATEST_VERSION} -o /tmp/amxx_base_latest.tar.gz && \ + cd /tmp && tar -zxf /tmp/amxx_base_latest.tar.gz && cd / && \ + mv -f /tmp/addons/amxmodx/* ${AMXX_INSTALL_PATH} && \ + chmod +x ${AMXX_BIN_PATH}/amxxpc && \ + chmod +x ${AMXX_BIN_PATH}/compile.sh && \ + tar -C ${AMXX_INC_PATH} -xvf /tmp/inc.tar && \ + chmod -R 700 ${AMXX_INC_PATH} && \ + amxxpc --help 2>&1 | head -n 1 + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## +RUN updatedb diff --git a/linux/ecosystem/github/runner/amxx-sdk/1.9/Makefile b/linux/ecosystem/github/runner/amxx-sdk/1.9/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/amxx-sdk/1.9/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/amxx-sdk/1.9/README.md b/linux/ecosystem/github/runner/amxx-sdk/1.9/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/amxx-sdk/1.9/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/amxx-sdk/1.9/docker-compose.yml b/linux/ecosystem/github/runner/amxx-sdk/1.9/docker-compose.yml new file mode 100644 index 000000000..1f1a4be37 --- /dev/null +++ b/linux/ecosystem/github/runner/amxx-sdk/1.9/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:amxx-sdk" + build: + context: . diff --git a/linux/ecosystem/github/runner/amxx-sdk/1.9/inc.tar b/linux/ecosystem/github/runner/amxx-sdk/1.9/inc.tar new file mode 100644 index 000000000..533c3a1b5 Binary files /dev/null and b/linux/ecosystem/github/runner/amxx-sdk/1.9/inc.tar differ diff --git a/linux/ecosystem/github/runner/android-sdk/Dockerfile b/linux/ecosystem/github/runner/android-sdk/Dockerfile new file mode 100644 index 000000000..8fd2f099a --- /dev/null +++ b/linux/ecosystem/github/runner/android-sdk/Dockerfile @@ -0,0 +1,162 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=17 +ARG K_JDK_FULL_VERSION=jdk-17.0.15 +ARG K_JDK_VERSION=17.0.15 +ARG K_JDK_BUILD_VERSION=6 +ARG K_JDK_DIR=${EMG_LOCAL_BASE_DIR}/java/${K_JDK_MAJOR_VERSION} +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=${K_JDK_DIR} +ENV JRE_HOME=${JAVA_HOME} +ENV JDK_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java17 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN mkdir -p ${K_JDK_DIR} && \ + tar -xzf ${K_JDK_TEMP} --strip-components=1 --directory ${K_JDK_DIR} && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + ln -sfv ${JAVA_HOME} /usr/jdk && \ + java -version && \ +# cleanup + apt-get clean -y && \ + apt-get clean all -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.9 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=${EMG_LOCAL_BASE_DIR}/maven/${MAVEN_VERSION} +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.13 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=${EMG_LOCAL_BASE_DIR}/gradle/${GRADLE_VERSION} +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.1.10 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KTC_VERSION} +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KNPL_VERSION} +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + + +################################################################## +# Android SDK +################################################################## +ENV ANDROID_HOME=${EMG_LOCAL_BASE_DIR}/android/sdk +ENV ANDROID_SDK_ROOT=${ANDROID_HOME} + +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + android-sdk \ + sdkmanager \ + android-sdk-build-tools \ + android-sdk-platform-tools-common \ + android-sdk-platform-tools \ + adb fastboot f2fs-tools e2fsprogs libsqlite3-0 sqlite3 && \ + mkdir -p ${ANDROID_HOME} && \ + sdkmanager --version && \ + gradle -v && \ + mvn -v + +RUN sdkmanager --install --verbose \ + "cmake;3.22.1" \ +# + "cmdline-tools;latest" \ +# + "tools" \ +# + "platform-tools" \ +# + "platforms;android-35" \ +# + "build-tools;35.0.0" \ +# + "extras;android;m2repository" \ +# + "ndk;25.2.9519653" + +ENV PATH="${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin:${ANDROID_SDK_ROOT}/tools/bin:${ANDROID_SDK_ROOT}/tools:${ANDROID_SDK_ROOT}/tools/proguard/bin:${ANDROID_SDK_ROOT}/platform-tools:${PATH}" + +# Activate android sdk +RUN yes | sdkmanager --licenses && \ + flutter doctor && \ + yes | sdkmanager --licenses && \ + flutter doctor -v + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## + +RUN updatedb diff --git a/linux/ecosystem/github/runner/android-sdk/Makefile b/linux/ecosystem/github/runner/android-sdk/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/android-sdk/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/android-sdk/README.md b/linux/ecosystem/github/runner/android-sdk/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/android-sdk/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/android-sdk/docker-compose.yml b/linux/ecosystem/github/runner/android-sdk/docker-compose.yml new file mode 100644 index 000000000..70c1d26ab --- /dev/null +++ b/linux/ecosystem/github/runner/android-sdk/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:android-sdk" + build: + context: . diff --git a/linux/ecosystem/github/runner/atlassian-sdk/Dockerfile b/linux/ecosystem/github/runner/atlassian-sdk/Dockerfile new file mode 100644 index 000000000..74fc836a1 --- /dev/null +++ b/linux/ecosystem/github/runner/atlassian-sdk/Dockerfile @@ -0,0 +1,151 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=8 +ARG K_JDK_FULL_VERSION=jdk8u452 +ARG K_JDK_VERSION=8u452 +ARG K_JDK_BUILD_VERSION=b09 +ARG K_JDK_DIR=${EMG_LOCAL_BASE_DIR}/java/${K_JDK_MAJOR_VERSION} +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}-${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=${K_JDK_DIR} +ENV JRE_HOME=${JAVA_HOME} +ENV JDK_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java8 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN mkdir -p ${K_JDK_DIR} && \ + tar -xzf ${K_JDK_TEMP} --strip-components=1 --directory ${K_JDK_DIR} && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + ln -sfv ${JAVA_HOME} /usr/jdk && \ + java -version && \ +# cleanup + apt-get clean -y && \ + apt-get clean all -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.9 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=${EMG_LOCAL_BASE_DIR}/maven/${MAVEN_VERSION} +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.13 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=${EMG_LOCAL_BASE_DIR}/gradle/${GRADLE_VERSION} +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.1.10 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KTC_VERSION} +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=${EMG_LOCAL_BASE_DIR}/kotlin/${KNPL_VERSION} +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# Atlassian SDK Setup +################################################################## + +ENV ATLASSIAN_SDK_DIR=${EMG_LOCAL_BASE_DIR}/atlassian +ENV ATLASSIAN_SDK_BIN_DIR=${ATLASSIAN_SDK_DIR}/bin +ARG ATLASSIAN_SDK_TEMP=/tmp/atlassian-plugin-sdk.tgz +ARG ATLASSIAN_SDK_URL=https://marketplace.atlassian.com/download/plugins/atlassian-plugin-sdk-tgz + +############################### +# https://community.atlassian.com/t5/Continuous-Delivery-questions/The-repository-https-packages-atlassian-com-atlassian-sdk-deb/qaq-p/1334014 +# +# https://community.developer.atlassian.com/t/the-repository-https-packages-atlassian-com-atlassian-sdk-deb-stable-release-is-not-signed/36901 +############################### +#COPY etc/apt/keyrings/atlassian.asc /etc/apt/keyrings/ +#COPY etc/apt/sources.list.d/atlassian-sdk.list /etc/apt/sources.list.d/ +#RUN apt-get update --allow-insecure-repositories && \ +# apt-get install -y --no-install-recommends --allow-unauthenticated \ +# atlassian-plugin-sdk +#Install packages +#RUN curl -SL https://packages.atlassian.com/atlassian-sdk-deb/debian/pool/contrib/a/atlassian-plugin-sdk/atlassian-plugin-sdk_8.0.16_all.deb -o /tmp/atlassian-plugin-sdk.deb && \ +# dpkg -i /tmp/atlassian-plugin-sdk.deb + +ADD ${ATLASSIAN_SDK_URL} ${ATLASSIAN_SDK_TEMP} + +RUN mkdir -p ${ATLASSIAN_SDK_BIN_DIR} && \ + tar -xzf /tmp/atlassian-plugin-sdk.tgz --strip-components=1 --directory ${ATLASSIAN_SDK_DIR} + +ENV PATH=$PATH:${ATLASSIAN_SDK_BIN_DIR} + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + atlas-version && \ + echo "=============================================" + +################################################################## +# cleaninig up +################################################################## +RUN apt-get clean -y && \ + apt-get clean all -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/atlassian-sdk/Makefile b/linux/ecosystem/github/runner/atlassian-sdk/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/atlassian-sdk/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/atlassian-sdk/README.md b/linux/ecosystem/github/runner/atlassian-sdk/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/linux/ecosystem/github/runner/atlassian-sdk/docker-compose.yml b/linux/ecosystem/github/runner/atlassian-sdk/docker-compose.yml new file mode 100644 index 000000000..f668a1dfb --- /dev/null +++ b/linux/ecosystem/github/runner/atlassian-sdk/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:atlassian-sdk" + build: + context: . diff --git a/linux/ecosystem/github/runner/dotnet-sdk/Dockerfile b/linux/ecosystem/github/runner/dotnet-sdk/Dockerfile new file mode 100644 index 000000000..789419b49 --- /dev/null +++ b/linux/ecosystem/github/runner/dotnet-sdk/Dockerfile @@ -0,0 +1,65 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# installing dotnet +################################################################## +ENV DOTNET_CHANNEL=STS +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# Mono +################################################################## +RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \ +# echo "deb https://download.mono-project.com/repo/debian stable-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list && \ +# echo "deb https://download.mono-project.com/repo/debian nightly-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-nightly.list && \ + echo "deb https://download.mono-project.com/repo/debian preview-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-preview.list && \ + apt-get update && \ + apt-get install -y --allow-unauthenticated \ + mono-complete \ + mono-llvm-support \ + mono-devel \ + mono-dbg \ + referenceassemblies-pcl \ + ca-certificates-mono \ + mono-xsp4 + + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/dotnet-sdk/Makefile b/linux/ecosystem/github/runner/dotnet-sdk/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/dotnet-sdk/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/dotnet-sdk/README.md b/linux/ecosystem/github/runner/dotnet-sdk/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/linux/ecosystem/github/runner/dotnet-sdk/docker-compose.yml b/linux/ecosystem/github/runner/dotnet-sdk/docker-compose.yml new file mode 100644 index 000000000..94794a268 --- /dev/null +++ b/linux/ecosystem/github/runner/dotnet-sdk/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:dotnet-sdk" + build: + context: . diff --git a/linux/ecosystem/github/runner/node0.12/Dockerfile b/linux/ecosystem/github/runner/node0.12/Dockerfile new file mode 100644 index 000000000..3064f55ce --- /dev/null +++ b/linux/ecosystem/github/runner/node0.12/Dockerfile @@ -0,0 +1,47 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.12.18 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 0.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +#RUN npm install -g pnpm yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ +# echo yarn $(yarn --version) && \ +# echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node0.12/Makefile b/linux/ecosystem/github/runner/node0.12/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node0.12/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node0.12/README.md b/linux/ecosystem/github/runner/node0.12/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node0.12/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node0.12/docker-compose.yml b/linux/ecosystem/github/runner/node0.12/docker-compose.yml new file mode 100644 index 000000000..80fc04289 --- /dev/null +++ b/linux/ecosystem/github/runner/node0.12/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node0.12" + build: + context: . diff --git a/linux/ecosystem/github/runner/node10/Dockerfile b/linux/ecosystem/github/runner/node10/Dockerfile new file mode 100644 index 000000000..ba04f43db --- /dev/null +++ b/linux/ecosystem/github/runner/node10/Dockerfile @@ -0,0 +1,47 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=10 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.24.1 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 10.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm@5 yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node10/Makefile b/linux/ecosystem/github/runner/node10/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node10/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node10/README.md b/linux/ecosystem/github/runner/node10/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node10/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node10/docker-compose.yml b/linux/ecosystem/github/runner/node10/docker-compose.yml new file mode 100644 index 000000000..f7555eef9 --- /dev/null +++ b/linux/ecosystem/github/runner/node10/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node10" + build: + context: . diff --git a/linux/ecosystem/github/runner/node11/Dockerfile b/linux/ecosystem/github/runner/node11/Dockerfile new file mode 100644 index 000000000..88a1bb30e --- /dev/null +++ b/linux/ecosystem/github/runner/node11/Dockerfile @@ -0,0 +1,47 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=11 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.15.0 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 11.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm@5 yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node11/Makefile b/linux/ecosystem/github/runner/node11/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node11/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node11/README.md b/linux/ecosystem/github/runner/node11/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node11/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node11/docker-compose.yml b/linux/ecosystem/github/runner/node11/docker-compose.yml new file mode 100644 index 000000000..6862b050f --- /dev/null +++ b/linux/ecosystem/github/runner/node11/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node11" + build: + context: . diff --git a/linux/ecosystem/github/runner/node12/Dockerfile b/linux/ecosystem/github/runner/node12/Dockerfile new file mode 100644 index 000000000..a0c805368 --- /dev/null +++ b/linux/ecosystem/github/runner/node12/Dockerfile @@ -0,0 +1,47 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=12 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.22.9 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 12.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm@6 yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node12/Makefile b/linux/ecosystem/github/runner/node12/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node12/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node12/README.md b/linux/ecosystem/github/runner/node12/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node12/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node12/docker-compose.yml b/linux/ecosystem/github/runner/node12/docker-compose.yml new file mode 100644 index 000000000..f61ce7109 --- /dev/null +++ b/linux/ecosystem/github/runner/node12/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node12" + build: + context: . diff --git a/linux/ecosystem/github/runner/node13/Dockerfile b/linux/ecosystem/github/runner/node13/Dockerfile new file mode 100644 index 000000000..3ae8a60c2 --- /dev/null +++ b/linux/ecosystem/github/runner/node13/Dockerfile @@ -0,0 +1,47 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=13 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.14.0 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 13.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm@6 yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node13/Makefile b/linux/ecosystem/github/runner/node13/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node13/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node13/README.md b/linux/ecosystem/github/runner/node13/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node13/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node13/docker-compose.yml b/linux/ecosystem/github/runner/node13/docker-compose.yml new file mode 100644 index 000000000..38564df5f --- /dev/null +++ b/linux/ecosystem/github/runner/node13/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node13" + build: + context: . diff --git a/linux/ecosystem/github/runner/node14/Dockerfile b/linux/ecosystem/github/runner/node14/Dockerfile new file mode 100644 index 000000000..067461e9f --- /dev/null +++ b/linux/ecosystem/github/runner/node14/Dockerfile @@ -0,0 +1,47 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=14 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.21.3 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 14.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm@7 yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node14/Makefile b/linux/ecosystem/github/runner/node14/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node14/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node14/README.md b/linux/ecosystem/github/runner/node14/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node14/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node14/docker-compose.yml b/linux/ecosystem/github/runner/node14/docker-compose.yml new file mode 100644 index 000000000..ea06ddd8f --- /dev/null +++ b/linux/ecosystem/github/runner/node14/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node14" + build: + context: . diff --git a/linux/ecosystem/github/runner/node15/Dockerfile b/linux/ecosystem/github/runner/node15/Dockerfile new file mode 100644 index 000000000..620a3a734 --- /dev/null +++ b/linux/ecosystem/github/runner/node15/Dockerfile @@ -0,0 +1,48 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=15 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.14.0 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 15.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +#RUN npm install -g pnpm yarn +RUN npm install -g yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ +# echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node15/Makefile b/linux/ecosystem/github/runner/node15/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node15/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node15/README.md b/linux/ecosystem/github/runner/node15/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node15/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node15/docker-compose.yml b/linux/ecosystem/github/runner/node15/docker-compose.yml new file mode 100644 index 000000000..aedd084b3 --- /dev/null +++ b/linux/ecosystem/github/runner/node15/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node15" + build: + context: . diff --git a/linux/ecosystem/github/runner/node16/Dockerfile b/linux/ecosystem/github/runner/node16/Dockerfile new file mode 100644 index 000000000..a10e9a1a3 --- /dev/null +++ b/linux/ecosystem/github/runner/node16/Dockerfile @@ -0,0 +1,48 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=16 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.20.2 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 16.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +#RUN npm install -g pnpm yarn +RUN npm install -g yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ +# echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node16/Makefile b/linux/ecosystem/github/runner/node16/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node16/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node16/README.md b/linux/ecosystem/github/runner/node16/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node16/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node16/docker-compose.yml b/linux/ecosystem/github/runner/node16/docker-compose.yml new file mode 100644 index 000000000..05c861881 --- /dev/null +++ b/linux/ecosystem/github/runner/node16/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node16" + build: + context: . diff --git a/linux/ecosystem/github/runner/node17/Dockerfile b/linux/ecosystem/github/runner/node17/Dockerfile new file mode 100644 index 000000000..66ca25846 --- /dev/null +++ b/linux/ecosystem/github/runner/node17/Dockerfile @@ -0,0 +1,48 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=17 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.9.1 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 17.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +#RUN npm install -g pnpm yarn +RUN npm install -g yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ +# echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node17/Makefile b/linux/ecosystem/github/runner/node17/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node17/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node17/README.md b/linux/ecosystem/github/runner/node17/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node17/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node17/docker-compose.yml b/linux/ecosystem/github/runner/node17/docker-compose.yml new file mode 100644 index 000000000..2899c6ac7 --- /dev/null +++ b/linux/ecosystem/github/runner/node17/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node17" + build: + context: . diff --git a/linux/ecosystem/github/runner/node18/Dockerfile b/linux/ecosystem/github/runner/node18/Dockerfile new file mode 100644 index 000000000..abf2fff80 --- /dev/null +++ b/linux/ecosystem/github/runner/node18/Dockerfile @@ -0,0 +1,47 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=18 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.20.4 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 18.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node18/Makefile b/linux/ecosystem/github/runner/node18/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node18/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node18/README.md b/linux/ecosystem/github/runner/node18/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node18/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node18/docker-compose.yml b/linux/ecosystem/github/runner/node18/docker-compose.yml new file mode 100644 index 000000000..c47563776 --- /dev/null +++ b/linux/ecosystem/github/runner/node18/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node18" + build: + context: . diff --git a/linux/ecosystem/github/runner/node19/Dockerfile b/linux/ecosystem/github/runner/node19/Dockerfile new file mode 100644 index 000000000..794d61ff2 --- /dev/null +++ b/linux/ecosystem/github/runner/node19/Dockerfile @@ -0,0 +1,47 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=19 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.9.0 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 19.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node19/Makefile b/linux/ecosystem/github/runner/node19/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node19/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node19/README.md b/linux/ecosystem/github/runner/node19/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node19/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node19/docker-compose.yml b/linux/ecosystem/github/runner/node19/docker-compose.yml new file mode 100644 index 000000000..c82c771f1 --- /dev/null +++ b/linux/ecosystem/github/runner/node19/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node19" + build: + context: . diff --git a/linux/ecosystem/github/runner/node20/Dockerfile b/linux/ecosystem/github/runner/node20/Dockerfile new file mode 100644 index 000000000..43f7962f6 --- /dev/null +++ b/linux/ecosystem/github/runner/node20/Dockerfile @@ -0,0 +1,47 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=20 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.18.0 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 20.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node20/Makefile b/linux/ecosystem/github/runner/node20/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node20/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node20/README.md b/linux/ecosystem/github/runner/node20/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node20/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node20/docker-compose.yml b/linux/ecosystem/github/runner/node20/docker-compose.yml new file mode 100644 index 000000000..ade1df9bb --- /dev/null +++ b/linux/ecosystem/github/runner/node20/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node20" + build: + context: . diff --git a/linux/ecosystem/github/runner/node21/Dockerfile b/linux/ecosystem/github/runner/node21/Dockerfile new file mode 100644 index 000000000..4ec64aeb0 --- /dev/null +++ b/linux/ecosystem/github/runner/node21/Dockerfile @@ -0,0 +1,47 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=21 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.7.3 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 21.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node21/Makefile b/linux/ecosystem/github/runner/node21/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node21/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node21/README.md b/linux/ecosystem/github/runner/node21/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node21/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node21/docker-compose.yml b/linux/ecosystem/github/runner/node21/docker-compose.yml new file mode 100644 index 000000000..8e8e16c8e --- /dev/null +++ b/linux/ecosystem/github/runner/node21/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node21" + build: + context: . diff --git a/linux/ecosystem/github/runner/node22/Dockerfile b/linux/ecosystem/github/runner/node22/Dockerfile new file mode 100644 index 000000000..3485f3970 --- /dev/null +++ b/linux/ecosystem/github/runner/node22/Dockerfile @@ -0,0 +1,47 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=22 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.6.0 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 22.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node22/Makefile b/linux/ecosystem/github/runner/node22/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node22/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node22/README.md b/linux/ecosystem/github/runner/node22/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node22/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node22/docker-compose.yml b/linux/ecosystem/github/runner/node22/docker-compose.yml new file mode 100644 index 000000000..11367f136 --- /dev/null +++ b/linux/ecosystem/github/runner/node22/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node22" + build: + context: . diff --git a/linux/ecosystem/github/runner/node23/Dockerfile b/linux/ecosystem/github/runner/node23/Dockerfile new file mode 100644 index 000000000..6dc6c06ed --- /dev/null +++ b/linux/ecosystem/github/runner/node23/Dockerfile @@ -0,0 +1,49 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=23 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 23.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node23/Makefile b/linux/ecosystem/github/runner/node23/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node23/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node23/README.md b/linux/ecosystem/github/runner/node23/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node23/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node23/docker-compose.yml b/linux/ecosystem/github/runner/node23/docker-compose.yml new file mode 100644 index 000000000..f23aa9c4d --- /dev/null +++ b/linux/ecosystem/github/runner/node23/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node23" + build: + context: . diff --git a/linux/ecosystem/github/runner/node4/Dockerfile b/linux/ecosystem/github/runner/node4/Dockerfile new file mode 100644 index 000000000..804dd4119 --- /dev/null +++ b/linux/ecosystem/github/runner/node4/Dockerfile @@ -0,0 +1,48 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=4 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.9.1 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 4.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +#RUN npm install -g pnpm yarn +RUN npm install -g pnpm@2 + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ +# echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node4/Makefile b/linux/ecosystem/github/runner/node4/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node4/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node4/README.md b/linux/ecosystem/github/runner/node4/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node4/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node4/docker-compose.yml b/linux/ecosystem/github/runner/node4/docker-compose.yml new file mode 100644 index 000000000..6d36eb80d --- /dev/null +++ b/linux/ecosystem/github/runner/node4/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node4" + build: + context: . diff --git a/linux/ecosystem/github/runner/node5/Dockerfile b/linux/ecosystem/github/runner/node5/Dockerfile new file mode 100644 index 000000000..56c6ea422 --- /dev/null +++ b/linux/ecosystem/github/runner/node5/Dockerfile @@ -0,0 +1,48 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=5 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.9.1 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 5.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +#RUN npm install -g pnpm yarn +RUN npm install -g pnpm@2 + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ +# echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node5/Makefile b/linux/ecosystem/github/runner/node5/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node5/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node5/README.md b/linux/ecosystem/github/runner/node5/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node5/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node5/docker-compose.yml b/linux/ecosystem/github/runner/node5/docker-compose.yml new file mode 100644 index 000000000..a91affd3a --- /dev/null +++ b/linux/ecosystem/github/runner/node5/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node5" + build: + context: . diff --git a/linux/ecosystem/github/runner/node6/Dockerfile b/linux/ecosystem/github/runner/node6/Dockerfile new file mode 100644 index 000000000..055d4ae8b --- /dev/null +++ b/linux/ecosystem/github/runner/node6/Dockerfile @@ -0,0 +1,46 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG K_NODE_MAJOR_VERSION=6 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.17.1 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 6.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +#RUN npm install -g pnpm yarn +RUN npm install -g pnpm@2 + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ +# echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node6/Makefile b/linux/ecosystem/github/runner/node6/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node6/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node6/README.md b/linux/ecosystem/github/runner/node6/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node6/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node6/docker-compose.yml b/linux/ecosystem/github/runner/node6/docker-compose.yml new file mode 100644 index 000000000..50b75291c --- /dev/null +++ b/linux/ecosystem/github/runner/node6/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node6" + build: + context: . diff --git a/linux/ecosystem/github/runner/node7/Dockerfile b/linux/ecosystem/github/runner/node7/Dockerfile new file mode 100644 index 000000000..be9c83525 --- /dev/null +++ b/linux/ecosystem/github/runner/node7/Dockerfile @@ -0,0 +1,47 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=7 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.10.1 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 7.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm@3 yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node7/Makefile b/linux/ecosystem/github/runner/node7/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node7/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node7/README.md b/linux/ecosystem/github/runner/node7/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node7/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node7/docker-compose.yml b/linux/ecosystem/github/runner/node7/docker-compose.yml new file mode 100644 index 000000000..9e8a97163 --- /dev/null +++ b/linux/ecosystem/github/runner/node7/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node7" + build: + context: . diff --git a/linux/ecosystem/github/runner/node8/Dockerfile b/linux/ecosystem/github/runner/node8/Dockerfile new file mode 100644 index 000000000..e366ccfcc --- /dev/null +++ b/linux/ecosystem/github/runner/node8/Dockerfile @@ -0,0 +1,47 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=8 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.17.0 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 8.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm@3 yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node8/Makefile b/linux/ecosystem/github/runner/node8/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node8/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node8/README.md b/linux/ecosystem/github/runner/node8/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node8/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node8/docker-compose.yml b/linux/ecosystem/github/runner/node8/docker-compose.yml new file mode 100644 index 000000000..c85fcca1e --- /dev/null +++ b/linux/ecosystem/github/runner/node8/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node8" + build: + context: . diff --git a/linux/ecosystem/github/runner/node9/Dockerfile b/linux/ecosystem/github/runner/node9/Dockerfile new file mode 100644 index 000000000..9d5ee1ba1 --- /dev/null +++ b/linux/ecosystem/github/runner/node9/Dockerfile @@ -0,0 +1,47 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=9 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.2 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 9.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm@3 yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +RUN updatedb diff --git a/linux/ecosystem/github/runner/node9/Makefile b/linux/ecosystem/github/runner/node9/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/github/runner/node9/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/node9/README.md b/linux/ecosystem/github/runner/node9/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/node9/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/node9/docker-compose.yml b/linux/ecosystem/github/runner/node9/docker-compose.yml new file mode 100644 index 000000000..414f3c5e4 --- /dev/null +++ b/linux/ecosystem/github/runner/node9/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:node9" + build: + context: . diff --git a/linux/ecosystem/github/runner/php56/Dockerfile b/linux/ecosystem/github/runner/php56/Dockerfile new file mode 100644 index 000000000..a8728b991 --- /dev/null +++ b/linux/ecosystem/github/runner/php56/Dockerfile @@ -0,0 +1,280 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV PHP_VER=5.6 +ENV PHP_MODULE_PATH=/usr/lib/php/20131226 +ENV PHP_DIR=/etc/php/${PHP_VER} +ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini + +################################################################## +# Installing PHP5.6 +################################################################## +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ +# php-pear \ + php5.6 \ + php5.6-cli \ + php5.6-common \ + php5.6-dev \ + php5.6-amqp \ + php5.6-apcu \ + php5.6-bcmath \ + php5.6-bz2 \ + php5.6-cgi \ + php5.6-curl \ + php5.6-dba \ + php5.6-dio \ + php5.6-enchant \ + php5.6-fpm \ + php5.6-gd \ + php5.6-gearman \ + php5.6-geoip \ +# php5.6-gmagick \ + php5.6-gmp \ + php5.6-gnupg \ + php5.6-grpc \ + php5.6-http \ + php5.6-igbinary \ + php5.6-imagick \ + php5.6-imap \ + php5.6-inotify \ + php5.6-interbase \ + php5.6-intl \ + php5.6-json \ + php5.6-ldap \ + php5.6-libvirt-php \ + php5.6-lua \ + php5.6-lz4 \ + php5.6-mailparse \ + php5.6-mbstring \ + php5.6-mcrypt \ + php5.6-memcache \ + php5.6-memcached \ + php5.6-mongo \ + php5.6-mongodb \ + php5.6-msgpack \ + php5.6-mysql \ + php5.6-mysqlnd-ms \ + php5.6-oauth \ + php5.6-odbc \ + php5.6-opcache \ + php5.6-pgsql \ + php5.6-phpdbg \ + php5.6-propro \ + php5.6-protobuf \ + php5.6-ps \ + php5.6-pspell \ + php5.6-radius \ + php5.6-raphf \ + php5.6-readline \ + php5.6-recode \ + php5.6-redis \ + php5.6-rrd \ + php5.6-smbclient \ + php5.6-snmp \ + php5.6-soap \ + php5.6-solr \ + php5.6-sqlite3 \ + php5.6-ssh2 \ + php5.6-stomp \ + php5.6-sybase \ + php5.6-tidy \ + php5.6-uploadprogress \ +# php5.6-xcache \ + php5.6-xdebug \ + php5.6-xhprof \ + php5.6-xml \ + php5.6-xmlrpc \ + php5.6-xsl \ +# php5.6-yac \ + php5.6-yaml \ + php5.6-zip \ + php5.6-zmq \ + smbclient \ + libsmbclient \ + sendmail && \ + ln -sfv /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \ + apt-get remove -y \ +# php5.6* \ + php7.0* \ + php7.1* \ + php7.2* \ + php7.3* \ + php7.4* \ + php8.0* \ + php8.1* \ + php8.2* \ + php8.3* \ + php8.4* && \ + rm -rfv /etc/php/{7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2,8.3,8.4} && \ + update-alternatives --set php /usr/bin/php5.6 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# Enabling extensions +################################################################## +RUN phpenmod \ + calendar \ + ldap \ + curl \ + exif \ + ftp \ + fileinfo \ + gd \ + geoip \ + iconv \ + imap \ + json \ + mbstring \ + mysqli \ + mysqlnd \ + oauth \ + pdo_mysql \ + pdo_sqlite \ + phar \ + posix \ + readline \ + redis \ + simplexml \ + sockets \ + sqlite3 \ + ssh2 \ + tokenizer \ + xml \ + xmlreader \ + xmlrpc \ + xmlwriter \ + xsl \ + yaml && \ + phpdismod \ + xdebug \ + xcache \ + xhprof \ + tideways \ + pcov \ + swoole \ + grpc \ + uopz && \ + php -m && \ + php -v + +################################################################## +# Enabling extensions +################################################################## +#RUN pear update-channels && \ +# pecl channel-update pecl.php.net && \ +# pear upgrade + +############################################################################## +# Cassandra CPP Support Install +############################################################################## +#OPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb +#RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \ +# https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \ +# https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \ +# https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \ +# https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \ +# https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \ +# https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb + +#RUN cd /tmp/cassandra-php-driver && \ +# dpkg -i ./multiarch-support_2.28_amd64.deb && \ +# dpkg -i ./libuv1_1.35.0-1_amd64.deb && \ +# dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \ +# dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \ +# dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \ +# dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \ +# dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb + +############################################################################## +# Cassandra PHP Drivers Install +############################################################################## +#RUN pecl install cassandra && \ +# echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > /usr/local/etc/php/conf.d/cassandra.ini && \ +# php -m && \ +# php -v + +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing imagic addon +################################################################## +#RUN pecl install imagick && \ +## echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/apache2/php.ini && \ +# echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/cgi/php.ini && \ +# echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/cli/php.ini && \ +# echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/fpm/php.ini && \ +# php -m && \ +# php -v + +################################################################## +# Installing IOnCube addon +################################################################## +ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz +RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \ + cp /tmp/ioncube/ioncube_loader_lin_5.6.so ${PHP_MODULE_PATH} && \ + # echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.0.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_5.6.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_5.6.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_5.6.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing P4 addon +################################################################## +#COPY --from=builder /builds/export/perforce.so ${PHP_MODULE_PATH} +#RUN echo "extension= ${PHP_MODULE_PATH}/perforce.so" > ${P4_PHP_INI} && \ +## ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \ +# ln -sf ${P4_PHP_INI} ${PHP_DIR}/cgi/conf.d/perforce.ini && \ +# ln -sf ${P4_PHP_INI} ${PHP_DIR}/cli/conf.d/perforce.ini && \ +# ln -sf ${P4_PHP_INI} ${PHP_DIR}/fpm/conf.d/perforce.ini && \ +# php -m && \ +# php -v + +################################################################## +# Installing Composer addon +################################################################## +RUN cd /tmp && \ + php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ + php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \ + rm /tmp/composer-setup.php + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## +RUN updatedb diff --git a/linux/ecosystem/github/runner/php56/Makefile b/linux/ecosystem/github/runner/php56/Makefile new file mode 100644 index 000000000..b88fa3708 --- /dev/null +++ b/linux/ecosystem/github/runner/php56/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +deploy: + make deploy-kaniko + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/php56/README.md b/linux/ecosystem/github/runner/php56/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/php56/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/php56/docker-compose.yml b/linux/ecosystem/github/runner/php56/docker-compose.yml new file mode 100644 index 000000000..ae53d1393 --- /dev/null +++ b/linux/ecosystem/github/runner/php56/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:php5.6" + build: + context: . diff --git a/linux/ecosystem/github/runner/php70/Dockerfile b/linux/ecosystem/github/runner/php70/Dockerfile new file mode 100644 index 000000000..f92cae0f0 --- /dev/null +++ b/linux/ecosystem/github/runner/php70/Dockerfile @@ -0,0 +1,384 @@ +FROM quay.io/epicmorg/debian:bookworm-develop AS builder +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + + +ARG BUILDS_DIR=/builds +ARG SRC_DIR=${BUILDS_DIR}/src +ARG EXPORT_DIR=${BUILDS_DIR}/export +ARG P4API_DIR=${SRC_DIR}/p4api +ARG P4PHP_DIR=${SRC_DIR}/p4php +ARG MAKE_DIR=${SRC_DIR}/p4php-7.0 + +ARG P4API_VER=r20.1 +ARG P4API_URL=http://filehost.perforce.com/perforce/${P4API_VER}/bin.linux26x86_64/p4api.tgz + +ARG P4PHP_VER=r20.1 +ARG P4PHP_URL=http://filehost.perforce.com/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz + +ARG P4MODULE_PATH=/usr/lib/php/20151012 + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P4PHP_DIR} + +################################################################## +# Installing PHP7 +################################################################## +#installing PHP repo +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +#Install base packages +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + libmemcached-dev \ +# php-pear \ + php7.0 \ + php7.0-common \ + php7.0-dev \ + php7.0-fpm \ + php7.0-cli \ + php7.0-xml \ + php7.0-cgi && \ + update-alternatives --set php /usr/bin/php7.0 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# preparing p4src +################################################################## +RUN wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${P4API_DIR} && \ + wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \ + wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${P4PHP_DIR} && \ + wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \ + cd ${P4API_DIR} && \ + ls -las && \ + cd ${P4PHP_DIR} && \ + ls -las && \ + cd ${MAKE_DIR} && \ + ls -las && \ + cd ${SRC_DIR} && \ + ls -las + +################################################################## +# compilling p4src +################################################################## +RUN cd ${MAKE_DIR} && \ + ls -las && \ + phpize && \ + ./configure --with-perforce=${P4API_DIR} && \ + make && \ + make test && \ + make install && \ + cp ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR} + +################################################################## +################################################################## +################################################################## + +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV PHP_VER=7.0 +ENV PHP_MODULE_PATH=/usr/lib/php/20151012 +ENV PHP_DIR=/etc/php/${PHP_VER} +ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini + +################################################################## +# Installing PHP7 +################################################################## +#installing PHP repo +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + libmemcached-dev \ + libgmp-dev \ +# php-pear \ + php7.0 \ + php7.0-cli \ + php7.0-common \ + php7.0-dev \ + php7.0-amqp \ + php7.0-apcu-bc \ + php7.0-apcu \ + php7.0-bcmath \ + php7.0-bz2 \ + php7.0-cgi \ + php7.0-curl \ + php7.0-dba \ + php7.0-decimal \ + php7.0-dio \ + php7.0-ds \ + php7.0-enchant \ + php7.0-fpm \ + php7.0-gd \ + php7.0-gearman \ + php7.0-geoip \ +# php7.0-gmagick \ + php7.0-gmp \ + php7.0-gnupg \ + php7.0-grpc \ + php7.0-http \ + php7.0-igbinary \ + php7.0-imagick \ + php7.0-imap \ + php7.0-inotify \ + php7.0-interbase \ + php7.0-intl \ + php7.0-json \ + php7.0-ldap \ + php7.0-libvirt-php \ + php7.0-lua \ + php7.0-lz4 \ + php7.0-mailparse \ + php7.0-mbstring \ + php7.0-mcrypt \ + php7.0-memcache \ + php7.0-memcached \ + php7.0-mongodb \ + php7.0-msgpack \ + php7.0-mysql \ + php7.0-oauth \ + php7.0-odbc \ + php7.0-opcache \ + php7.0-pgsql \ + php7.0-phpdbg \ + php7.0-pinba \ +# php7.0-pq \ + php7.0-propro \ + php7.0-protobuf \ + php7.0-ps \ + php7.0-pspell \ + php7.0-radius \ + php7.0-raphf \ + php7.0-rdkafka \ + php7.0-readline \ + php7.0-recode \ + php7.0-redis \ + php7.0-rrd \ + php7.0-smbclient \ + php7.0-snmp \ + php7.0-soap \ + php7.0-sodium \ + php7.0-solr \ + php7.0-sqlite3 \ + php7.0-ssh2 \ + php7.0-stomp \ + php7.0-sybase \ + php7.0-tideways \ + php7.0-tidy \ + php7.0-uploadprogress \ + php7.0-uuid \ + php7.0-vips \ + php7.0-xdebug \ + php7.0-xhprof \ + php7.0-xml \ + php7.0-xmlrpc \ + php7.0-xsl \ +# php7.0-yac \ + php7.0-yaml \ + php7.0-zip \ + php7.0-zmq \ + php7.0-zstd \ + smbclient \ + libsmbclient \ + sendmail && \ + ln -sfv /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \ + apt-get remove -y \ + php5.6* \ +# php7.0* \ + php7.1* \ + php7.2* \ + php7.3* \ + php7.4* \ + php8.0* \ + php8.1* \ + php8.2* \ + php8.3* \ + php8.4* && \ + rm -rfv /etc/php/{5.6,7.1,7.2,7.3,7.4,8.0,8.1,8.2,8.3,8.4} && \ + update-alternatives --set php /usr/bin/php7.0 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# Enabling extensions +################################################################## +RUN phpenmod \ + calendar \ + ldap \ + curl \ + exif \ + ftp \ + fileinfo \ + gd \ + geoip \ + iconv \ + imap \ + json \ + mbstring \ + mysqli \ + mysqlnd \ + oauth \ + pdo_mysql \ + pdo_sqlite \ + phar \ + posix \ + readline \ + redis \ + simplexml \ + sockets \ + sqlite3 \ + ssh2 \ + tokenizer \ + xml \ + xmlreader \ + xmlrpc \ + xmlwriter \ + xsl \ + yaml && \ + phpdismod \ + xdebug \ + xcache \ + xhprof \ + tideways \ + pcov \ + swoole \ + grpc \ + uopz && \ + php -m && \ + php -v + +############################################################################## +# Cassandra CPP Support Install +############################################################################## +COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb +COPY addons/libssl1.1_1.1.1_amd64.deb /tmp/cassandra-php-driver/libssl1.1_1.1.1_amd64.deb +RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb + +RUN cd /tmp/cassandra-php-driver && \ + dpkg -i ./libssl1.1_1.1.1_amd64.deb && \ + dpkg -i ./multiarch-support_2.28_amd64.deb && \ + dpkg -i ./libuv1_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb + +############################################################################## +# Cassandra PHP Drivers Install +############################################################################## +RUN pecl install cassandra && \ + echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \ +# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \ + php -m && \ + php -v + +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Bolt addon +################################################################## +#ADD https://phpbolt.com/wp-content/uploads/2023/03/phpBolt-extension-1.0.5.zip /tmp/phpBolt.zip +COPY usr/lib/php/20151012/phpBolt-extension-1.0.5-php70.so ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php70.so +#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php70.so" >> ${PHP_DIR}/apache2/php.ini && \ +RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php70.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php70.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php70.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing IOnCube addon +################################################################## +ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz +RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \ + cp /tmp/ioncube/ioncube_loader_lin_7.0.so ${PHP_MODULE_PATH} && \ +# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.0.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.0.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.0.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.0.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing P4 addon +################################################################## +COPY --from=builder /builds/export/perforce.so ${PHP_MODULE_PATH} +RUN echo "extension= ${PHP_MODULE_PATH}/perforce.so" > ${P4_PHP_INI} && \ +# ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/cgi/conf.d/perforce.ini && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/cli/conf.d/perforce.ini && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/fpm/conf.d/perforce.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Composer addon +################################################################## +RUN cd /tmp && \ + php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ + php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \ + rm /tmp/composer-setup.php + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## +RUN updatedb diff --git a/linux/ecosystem/github/runner/php70/Makefile b/linux/ecosystem/github/runner/php70/Makefile new file mode 100644 index 000000000..b88fa3708 --- /dev/null +++ b/linux/ecosystem/github/runner/php70/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +deploy: + make deploy-kaniko + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/php70/README.md b/linux/ecosystem/github/runner/php70/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/php70/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/php70/addons/libssl1.1_1.1.1_amd64.deb b/linux/ecosystem/github/runner/php70/addons/libssl1.1_1.1.1_amd64.deb new file mode 100644 index 000000000..67b5d7314 Binary files /dev/null and b/linux/ecosystem/github/runner/php70/addons/libssl1.1_1.1.1_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php70/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/github/runner/php70/addons/multiarch-support_2.28_amd64.deb new file mode 100644 index 000000000..7cf23ffa8 Binary files /dev/null and b/linux/ecosystem/github/runner/php70/addons/multiarch-support_2.28_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php70/docker-compose.yml b/linux/ecosystem/github/runner/php70/docker-compose.yml new file mode 100644 index 000000000..d840539ae --- /dev/null +++ b/linux/ecosystem/github/runner/php70/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:php7.0" + build: + context: . diff --git a/linux/ecosystem/github/runner/php70/usr/lib/php/20151012/phpBolt-extension-1.0.4-php70.so b/linux/ecosystem/github/runner/php70/usr/lib/php/20151012/phpBolt-extension-1.0.4-php70.so new file mode 100644 index 000000000..e6d3abfda Binary files /dev/null and b/linux/ecosystem/github/runner/php70/usr/lib/php/20151012/phpBolt-extension-1.0.4-php70.so differ diff --git a/linux/ecosystem/github/runner/php70/usr/lib/php/20151012/phpBolt-extension-1.0.5-php70.so b/linux/ecosystem/github/runner/php70/usr/lib/php/20151012/phpBolt-extension-1.0.5-php70.so new file mode 100644 index 000000000..e6d3abfda Binary files /dev/null and b/linux/ecosystem/github/runner/php70/usr/lib/php/20151012/phpBolt-extension-1.0.5-php70.so differ diff --git a/linux/ecosystem/github/runner/php71/Dockerfile b/linux/ecosystem/github/runner/php71/Dockerfile new file mode 100644 index 000000000..2636469fd --- /dev/null +++ b/linux/ecosystem/github/runner/php71/Dockerfile @@ -0,0 +1,386 @@ +FROM quay.io/epicmorg/debian:bookworm-develop AS builder +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + + +ARG BUILDS_DIR=/builds +ARG SRC_DIR=${BUILDS_DIR}/src +ARG EXPORT_DIR=${BUILDS_DIR}/export +ARG P4API_DIR=${SRC_DIR}/p4api +ARG P4PHP_DIR=${SRC_DIR}/p4php +ARG MAKE_DIR=${SRC_DIR}/p4php-7.1 + +ARG P4API_VER=r20.1 +ARG P4API_URL=http://filehost.perforce.com/perforce/${P4API_VER}/bin.linux26x86_64/p4api.tgz + +ARG P4PHP_VER=r20.1 +ARG P4PHP_URL=http://filehost.perforce.com/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz + +ARG P4MODULE_PATH=/usr/lib/php/20160303 + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P4PHP_DIR} + +################################################################## +# Installing PHP7 +################################################################## +#installing PHP repo +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +#Install base packages +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + libmemcached-dev \ +# php-pear \ + php7.1 \ + php7.1-common \ + php7.1-dev \ + php7.1-fpm \ + php7.1-cli \ + php7.1-xml \ + php7.1-cgi && \ + update-alternatives --set php /usr/bin/php7.1 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# preparing p4src +################################################################## +RUN wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${P4API_DIR} && \ + wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \ + wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${P4PHP_DIR} && \ + wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \ + cd ${P4API_DIR} && \ + ls -las && \ + cd ${P4PHP_DIR} && \ + ls -las && \ + cd ${MAKE_DIR} && \ + ls -las && \ + cd ${SRC_DIR} && \ + ls -las + +################################################################## +# compilling p4src +################################################################## +RUN cd ${MAKE_DIR} && \ + ls -las && \ + phpize && \ + ./configure --with-perforce=${P4API_DIR} && \ + make && \ + make test && \ + make install && \ + cp ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR} + +################################################################## +################################################################## +################################################################## + +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV PHP_VER=7.1 +ENV PHP_MODULE_PATH=/usr/lib/php/20160303 +ENV PHP_DIR=/etc/php/${PHP_VER} +ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini + +################################################################## +# Installing PHP7 +################################################################## +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + libmemcached-dev \ + libgmp-dev \ +# php-pear \ + php7.1 \ + php7.1-cli \ + php7.1-common \ + php7.1-dev \ + php7.1-amqp \ + php7.1-apcu-bc \ + php7.1-apcu \ + php7.1-bcmath \ + php7.1-bz2 \ + php7.1-cgi \ + php7.1-curl \ + php7.1-dba \ + php7.1-decimal \ + php7.1-dio \ + php7.1-ds \ + php7.1-enchant \ + php7.1-excimer \ + php7.1-fpm \ + php7.1-gd \ + php7.1-gearman \ + php7.1-geoip \ +# php7.1-gmagick \ + php7.1-gmp \ + php7.1-gnupg \ + php7.1-grpc \ + php7.1-http \ + php7.1-igbinary \ + php7.1-imagick \ + php7.1-imap \ + php7.1-inotify \ + php7.1-interbase \ + php7.1-intl \ + php7.1-json \ + php7.1-ldap \ + php7.1-libvirt-php \ + php7.1-lua \ + php7.1-lz4 \ + php7.1-mailparse \ + php7.1-mbstring \ + php7.1-mcrypt \ + php7.1-memcache \ + php7.1-memcached \ + php7.1-mongodb \ + php7.1-msgpack \ + php7.1-mysql \ + php7.1-oauth \ + php7.1-odbc \ + php7.1-opcache \ + php7.1-pcov \ + php7.1-pgsql \ + php7.1-phpdbg \ + php7.1-pinba \ +# php7.1-pq \ + php7.1-propro \ + php7.1-protobuf \ + php7.1-ps \ + php7.1-pspell \ + php7.1-radius \ + php7.1-raphf \ + php7.1-rdkafka \ + php7.1-readline \ + php7.1-recode \ + php7.1-redis \ + php7.1-rrd \ + php7.1-smbclient \ + php7.1-snmp \ + php7.1-soap \ + php7.1-sodium \ + php7.1-solr \ + php7.1-sqlite3 \ + php7.1-ssh2 \ + php7.1-stomp \ + php7.1-sybase \ + php7.1-tideways \ + php7.1-tidy \ + php7.1-uopz \ + php7.1-uploadprogress \ + php7.1-uuid \ + php7.1-vips \ + php7.1-xdebug \ + php7.1-xhprof \ + php7.1-xml \ + php7.1-xmlrpc \ + php7.1-xsl \ +# php7.1-yac \ + php7.1-yaml \ + php7.1-zip \ + php7.1-zmq \ + php7.1-zstd \ + smbclient \ + libsmbclient \ + sendmail && \ + ln -sfv /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \ + apt-get remove -y \ + php5.6* \ + php7.0* \ +# php7.1* \ + php7.2* \ + php7.3* \ + php7.4* \ + php8.0* \ + php8.1* \ + php8.2* \ + php8.3* \ + php8.4* && \ + rm -rfv /etc/php/{5.6,7.0,7.2,7.3,7.4,8.0,8.1,8.2,8.3,8.4} && \ + update-alternatives --set php /usr/bin/php7.1 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# Enabling extensions +################################################################## +RUN phpenmod \ + calendar \ + ldap \ + curl \ + exif \ + ftp \ + fileinfo \ + gd \ + geoip \ + iconv \ + imap \ + json \ + mbstring \ + mysqli \ + mysqlnd \ + oauth \ + pdo_mysql \ + pdo_sqlite \ + phar \ + posix \ + readline \ + redis \ + simplexml \ + sockets \ + sqlite3 \ + ssh2 \ + tokenizer \ + xml \ + xmlreader \ + xmlrpc \ + xmlwriter \ + xsl \ + yaml && \ + phpdismod \ + xdebug \ + xcache \ + xhprof \ + tideways \ + pcov \ + swoole \ + grpc \ + uopz && \ + php -m && \ + php -v + +############################################################################## +# Cassandra CPP Support Install +############################################################################## +COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb +COPY addons/libssl1.1_1.1.1_amd64.deb /tmp/cassandra-php-driver/libssl1.1_1.1.1_amd64.deb +RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb + +RUN cd /tmp/cassandra-php-driver && \ + dpkg -i ./libssl1.1_1.1.1_amd64.deb && \ + dpkg -i ./multiarch-support_2.28_amd64.deb && \ + dpkg -i ./libuv1_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb + +############################################################################## +# Cassandra PHP Drivers Install +############################################################################## +RUN pecl install cassandra && \ + echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \ +# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \ + php -m && \ + php -v + +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Bolt addon +################################################################## +#ADD https://phpbolt.com/wp-content/uploads/2023/03/phpBolt-extension-1.0.5.zip /tmp/phpBolt.zip +COPY usr/lib/php/20160303/phpBolt-extension-1.0.5-php71.so ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php71.so +#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php71.so" >> ${PHP_DIR}/apache2/php.ini && \ +RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php71.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php71.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php71.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing IOnCube addon +################################################################## +ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz +RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \ + cp /tmp/ioncube/ioncube_loader_lin_7.1.so ${PHP_MODULE_PATH} && \ +# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.1.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.1.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.1.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.1.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing P4 addon +################################################################## +COPY --from=builder /builds/export/perforce.so ${PHP_MODULE_PATH} +RUN echo "extension= ${PHP_MODULE_PATH}/perforce.so" > ${P4_PHP_INI} && \ +# ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/cgi/conf.d/perforce.ini && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/cli/conf.d/perforce.ini && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/fpm/conf.d/perforce.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Composer addon +################################################################## +RUN cd /tmp && \ + php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ + php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \ + rm /tmp/composer-setup.php + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## +RUN updatedb diff --git a/linux/ecosystem/github/runner/php71/Makefile b/linux/ecosystem/github/runner/php71/Makefile new file mode 100644 index 000000000..b88fa3708 --- /dev/null +++ b/linux/ecosystem/github/runner/php71/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +deploy: + make deploy-kaniko + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/php71/README.md b/linux/ecosystem/github/runner/php71/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/php71/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/php71/addons/libssl1.1_1.1.1_amd64.deb b/linux/ecosystem/github/runner/php71/addons/libssl1.1_1.1.1_amd64.deb new file mode 100644 index 000000000..67b5d7314 Binary files /dev/null and b/linux/ecosystem/github/runner/php71/addons/libssl1.1_1.1.1_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php71/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/github/runner/php71/addons/multiarch-support_2.28_amd64.deb new file mode 100644 index 000000000..7cf23ffa8 Binary files /dev/null and b/linux/ecosystem/github/runner/php71/addons/multiarch-support_2.28_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php71/docker-compose.yml b/linux/ecosystem/github/runner/php71/docker-compose.yml new file mode 100644 index 000000000..1cac4fe37 --- /dev/null +++ b/linux/ecosystem/github/runner/php71/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:php7.1" + build: + context: . diff --git a/linux/ecosystem/github/runner/php71/usr/lib/php/20160303/phpBolt-extension-1.0.4-php71.so b/linux/ecosystem/github/runner/php71/usr/lib/php/20160303/phpBolt-extension-1.0.4-php71.so new file mode 100644 index 000000000..75149ffcf Binary files /dev/null and b/linux/ecosystem/github/runner/php71/usr/lib/php/20160303/phpBolt-extension-1.0.4-php71.so differ diff --git a/linux/ecosystem/github/runner/php71/usr/lib/php/20160303/phpBolt-extension-1.0.5-php71.so b/linux/ecosystem/github/runner/php71/usr/lib/php/20160303/phpBolt-extension-1.0.5-php71.so new file mode 100644 index 000000000..75149ffcf Binary files /dev/null and b/linux/ecosystem/github/runner/php71/usr/lib/php/20160303/phpBolt-extension-1.0.5-php71.so differ diff --git a/linux/ecosystem/github/runner/php72/Dockerfile b/linux/ecosystem/github/runner/php72/Dockerfile new file mode 100644 index 000000000..37d82d33c --- /dev/null +++ b/linux/ecosystem/github/runner/php72/Dockerfile @@ -0,0 +1,388 @@ +FROM quay.io/epicmorg/debian:bookworm-develop AS builder +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + + +ARG BUILDS_DIR=/builds +ARG SRC_DIR=${BUILDS_DIR}/src +ARG EXPORT_DIR=${BUILDS_DIR}/export +ARG P4API_DIR=${SRC_DIR}/p4api +ARG P4PHP_DIR=${SRC_DIR}/p4php +ARG MAKE_DIR=${SRC_DIR}/p4php-7.2 + +ARG P4API_VER=r20.1 +ARG P4API_URL=http://filehost.perforce.com/perforce/${P4API_VER}/bin.linux26x86_64/p4api.tgz + +ARG P4PHP_VER=r20.1 +ARG P4PHP_URL=http://filehost.perforce.com/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz + +ARG P4MODULE_PATH=/usr/lib/php/20170718 + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P4PHP_DIR} + +################################################################## +# Installing PHP7 +################################################################## +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +#Install base packages +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + libmemcached-dev \ +# php-pear \ + php7.2 \ + php7.2-common \ + php7.2-dev \ + php7.2-fpm \ + php7.2-cli \ + php7.2-xml \ + php7.2-cgi && \ + update-alternatives --set php /usr/bin/php7.2 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# preparing p4src +################################################################## +RUN wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${P4API_DIR} && \ + wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \ + wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${P4PHP_DIR} && \ + wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \ + cd ${P4API_DIR} && \ + ls -las && \ + cd ${P4PHP_DIR} && \ + ls -las && \ + cd ${MAKE_DIR} && \ + ls -las && \ + cd ${SRC_DIR} && \ + ls -las + +################################################################## +# compilling p4src +################################################################## +RUN cd ${MAKE_DIR} && \ + ls -las && \ + phpize && \ + ./configure --with-perforce=${P4API_DIR} && \ + make && \ + make test && \ + make install && \ + cp ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR} + +################################################################## +################################################################## +################################################################## + +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV PHP_MODULE_PATH=/usr/lib/php/20170718 +ENV PHP_VER=7.2 +ENV PHP_DIR=/etc/php/${PHP_VER} +ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini + +################################################################## +# Installing PHP7 +################################################################## +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + libmemcached-dev \ + libgmp-dev \ +# php-pear \ + php7.2 \ + php7.2-cli \ + php7.2-common \ + php7.2-dev \ + php7.2-amqp \ + php7.2-apcu-bc \ + php7.2-apcu \ + php7.2-ast \ + php7.2-bcmath \ + php7.2-bz2 \ + php7.2-cgi \ + php7.2-curl \ + php7.2-dba \ + php7.2-decimal \ + php7.2-dio \ + php7.2-ds \ + php7.2-enchant \ + php7.2-excimer \ + php7.2-fpm \ + php7.2-gd \ + php7.2-gearman \ + php7.2-geoip \ +# php7.2-gmagick \ + php7.2-gmp \ + php7.2-gnupg \ + php7.2-grpc \ + php7.2-http \ + php7.2-igbinary \ + php7.2-imagick \ + php7.2-imap \ + php7.2-inotify \ + php7.2-interbase \ + php7.2-intl \ + php7.2-json \ + php7.2-ldap \ + php7.2-libvirt-php \ + php7.2-lua \ + php7.2-lz4 \ + php7.2-mailparse \ + php7.2-maxminddb \ + php7.2-mbstring \ + php7.2-mcrypt \ + php7.2-memcache \ + php7.2-memcached \ + php7.2-mongodb \ + php7.2-msgpack \ + php7.2-mysql \ + php7.2-oauth \ + php7.2-odbc \ + php7.2-opcache \ + php7.2-pcov \ + php7.2-pgsql \ +# php7.2-phalcon4 \ + php7.2-phpdbg \ + php7.2-pinba \ +# php7.2-pq \ + php7.2-propro \ + php7.2-protobuf \ + php7.2-ps \ + php7.2-pspell \ + php7.2-radius \ + php7.2-raphf \ + php7.2-rdkafka \ + php7.2-readline \ + php7.2-recode \ + php7.2-redis \ + php7.2-rrd \ + php7.2-smbclient \ + php7.2-snmp \ + php7.2-soap \ + php7.2-solr \ + php7.2-sqlite3 \ + php7.2-ssh2 \ + php7.2-stomp \ + php7.2-sybase \ + php7.2-tideways \ + php7.2-tidy \ + php7.2-uopz \ + php7.2-uploadprogress \ + php7.2-uuid \ + php7.2-vips \ + php7.2-xdebug \ + php7.2-xhprof \ + php7.2-xml \ + php7.2-xmlrpc \ + php7.2-xsl \ +# php7.2-yac \ + php7.2-yaml \ + php7.2-zip \ + php7.2-zmq \ + php7.2-zstd \ + smbclient \ + libsmbclient \ + sendmail && \ + ln -sfv /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \ + apt-get remove -y \ + php5.6* \ + php7.0* \ + php7.1* \ +# php7.2* \ + php7.3* \ + php7.4* \ + php8.0* \ + php8.1* \ + php8.2* \ + php8.3* \ + php8.4* && \ + rm -rfv /etc/php/{5.6,7.0,7.1,7.3,7.4,8.0,8.1,8.2,8.3,8.4} && \ + update-alternatives --set php /usr/bin/php7.2 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# Enabling extensions +################################################################## +RUN phpenmod \ + calendar \ + ldap \ + curl \ + exif \ + ftp \ + fileinfo \ + gd \ + geoip \ + iconv \ + imap \ + json \ + mbstring \ + mysqli \ + mysqlnd \ + oauth \ + pdo_mysql \ + pdo_sqlite \ + phar \ + posix \ + readline \ + redis \ + simplexml \ + sockets \ + sqlite3 \ + ssh2 \ + tokenizer \ + xml \ + xmlreader \ + xmlrpc \ + xmlwriter \ + xsl \ + yaml && \ + phpdismod \ + xdebug \ + xcache \ + xhprof \ + tideways \ + pcov \ + swoole \ + grpc \ + uopz && \ + php -m && \ + php -v + +############################################################################## +# Cassandra CPP Support Install +############################################################################## +COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb +COPY addons/libssl1.1_1.1.1_amd64.deb /tmp/cassandra-php-driver/libssl1.1_1.1.1_amd64.deb +RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb + +RUN cd /tmp/cassandra-php-driver && \ + dpkg -i ./libssl1.1_1.1.1_amd64.deb && \ + dpkg -i ./multiarch-support_2.28_amd64.deb && \ + dpkg -i ./libuv1_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb + +############################################################################## +# Cassandra PHP Drivers Install +############################################################################## +#RUN pecl install cassandra && \ +COPY usr/lib/php/20170718/cassandra.so ${PHP_MODULE_PATH}/cassandra.so +RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \ +# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \ + php -m && \ + php -v + +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Bolt addon +################################################################## +#ADD https://phpbolt.com/wp-content/uploads/2023/03/phpBolt-extension-1.0.5.zip /tmp/phpBolt.zip +COPY usr/lib/php/20170718/phpBolt-extension-1.0.5-php72.so ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php72.so +#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php72.so" >> ${PHP_DIR}/apache2/php.ini && \ +RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php72.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php72.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php72.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing IOnCube addon +################################################################## +ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz +RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \ + cp /tmp/ioncube/ioncube_loader_lin_7.2.so ${PHP_MODULE_PATH} && \ +# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.2.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.2.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.2.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.2.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing P4 addon +################################################################## +COPY --from=builder /builds/export/perforce.so ${PHP_MODULE_PATH} +RUN echo "extension= ${PHP_MODULE_PATH}/perforce.so" > ${P4_PHP_INI} && \ +# ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/cgi/conf.d/perforce.ini && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/cli/conf.d/perforce.ini && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/fpm/conf.d/perforce.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Composer addon +################################################################## +RUN cd /tmp && \ + php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ + php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \ + rm /tmp/composer-setup.php + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## +RUN updatedb diff --git a/linux/ecosystem/github/runner/php72/Makefile b/linux/ecosystem/github/runner/php72/Makefile new file mode 100644 index 000000000..b88fa3708 --- /dev/null +++ b/linux/ecosystem/github/runner/php72/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +deploy: + make deploy-kaniko + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/php72/README.md b/linux/ecosystem/github/runner/php72/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/php72/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/php72/addons/libssl1.1_1.1.1_amd64.deb b/linux/ecosystem/github/runner/php72/addons/libssl1.1_1.1.1_amd64.deb new file mode 100644 index 000000000..67b5d7314 Binary files /dev/null and b/linux/ecosystem/github/runner/php72/addons/libssl1.1_1.1.1_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php72/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/github/runner/php72/addons/multiarch-support_2.28_amd64.deb new file mode 100644 index 000000000..7cf23ffa8 Binary files /dev/null and b/linux/ecosystem/github/runner/php72/addons/multiarch-support_2.28_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php72/docker-compose.yml b/linux/ecosystem/github/runner/php72/docker-compose.yml new file mode 100644 index 000000000..7e3ef3b33 --- /dev/null +++ b/linux/ecosystem/github/runner/php72/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:php7.2" + build: + context: . diff --git a/linux/ecosystem/github/runner/php72/usr/lib/php/20170718/cassandra.so b/linux/ecosystem/github/runner/php72/usr/lib/php/20170718/cassandra.so new file mode 100644 index 000000000..fb54b0cbd Binary files /dev/null and b/linux/ecosystem/github/runner/php72/usr/lib/php/20170718/cassandra.so differ diff --git a/linux/ecosystem/github/runner/php72/usr/lib/php/20170718/phpBolt-extension-1.0.4-php72.so b/linux/ecosystem/github/runner/php72/usr/lib/php/20170718/phpBolt-extension-1.0.4-php72.so new file mode 100644 index 000000000..d4aac7cd7 Binary files /dev/null and b/linux/ecosystem/github/runner/php72/usr/lib/php/20170718/phpBolt-extension-1.0.4-php72.so differ diff --git a/linux/ecosystem/github/runner/php72/usr/lib/php/20170718/phpBolt-extension-1.0.5-php72.so b/linux/ecosystem/github/runner/php72/usr/lib/php/20170718/phpBolt-extension-1.0.5-php72.so new file mode 100644 index 000000000..d4aac7cd7 Binary files /dev/null and b/linux/ecosystem/github/runner/php72/usr/lib/php/20170718/phpBolt-extension-1.0.5-php72.so differ diff --git a/linux/ecosystem/github/runner/php73/Dockerfile b/linux/ecosystem/github/runner/php73/Dockerfile new file mode 100644 index 000000000..e4d767897 --- /dev/null +++ b/linux/ecosystem/github/runner/php73/Dockerfile @@ -0,0 +1,392 @@ +FROM quay.io/epicmorg/debian:bookworm-develop AS builder +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + + +ARG BUILDS_DIR=/builds +ARG SRC_DIR=${BUILDS_DIR}/src +ARG EXPORT_DIR=${BUILDS_DIR}/export +ARG P4API_DIR=${SRC_DIR}/p4api +ARG P4PHP_DIR=${SRC_DIR}/p4php +ARG MAKE_DIR=${SRC_DIR}/p4php-7.3 + +ARG P4API_VER=r20.1 +ARG P4API_URL=http://filehost.perforce.com/perforce/${P4API_VER}/bin.linux26x86_64/p4api.tgz + +ARG P4PHP_VER=r20.1 +ARG P4PHP_URL=http://filehost.perforce.com/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz + +ARG P4MODULE_PATH=/usr/lib/php/20180731 + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P4PHP_DIR} + +################################################################## +# Installing PHP7 +################################################################## +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +#Install base packages +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + libmemcached-dev \ +# php-pear \ + php7.3 \ + php7.3-common \ + php7.3-dev \ + php7.3-fpm \ + php7.3-cli \ + php7.3-xml \ + php7.3-cgi && \ + update-alternatives --set php /usr/bin/php7.3 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# preparing p4src +################################################################## +RUN wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${P4API_DIR} && \ + wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \ + wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${P4PHP_DIR} && \ + wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \ + cd ${P4API_DIR} && \ + ls -las && \ + cd ${P4PHP_DIR} && \ + ls -las && \ + cd ${MAKE_DIR} && \ + ls -las && \ + cd ${SRC_DIR} && \ + ls -las + +################################################################## +# compilling p4src +################################################################## +RUN cd ${MAKE_DIR} && \ + ls -las && \ + phpize && \ + ./configure --with-perforce=${P4API_DIR} && \ + make && \ + make test && \ + make install && \ + cp ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR} + +################################################################## +################################################################## +################################################################## + +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV PHP_MODULE_PATH=/usr/lib/php/20180731 +ENV PHP_VER=7.3 +ENV PHP_DIR=/etc/php/${PHP_VER} +ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini + +################################################################## +# Installing PHP7 +################################################################## +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + libmemcached-dev \ + libgmp-dev \ +# php-pear \ + php7.3 \ + php7.3-cli \ + php7.3-common \ + php7.3-dev \ + php7.3-amqp \ + php7.3-apcu-bc \ + php7.3-apcu \ + php7.3-ast \ + php7.3-bcmath \ + php7.3-bz2 \ + php7.3-cgi \ + php7.3-curl \ + php7.3-dba \ + php7.3-decimal \ + php7.3-dio \ + php7.3-ds \ + php7.3-enchant \ + php7.3-excimer \ + php7.3-fpm \ + php7.3-gd \ + php7.3-gearman \ + php7.3-geoip \ +# php7.3-gmagick \ + php7.3-gmp \ + php7.3-gnupg \ + php7.3-grpc \ + php7.3-http \ + php7.3-igbinary \ + php7.3-imagick \ + php7.3-imap \ + php7.3-inotify \ + php7.3-interbase \ + php7.3-intl \ + php7.3-json \ + php7.3-ldap \ + php7.3-libvirt-php \ + php7.3-lua \ + php7.3-lz4 \ + php7.3-mailparse \ + php7.3-maxminddb \ + php7.3-mbstring \ + php7.3-mcrypt \ + php7.3-memcache \ + php7.3-memcached \ + php7.3-mongodb \ + php7.3-msgpack \ + php7.3-mysql \ + php7.3-oauth \ + php7.3-odbc \ + php7.3-opcache \ + php7.3-pcov \ + php7.3-pgsql \ +# php7.3-phalcon4 \ + php7.3-phpdbg \ + php7.3-pinba \ +# php7.3-pq \ + php7.3-propro \ + php7.3-protobuf \ + php7.3-ps \ + php7.3-pspell \ +# php7.3-psr \ + php7.3-radius \ + php7.3-raphf \ + php7.3-rdkafka \ + php7.3-readline \ + php7.3-recode \ + php7.3-redis \ + php7.3-rrd \ + php7.3-smbclient \ + php7.3-snmp \ + php7.3-soap \ + php7.3-solr \ + php7.3-sqlite3 \ + php7.3-ssh2 \ + php7.3-stomp \ + php7.3-sybase \ + php7.3-tideways \ + php7.3-tidy \ + php7.3-uopz \ + php7.3-uploadprogress \ + php7.3-uuid \ + php7.3-vips \ + php7.3-xdebug \ + php7.3-xhprof \ + php7.3-xml \ + php7.3-xmlrpc \ + php7.3-xsl \ +# php7.3-yac \ + php7.3-yaml \ + php7.3-zip \ + php7.3-zmq \ + php7.3-zstd \ + smbclient \ + libsmbclient \ + sendmail && \ + ln -sfv /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \ + apt-get remove -y \ + php5.6* \ + php7.0* \ + php7.1* \ + php7.2* \ +# php7.3* \ + php7.4* \ + php8.0* \ + php8.1* \ + php8.2* \ + php8.3* \ + php8.4* && \ + rm -rfv /etc/php/{5.6,7.0,7.1,7.2,7.4,8.0,8.1,8.2,8.3,8.4} && \ + update-alternatives --set php /usr/bin/php7.3 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# Enabling extensions +################################################################## +RUN phpenmod \ + snmp \ + gmp \ + calendar \ + ldap \ + curl \ + exif \ + ftp \ + fileinfo \ + gd \ + geoip \ + gettext \ + iconv \ + imap \ + json \ + mbstring \ + memcached \ + mysqli \ + mysqlnd \ + oauth \ + pdo_mysql \ + pdo_sqlite \ + phar \ + posix \ + readline \ + redis \ + simplexml \ + sockets \ + sqlite3 \ + ssh2 \ + tokenizer \ + xml \ + xmlreader \ + xmlrpc \ + xmlwriter \ + xsl \ + yaml && \ + phpdismod \ + xdebug \ + xcache \ + xhprof \ + tideways \ + pcov \ + swoole \ + grpc \ + uopz && \ + php -m && \ + php -v + +############################################################################## +# Cassandra CPP Support Install +############################################################################## +COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb +COPY addons/libssl1.1_1.1.1_amd64.deb /tmp/cassandra-php-driver/libssl1.1_1.1.1_amd64.deb +RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb + +RUN cd /tmp/cassandra-php-driver && \ + dpkg -i ./libssl1.1_1.1.1_amd64.deb && \ + dpkg -i ./multiarch-support_2.28_amd64.deb && \ + dpkg -i ./libuv1_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb + +############################################################################## +# Cassandra PHP Drivers Install +############################################################################## +#RUN pecl install cassandra && \ +COPY usr/lib/php/20180731/cassandra.so ${PHP_MODULE_PATH}/cassandra.so +RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \ +# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \ + php -m && \ + php -v + +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Bolt addon +################################################################## +#ADD https://phpbolt.com/wp-content/uploads/2023/03/phpBolt-extension-1.0.5.zip /tmp/phpBolt.zip +COPY usr/lib/php/20180731/phpBolt-extension-1.0.5-php73.so ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php73.so +#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php73.so" >> ${PHP_DIR}/apache2/php.ini && \ +RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php73.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php73.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php73.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing IOnCube addon +################################################################## +ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz +RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \ + cp /tmp/ioncube/ioncube_loader_lin_7.3.so ${PHP_MODULE_PATH} && \ +# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.3.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.3.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.3.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.3.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing P4 addon +################################################################## +COPY --from=builder /builds/export/perforce.so ${PHP_MODULE_PATH} +RUN echo "extension = ${PHP_MODULE_PATH}/perforce.so" > ${P4_PHP_INI} && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/cgi/conf.d/perforce.ini && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/cli/conf.d/perforce.ini && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/fpm/conf.d/perforce.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Composer addon +################################################################## +RUN cd /tmp && \ + php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ + php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \ + rm /tmp/composer-setup.php + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## +RUN updatedb diff --git a/linux/ecosystem/github/runner/php73/Makefile b/linux/ecosystem/github/runner/php73/Makefile new file mode 100644 index 000000000..b88fa3708 --- /dev/null +++ b/linux/ecosystem/github/runner/php73/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +deploy: + make deploy-kaniko + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/php73/README.md b/linux/ecosystem/github/runner/php73/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/php73/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/php73/addons/libssl1.1_1.1.1_amd64.deb b/linux/ecosystem/github/runner/php73/addons/libssl1.1_1.1.1_amd64.deb new file mode 100644 index 000000000..67b5d7314 Binary files /dev/null and b/linux/ecosystem/github/runner/php73/addons/libssl1.1_1.1.1_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php73/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/github/runner/php73/addons/multiarch-support_2.28_amd64.deb new file mode 100644 index 000000000..7cf23ffa8 Binary files /dev/null and b/linux/ecosystem/github/runner/php73/addons/multiarch-support_2.28_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php73/docker-compose.yml b/linux/ecosystem/github/runner/php73/docker-compose.yml new file mode 100644 index 000000000..00acfef18 --- /dev/null +++ b/linux/ecosystem/github/runner/php73/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:php7.3" + build: + context: . diff --git a/linux/ecosystem/github/runner/php73/usr/lib/php/20180731/cassandra.so b/linux/ecosystem/github/runner/php73/usr/lib/php/20180731/cassandra.so new file mode 100644 index 000000000..48ec4a0af Binary files /dev/null and b/linux/ecosystem/github/runner/php73/usr/lib/php/20180731/cassandra.so differ diff --git a/linux/ecosystem/github/runner/php73/usr/lib/php/20180731/phpBolt-extension-1.0.4-php73.so b/linux/ecosystem/github/runner/php73/usr/lib/php/20180731/phpBolt-extension-1.0.4-php73.so new file mode 100644 index 000000000..b469217df Binary files /dev/null and b/linux/ecosystem/github/runner/php73/usr/lib/php/20180731/phpBolt-extension-1.0.4-php73.so differ diff --git a/linux/ecosystem/github/runner/php73/usr/lib/php/20180731/phpBolt-extension-1.0.5-php73.so b/linux/ecosystem/github/runner/php73/usr/lib/php/20180731/phpBolt-extension-1.0.5-php73.so new file mode 100644 index 000000000..b469217df Binary files /dev/null and b/linux/ecosystem/github/runner/php73/usr/lib/php/20180731/phpBolt-extension-1.0.5-php73.so differ diff --git a/linux/ecosystem/github/runner/php74/Dockerfile b/linux/ecosystem/github/runner/php74/Dockerfile new file mode 100644 index 000000000..a2e16e945 --- /dev/null +++ b/linux/ecosystem/github/runner/php74/Dockerfile @@ -0,0 +1,410 @@ +FROM quay.io/epicmorg/debian:bookworm-develop AS builder +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + + +ARG BUILDS_DIR=/builds +ARG SRC_DIR=${BUILDS_DIR}/src +ARG EXPORT_DIR=${BUILDS_DIR}/export +ARG P4API_DIR=${SRC_DIR}/p4api +ARG P4PHP_DIR=${SRC_DIR}/p4php +ARG MAKE_DIR=${SRC_DIR}/p4php-7.4 + +ARG P4API_VER=r20.1 +ARG P4API_URL=http://filehost.perforce.com/perforce/${P4API_VER}/bin.linux26x86_64/p4api.tgz + +ARG P4PHP_VER=r20.1 +ARG P4PHP_URL=http://filehost.perforce.com/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz + +ENV PHP_MODULE_PATH=/usr/lib/php/20190902 + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P4PHP_DIR} + +################################################################## +# Installing PHP7 +###################################################################installing PHP repo +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + libmemcached-dev \ + smbclient libsmbclient libsmbclient-dev \ +# php-pear \ + php7.4 \ + php7.4-common \ + php7.4-dev \ + php7.4-fpm \ + php7.4-cli \ + php7.4-xml \ + php7.4-cgi && \ + update-alternatives --set php /usr/bin/php7.4 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# preparing p4src +################################################################## +RUN wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${P4API_DIR} && \ + wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \ + wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${P4PHP_DIR} && \ + wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \ + cd ${P4API_DIR} && \ + ls -las && \ + cd ${P4PHP_DIR} && \ + ls -las && \ + cd ${MAKE_DIR} && \ + ls -las && \ + cd ${SRC_DIR} && \ + ls -las + +################################################################## +# compilling p4src +################################################################## +RUN cd ${MAKE_DIR} && \ + ls -las && \ + phpize && \ + ./configure --with-perforce=${P4API_DIR} && \ + make && \ + make test && \ + make install && \ + cp ${PHP_MODULE_PATH}/perforce.so ${EXPORT_DIR} + +################################################################## +# compilling smbclient +################################################################## +#RUN pecl install smbclient && \ +# cp ${PHP_MODULE_PATH}/smbclient.so ${EXPORT_DIR} + +################################################################## +################################################################## +################################################################## + +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV PHP_MODULE_PATH=/usr/lib/php/20190902 +ENV PHP_VER=7.4 +ENV PHP_DIR=/etc/php/${PHP_VER} +ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini +ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini + +################################################################## +# Installing PHP7 +################################################################## +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + libmemcached-dev \ + libgmp-dev \ +# php-pear \ + php7.4 \ + php7.4-cli \ + php7.4-common \ + php7.4-dev \ + php7.4-amqp \ + php7.4-apcu-bc \ + php7.4-apcu \ + php7.4-ast \ + php7.4-bcmath \ + php7.4-bz2 \ + php7.4-cgi \ + php7.4-curl \ + php7.4-dba \ + php7.4-decimal \ + php7.4-dio \ + php7.4-ds \ + php7.4-enchant \ + php7.4-excimer \ + php7.4-fpm \ + php7.4-gd \ + php7.4-gearman \ + php7.4-geoip \ +# php7.4-gmagick \ + php7.4-gmp \ + php7.4-gnupg \ + php7.4-grpc \ + php7.4-http \ + php7.4-igbinary \ + php7.4-imagick \ + php7.4-imap \ + php7.4-inotify \ + php7.4-interbase \ + php7.4-intl \ + php7.4-json \ + php7.4-ldap \ + php7.4-libvirt-php \ + php7.4-lua \ + php7.4-lz4 \ + php7.4-mailparse \ + php7.4-maxminddb \ + php7.4-mbstring \ + php7.4-mcrypt \ + php7.4-memcache \ + php7.4-memcached \ + php7.4-mongodb \ + php7.4-msgpack \ + php7.4-mysql \ + php7.4-oauth \ + php7.4-odbc \ + php7.4-opcache \ + php7.4-pcov \ + php7.4-pgsql \ + php7.4-phalcon4 \ +# php7.4-phalcon5 \ + php7.4-phpdbg \ + php7.4-pinba \ + php7.4-pq \ + php7.4-propro \ + php7.4-protobuf \ + php7.4-ps \ + php7.4-pspell \ + php7.4-psr \ + php7.4-radius \ + php7.4-raphf \ + php7.4-rdkafka \ + php7.4-readline \ + php7.4-redis \ + php7.4-rrd \ + php7.4-smbclient \ + php7.4-snmp \ + php7.4-soap \ + php7.4-solr \ + php7.4-sqlite3 \ + php7.4-ssh2 \ + php7.4-stomp \ + php7.4-sybase \ + php7.4-tideways \ + php7.4-tidy \ + php7.4-uopz \ + php7.4-uploadprogress \ + php7.4-uuid \ + php7.4-vips \ + php7.4-xdebug \ + php7.4-xhprof \ + php7.4-xml \ + php7.4-xmlrpc \ + php7.4-xsl \ +# php7.4-yac \ + php7.4-yaml \ + php7.4-zip \ + php7.4-zmq \ + php7.4-zstd \ + smbclient \ + libsmbclient \ + sendmail && \ + ln -sfv /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \ + apt-get remove -y \ + php5.6* \ + php7.0* \ + php7.1* \ + php7.2* \ + php7.3* \ +# php7.4* \ + php8.0* \ + php8.1* \ + php8.2* \ + php8.3* \ + php8.4* && \ + rm -rfv /etc/php/{5.6,7.0,7.1,7.2,7.3,8.0,8.1,8.2,8.3,8.4} && \ + update-alternatives --set php /usr/bin/php7.4 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# Enabling extensions +################################################################## +RUN phpenmod \ + snmp \ + gmp \ + calendar \ + ldap \ + curl \ + exif \ + ftp \ + fileinfo \ + gd \ + geoip \ + gnupg \ + iconv \ + imap \ + json \ + mbstring \ + memcached \ + mysqli \ + mysqlnd \ + oauth \ + pdo_mysql \ + pdo_sqlite \ + phar \ + posix \ + readline \ + redis \ + simplexml \ + sockets \ + sqlite3 \ + ssh2 \ + tokenizer \ + xml \ + xmlreader \ + xmlrpc \ + xmlwriter \ + xsl \ + yaml && \ + phpdismod \ + xdebug \ + xcache \ + xhprof \ + tideways \ + pcov \ + swoole \ + grpc \ + uopz && \ + php -m && \ + php -v + +############################################################################## +# Cassandra CPP Support Install +############################################################################## +COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb +COPY addons/libssl1.1_1.1.1_amd64.deb /tmp/cassandra-php-driver/libssl1.1_1.1.1_amd64.deb +RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb + +RUN cd /tmp/cassandra-php-driver && \ + dpkg -i ./libssl1.1_1.1.1_amd64.deb && \ + dpkg -i ./multiarch-support_2.28_amd64.deb && \ + dpkg -i ./libuv1_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb + +############################################################################## +# Cassandra PHP Drivers Install +############################################################################## +#RUN pecl install cassandra && \ +COPY usr/lib/php/20190902/cassandra.so ${PHP_MODULE_PATH}/cassandra.so +RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \ +# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \ + php -m && \ + php -v + +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Bolt addon +################################################################## +#ADD https://phpbolt.com/wp-content/uploads/2023/03/phpBolt-extension-1.0.5.zip /tmp/phpBolt.zip +COPY usr/lib/php/20190902/phpBolt-extension-1.0.5-php74.so ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php74.so +#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php74.so" >> ${PHP_DIR}/apache2/php.ini && \ +RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php74.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php74.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php74.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing IOnCube addon +################################################################## +ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz +RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \ + cp /tmp/ioncube/ioncube_loader_lin_7.4.so ${PHP_MODULE_PATH} && \ +# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing P4 addon +################################################################## +COPY --from=builder /builds/export/perforce.so ${PHP_MODULE_PATH} +RUN echo "extension = ${PHP_MODULE_PATH}/perforce.so" > ${P4_PHP_INI} && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/cgi/conf.d/perforce.ini && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/cli/conf.d/perforce.ini && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/fpm/conf.d/perforce.ini && \ + php -m && \ + php -v + +################################################################## +# Installing smbclient addon +################################################################## +#COPY --from=builder /builds/export/smbclient.so ${PHP_MODULE_PATH} +#RUN echo "extension = ${PHP_MODULE_PATH}/smbclient.so" > ${SMB_PHP_INI} && \ +# ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cgi/conf.d/smbclient.ini && \ +# ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cli/conf.d/smbclient.ini && \ +# ln -sf ${SMB_PHP_INI} ${PHP_DIR}/fpm/conf.d/smbclient.ini && \ +# php -m && \ +# php -v + +################################################################## +# Installing Composer addon +################################################################## +RUN cd /tmp && \ + php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ + php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \ + rm /tmp/composer-setup.php + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## +RUN updatedb diff --git a/linux/ecosystem/github/runner/php74/Makefile b/linux/ecosystem/github/runner/php74/Makefile new file mode 100644 index 000000000..b88fa3708 --- /dev/null +++ b/linux/ecosystem/github/runner/php74/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +deploy: + make deploy-kaniko + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/php74/README.md b/linux/ecosystem/github/runner/php74/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/php74/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/php74/addons/libssl1.1_1.1.1_amd64.deb b/linux/ecosystem/github/runner/php74/addons/libssl1.1_1.1.1_amd64.deb new file mode 100644 index 000000000..67b5d7314 Binary files /dev/null and b/linux/ecosystem/github/runner/php74/addons/libssl1.1_1.1.1_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php74/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/github/runner/php74/addons/multiarch-support_2.28_amd64.deb new file mode 100644 index 000000000..7cf23ffa8 Binary files /dev/null and b/linux/ecosystem/github/runner/php74/addons/multiarch-support_2.28_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php74/docker-compose.yml b/linux/ecosystem/github/runner/php74/docker-compose.yml new file mode 100644 index 000000000..0d45de804 --- /dev/null +++ b/linux/ecosystem/github/runner/php74/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:php7.4" + build: + context: . diff --git a/linux/ecosystem/github/runner/php74/usr/lib/php/20190902/cassandra.so b/linux/ecosystem/github/runner/php74/usr/lib/php/20190902/cassandra.so new file mode 100644 index 000000000..9f6332a44 Binary files /dev/null and b/linux/ecosystem/github/runner/php74/usr/lib/php/20190902/cassandra.so differ diff --git a/linux/ecosystem/github/runner/php74/usr/lib/php/20190902/phpBolt-extension-1.0.4-php74.so b/linux/ecosystem/github/runner/php74/usr/lib/php/20190902/phpBolt-extension-1.0.4-php74.so new file mode 100644 index 000000000..9e8df1195 Binary files /dev/null and b/linux/ecosystem/github/runner/php74/usr/lib/php/20190902/phpBolt-extension-1.0.4-php74.so differ diff --git a/linux/ecosystem/github/runner/php74/usr/lib/php/20190902/phpBolt-extension-1.0.5-php74.so b/linux/ecosystem/github/runner/php74/usr/lib/php/20190902/phpBolt-extension-1.0.5-php74.so new file mode 100644 index 000000000..9e8df1195 Binary files /dev/null and b/linux/ecosystem/github/runner/php74/usr/lib/php/20190902/phpBolt-extension-1.0.5-php74.so differ diff --git a/linux/ecosystem/github/runner/php80/Dockerfile b/linux/ecosystem/github/runner/php80/Dockerfile new file mode 100644 index 000000000..ef93bb21b --- /dev/null +++ b/linux/ecosystem/github/runner/php80/Dockerfile @@ -0,0 +1,304 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV PHP_MODULE_VER=20200930 +ENV PHP_MODULE_PATH=/usr/lib/php/${PHP_MODULE_VER} +ENV PHP_VER=8.0 +ENV PHP_DIR=/etc/php/${PHP_VER} +ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini +ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini + +################################################################## +# Installing PHP8 +################################################################## +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + libmemcached-dev \ + libgmp-dev \ +# php-pear \ + php8.0 \ + php8.0-cli \ + php8.0-common \ + php8.0-dev \ + php8.0-amqp \ + php8.0-apcu \ + php8.0-ast \ + php8.0-bcmath \ + php8.0-bz2 \ + php8.0-cgi \ + php8.0-curl \ + php8.0-dba \ + php8.0-decimal \ + php8.0-dio \ + php8.0-ds \ + php8.0-enchant \ + php8.0-excimer \ + php8.0-fpm \ + php8.0-gd \ + php8.0-gearman \ +# php8.0-gmagick \ + php8.0-gmp \ + php8.0-gnupg \ + php8.0-grpc \ + php8.0-http \ + php8.0-igbinary \ + php8.0-imagick \ + php8.0-imap \ + php8.0-inotify \ + php8.0-interbase \ + php8.0-intl \ + php8.0-ldap \ + php8.0-libvirt-php \ + php8.0-lz4 \ + php8.0-mailparse \ + php8.0-maxminddb \ + php8.0-mbstring \ + php8.0-mcrypt \ + php8.0-memcache \ + php8.0-memcached \ + php8.0-mongodb \ + php8.0-msgpack \ + php8.0-mysql \ + php8.0-oauth \ + php8.0-odbc \ + php8.0-opcache \ + php8.0-pcov \ + php8.0-pgsql \ + php8.0-phalcon5 \ + php8.0-phpdbg \ + php8.0-pinba \ +# php8.0-pq \ +# php8.0-propro \ + php8.0-protobuf \ + php8.0-ps \ + php8.0-pspell \ +# php8.0-psr \ + php8.0-raphf \ + php8.0-rdkafka \ + php8.0-readline \ + php8.0-redis \ + php8.0-rrd \ + php8.0-smbclient \ + php8.0-snmp \ + php8.0-soap \ + php8.0-solr \ + php8.0-sqlite3 \ + php8.0-ssh2 \ + php8.0-stomp \ + php8.0-swoole \ + php8.0-sybase \ + php8.0-tideways \ + php8.0-tidy \ + php8.0-uopz \ + php8.0-uploadprogress \ + php8.0-uuid \ + php8.0-vips \ + php8.0-xdebug \ + php8.0-xhprof \ + php8.0-xml \ + php8.0-xmlrpc \ + php8.0-xsl \ +# php8.0-yac \ + php8.0-yaml \ + php8.0-zip \ + php8.0-zmq \ + php8.0-zstd \ + smbclient \ + libsmbclient \ + sendmail && \ + ln -sfv /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \ + apt-get remove -y \ + php5.6* \ + php7.0* \ + php7.1* \ + php7.2* \ + php7.3* \ + php7.4* \ +# php8.0* \ + php8.1* \ + php8.2* \ + php8.3* \ + php8.4* && \ + rm -rfv /etc/php/{5.6,7.0,7.1,7.2,7.3,7.4,8.1,8.2,8.3,8.4} && \ + update-alternatives --set php /usr/bin/php8.0 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# Enabling extensions +################################################################## +RUN phpenmod \ + snmp \ + gmp \ + calendar \ + ldap \ + curl \ + exif \ + ftp \ + fileinfo \ + gd \ + geoip \ + gnupg \ + iconv \ + imap \ + json \ + mbstring \ + memcached \ + mysqli \ + mysqlnd \ + oauth \ + pdo_mysql \ + pdo_sqlite \ + phar \ + posix \ + readline \ + redis \ + simplexml \ + sockets \ + sqlite3 \ + ssh2 \ + tokenizer \ + xml \ + xmlreader \ + xmlrpc \ + xmlwriter \ + xsl \ + yaml && \ + phpdismod \ + xdebug \ + xcache \ + xhprof \ + tideways \ + pcov \ + swoole \ + grpc \ + uopz && \ + php -m && \ + php -v + +############################################################################## +# Cassandra CPP Support Install +############################################################################## +COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb +COPY addons/libssl1.1_1.1.1_amd64.deb /tmp/cassandra-php-driver/libssl1.1_1.1.1_amd64.deb +RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb + +RUN cd /tmp/cassandra-php-driver && \ + dpkg -i ./libssl1.1_1.1.1_amd64.deb && \ + dpkg -i ./multiarch-support_2.28_amd64.deb && \ + dpkg -i ./libuv1_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb + +############################################################################## +# Cassandra PHP Drivers Install +############################################################################## +#RUN pecl install cassandra && \ +COPY usr/lib/php/20200930/cassandra.so ${PHP_MODULE_PATH}/cassandra.so +RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \ +# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Bolt addon +################################################################## +#ADD https://phpbolt.com/wp-content/uploads/2023/03/phpBolt-extension-1.0.5.zip /tmp/phpBolt.zip +COPY usr/lib/php/20200930/phpBolt-extension-1.0.5-php80.so ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php80.so +#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php80.so" >> ${PHP_DIR}/apache2/php.ini && \ +RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php80.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php80.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php80.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing P4 addon +################################################################## +RUN wget -q --no-check-certificate -c http://ftp.perforce.com/perforce/r20.2/bin.linux26x86_64/perforce_php80.so --random-wait -O ${PHP_MODULE_PATH}/perforce_php80.so && \ + wget -q --no-check-certificate -c http://ftp.perforce.com/perforce/r20.2/bin.linux26x86_64/perforce_php80-ssl1.0.2.so --random-wait -O ${PHP_MODULE_PATH}/perforce_php80-ssl1.0.2.so && \ + wget -q --no-check-certificate -c http://ftp.perforce.com/perforce/r20.2/bin.linux26x86_64/perforce_php80-ssl1.1.1.so --random-wait -O ${PHP_MODULE_PATH}/perforce_php80-ssl1.1.1.so + +#COPY --from=builder /builds/export/perforce.so ${PHP_MODULE_PATH} + +RUN echo "extension = ${PHP_MODULE_PATH}/perforce_php80-ssl1.1.1.so" > ${P4_PHP_INI} && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/cgi/conf.d/perforce.ini && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/cli/conf.d/perforce.ini && \ + ln -sf ${P4_PHP_INI} ${PHP_DIR}/fpm/conf.d/perforce.ini && \ + php -m && \ + php -v + +################################################################## +# Installing IOnCube addon +################################################################# +# NOT OFFICIALLY SUPPORTED +# +#ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz +#RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \ +# cp /tmp/ioncube/ioncube_loader_lin_8.0.so ${PHP_MODULE_PATH} && \ +## echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.0.so" >> ${PHP_DIR}/apache2/php.ini && \ +# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.0.so" >> ${PHP_DIR}/cgi/php.ini && \ +# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.0.so" >> ${PHP_DIR}/cli/php.ini && \ +# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.0.so" >> ${PHP_DIR}/fpm/php.ini && \ +# php -m && \ +# php -v + +################################################################## +# Installing Composer addon +################################################################## +RUN cd /tmp && \ + php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ + php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \ + rm /tmp/composer-setup.php + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## +RUN updatedb diff --git a/linux/ecosystem/github/runner/php80/Makefile b/linux/ecosystem/github/runner/php80/Makefile new file mode 100644 index 000000000..b88fa3708 --- /dev/null +++ b/linux/ecosystem/github/runner/php80/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +deploy: + make deploy-kaniko + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/php80/README.md b/linux/ecosystem/github/runner/php80/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/php80/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/php80/addons/libssl1.1_1.1.1_amd64.deb b/linux/ecosystem/github/runner/php80/addons/libssl1.1_1.1.1_amd64.deb new file mode 100644 index 000000000..67b5d7314 Binary files /dev/null and b/linux/ecosystem/github/runner/php80/addons/libssl1.1_1.1.1_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php80/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/github/runner/php80/addons/multiarch-support_2.28_amd64.deb new file mode 100644 index 000000000..7cf23ffa8 Binary files /dev/null and b/linux/ecosystem/github/runner/php80/addons/multiarch-support_2.28_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php80/docker-compose.yml b/linux/ecosystem/github/runner/php80/docker-compose.yml new file mode 100644 index 000000000..0c5be151f --- /dev/null +++ b/linux/ecosystem/github/runner/php80/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:php8.0" + build: + context: . diff --git a/linux/ecosystem/github/runner/php80/usr/lib/php/20200930/cassandra.so b/linux/ecosystem/github/runner/php80/usr/lib/php/20200930/cassandra.so new file mode 100644 index 000000000..c7de65288 Binary files /dev/null and b/linux/ecosystem/github/runner/php80/usr/lib/php/20200930/cassandra.so differ diff --git a/linux/ecosystem/github/runner/php80/usr/lib/php/20200930/phpBolt-extension-1.0.4-php80.so b/linux/ecosystem/github/runner/php80/usr/lib/php/20200930/phpBolt-extension-1.0.4-php80.so new file mode 100644 index 000000000..6813727b3 Binary files /dev/null and b/linux/ecosystem/github/runner/php80/usr/lib/php/20200930/phpBolt-extension-1.0.4-php80.so differ diff --git a/linux/ecosystem/github/runner/php80/usr/lib/php/20200930/phpBolt-extension-1.0.5-php80.so b/linux/ecosystem/github/runner/php80/usr/lib/php/20200930/phpBolt-extension-1.0.5-php80.so new file mode 100644 index 000000000..6813727b3 Binary files /dev/null and b/linux/ecosystem/github/runner/php80/usr/lib/php/20200930/phpBolt-extension-1.0.5-php80.so differ diff --git a/linux/ecosystem/github/runner/php81/Dockerfile b/linux/ecosystem/github/runner/php81/Dockerfile new file mode 100644 index 000000000..4ba8bebd0 --- /dev/null +++ b/linux/ecosystem/github/runner/php81/Dockerfile @@ -0,0 +1,286 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV PHP_VER=8.1 +ENV PHP_MODULE_VER=20210902 +ENV PHP_MODULE_PATH=/usr/lib/php/${PHP_MODULE_VER} +ENV PHP_DIR=/etc/php/${PHP_VER} +ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini +ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini + +################################################################## +# Installing PHP8 +################################################################## +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + libmemcached-dev \ + libgmp-dev \ +# php-pear \ + php8.1 \ + php8.1-cli \ + php8.1-common \ + php8.1-dev \ + php8.1-amqp \ + php8.1-apcu \ + php8.1-ast \ + php8.1-bcmath \ + php8.1-bz2 \ + php8.1-cgi \ + php8.1-curl \ + php8.1-dba \ + php8.1-decimal \ + php8.1-dio \ + php8.1-ds \ + php8.1-enchant \ + php8.1-excimer \ + php8.1-fpm \ + php8.1-gd \ + php8.1-gearman \ +# php8.1-gmagick \ + php8.1-gmp \ + php8.1-gnupg \ + php8.1-grpc \ + php8.1-http \ + php8.1-igbinary \ + php8.1-imagick \ + php8.1-imap \ + php8.1-inotify \ + php8.1-interbase \ + php8.1-intl \ + php8.1-ldap \ + php8.1-libvirt-php \ + php8.1-lz4 \ + php8.1-mailparse \ + php8.1-maxminddb \ + php8.1-mbstring \ + php8.1-mcrypt \ + php8.1-memcache \ + php8.1-memcached \ + php8.1-mongodb \ + php8.1-msgpack \ + php8.1-mysql \ + php8.1-oauth \ + php8.1-odbc \ + php8.1-opcache \ + php8.1-pcov \ + php8.1-pgsql \ +# php8.1-phalcon5 \ + php8.1-phpdbg \ + php8.1-pinba \ +# php8.1-pq \ +# php8.1-propro \ + php8.1-protobuf \ + php8.1-ps \ + php8.1-pspell \ +# php8.1-psr \ + php8.1-raphf \ + php8.1-rdkafka \ + php8.1-readline \ + php8.1-redis \ + php8.1-rrd \ + php8.1-smbclient \ + php8.1-snmp \ + php8.1-soap \ + php8.1-solr \ + php8.1-sqlite3 \ + php8.1-ssh2 \ + php8.1-stomp \ + php8.1-swoole \ + php8.1-sybase \ + php8.1-tideways \ + php8.1-tidy \ + php8.1-uopz \ + php8.1-uploadprogress \ + php8.1-uuid \ + php8.1-vips \ + php8.1-xdebug \ + php8.1-xhprof \ + php8.1-xml \ + php8.1-xmlrpc \ + php8.1-xsl \ +# php8.1-yac \ + php8.1-yaml \ + php8.1-zip \ + php8.1-zmq \ + php8.1-zstd \ + smbclient \ + libsmbclient \ + sendmail && \ + ln -sfv /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \ + apt-get remove -y \ + php5.6* \ + php7.0* \ + php7.1* \ + php7.2* \ + php7.3* \ + php7.4* \ + php8.0* \ +# php8.1* \ + php8.2* \ + php8.3* \ + php8.4* && \ + rm -rfv /etc/php/{5.6,7.0,7.1,7.2,7.3,7.4,8.0,8.2,8.3,8.4} && \ + update-alternatives --set php /usr/bin/php8.1 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# Enabling extensions +################################################################## +RUN phpenmod \ + snmp \ + gmp \ + calendar \ + ldap \ + curl \ + exif \ + ftp \ + fileinfo \ + gd \ + geoip \ + gnupg \ + iconv \ + imap \ + json \ + mbstring \ + memcached \ + mysqli \ + mysqlnd \ + oauth \ + pdo_mysql \ + pdo_sqlite \ + phar \ + posix \ + readline \ + redis \ + simplexml \ + sockets \ + sqlite3 \ + ssh2 \ + tokenizer \ + xml \ + xmlreader \ + xmlrpc \ + xmlwriter \ + xsl \ + yaml && \ + phpdismod \ + xdebug \ + xcache \ + xhprof \ + tideways \ + pcov \ + swoole \ + grpc \ + uopz && \ + php -m && \ + php -v + +############################################################################## +# Cassandra CPP Support Install +############################################################################## +COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb +COPY addons/libssl1.1_1.1.1_amd64.deb /tmp/cassandra-php-driver/libssl1.1_1.1.1_amd64.deb +RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb + +RUN cd /tmp/cassandra-php-driver && \ + dpkg -i ./libssl1.1_1.1.1_amd64.deb && \ + dpkg -i ./multiarch-support_2.28_amd64.deb && \ + dpkg -i ./libuv1_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb + +############################################################################## +# Cassandra PHP Drivers Install +############################################################################## +#RUN pecl install cassandra && \ +COPY usr/lib/php/20210902/cassandra.so ${PHP_MODULE_PATH}/cassandra.so +RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \ +# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \ + php -m && \ + php -v + +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Bolt addon +################################################################## +#ADD https://phpbolt.com/wp-content/uploads/2023/03/phpBolt-extension-1.0.5.zip /tmp/phpBolt.zip +COPY usr/lib/php/20210902/phpBolt-extension-1.0.5-php81.so ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php81.so +#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php81.so" >> ${PHP_DIR}/apache2/php.ini && \ +RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php81.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php81.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php81.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing IOnCube addon +################################################################# +ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz +RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \ + cp /tmp/ioncube/ioncube_loader_lin_8.1.so ${PHP_MODULE_PATH} && \ +## echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.1.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.1.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.1.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.1.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Composer addon +################################################################## +RUN cd /tmp && \ + php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ + php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \ + rm /tmp/composer-setup.php + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## +RUN updatedb diff --git a/linux/ecosystem/github/runner/php81/Makefile b/linux/ecosystem/github/runner/php81/Makefile new file mode 100644 index 000000000..b88fa3708 --- /dev/null +++ b/linux/ecosystem/github/runner/php81/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +deploy: + make deploy-kaniko + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/php81/README.md b/linux/ecosystem/github/runner/php81/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/php81/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/php81/addons/libssl1.1_1.1.1_amd64.deb b/linux/ecosystem/github/runner/php81/addons/libssl1.1_1.1.1_amd64.deb new file mode 100644 index 000000000..67b5d7314 Binary files /dev/null and b/linux/ecosystem/github/runner/php81/addons/libssl1.1_1.1.1_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php81/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/github/runner/php81/addons/multiarch-support_2.28_amd64.deb new file mode 100644 index 000000000..7cf23ffa8 Binary files /dev/null and b/linux/ecosystem/github/runner/php81/addons/multiarch-support_2.28_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php81/docker-compose.yml b/linux/ecosystem/github/runner/php81/docker-compose.yml new file mode 100644 index 000000000..631ae8dff --- /dev/null +++ b/linux/ecosystem/github/runner/php81/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:php8.1" + build: + context: . diff --git a/linux/ecosystem/github/runner/php81/usr/lib/php/20210902/cassandra.so b/linux/ecosystem/github/runner/php81/usr/lib/php/20210902/cassandra.so new file mode 100644 index 000000000..f2d94833c Binary files /dev/null and b/linux/ecosystem/github/runner/php81/usr/lib/php/20210902/cassandra.so differ diff --git a/linux/ecosystem/github/runner/php81/usr/lib/php/20210902/phpBolt-extension-1.0.4-php81.so b/linux/ecosystem/github/runner/php81/usr/lib/php/20210902/phpBolt-extension-1.0.4-php81.so new file mode 100644 index 000000000..b04d217c3 Binary files /dev/null and b/linux/ecosystem/github/runner/php81/usr/lib/php/20210902/phpBolt-extension-1.0.4-php81.so differ diff --git a/linux/ecosystem/github/runner/php81/usr/lib/php/20210902/phpBolt-extension-1.0.5-php81.so b/linux/ecosystem/github/runner/php81/usr/lib/php/20210902/phpBolt-extension-1.0.5-php81.so new file mode 100644 index 000000000..b04d217c3 Binary files /dev/null and b/linux/ecosystem/github/runner/php81/usr/lib/php/20210902/phpBolt-extension-1.0.5-php81.so differ diff --git a/linux/ecosystem/github/runner/php82/Dockerfile b/linux/ecosystem/github/runner/php82/Dockerfile new file mode 100644 index 000000000..96fa551cc --- /dev/null +++ b/linux/ecosystem/github/runner/php82/Dockerfile @@ -0,0 +1,286 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV PHP_VER=8.2 +ENV PHP_MODULE_VER=20220829 +ENV PHP_MODULE_PATH=/usr/lib/php/${PHP_MODULE_VER} +ENV PHP_DIR=/etc/php/${PHP_VER} +ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini +ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini + +################################################################## +# Installing PHP8 +################################################################## +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + libmemcached-dev \ + libgmp-dev \ +# php-pear \ + php8.2 \ + php8.2-cli \ + php8.2-common \ + php8.2-dev \ + php8.2-amqp \ + php8.2-apcu \ + php8.2-ast \ + php8.2-bcmath \ + php8.2-bz2 \ + php8.2-cgi \ + php8.2-curl \ + php8.2-dba \ + php8.2-decimal \ + php8.2-dio \ + php8.2-ds \ + php8.2-enchant \ + php8.2-excimer \ + php8.2-fpm \ + php8.2-gd \ + php8.2-gearman \ +# php8.2-gmagick \ + php8.2-gmp \ + php8.2-gnupg \ + php8.2-grpc \ + php8.2-http \ + php8.2-igbinary \ + php8.2-imagick \ + php8.2-imap \ + php8.2-inotify \ + php8.2-interbase \ + php8.2-intl \ + php8.2-ldap \ + php8.2-libvirt-php \ + php8.2-lz4 \ + php8.2-mailparse \ + php8.2-maxminddb \ + php8.2-mbstring \ + php8.2-mcrypt \ + php8.2-memcache \ + php8.2-memcached \ + php8.2-mongodb \ + php8.2-msgpack \ + php8.2-mysql \ + php8.2-oauth \ + php8.2-odbc \ + php8.2-opcache \ + php8.2-pcov \ + php8.2-pgsql \ +# php8.2-phalcon5 \ + php8.2-phpdbg \ + php8.2-pinba \ +# php8.2-pq \ +# php8.2-propro \ + php8.2-protobuf \ + php8.2-ps \ + php8.2-pspell \ + php8.2-psr \ + php8.2-raphf \ + php8.2-rdkafka \ + php8.2-readline \ + php8.2-redis \ + php8.2-rrd \ + php8.2-smbclient \ + php8.2-snmp \ + php8.2-soap \ + php8.2-solr \ + php8.2-sqlite3 \ + php8.2-ssh2 \ + php8.2-stomp \ + php8.2-swoole \ + php8.2-sybase \ + php8.2-tideways \ + php8.2-tidy \ + php8.2-uopz \ + php8.2-uploadprogress \ + php8.2-uuid \ + php8.2-vips \ + php8.2-xdebug \ + php8.2-xhprof \ + php8.2-xml \ + php8.2-xmlrpc \ + php8.2-xsl \ +# php8.2-yac \ + php8.2-yaml \ + php8.2-zip \ + php8.2-zmq \ + php8.2-zstd \ + smbclient \ + libsmbclient \ + sendmail && \ + ln -sfv /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \ + apt-get remove -y \ + php5.6* \ + php7.0* \ + php7.1* \ + php7.2* \ + php7.3* \ + php7.4* \ + php8.0* \ + php8.1* \ +# php8.2* \ + php8.3* \ + php8.4* && \ + rm -rfv /etc/php/{5.6,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.3,8.4} && \ + update-alternatives --set php /usr/bin/php8.2 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# Enabling extensions +################################################################## +RUN phpenmod \ + snmp \ + gmp \ + calendar \ + ldap \ + curl \ + exif \ + ftp \ + fileinfo \ + gd \ + geoip \ + gnupg \ + iconv \ + imap \ + json \ + mbstring \ + memcached \ + mysqli \ + mysqlnd \ + oauth \ + pdo_mysql \ + pdo_sqlite \ + phar \ + posix \ + readline \ + redis \ + simplexml \ + sockets \ + sqlite3 \ + ssh2 \ + tokenizer \ + xml \ + xmlreader \ + xmlrpc \ + xmlwriter \ + xsl \ + yaml && \ + phpdismod \ + xdebug \ + xcache \ + xhprof \ + tideways \ + pcov \ + swoole \ + grpc \ + uopz && \ + php -m && \ + php -v + +############################################################################## +# Cassandra CPP Support Install +############################################################################## +COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb +COPY addons/libssl1.1_1.1.1_amd64.deb /tmp/cassandra-php-driver/libssl1.1_1.1.1_amd64.deb +RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb + +RUN cd /tmp/cassandra-php-driver && \ + dpkg -i ./libssl1.1_1.1.1_amd64.deb && \ + dpkg -i ./multiarch-support_2.28_amd64.deb && \ + dpkg -i ./libuv1_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb + +############################################################################## +# Cassandra PHP Drivers Install +############################################################################## +#RUN pecl install cassandra && \ +COPY usr/lib/php/20220829/cassandra.so ${PHP_MODULE_PATH}/cassandra.so +RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \ + ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \ +# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \ + php -m && \ + php -v + +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Bolt addon +################################################################## +#ADD https://phpbolt.com/wp-content/uploads/2023/03/phpBolt-extension-1.0.5.zip /tmp/phpBolt.zip +COPY usr/lib/php/20220829/phpBolt-extension-1.0.5-php82.so ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php82.so +#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php82.so" >> ${PHP_DIR}/apache2/php.ini && \ +RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php82.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php82.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php82.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing IOnCube addon +################################################################# +ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz +RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \ + cp /tmp/ioncube/ioncube_loader_lin_8.2.so ${PHP_MODULE_PATH} && \ +## echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.2.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.2.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.2.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.2.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Composer addon +################################################################## +RUN cd /tmp && \ + php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ + php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \ + rm /tmp/composer-setup.php + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## +RUN updatedb diff --git a/linux/ecosystem/github/runner/php82/Makefile b/linux/ecosystem/github/runner/php82/Makefile new file mode 100644 index 000000000..b88fa3708 --- /dev/null +++ b/linux/ecosystem/github/runner/php82/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +deploy: + make deploy-kaniko + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/php82/README.md b/linux/ecosystem/github/runner/php82/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/php82/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/php82/addons/libssl1.1_1.1.1_amd64.deb b/linux/ecosystem/github/runner/php82/addons/libssl1.1_1.1.1_amd64.deb new file mode 100644 index 000000000..67b5d7314 Binary files /dev/null and b/linux/ecosystem/github/runner/php82/addons/libssl1.1_1.1.1_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php82/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/github/runner/php82/addons/multiarch-support_2.28_amd64.deb new file mode 100644 index 000000000..7cf23ffa8 Binary files /dev/null and b/linux/ecosystem/github/runner/php82/addons/multiarch-support_2.28_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php82/docker-compose.yml b/linux/ecosystem/github/runner/php82/docker-compose.yml new file mode 100644 index 000000000..e7e0c7af3 --- /dev/null +++ b/linux/ecosystem/github/runner/php82/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:php8.2" + build: + context: . diff --git a/linux/ecosystem/github/runner/php82/usr/lib/php/20220829/cassandra.so b/linux/ecosystem/github/runner/php82/usr/lib/php/20220829/cassandra.so new file mode 100644 index 000000000..2e94ad443 Binary files /dev/null and b/linux/ecosystem/github/runner/php82/usr/lib/php/20220829/cassandra.so differ diff --git a/linux/ecosystem/github/runner/php82/usr/lib/php/20220829/phpBolt-extension-1.0.4-php82.so b/linux/ecosystem/github/runner/php82/usr/lib/php/20220829/phpBolt-extension-1.0.4-php82.so new file mode 100644 index 000000000..ed75ab215 Binary files /dev/null and b/linux/ecosystem/github/runner/php82/usr/lib/php/20220829/phpBolt-extension-1.0.4-php82.so differ diff --git a/linux/ecosystem/github/runner/php82/usr/lib/php/20220829/phpBolt-extension-1.0.5-php82.so b/linux/ecosystem/github/runner/php82/usr/lib/php/20220829/phpBolt-extension-1.0.5-php82.so new file mode 100644 index 000000000..ed75ab215 Binary files /dev/null and b/linux/ecosystem/github/runner/php82/usr/lib/php/20220829/phpBolt-extension-1.0.5-php82.so differ diff --git a/linux/ecosystem/github/runner/php83/Dockerfile b/linux/ecosystem/github/runner/php83/Dockerfile new file mode 100644 index 000000000..ee5aab0f3 --- /dev/null +++ b/linux/ecosystem/github/runner/php83/Dockerfile @@ -0,0 +1,283 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV PHP_VER=8.3 +ENV PHP_MODULE_VER=20230831 +ENV PHP_MODULE_PATH=/usr/lib/php/${PHP_MODULE_VER} +ENV PHP_DIR=/etc/php/${PHP_VER} +ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini +ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini + +################################################################## +# Installing PHP8 +################################################################## +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + libmemcached-dev \ + libgmp-dev \ +# php-pear \ + php8.3 \ + php8.3-cli \ + php8.3-common \ + php8.3-dev \ + php8.3-amqp \ + php8.3-apcu \ + php8.3-ast \ + php8.3-bcmath \ + php8.3-bz2 \ + php8.3-cgi \ + php8.3-curl \ + php8.3-dba \ + php8.3-decimal \ + php8.3-dio \ + php8.3-ds \ + php8.3-enchant \ + php8.3-excimer \ + php8.3-fpm \ + php8.3-gd \ + php8.3-gearman \ +# php8.3-gmagick \ + php8.3-gmp \ + php8.3-gnupg \ + php8.3-grpc \ + php8.3-http \ + php8.3-igbinary \ + php8.3-imagick \ + php8.3-imap \ + php8.3-inotify \ + php8.3-interbase \ + php8.3-intl \ + php8.3-ldap \ + php8.3-libvirt-php \ + php8.3-mailparse \ + php8.3-maxminddb \ + php8.3-mbstring \ + php8.3-mcrypt \ + php8.3-memcache \ + php8.3-memcached \ + php8.3-mongodb \ + php8.3-msgpack \ + php8.3-mysql \ + php8.3-oauth \ + php8.3-odbc \ + php8.3-opcache \ + php8.3-pcov \ + php8.3-pgsql \ +# php8.3-phalcon5 \ + php8.3-phpdbg \ + php8.3-pinba \ +# php8.3-pq \ + php8.3-protobuf \ + php8.3-ps \ + php8.3-pspell \ +# php8.3-psr \ + php8.3-raphf \ + php8.3-rdkafka \ + php8.3-readline \ + php8.3-redis \ + php8.3-rrd \ + php8.3-smbclient \ + php8.3-snmp \ + php8.3-soap \ + php8.3-solr \ + php8.3-sqlite3 \ + php8.3-ssh2 \ + php8.3-stomp \ + php8.3-swoole \ + php8.3-sybase \ + php8.3-tidy \ + php8.3-uopz \ + php8.3-uploadprogress \ + php8.3-uuid \ + php8.3-vips \ + php8.3-xdebug \ + php8.3-xhprof \ + php8.3-xml \ + php8.3-xmlrpc \ + php8.3-xsl \ +# php8.3-yac \ + php8.3-yaml \ + php8.3-zip \ + php8.3-zmq \ + php8.3-zstd \ + smbclient \ + libsmbclient \ + sendmail && \ + ln -sfv /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \ + apt-get remove -y \ + php5.6* \ + php7.0* \ + php7.1* \ + php7.2* \ + php7.3* \ + php7.4* \ + php8.0* \ + php8.1* \ + php8.2* \ +# php8.3* \ + php8.4* && \ + rm -rfv /etc/php/{5.6,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2,8.4} && \ + update-alternatives --set php /usr/bin/php8.3 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# Enabling extensions +################################################################## +RUN phpenmod \ + snmp \ + gmp \ + calendar \ + ldap \ + curl \ + exif \ + ftp \ + fileinfo \ + gd \ + geoip \ + gnupg \ + iconv \ + imap \ + json \ + mbstring \ + memcached \ + mysqli \ + mysqlnd \ + oauth \ + pdo_mysql \ + pdo_sqlite \ + phar \ + posix \ + readline \ + redis \ + simplexml \ + sockets \ + sqlite3 \ + ssh2 \ + tokenizer \ + xml \ + xmlreader \ + xmlrpc \ + xmlwriter \ + xsl \ + yaml && \ + phpdismod \ + xdebug \ + xcache \ + xhprof \ + tideways \ + pcov \ + swoole \ + grpc \ + uopz && \ + php -m && \ + php -v + +############################################################################## +# Cassandra CPP Support Install +############################################################################## +COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb +COPY addons/libssl1.1_1.1.1_amd64.deb /tmp/cassandra-php-driver/libssl1.1_1.1.1_amd64.deb +RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb + +RUN cd /tmp/cassandra-php-driver && \ + dpkg -i ./libssl1.1_1.1.1_amd64.deb && \ + dpkg -i ./multiarch-support_2.28_amd64.deb && \ + dpkg -i ./libuv1_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb + +############################################################################## +# Cassandra PHP Drivers Install +############################################################################## +#RUN pecl install cassandra && \ +#COPY usr/lib/php/20220829/cassandra.so ${PHP_MODULE_PATH}/cassandra.so +#RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \ +# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \ +# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \ +# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \ +## ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \ +# php -m && \ +# php -v + +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Bolt addon +################################################################## +#ADD https://phpbolt.com/wp-content/uploads/2023/03/phpBolt-extension-1.0.5.zip /tmp/phpBolt.zip +COPY usr/lib/php/20230831/phpBolt-extension-1.0.5-php83.so ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php83.so +#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php83.so" >> ${PHP_DIR}/apache2/php.ini && \ +RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php83.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php83.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php83.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing IOnCube addon +################################################################# +ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz +RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \ + cp /tmp/ioncube/ioncube_loader_lin_8.3.so ${PHP_MODULE_PATH} && \ +## echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.3.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.3.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.3.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.3.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Composer addon +################################################################## +RUN cd /tmp && \ + php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ + php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \ + rm /tmp/composer-setup.php + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## +RUN updatedb diff --git a/linux/ecosystem/github/runner/php83/Makefile b/linux/ecosystem/github/runner/php83/Makefile new file mode 100644 index 000000000..b88fa3708 --- /dev/null +++ b/linux/ecosystem/github/runner/php83/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +deploy: + make deploy-kaniko + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/php83/README.md b/linux/ecosystem/github/runner/php83/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/php83/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/php83/addons/libssl1.1_1.1.1_amd64.deb b/linux/ecosystem/github/runner/php83/addons/libssl1.1_1.1.1_amd64.deb new file mode 100644 index 000000000..67b5d7314 Binary files /dev/null and b/linux/ecosystem/github/runner/php83/addons/libssl1.1_1.1.1_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php83/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/github/runner/php83/addons/multiarch-support_2.28_amd64.deb new file mode 100644 index 000000000..7cf23ffa8 Binary files /dev/null and b/linux/ecosystem/github/runner/php83/addons/multiarch-support_2.28_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php83/docker-compose.yml b/linux/ecosystem/github/runner/php83/docker-compose.yml new file mode 100644 index 000000000..6ff7c5d8d --- /dev/null +++ b/linux/ecosystem/github/runner/php83/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:php8.3" + build: + context: . diff --git a/linux/ecosystem/github/runner/php83/usr/lib/php/20230831/phpBolt-extension-1.0.5-php83.so b/linux/ecosystem/github/runner/php83/usr/lib/php/20230831/phpBolt-extension-1.0.5-php83.so new file mode 100644 index 000000000..86e34521d Binary files /dev/null and b/linux/ecosystem/github/runner/php83/usr/lib/php/20230831/phpBolt-extension-1.0.5-php83.so differ diff --git a/linux/ecosystem/github/runner/php84/Dockerfile b/linux/ecosystem/github/runner/php84/Dockerfile new file mode 100644 index 000000000..af137d333 --- /dev/null +++ b/linux/ecosystem/github/runner/php84/Dockerfile @@ -0,0 +1,230 @@ +FROM quay.io/epicmorg/github-runner:minimal +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV PHP_VER=8.4 +ENV PHP_MODULE_VER=20240924 +ENV PHP_MODULE_PATH=/usr/lib/php/${PHP_MODULE_VER} +ENV PHP_DIR=/etc/php/${PHP_VER} +ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini +ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini + +################################################################## +# Installing PHP8 +################################################################## +RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.su/php/apt.gpg +RUN sh -c 'echo "deb [trusted=yes] https://packages.sury.su/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + libmemcached-dev \ + libgmp-dev \ +# php-pear \ + php8.4 \ + php8.4-cli \ + php8.4-common \ + php8.4-dev \ + php8.4-bcmath \ + php8.4-bz2 \ + php8.4-cgi \ + php8.4-curl \ + php8.4-dba \ + php8.4-enchant \ + php8.4-fpm \ + php8.4-gd \ + php8.4-gmp \ + php8.4-interbase \ + php8.4-intl \ + php8.4-ldap \ + php8.4-mbstring \ + php8.4-mysql \ + php8.4-odbc \ + php8.4-opcache \ + php8.4-pgsql \ + php8.4-phpdbg \ + php8.4-readline \ + php8.4-snmp \ + php8.4-soap \ + php8.4-sqlite3 \ + php8.4-sybase \ + php8.4-tidy \ + php8.4-xml \ + php8.4-xsl \ + php8.4-zip \ + smbclient \ + libsmbclient \ + sendmail && \ + ln -sfv /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \ + apt-get remove -y \ + php5.6* \ + php7.0* \ + php7.1* \ + php7.2* \ + php7.3* \ + php7.4* \ + php8.0* \ + php8.1* \ + php8.2* \ + php8.3* && \ +# php8.4* && \ + rm -rfv /etc/php/{5.6,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2,8.3} && \ + update-alternatives --set php /usr/bin/php8.4 && \ +# pear clear-cache && \ + pear update-channels && \ +# pear upgrade && \ + pecl channel-update pecl.php.net + +RUN echo "=============================================" && \ + echo php -m $(php -m) && \ + echo php -v $(php -v) && \ + echo pear version $(pear version) && \ + echo pear list $(pear list) && \ + echo "=============================================" + +################################################################## +# Enabling extensions +################################################################## +RUN phpenmod \ + snmp \ + gmp \ + calendar \ + ldap \ + curl \ + exif \ + ftp \ + fileinfo \ + gd \ + geoip \ + gnupg \ + iconv \ + imap \ + json \ + mbstring \ + memcached \ + mysqli \ + mysqlnd \ + oauth \ + pdo_mysql \ + pdo_sqlite \ + phar \ + posix \ + readline \ + redis \ + simplexml \ + sockets \ + sqlite3 \ + ssh2 \ + tokenizer \ + xml \ + xmlreader \ + xmlrpc \ + xmlwriter \ + xsl \ + yaml && \ + phpdismod \ + xdebug \ + xcache \ + xhprof \ + tideways \ + pcov \ + swoole \ + grpc \ + uopz && \ + php -m && \ + php -v + +############################################################################## +# Cassandra CPP Support Install +############################################################################## +COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb +COPY addons/libssl1.1_1.1.1_amd64.deb /tmp/cassandra-php-driver/libssl1.1_1.1.1_amd64.deb +RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \ + https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb + +RUN cd /tmp/cassandra-php-driver && \ + dpkg -i ./libssl1.1_1.1.1_amd64.deb && \ + dpkg -i ./multiarch-support_2.28_amd64.deb && \ + dpkg -i ./libuv1_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \ + dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \ + dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb + +############################################################################## +# Cassandra PHP Drivers Install +############################################################################## +#RUN pecl install cassandra && \ +#COPY usr/lib/php/20240924/cassandra.so ${PHP_MODULE_PATH}/cassandra.so +#RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \ +# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \ +# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \ +# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \ +## ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \ +# php -m && \ +# php -v + +################################################################## +# Installing timezonedb addon +################################################################## +#RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ +# php -m && \ +# php -v + +################################################################## +# Installing Bolt addon +################################################################## +#ADD https://phpbolt.com/wp-content/uploads/2023/03/phpBolt-extension-1.0.5.zip /tmp/phpBolt.zip +#COPY usr/lib/php/20240924/phpBolt-extension-1.0.5-php84.so ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php84.so +##RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php84.so" >> ${PHP_DIR}/apache2/php.ini && \ +#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php84.so" >> ${PHP_DIR}/cgi/php.ini && \ +# echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php84.so" >> ${PHP_DIR}/cli/php.ini && \ +# echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.5-php84.so" >> ${PHP_DIR}/fpm/php.ini && \ +# php -m && \ +# php -v + +################################################################## +# Installing IOnCube addon +################################################################# +ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz +RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \ + cp /tmp/ioncube/ioncube_loader_lin_8.4.so ${PHP_MODULE_PATH} && \ +## echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.4.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.4.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.4.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.4.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing Composer addon +################################################################## +RUN cd /tmp && \ + php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ + php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \ + rm /tmp/composer-setup.php + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* + +################################################################## +# final config +################################################################## +RUN updatedb diff --git a/linux/ecosystem/github/runner/php84/Makefile b/linux/ecosystem/github/runner/php84/Makefile new file mode 100644 index 000000000..b88fa3708 --- /dev/null +++ b/linux/ecosystem/github/runner/php84/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +deploy: + make deploy-kaniko + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/github/runner/php84/README.md b/linux/ecosystem/github/runner/php84/README.md new file mode 100644 index 000000000..38caaa1de --- /dev/null +++ b/linux/ecosystem/github/runner/php84/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/github-runner](https://hub.docker.com/r/jetbrains/github-runner/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/github-runner/) diff --git a/linux/ecosystem/github/runner/php84/addons/libssl1.1_1.1.1_amd64.deb b/linux/ecosystem/github/runner/php84/addons/libssl1.1_1.1.1_amd64.deb new file mode 100644 index 000000000..67b5d7314 Binary files /dev/null and b/linux/ecosystem/github/runner/php84/addons/libssl1.1_1.1.1_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php84/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/github/runner/php84/addons/multiarch-support_2.28_amd64.deb new file mode 100644 index 000000000..7cf23ffa8 Binary files /dev/null and b/linux/ecosystem/github/runner/php84/addons/multiarch-support_2.28_amd64.deb differ diff --git a/linux/ecosystem/github/runner/php84/docker-compose.yml b/linux/ecosystem/github/runner/php84/docker-compose.yml new file mode 100644 index 000000000..af15c5935 --- /dev/null +++ b/linux/ecosystem/github/runner/php84/docker-compose.yml @@ -0,0 +1,5 @@ +services: + app: + image: "quay.io/epicmorg/github-runner:php8.4" + build: + context: . diff --git a/linux/ecosystem/gitlab/runner/android-sdk/Dockerfile b/linux/ecosystem/gitlab/runner/android-sdk/Dockerfile index 14d06108b..469d5114e 100644 --- a/linux/ecosystem/gitlab/runner/android-sdk/Dockerfile +++ b/linux/ecosystem/gitlab/runner/android-sdk/Dockerfile @@ -129,17 +129,12 @@ RUN sdkmanager --install --verbose \ # "platform-tools" \ # - "platforms;android-21" \ - "platforms;android-34" \ "platforms;android-35" \ # - "build-tools;21.1.2" \ - "build-tools;34.0.0" \ "build-tools;35.0.0" \ # "extras;android;m2repository" \ # - "ndk;25.1.8937393" \ "ndk;25.2.9519653" ENV PATH="${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin:${ANDROID_SDK_ROOT}/tools/bin:${ANDROID_SDK_ROOT}/tools:${ANDROID_SDK_ROOT}/tools/proguard/bin:${ANDROID_SDK_ROOT}/platform-tools:${PATH}" diff --git a/linux/ecosystem/qbittorrent/5.0.5/Dockerfile b/linux/ecosystem/qbittorrent/5.0.5/Dockerfile new file mode 100644 index 000000000..b97838cf7 --- /dev/null +++ b/linux/ecosystem/qbittorrent/5.0.5/Dockerfile @@ -0,0 +1,60 @@ +FROM quay.io/epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ENV QBT_VERSION=5.0.5 +ENV QBT_LIBTORRENT_VERSION=2.0.11 +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + +ENV QBT_DIR=/opt/qbittorrent +ENV QBT_PORT_WEBUI=8282 +ENV QBT_PORT_TRACKER=9000 +ENV QBT_PORT_NAT=1337 +ENV QBT_PROTOCOL=http + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${QBT_DIR} + +############################# #################################### +# qbittorrent install +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${QBT_URL} -O /usr/bin/qbittorrent-nox && \ + chmod +x /usr/bin/qbittorrent-nox && \ + qbittorrent-nox --version + +################################################################## +# other customisations +################################################################## + +################################################################## +# cleaninig up +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +VOLUME ${QBT_DIR} + +#healthcheck. good practice +HEALTHCHECK --interval=2m --timeout=3s CMD curl --insecure -f ${QBT_PROTOCOL}://localhost:${QBT_PORT_WEBUI}/ || exit 1 + +# Add image configuration and scripts +COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh +RUN chmod 755 /usr/bin/docker-entrypoint.sh + +RUN updatedb + +#Final config +EXPOSE ${QBT_PORT_WEBUI} ${QBT_PORT_WEBUI}/udp ${QBT_PORT_NAT} ${QBT_PORT_NAT}/udp ${QBT_PORT_TRACKER} ${QBT_PORT_TRACKER}/udp + +ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] +CMD ["docker-entrypoint.sh"] diff --git a/linux/ecosystem/qbittorrent/5.0.5/Dockerfile.libtorrent1 b/linux/ecosystem/qbittorrent/5.0.5/Dockerfile.libtorrent1 new file mode 100644 index 000000000..5cab6745b --- /dev/null +++ b/linux/ecosystem/qbittorrent/5.0.5/Dockerfile.libtorrent1 @@ -0,0 +1,60 @@ +FROM quay.io/epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +ENV QBT_VERSION=5.0.5 +ENV QBT_LIBTORRENT_VERSION=1.2.20 +ENV QBT_URL=https://github.com/userdocs/qbittorrent-nox-static/releases/download/release-${QBT_VERSION}_v${QBT_LIBTORRENT_VERSION}/x86_64-qbittorrent-nox + +ENV QBT_DIR=/opt/qbittorrent +ENV QBT_PORT_WEBUI=8282 +ENV QBT_PORT_TRACKER=9000 +ENV QBT_PORT_NAT=1337 +ENV QBT_PROTOCOL=http + +################################################################## +# Files and folders +################################################################## +RUN mkdir -p ${QBT_DIR} + +############################# #################################### +# qbittorrent install +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${QBT_URL} -O /usr/bin/qbittorrent-nox && \ + chmod +x /usr/bin/qbittorrent-nox && \ + qbittorrent-nox --version + +################################################################## +# other customisations +################################################################## + +################################################################## +# cleaninig up +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + +VOLUME ${QBT_DIR} + +#healthcheck. good practice +HEALTHCHECK --interval=2m --timeout=3s CMD curl --insecure -f ${QBT_PROTOCOL}://localhost:${QBT_PORT_WEBUI}/ || exit 1 + +# Add image configuration and scripts +COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh +RUN chmod 755 /usr/bin/docker-entrypoint.sh + +RUN updatedb + +#Final config +EXPOSE ${QBT_PORT_WEBUI} ${QBT_PORT_WEBUI}/udp ${QBT_PORT_NAT} ${QBT_PORT_NAT}/udp ${QBT_PORT_TRACKER} ${QBT_PORT_TRACKER}/udp + +ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"] +CMD ["docker-entrypoint.sh"] diff --git a/linux/ecosystem/qbittorrent/5.0.5/Makefile b/linux/ecosystem/qbittorrent/5.0.5/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/qbittorrent/5.0.5/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/qbittorrent/5.0.5/README.md b/linux/ecosystem/qbittorrent/5.0.5/README.md new file mode 100644 index 000000000..b2725f3cd --- /dev/null +++ b/linux/ecosystem/qbittorrent/5.0.5/README.md @@ -0,0 +1,78 @@ +## Build info + +The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. + +[![qbittorrent](https://github.com/EpicMorg/docker-scripts/raw/master/qbittorrent/qbittorrent-icon.png)](https://www.qbittorrent.org/) + + +All presented images avalible on our repo in docker hub. + +* qbittorrent `latest`, `stable` and `unstable` images are also avalible here. + +### Environments + +````` +QBT_PROFILES_DIR=/opt/qbittorrent/profiles +QBT_PROFILE_NAME=docker +QBT_PORT_WEBUI=8282 +QBT_PORT_NAT=1337 +QBT_PORT_TRACKER=9000 +````` + +### Exampe + +``` yamlservices: + qbittorrent: + image: epicmorg/qbittorrent:latest + container_name: qbittorrent + hostname: qbittorrent + restart: always + ports: + - "8282:8282" + - "1337:1337/udp" + - "1337:1337/tcp" + - "9000:9000/udp" + - "9000:9000/tcp" + cap_add: + - ALL + volumes: + - /etc/letsencrypt:/etc/letsencrypt + - /opt/docker/data/qbt/profiles:/opt/qbittorrent/profiles + environment: + - QBT_PROFILE_NAME=docker + - QBT_PORT_WEBUI=8282 + - QBT_PORT_NAT=1337 + - QBT_PORT_TRACKER=9000 + tmpfs: + - /tmp +``` + + +### Ngnix + +``` +server { + + listen 443 ssl http2; + + server_name torrent.domain.tld; + + ssl_certificate /etc/ssl/torrent.domain.tld.fullchain.crt; + ssl_certificate_key /etc/ssl/torrent.domain.tld.key; + + location / { + + proxy_pass http://qbittorrent:8282; + proxy_http_version 1.1; + + proxy_set_header Host 127.0.0.1:8282; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_cookie_path / "/; Secure"; + + client_max_body_size 0; + + } +} + +``` diff --git a/linux/ecosystem/qbittorrent/5.0.5/docker-compose.example.yml b/linux/ecosystem/qbittorrent/5.0.5/docker-compose.example.yml new file mode 100644 index 000000000..8be77e17d --- /dev/null +++ b/linux/ecosystem/qbittorrent/5.0.5/docker-compose.example.yml @@ -0,0 +1,17 @@ +services: + qbittorrent: + image: epicmorg/qbittorrent:latest + restart: always + container_name: qbittorrent + ports: + - "0.0.0.0:8282:8282" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/letsencrypt:/etc/letsencrypt + - /opt/qbittorrent/profiles:/opt/qbittorrent/profiles + tmpfs: + - /tmp + environment: + - QBT_PROFILE_NAME=docker + diff --git a/linux/ecosystem/qbittorrent/5.0.5/docker-compose.yml b/linux/ecosystem/qbittorrent/5.0.5/docker-compose.yml new file mode 100644 index 000000000..484b4e685 --- /dev/null +++ b/linux/ecosystem/qbittorrent/5.0.5/docker-compose.yml @@ -0,0 +1,14 @@ +services: + qbt: + image: "quay.io/epicmorg/qbittorrent:5.0.5" + build: + context: . + qbt-libtorrent2: + image: "quay.io/epicmorg/qbittorrent:5.0.5-libtorrent2.0.11" + build: + context: . + qbt-libtorrent1: + image: "quay.io/epicmorg/qbittorrent:5.0.5-libtorrent1.2.20" + build: + context: . + dockerfile: ./Dockerfile.libtorrent1 diff --git a/linux/ecosystem/qbittorrent/5.0.5/docker-entrypoint.sh b/linux/ecosystem/qbittorrent/5.0.5/docker-entrypoint.sh new file mode 100644 index 000000000..d916b0e86 --- /dev/null +++ b/linux/ecosystem/qbittorrent/5.0.5/docker-entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +: ${QBT_DIR:=/opt/qbittorrent} +: ${QBT_PROFILES_DIR:=/opt/qbittorrent/profiles} +: ${QBT_PROFILE_NAME:=docker} +: ${QBT_PORT_WEBUI:=8282} +: ${QBT_PORT_NAT:=1337} +: ${QBT_PORT_TRACKER:=9000} + +echo "======================================================" +echo "[qbittorrent] Starting `qbittorrent-nox -v`..." +echo "======================================================" + +tail -n 512 -f ${QBT_PROFILES_DIR}/qBittorrent_${QBT_PROFILE_NAME}/data/logs/* & +exec qbittorrent-nox --profile=${QBT_PROFILES_DIR} --configuration=${QBT_PROFILE_NAME} --webui-port=${QBT_PORT_WEBUI} diff --git a/linux/ecosystem/qbittorrent/5.0.5/qbittorrent-icon.png b/linux/ecosystem/qbittorrent/5.0.5/qbittorrent-icon.png new file mode 100644 index 000000000..77d06fd31 Binary files /dev/null and b/linux/ecosystem/qbittorrent/5.0.5/qbittorrent-icon.png differ diff --git a/linux/ecosystem/teamcity/agent/android-sdk/Dockerfile b/linux/ecosystem/teamcity/agent/android-sdk/Dockerfile index b35f8ef96..0b10550e4 100644 --- a/linux/ecosystem/teamcity/agent/android-sdk/Dockerfile +++ b/linux/ecosystem/teamcity/agent/android-sdk/Dockerfile @@ -60,17 +60,12 @@ RUN sdkmanager --install --verbose \ # "platform-tools" \ # - "platforms;android-21" \ - "platforms;android-34" \ "platforms;android-35" \ # - "build-tools;21.1.2" \ - "build-tools;34.0.0" \ "build-tools;35.0.0" \ # "extras;android;m2repository" \ # - "ndk;25.1.8937393" \ "ndk;25.2.9519653" ENV PATH="${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin:${ANDROID_SDK_ROOT}/tools/bin:${ANDROID_SDK_ROOT}/tools:${ANDROID_SDK_ROOT}/tools/proguard/bin:${ANDROID_SDK_ROOT}/platform-tools:${PATH}" diff --git a/linux/ecosystem/teamcity/agent/latest/docker-compose.yml b/linux/ecosystem/teamcity/agent/latest/docker-compose.yml index 6ccd0a987..26604e0fa 100644 --- a/linux/ecosystem/teamcity/agent/latest/docker-compose.yml +++ b/linux/ecosystem/teamcity/agent/latest/docker-compose.yml @@ -1,8 +1,4 @@ services: - app-jdk21: - image: "quay.io/epicmorg/teamcity-agent:latest-jdk21" - build: - context: . app: image: "quay.io/epicmorg/teamcity-agent:latest" build: diff --git a/linux/ecosystem/teamcity/agent/minimal/docker-compose.yml b/linux/ecosystem/teamcity/agent/minimal/docker-compose.yml index 474d75331..cd33817f6 100644 --- a/linux/ecosystem/teamcity/agent/minimal/docker-compose.yml +++ b/linux/ecosystem/teamcity/agent/minimal/docker-compose.yml @@ -1,8 +1,4 @@ services: - app-jdk21: - image: "quay.io/epicmorg/teamcity-agent:minimal-jdk21" - build: - context: . app: image: "quay.io/epicmorg/teamcity-agent:minimal" build: