Skip to content

Add liquibase-pro as official image#19343

Closed
jandroav wants to merge 2 commits intodocker-library:masterfrom
liquibase:master
Closed

Add liquibase-pro as official image#19343
jandroav wants to merge 2 commits intodocker-library:masterfrom
liquibase:master

Conversation

@jandroav
Copy link
Contributor

Checklist for Review

NOTE: This checklist is intended for the use of the Official Images maintainers both to track the status of your PR and to help inform you and others of where we're at. As such, please leave the "checking" of items to the repository maintainers. If there is a point below for which you would like to provide additional information or note completion, please do so by commenting on the PR. Thanks! (and thanks for staying patient with us ❤️)

  • associated with or contacted upstream?
  • available under an OSI-approved license?
  • does it fit into one of the common categories? ("service", "language stack", "base distribution")
  • is it reasonably popular, or does it solve a particular use case well?
  • does a documentation PR exist? (should be reviewed and merged at roughly the same time so that we don't have an empty image page on the Hub for very long)
  • official-images maintainer dockerization review for best practices and cache gotchas/improvements (ala the official review guidelines)?
  • 2+ official-images maintainer dockerization review?
  • existing official images have been considered as a base? (ie, if foobar needs Node.js, has FROM node:... instead of grabbing node via other means been considered?)
  • if FROM scratch, tarballs only exist in a single commit within the associated history?
  • passes current tests? any simple new tests that might be appropriate to add? (https://github.com/docker-library/official-images/tree/master/test)

* Squash all commits after 12c4909

* Update library/liquibase to 4.32.0

* Add initial configuration for liquibase-pro

---------

Co-authored-by: liquibot <liquibot@liquibase.org>
@jandroav
Copy link
Contributor Author

This is something similar to what we did in the past for the OSS image: #8409

@github-actions

This comment has been minimized.

@github-actions
Copy link

Diff for ffb5626:
diff --git a/_bashbrew-arches b/_bashbrew-arches
index 8b13789..e85a97f 100644
--- a/_bashbrew-arches
+++ b/_bashbrew-arches
@@ -1 +1,2 @@
-
+amd64
+arm64v8
diff --git a/_bashbrew-cat b/_bashbrew-cat
index bdfae4a..95a57ce 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -1 +1,8 @@
-Maintainers: New Image! :D (@docker-library-bot)
+Maintainers: Jake Newton <docker@liquibase.com> (@jnewton03)
+Architectures: amd64, arm64v8
+GitRepo: https://github.com/liquibase/docker.git
+
+Tags: 4.32, 4.32.0, latest
+GitFetch: refs/heads/main
+GitCommit: 0acd2021cbb32e3ca6375044af4e64f52bb3ccef
+File: DockerfilePro
diff --git a/_bashbrew-list b/_bashbrew-list
index e69de29..70e36e9 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -0,0 +1,3 @@
+liquibase-pro:4.32
+liquibase-pro:4.32.0
+liquibase-pro:latest
diff --git a/_bashbrew-list-build-order b/_bashbrew-list-build-order
index e69de29..749576b 100644
--- a/_bashbrew-list-build-order
+++ b/_bashbrew-list-build-order
@@ -0,0 +1 @@
+liquibase-pro:latest
diff --git a/liquibase-pro_latest/DockerfilePro b/liquibase-pro_latest/DockerfilePro
new file mode 100644
index 0000000..630e987
--- /dev/null
+++ b/liquibase-pro_latest/DockerfilePro
@@ -0,0 +1,45 @@
+# Builder Stage
+FROM eclipse-temurin:21-jre-jammy
+
+# Create liquibase user
+RUN groupadd --gid 1001 liquibase && \
+    useradd --uid 1001 --gid liquibase --create-home --home-dir /liquibase liquibase && \
+    chown liquibase /liquibase
+
+# Download and install Liquibase
+WORKDIR /liquibase
+
+ARG LIQUIBASE_PRO_VERSION=4.32.0
+ARG LB_PRO_SHA256=69adc7b73458af84b286bcdc7b9d2148c77a8dadeb85580e50c9fc9a90c19ed4
+
+# Add metadata labels
+LABEL org.opencontainers.image.description="Liquibase Pro Container Image"
+LABEL org.opencontainers.image.licenses="Apache-2.0"
+LABEL org.opencontainers.image.vendor="Liquibase"
+LABEL org.opencontainers.image.version="${LIQUIBASE_PRO_VERSION}"
+LABEL org.opencontainers.image.documentation="https://docs.liquibase.com"
+
+# Download and install Liquibase
+WORKDIR /liquibase
+
+RUN wget -q -O liquibase-pro-${LIQUIBASE_PRO_VERSION}.tar.gz "https://repo.liquibase.com/releases/pro/${LIQUIBASE_PRO_VERSION}/liquibase-pro-${LIQUIBASE_PRO_VERSION}.tar.gz" && \
+    echo "$LB_PRO_SHA256 *liquibase-pro-${LIQUIBASE_PRO_VERSION}.tar.gz" | sha256sum -c - && \
+    tar -xzf liquibase-pro-${LIQUIBASE_PRO_VERSION}.tar.gz && \
+    rm liquibase-pro-${LIQUIBASE_PRO_VERSION}.tar.gz && \
+    ln -s /liquibase/liquibase /usr/local/bin/liquibase && \
+    ln -s /liquibase/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh && \
+    liquibase --version
+
+# Set LIQUIBASE_HOME environment variable
+ENV LIQUIBASE_HOME=/liquibase
+# Marker which indicates this is a Liquibase docker container
+ENV DOCKER_LIQUIBASE=true
+
+COPY docker-entrypoint.sh ./
+COPY liquibase.docker.properties ./
+
+# Set user and group
+USER liquibase:liquibase
+
+ENTRYPOINT ["/liquibase/docker-entrypoint.sh"]
+CMD ["--help"]
diff --git a/liquibase-pro_latest/docker-entrypoint.sh b/liquibase-pro_latest/docker-entrypoint.sh
new file mode 100755
index 0000000..544ddef
--- /dev/null
+++ b/liquibase-pro_latest/docker-entrypoint.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+set -e
+
+if [[ "$INSTALL_MYSQL" ]]; then
+  lpm add mysql --global
+fi
+
+if [[ "$1" != "history" ]] && [[ "$1" != "init" ]] && type "$1" > /dev/null 2>&1; then
+  ## First argument is an actual OS command (except if the command is history or init as it is a liquibase command). Run it
+  exec "$@"
+else
+  if [[ "$*" == *--defaultsFile* ]] || [[ "$*" == *--defaults-file* ]] || [[ "$*" == *--version* ]]; then
+    ## Just run as-is
+    exec /liquibase/liquibase "$@"
+  else
+    ## Include standard defaultsFile
+    exec /liquibase/liquibase "--defaultsFile=/liquibase/liquibase.docker.properties" "$@"
+  fi
+fi
\ No newline at end of file
diff --git a/liquibase-pro_latest/liquibase.docker.properties b/liquibase-pro_latest/liquibase.docker.properties
new file mode 100644
index 0000000..1cfe066
--- /dev/null
+++ b/liquibase-pro_latest/liquibase.docker.properties
@@ -0,0 +1 @@
+liquibase.headless: true

@tianon
Copy link
Member

tianon commented Jun 27, 2025

👀 🙈

As highlighted in https://github.com/docker-library/official-images#what-are-official-images, one of the primary goals of this program is our focus on Free and Open Source Software. As such, I do not think the Pro version of Liquibase is an appropriate candidate for inclusion in the Docker Official Images. 🙇

I do think it would be more appropriate in other programs at Docker, and I'm happy to connect you to the product team for Docker's Trusted Content programs (DVP especially) for further discussion. ❤️

@tianon tianon closed this Jun 27, 2025
@jnewton03
Copy link

@tianon thanks! Can you point us in that direction please? cc @jandroav

@tianon
Copy link
Member

tianon commented Jul 1, 2025

Absolutely, email sent 👍 ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants