-
Notifications
You must be signed in to change notification settings - Fork 16
MLE-31141: Merge ARM Docker feature branch to develop #467
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
Merged
Merged
Changes from all commits
Commits
Show all changes
41 commits
Select commit
Hold shift + click to select a range
fc86190
MLE-14549 Support ARM Docker images (#416)
vitalykorolev 10896a8
add publish flag to ensure ARM image publishing from feature branch a…
vitalykorolev b90a41c
Merge branch 'develop' into MLE-27979_add-publish-flag
a2b525c
add missing agent
ad534ad
Merge pull request #433 from marklogic/MLE-27979_add-publish-flag
vitalykorolev 9aacf7c
Update Jenkinsfile
vitalykorolev bbf2fe9
Update Jenkinsfile
vitalykorolev 2b349fa
Update Jenkinsfile
vitalykorolev 6007840
Update Jenkinsfile
vitalykorolev 45e2f89
Improve handling of scap-security-guide download in Makefile
1f405bd
MLE-28391: Update UBI base images to latest in ARM Dockerfiles (8.10-…
013cc53
Merge pull request #443 from marklogic/MLE-28391_update-ubi-base-imag…
vitalykorolev b4863c8
Update Docker image types for ARM builds in Jenkinsfile
102a5ca
MLE-29914: update libnsl repo path to AlmaLinux 9.7
d2a75fb
MLE-29914: update UBI8 libnsl repo path to AlmaLinux 8.10, sync versi…
8efb9e6
MLE-29914: add --nodeps to UBI8 libnsl install to fix glibc compatibi…
8b2ab5a
MLE-29914: add --nodeps and pin Rocky Linux path to 9.7 for aarch64 l…
cab3649
Merge pull request #456 from marklogic/MLE-29914_update-libnsl-path-arm
vitalykorolev 5d22f5e
MLE-30361: Update aarch64 libnsl URL to Rocky Linux 9.8 to match glib…
4621f3c
Merge pull request #459 from marklogic/MLE-30361_fix-ubi9-arm-libnsl-…
vitalykorolev 613a500
increment docker version
vitalykorolev c9f8d40
Increment Docker version and remove ML10 option
49b6a37
MLE-31141: Rebasing Docker-arm-support feature branch with develop (#…
barkhachoithani 7886170
adding arm imagetype in jenkins file
barkhachoithani 4245f2d
cleanup publishing stage
vitalykorolev 078f3ad
remove ML11 converter installation skip
vitalykorolev 27c3f94
GRAVITON3_AGENT shouldn't be set by default on non-arm builds
vitalykorolev 2b5005d
fix(jenkins): run post result notifications in node context
barkhachoithani 2a452d8
remove ARM validation since ML10 is no longer an option.
c2e67cc
Merge branch 'develop' into Docker-ARM-support
vitalykorolev 0ca1741
updating latency test names as per latest naming convention
barkhachoithani 2dfc795
Potential fix for pull request finding
barkhachoithani 6e32a39
Potential fix for pull request finding
barkhachoithani 785622c
Potential fix for pull request finding
barkhachoithani 8b75d69
Potential fix for pull request finding
barkhachoithani db7133a
fix for the value source for BUILD_BRANCH
barkhachoithani 0264f18
added skip upgrade tests for arm
barkhachoithani 80246c2
fir for test: avoid false D06-D08 failures from docker pull stderr on…
barkhachoithani 6a7d0e5
fix for long-running tests
barkhachoithani 7bc4f2a
fixed parsing error
barkhachoithani 4fb84ae
fix test(robot): harden D05 latency setup with iproute-tc fallback an…
barkhachoithani File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| ############################################################### | ||
| # | ||
| # Copyright © 2018-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. | ||
| # | ||
| ############################################################### | ||
|
|
||
| FROM registry.access.redhat.com/ubi9/ubi-minimal:9.7-1775623882 | ||
| LABEL "com.marklogic.maintainer"="docker@marklogic.com" | ||
|
|
||
| ############################################################### | ||
| # install libnsl rpm package | ||
| ############################################################### | ||
|
|
||
| RUN microdnf -y upgrade glibc \ | ||
| && rpm -i --nodeps https://download.rockylinux.org/pub/rocky/9.8/BaseOS/aarch64/os/Packages/l/libnsl-2.34-270.el9_8.aarch64.rpm \ | ||
| && microdnf clean all | ||
|
|
||
| ############################################################### | ||
| # install gdb and dependencies for stack traces, networking, base deps and tzdata for timezone | ||
| ############################################################### | ||
| # hadolint ignore=DL3006 | ||
| RUN echo "NETWORKING=yes" > /etc/sysconfig/network \ | ||
| && microdnf -y install --setopt install_weak_deps=0 gdb python3-rpm nss libcap procps-ng python3 libtool-ltdl cpio initscripts tzdata glibc libstdc++ util-linux hostname \ | ||
| && microdnf clean all | ||
|
|
||
|
|
||
| ############################################################### | ||
| # Enable FIPS Mode | ||
| ############################################################### | ||
| RUN update-crypto-policies --set FIPS |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,151 @@ | ||
| ############################################################### | ||
| # | ||
| # Copyright © 2018-2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. | ||
| # | ||
| ############################################################### | ||
|
|
||
| ARG BASE_IMAGE=marklogic-ubi/marklogic-deps-ubi9-arm:11-internal | ||
| FROM ${BASE_IMAGE} AS builder | ||
|
|
||
| ############################################################### | ||
| # set build args | ||
| ############################################################### | ||
|
|
||
| ARG ML_RPM=marklogic.rpm | ||
| ARG ML_USER="marklogic_user" | ||
| ARG ML_VERSION=11-internal | ||
| ARG ML_CONVERTERS=marklogic.converters | ||
| #################################################### | ||
| # inject init, start and clustering scripts | ||
| ############################################################### | ||
|
|
||
| COPY scripts/start-marklogic.sh /usr/local/bin/start-marklogic.sh | ||
|
|
||
| ############################################################### | ||
| # install MarkLogic server, sudo, and remove mlcmd packages | ||
| ############################################################### | ||
| COPY ${ML_RPM} /tmp/marklogic-server.rpm | ||
| RUN rpm -i /tmp/marklogic-server.rpm \ | ||
| && rm /tmp/marklogic-server.rpm \ | ||
| && microdnf -y install --setopt install_weak_deps=0 sudo \ | ||
| && microdnf -y clean all \ | ||
| && rm -rf ./opt/MarkLogic/mlcmd/lib/* \ | ||
| && rm -rf ./opt/MarkLogic/mlcmd/ext/* | ||
|
|
||
| ############################################################### | ||
| # Add TINI to serve as PID 1 process | ||
| ############################################################### | ||
| ENV TINI_VERSION=v0.19.0 | ||
| ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-arm64 /tini | ||
| RUN chmod +x /tini | ||
|
|
||
| ############################################################### | ||
| # Copy converters package | ||
| ############################################################### | ||
| WORKDIR / | ||
| COPY ${ML_CONVERTERS} converters.rpm | ||
| ############################################################### | ||
| # create system user | ||
| ############################################################### | ||
|
|
||
| RUN adduser --gid users --uid 1000 ${ML_USER} \ | ||
| && echo ${ML_USER}" ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers | ||
|
|
||
| ############################################################### | ||
| # second stage for flattening layers | ||
| ############################################################### | ||
| FROM ${BASE_IMAGE} | ||
|
|
||
| COPY --from=builder / / | ||
|
|
||
| ARG ML_USER="marklogic_user" | ||
| ARG ML_VERSION=11-internal | ||
| ARG ML_DOCKER_VERSION=local | ||
| ARG BUILD_BRANCH=local | ||
| ARG ML_DOCKER_TYPE=ubi | ||
| ############################################################### | ||
| # define docker labels | ||
| ############################################################### | ||
|
|
||
| LABEL "com.marklogic.maintainer"="docker@marklogic.com" | ||
| LABEL "com.marklogic.name"="MarkLogic Server ${ML_VERSION}" | ||
| LABEL "com.marklogic.docker-version"="${ML_DOCKER_VERSION}" | ||
| LABEL "com.marklogic.release-version"="${ML_VERSION}" | ||
| LABEL "com.marklogic.build-branch"="${BUILD_BRANCH}" | ||
| LABEL "com.marklogic"="MarkLogic" | ||
| LABEL "com.marklogic.release-type"="production" | ||
| LABEL "com.marklogic.license"="MarkLogic EULA" | ||
| LABEL "com.marklogic.license.description"="By subscribing to this product, you agree to the terms and conditions outlined in MarkLogic's End User License Agreement (EULA) here https://developer.marklogic.com/eula " | ||
| LABEL "com.marklogic.license.url"="https://developer.marklogic.com/eula" | ||
| LABEL "com.marklogic.description"="MarkLogic is the only Enterprise NoSQL database. It is a new generation database built with a flexible data model to store, manage, and search JSON, XML, RDF, and more - without sacrificing enterprise features such as ACID transactions, certified security, backup, and recovery. With these capabilities, MarkLogic is ideally suited for making heterogeneous data integration simpler and faster, and for delivering dynamic content at massive scale. The current release of the MarkLogic Server Developer Docker image includes all features and is limited to developer use." | ||
| LABEL docker.cmd="docker run -it -p 7997-8010:7997-8010 -e MARKLOGIC_INIT=true -e MARKLOGIC_ADMIN_USERNAME=<INSERT USERNAME> -e MARKLOGIC_ADMIN_PASSWORD=<INSERT PASSWORD> --mount src=MarkLogic,dst=/var/opt/MarkLogic progressofficial/marklogic-db:${ML_VERSION}" | ||
|
|
||
| ############################################################### | ||
| # copy notice file | ||
| ############################################################### | ||
| COPY --chown=${ML_USER}:users NOTICE.txt /home/${ML_USER}/NOTICE.txt | ||
|
|
||
| ############################################################### | ||
| # set env vars | ||
| ############################################################### | ||
|
|
||
| ENV MARKLOGIC_INSTALL_DIR=/opt/MarkLogic \ | ||
| MARKLOGIC_DATA_DIR=/var/opt/MarkLogic \ | ||
| MARKLOGIC_USER=${ML_USER} \ | ||
| MARKLOGIC_PID_FILE=/var/run/MarkLogic.pid \ | ||
| MARKLOGIC_UMASK=022 \ | ||
| LD_LIBRARY_PATH=/lib64:$LD_LIBRARY_PATH:/opt/MarkLogic/lib \ | ||
| MARKLOGIC_VERSION="${ML_VERSION}" \ | ||
| MARKLOGIC_DOCKER_VERSION="${ML_DOCKER_VERSION}" \ | ||
| MARKLOGIC_IMAGE_TYPE="$ML_DOCKER_TYPE" \ | ||
| MARKLOGIC_BOOTSTRAP_HOST=bootstrap \ | ||
| MARKLOGIC_ADMIN_USERNAME_FILE=mldb_admin_user \ | ||
| MARKLOGIC_ADMIN_PASSWORD_FILE=mldb_password_user \ | ||
| MARKLOGIC_WALLET_PASSWORD_FILE=mldb_wallet_password \ | ||
| BUILD_BRANCH=${BUILD_BRANCH} \ | ||
| MARKLOGIC_JOIN_TLS_ENABLED=false \ | ||
| OVERWRITE_ML_CONF=true \ | ||
| MARKLOGIC_EC2_HOST=0 | ||
|
|
||
| ################################################################ | ||
| # Set Timezone | ||
| ################################################################ | ||
|
|
||
| RUN microdnf -y reinstall tzdata | ||
|
|
||
| ############################################################### | ||
| # Remove optional packages that have known vulnerabilities | ||
| # (Excluding python/gdb dependencies needed for stack traces) | ||
| RUN for package in vim-minimal cups-client cups-libs tar avahi-libs binutils libarchive binutils-gold; \ | ||
| do rpm -e --nodeps $package || true; \ | ||
| done; | ||
|
|
||
| ############################################################### | ||
| # expose MarkLogic server ports | ||
| ############################################################### | ||
|
|
||
| EXPOSE 25 7997-8010 | ||
|
|
||
| ############################################################### | ||
| # set system user | ||
| ############################################################### | ||
|
|
||
| USER ${ML_USER} | ||
|
|
||
| #################################################### | ||
| # Set Linux Language Settings | ||
| ############################################################### | ||
|
|
||
| ENV LANG=en_US.UTF-8 | ||
| ENV LC_ALL=C.UTF-8 | ||
|
|
||
| ############################################################### | ||
| # define volume for persistent MarkLogic server data | ||
| ############################################################### | ||
|
|
||
| VOLUME /var/opt/MarkLogic | ||
|
|
||
| ############################################################### | ||
| # set entrypoint | ||
| ############################################################### | ||
| ENTRYPOINT ["/tini", "--", "/usr/local/bin/start-marklogic.sh"] | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.