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

Move docker LABELs into Dockerfiles #1697

Merged
merged 3 commits into from
Dec 17, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
81 changes: 24 additions & 57 deletions .github/workflows/build-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,6 @@ jobs:
type=raw,priority=950,enable=${{ startsWith(github.ref, 'refs/heads/release/v') }},value=${{ steps.semver.outputs.semver }}
type=raw,enable=${{ startsWith(github.ref, 'refs/heads/release/v0.8') }},value=latest
type=ref,event=branch
labels: |
org.opencontainers.image.vendor=Deephaven Data Labs
org.opencontainers.image.title=Deephaven Core
org.opencontainers.image.description=Deephaven Core
org.opencontainers.image.licenses=Deephaven Community License Agreement 1.0

- name: Docker meta server nltk
id: docker_meta_server_nltk
Expand All @@ -78,11 +73,6 @@ jobs:
type=raw,priority=950,enable=${{ startsWith(github.ref, 'refs/heads/release/v') }},value=${{ steps.semver.outputs.semver }}
type=raw,enable=${{ startsWith(github.ref, 'refs/heads/release/v0.7') }},value=latest
type=ref,event=branch
labels: |
org.opencontainers.image.vendor=Deephaven Data Labs
org.opencontainers.image.title=Deephaven Core - Natural Language Toolkit
org.opencontainers.image.description=Deephaven Core - Natural Language Toolkit extension
org.opencontainers.image.licenses=Deephaven Community License Agreement 1.0

- name: Docker meta server pytorch
id: docker_meta_server_pytorch
Expand All @@ -97,11 +87,6 @@ jobs:
type=raw,priority=950,enable=${{ startsWith(github.ref, 'refs/heads/release/v') }},value=${{ steps.semver.outputs.semver }}
type=raw,enable=${{ startsWith(github.ref, 'refs/heads/release/v0.7') }},value=latest
type=ref,event=branch
labels: |
org.opencontainers.image.vendor=Deephaven Data Labs
org.opencontainers.image.title=Deephaven Core - PyTorch
org.opencontainers.image.description=Deephaven Core - PyTorch extension
org.opencontainers.image.licenses=Deephaven Community License Agreement 1.0

- name: Docker meta server sklearn
id: docker_meta_server_sklearn
Expand All @@ -116,11 +101,6 @@ jobs:
type=raw,priority=950,enable=${{ startsWith(github.ref, 'refs/heads/release/v') }},value=${{ steps.semver.outputs.semver }}
type=raw,enable=${{ startsWith(github.ref, 'refs/heads/release/v0.7') }},value=latest
type=ref,event=branch
labels: |
org.opencontainers.image.vendor=Deephaven Data Labs
org.opencontainers.image.title=Deephaven Core - scikit-learn
org.opencontainers.image.description=Deephaven Core - scikit-learn extension
org.opencontainers.image.licenses=Deephaven Community License Agreement 1.0

- name: Docker meta server tensorflow
id: docker_meta_server_tensorflow
Expand All @@ -135,11 +115,6 @@ jobs:
type=raw,priority=950,enable=${{ startsWith(github.ref, 'refs/heads/release/v') }},value=${{ steps.semver.outputs.semver }}
type=raw,enable=${{ startsWith(github.ref, 'refs/heads/release/v0.7') }},value=latest
type=ref,event=branch
labels: |
org.opencontainers.image.vendor=Deephaven Data Labs
org.opencontainers.image.title=Deephaven Core - TensorFlow
org.opencontainers.image.description=Deephaven Core - TensorFlow extension
org.opencontainers.image.licenses=Deephaven Community License Agreement 1.0

- name: Docker meta server slim
id: docker_meta_server_slim
Expand All @@ -154,11 +129,6 @@ jobs:
type=raw,priority=950,enable=${{ startsWith(github.ref, 'refs/heads/release/v') }},value=${{ steps.semver.outputs.semver }}
type=raw,enable=${{ startsWith(github.ref, 'refs/heads/release/v0.8') }},value=latest
type=ref,event=branch
labels: |
org.opencontainers.image.vendor=Deephaven Data Labs
org.opencontainers.image.title=Deephaven Core - slim
org.opencontainers.image.description=Deephaven Core - slim
org.opencontainers.image.licenses=Deephaven Community License Agreement 1.0

- name: Set up Docker Buildx
id: buildx
Expand Down Expand Up @@ -198,7 +168,6 @@ jobs:
SERVER=server
DEEPHAVEN_VERSION=${{ steps.deephaven_version.outputs.deephaven_version }}
tags: ${{ steps.docker_meta_server.outputs.tags }}
labels: ${{ steps.docker_meta_server.outputs.labels }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/server/build/context/
push: ${{ github.event_name != 'pull_request' }}
Expand All @@ -211,7 +180,6 @@ jobs:
SERVER=server-nltk
DEEPHAVEN_VERSION=${{ steps.deephaven_version.outputs.deephaven_version }}
tags: ${{ steps.docker_meta_server_nltk.outputs.tags }}
labels: ${{ steps.docker_meta_server_nltk.outputs.labels }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/server/build/context/
push: ${{ github.event_name != 'pull_request' }}
Expand All @@ -224,7 +192,6 @@ jobs:
SERVER=server-pytorch
DEEPHAVEN_VERSION=${{ steps.deephaven_version.outputs.deephaven_version }}
tags: ${{ steps.docker_meta_server_pytorch.outputs.tags }}
labels: ${{ steps.docker_meta_server_pytorch.outputs.labels }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/server/build/context/
push: ${{ github.event_name != 'pull_request' }}
Expand All @@ -237,7 +204,6 @@ jobs:
SERVER=server-sklearn
DEEPHAVEN_VERSION=${{ steps.deephaven_version.outputs.deephaven_version }}
tags: ${{ steps.docker_meta_server_sklearn.outputs.tags }}
labels: ${{ steps.docker_meta_server_sklearn.outputs.labels }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/server/build/context/
push: ${{ github.event_name != 'pull_request' }}
Expand All @@ -250,7 +216,6 @@ jobs:
SERVER=server-tensorflow
DEEPHAVEN_VERSION=${{ steps.deephaven_version.outputs.deephaven_version }}
tags: ${{ steps.docker_meta_server_tensorflow.outputs.tags }}
labels: ${{ steps.docker_meta_server_tensorflow.outputs.labels }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/server/build/context/
push: ${{ github.event_name != 'pull_request' }}
Expand All @@ -262,7 +227,6 @@ jobs:
build-args: |
DEEPHAVEN_VERSION=${{ steps.deephaven_version.outputs.deephaven_version }}
tags: ${{ steps.docker_meta_server_slim.outputs.tags }}
labels: ${{ steps.docker_meta_server_slim.outputs.labels }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/server-slim/build/context/
push: ${{ github.event_name != 'pull_request' }}
Expand Down Expand Up @@ -325,11 +289,6 @@ jobs:
type=raw,priority=950,enable=${{ startsWith(github.ref, 'refs/heads/release/v') }},value=${{ steps.semver.outputs.semver }}
type=raw,enable=${{ startsWith(github.ref, 'refs/heads/release/v0.8') }},value=latest
type=ref,event=branch
labels: |
org.opencontainers.image.vendor=Deephaven Data Labs
org.opencontainers.image.title=Deephaven gRPC Web Proxy
org.opencontainers.image.description=Deephaven gRPC web proxy, for the improbable-eng grpc to grpc-web/websocket proxy
org.opencontainers.image.licenses=Apache-2.0

- name: Set up Docker Buildx
id: buildx
Expand All @@ -350,14 +309,20 @@ jobs:
uses: burrunan/gradle-cache-action@v1
with:
job-id: build-grpc-proxy
arguments: --scan grpc-proxy:prepareDocker
arguments: --scan outputVersion grpc-proxy:prepareDocker
gradle-version: wrapper

- name: Get Deephaven Version
id: deephaven_version
run: |
echo "::set-output name=deephaven_version::$(cat build/version)"
mofojed marked this conversation as resolved.
Show resolved Hide resolved

- name: Docker build
uses: docker/build-push-action@v2
with:
build-args: |
DEEPHAVEN_VERSION=${{ steps.deephaven_version.outputs.deephaven_version }}
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}
builder: ${{ steps.buildx.outputs.name }}
context: ./grpc-proxy/build/docker/
push: ${{ github.event_name != 'pull_request' }}
Expand Down Expand Up @@ -409,11 +374,6 @@ jobs:
type=raw,priority=950,enable=${{ startsWith(github.ref, 'refs/heads/release/v') }},value=${{ steps.semver.outputs.semver }}
type=raw,enable=${{ startsWith(github.ref, 'refs/heads/release/v0.8') }},value=latest
type=ref,event=branch
labels: |
org.opencontainers.image.vendor=Deephaven Data Labs
org.opencontainers.image.title=Deephaven Envoy
org.opencontainers.image.description=Deephaven envoy proxy
org.opencontainers.image.licenses=Apache-2.0

- name: Set up Docker Buildx
id: buildx
Expand All @@ -434,14 +394,20 @@ jobs:
uses: burrunan/gradle-cache-action@v1
with:
job-id: build-envoy
arguments: --scan envoy:prepareDocker
arguments: --scan outputVersion envoy:prepareDocker
gradle-version: wrapper

- name: Get Deephaven Version
id: deephaven_version
mofojed marked this conversation as resolved.
Show resolved Hide resolved
run: |
echo "::set-output name=deephaven_version::$(cat build/version)"

- name: Build
uses: docker/build-push-action@v2
with:
build-args: |
DEEPHAVEN_VERSION=${{ steps.deephaven_version.outputs.deephaven_version }}
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}
builder: ${{ steps.buildx.outputs.name }}
context: ./envoy/build/docker/
push: ${{ github.event_name != 'pull_request' }}
Expand Down Expand Up @@ -471,11 +437,6 @@ jobs:
type=raw,priority=950,enable=${{ startsWith(github.ref, 'refs/heads/release/v') }},value=${{ steps.semver.outputs.semver }}
type=raw,enable=${{ startsWith(github.ref, 'refs/heads/release/v0.8') }},value=latest
type=ref,event=branch
labels: |
org.opencontainers.image.vendor=Deephaven Data Labs
org.opencontainers.image.title=Deephaven Web
org.opencontainers.image.description=Deephaven web
org.opencontainers.image.licenses=Deephaven Community License Agreement 1.0

- name: Setup JDK 11
id: setup-java-11
Expand Down Expand Up @@ -522,14 +483,20 @@ jobs:
uses: burrunan/gradle-cache-action@v1
with:
job-id: build-web
arguments: --scan createCraneTagScript docker-web:prepareDocker
arguments: --scan outputVersion createCraneTagScript docker-web:prepareDocker
gradle-version: wrapper

- name: Get Deephaven Version
id: deephaven_version
run: |
echo "::set-output name=deephaven_version::$(cat build/version)"

- name: Docker build
uses: docker/build-push-action@v2
with:
build-args: |
DEEPHAVEN_VERSION=${{ steps.deephaven_version.outputs.deephaven_version }}
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}
builder: ${{ steps.buildx.outputs.name }}
context: ./docker/web/build/docker/
push: ${{ github.event_name != 'pull_request' }}
Expand Down
10 changes: 10 additions & 0 deletions docker/server-slim/src/main/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,13 @@ VOLUME /cache
# available.
HEALTHCHECK --interval=3s --retries=3 --timeout=11s CMD /bin/grpc_health_probe -addr=localhost:8080 -connect-timeout=10s || exit 1
ENTRYPOINT [ "/opt/deephaven/server/bin/start", "image-bootstrap.properties" ]

ARG DEEPHAVEN_VERSION
LABEL \
io.deephaven.image.type="server" \
io.deephaven.server.flavor="server-slim" \
io.deephaven.version="${DEEPHAVEN_VERSION}" \
org.opencontainers.image.vendor="Deephaven Data Labs" \
org.opencontainers.image.title="Deephaven Server - server-slim" \
org.opencontainers.image.description="Deephaven Community Core Server - server-slim" \
org.opencontainers.image.licenses="Deephaven Community License Agreement 1.0"
12 changes: 11 additions & 1 deletion docker/server/src/main/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,14 @@ COPY --from=install / /
VOLUME /data
VOLUME /cache
HEALTHCHECK --interval=3s --retries=3 --timeout=11s CMD /bin/grpc_health_probe -addr=localhost:8080 -connect-timeout=10s || exit 1
ENTRYPOINT [ "/opt/deephaven/server/bin/start", "image-bootstrap.properties" ]
ENTRYPOINT [ "/opt/deephaven/server/bin/start", "image-bootstrap.properties" ]
ARG DEEPHAVEN_VERSION
ARG SERVER
LABEL \
io.deephaven.image.type="server" \
io.deephaven.server.flavor="${SERVER}" \
io.deephaven.version="${DEEPHAVEN_VERSION}" \
org.opencontainers.image.vendor="Deephaven Data Labs" \
org.opencontainers.image.title="Deephaven Server - ${SERVER}" \
org.opencontainers.image.description="Deephaven Community Core Server - ${SERVER}" \
org.opencontainers.image.licenses="Deephaven Community License Agreement 1.0"
1 change: 1 addition & 0 deletions docker/web/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ Docker.registerDockerImage(project, 'buildDocker') {
inputDir.set syncDir
inputs.files Docker.registryFiles(project, 'nginx-base')
inputs.files prepareDocker.get().outputs.files
buildArgs.put('DEEPHAVEN_VERSION', project.version)
images.add('deephaven/web:local-build')
}

Expand Down
8 changes: 8 additions & 0 deletions docker/web/src/main/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,11 @@ COPY nginx/99-init-notebooks.sh /docker-entrypoint.d
COPY static/ /usr/share/nginx/html

VOLUME /tmp
ARG DEEPHAVEN_VERSION
LABEL \
io.deephaven.image.type="web" \
io.deephaven.version="${DEEPHAVEN_VERSION}" \
org.opencontainers.image.vendor="Deephaven Data Labs" \
org.opencontainers.image.title="Deephaven Web" \
org.opencontainers.image.description="Deephaven web" \
org.opencontainers.image.licenses="Deephaven Community License Agreement 1.0"
9 changes: 9 additions & 0 deletions envoy/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,12 @@ COPY contents/ /
RUN set -eux; \
mv /envoy.yaml /etc/envoy/envoy.yaml; \
chmod go+r /etc/envoy/envoy.yaml

ARG DEEPHAVEN_VERSION
LABEL \
io.deephaven.image.type="envoy" \
io.deephaven.version="${DEEPHAVEN_VERSION}" \
org.opencontainers.image.vendor="Deephaven Data Labs" \
org.opencontainers.image.title="Deephaven Envoy" \
org.opencontainers.image.description="Deephaven envoy proxy" \
org.opencontainers.image.licenses="Apache-2.0"
1 change: 1 addition & 0 deletions envoy/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ def prepareDocker = project.tasks.register('prepareDocker', Sync) {
def buildDocker = Docker.registerDockerImage(project, 'buildDocker') {
inputs.files prepareDocker.get().outputs.files
inputs.files Docker.registryFiles(project, 'envoyproxy')
buildArgs.put('DEEPHAVEN_VERSION', project.version)
images.add('deephaven/envoy:local-build')
}

Expand Down
1 change: 1 addition & 0 deletions grpc-proxy/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ def buildDocker = Docker.registerDockerImage(project, 'buildDocker') {
inputDir.set context
inputs.files prepareDocker.get().outputs.files
inputs.files Docker.registryFiles(project, 'alpine')
buildArgs.put('DEEPHAVEN_VERSION', project.version)
images.add('deephaven/grpc-proxy:local-build')
}

Expand Down
9 changes: 9 additions & 0 deletions grpc-proxy/src/main/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,12 @@ FROM deephaven/alpine:local-build
COPY --from=install / /
EXPOSE 8080 8443
ENTRYPOINT ["/sbin/tini", "--", "/docker-entrypoint.sh"]

ARG DEEPHAVEN_VERSION
LABEL \
io.deephaven.image.type="grpc-proxy" \
io.deephaven.version="${DEEPHAVEN_VERSION}" \
org.opencontainers.image.vendor="Deephaven Data Labs" \
org.opencontainers.image.title="Deephaven gRPC Web Proxy" \
org.opencontainers.image.description="Deephaven gRPC web proxy, for the improbable-eng grpc to grpc-web/websocket proxy" \
org.opencontainers.image.licenses="Apache-2.0"