Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8932 container base image #8933

Merged
merged 64 commits into from
Dec 16, 2022
Merged
Show file tree
Hide file tree
Changes from 57 commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
139f0f7
feat(ct-base): add new base container image in submodule
poikilotherm Mar 8, 2022
2319a47
feat(ct-base): remove the esh tool
poikilotherm Jun 16, 2022
f0202cb
chore(deps): update container plugin and payara version for containers
poikilotherm Jun 17, 2022
2dc0596
fix(ct-base): unpack Payara to target/payara
poikilotherm Aug 11, 2022
246f8b8
fix(ct-base): migrate base image from OpenJDK to Eclipse Temurin
poikilotherm Aug 11, 2022
76ea508
chore(deps): update Docker Maven Plugin to the latest release
poikilotherm Aug 11, 2022
f62dee2
feat(ct-base): enable multiarch image build via docker buildx
poikilotherm Aug 11, 2022
72935d4
chore(ct-base): add maintainer details to POM
poikilotherm Aug 12, 2022
17d8b53
docs(ct-base): update OCI tag labels
poikilotherm Aug 12, 2022
0a9947b
feat(ct-base): add debug/develop mode script
poikilotherm Aug 12, 2022
2e812dc
deps(ct-base): update to jattach v2.1
poikilotherm Aug 22, 2022
7e836c7
chore(ct-base): add JMX to exposed ports and make it default enabled …
poikilotherm Aug 22, 2022
fe7b2d0
docs(ct): add container guide to guides index
poikilotherm Aug 22, 2022
a93dbbd
docs(ct-base): add extensive base image module documentation
poikilotherm Aug 22, 2022
67db02f
docs(ct-base): remove reference to not (yet) existing docs page
poikilotherm Aug 24, 2022
d5f8075
docs(ct-base): add Docker Hub Eclipse Temurin tag search example
poikilotherm Aug 24, 2022
5e61241
style(ct-base): incorporate requested changes by @pdurbin
poikilotherm Aug 26, 2022
a3a7099
feat(ct-base): make image names configurable and rename
poikilotherm Aug 26, 2022
06d31fd
fix(ct-base): make container build use install not package goal
poikilotherm Aug 26, 2022
98ad936
fix(ct-base): flatten container-base POM
poikilotherm Aug 26, 2022
a3e6e3d
docs(ct-base): add notes about publishing and updates of the image
poikilotherm Aug 26, 2022
520337d
fix(parent): add container-base as submodule
poikilotherm Aug 26, 2022
4642a7c
feat(ct-base): remove expired CA certificates at build time
poikilotherm Aug 26, 2022
297b739
feat(ct-base): make Payara UID/GID a configurable buildarg
poikilotherm Aug 26, 2022
783f83c
feat(ct-base): harden domain, disable hot reload, enable dev mode
poikilotherm Aug 26, 2022
6d52fef
refactor(ct-base): enable JMX, AMX and tune monitoring levels
poikilotherm Aug 26, 2022
92b97c0
feat(ct-base): incorporate more production level domain tuning
poikilotherm Aug 26, 2022
934e42e
perf(ct-base): disable HTTPS listener port 8181
poikilotherm Aug 29, 2022
3c71f31
ci(ct-base): add base image scripts to shellcheck CI job
poikilotherm Aug 29, 2022
270b064
docs(ct-base): minor docs precision in Dockerfile
poikilotherm Aug 29, 2022
c9f3e55
ci(ct-base): add action to build base container image
poikilotherm Aug 29, 2022
e144dcd
ci(ct-base): add multiarch caps to base image action
poikilotherm Aug 29, 2022
d99921f
ci(ct-base): limit base image build to IQSS upstream
poikilotherm Aug 30, 2022
f6ccd06
chore(ct-base): remove unused property from parent POM
poikilotherm Aug 30, 2022
64f84ea
style(ct-base): make up base image name from tag and add default
poikilotherm Aug 30, 2022
5a986af
chore(deps): make container profile use Payara 5.2022.3
poikilotherm Aug 30, 2022
65f9d63
feat(ct-base): enable base image pushes for master and develop branch
poikilotherm Aug 31, 2022
8f39ef2
style(ct-base): upgrade Dockerfile with heredocs #8932
poikilotherm Sep 14, 2022
be82c36
feat,fix(ct-base): add extension point for background script #8932
poikilotherm Sep 14, 2022
b386c06
docs(ct-base): document startInBackground.sh #8932
poikilotherm Sep 14, 2022
f8bf734
ci(shellcheck,shellspec): split ShellCheck and ShellSpec
poikilotherm Sep 14, 2022
626b495
docs(ct-base): clarify support image tags #8932
poikilotherm Sep 19, 2022
7759211
style,docs(ct-base): small word adjusts for some build options
poikilotherm Sep 19, 2022
2141bca
docs(ct-base): add notes about multiarch builds #8932
poikilotherm Sep 19, 2022
276b3b5
feat(ct-base): add wait-for script to image
poikilotherm Sep 20, 2022
45abe31
Merge branch 'develop' into 8932-ct-base-image
poikilotherm Sep 22, 2022
0959c84
chore(deps): remove Payara version from Maven ct profile
poikilotherm Sep 22, 2022
a9700b6
Merge branch 'develop' into 8932-ct-base-image
poikilotherm Nov 3, 2022
ee1e0c8
build(ct-base): switch to Payara 5.2022.4
poikilotherm Nov 3, 2022
05345ba
feat(ct-base): make buildx/BuildKit use a shared state for builds
poikilotherm Nov 4, 2022
e261e37
feat(ct-base): switch /docroot to /dv and add volumes #8932
poikilotherm Nov 4, 2022
5d77ab9
ci(ct-base): switch some steps to run on push or schedule #8932
poikilotherm Nov 4, 2022
fbfcaa4
docs,ci(ct-base): add and push README description to Docker Hub #8932
poikilotherm Nov 8, 2022
1241591
docs(ct-base): add short intro to base image docs page #8932
poikilotherm Nov 8, 2022
22eb801
ci(ct-base): update action versions #8932
poikilotherm Nov 8, 2022
7d4388e
ci(ct-base): fix step if-conditions for branch names #8932
poikilotherm Nov 8, 2022
3d790aa
ci(ct-base): fix failing image pushes #8932
poikilotherm Nov 8, 2022
6096880
docs(ct-base): rephrase slightly to match wording in main index
poikilotherm Nov 9, 2022
4a79dcb
docs(ct-base): apply some language tweaks to docs pages
poikilotherm Nov 9, 2022
f1a64a8
docs(ct-base): incorporate review suggestions #8932
poikilotherm Nov 10, 2022
426f746
style(ct-base): rephrase container image tags #8932
poikilotherm Nov 10, 2022
c63feb7
Merge branch 'develop' into 8932-ct-base-image
poikilotherm Dec 12, 2022
aa7b8ee
Merge branch 'develop' into 8932-ct-base-image
poikilotherm Dec 16, 2022
5122515
tweak docs #8932
pdurbin Dec 16, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 86 additions & 0 deletions .github/workflows/container_base_push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
name: Container Base Module

on:
push:
branches:
- 'develop'
- 'master'
paths:
- 'modules/container-base/**'
- 'modules/dataverse-parent/pom.xml'
- '.github/workflows/container_base_push.yml'
pull_request:
branches:
- 'develop'
- 'master'
paths:
- 'modules/container-base/**'
- 'modules/dataverse-parent/pom.xml'
- '.github/workflows/container_base_push.yml'

env:
IMAGE_TAG: develop
REGISTRY: docker.io

jobs:
build:
name: Build image
runs-on: ubuntu-latest
permissions:
contents: read
packages: read
strategy:
matrix:
jdk: [ '11' ]
# Only run in upstream repo - avoid unnecessary runs in forks
if: ${{ github.repository_owner == 'IQSS' }}

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Set up JDK ${{ matrix.jdk }}
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.jdk }}
distribution: 'adopt'
- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2

- name: Build base container image with local architecture
run: mvn -f modules/container-base -Pct package

# Run anything below only if this is not a pull request.
# Accessing, pushing tags etc. to DockerHub will only succeed in upstream because secrets.

- if: ${{ github.event_name == 'push' && github.ref_name == 'develop' }}
name: Push description to DockerHub
uses: peter-evans/dockerhub-description@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
repository: gdcc/base
short-description: "Dataverse Base Container image providing Payara application server and optimized configuration"
readme-filepath: ./modules/container-base/README.md

- if: ${{ github.event_name != 'pull_request' }}
name: Log in to the Container registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- if: ${{ github.event_name != 'pull_request' }}
name: Set up QEMU for multi-arch builds
uses: docker/setup-qemu-action@v2
- name: Re-set image tag based on branch
if: ${{ github.ref_name == 'master' }}
run: echo "IMAGE_TAG=release"
- if: ${{ github.event_name != 'pull_request' }}
name: Deploy multi-arch base container image to Docker Hub
run: mvn -f modules/container-base -Pct deploy -Dbase.image.tag=${{ env.IMAGE_TAG }} -Ddocker.registry=${{ env.REGISTRY }}
24 changes: 24 additions & 0 deletions .github/workflows/shellcheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: "Shellcheck"
on:
push:
paths:
- conf/solr/**
- modules/container-base/**
pull_request:
paths:
- conf/solr/**
- modules/container-base/**
jobs:
shellcheck:
name: Shellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: shellcheck
uses: reviewdog/action-shellcheck@v1
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-review # Change reporter.
fail_on_error: true
# Container base image uses dumb-init shebang, so nail to using bash
shellcheck_flags: "--shell=bash --external-sources"
12 changes: 0 additions & 12 deletions .github/workflows/shellspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,6 @@ on:
env:
SHELLSPEC_VERSION: 0.28.1
jobs:
shellcheck:
name: Shellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: shellcheck
uses: reviewdog/action-shellcheck@v1
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-review # Change reporter.
fail_on_error: true
exclude: "./tests/shell/*"
shellspec-ubuntu:
name: "Ubuntu"
runs-on: ubuntu-latest
Expand Down
Loading