UNCLASSIFIED

Commits (3)
ARG BASE_REGISTRY=registry1.dsop.io ARG BASE_REGISTRY=registry1.dso.mil
ARG BASE_IMAGE=ironbank/redhat/openjdk/openjdk8 ARG BASE_IMAGE=ironbank/redhat/openjdk/openjdk8
ARG BASE_TAG=1.8.0 ARG BASE_TAG=1.8.0
FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG}
COPY apache-activemq-artemis.tar.gz /scripts/docker-run.sh opt/ ###
### upstream Dockerfile: https://github.com/apache/activemq-artemis/blob/master/artemis-docker/Dockerfile-centos
###
# add artemis download and entrypoint script to opt/
COPY activemq-artemis.tar.gz /scripts/docker-run.sh opt/
# Make sure pipes are considered to determine success, see: https://github.com/hadolint/hadolint/wiki/DL4006 # Make sure pipes are considered to determine success, see: https://github.com/hadolint/hadolint/wiki/DL4006
SHELL ["/bin/bash", "-o", "pipefail", "-c"] SHELL ["/bin/bash", "-o", "pipefail", "-c"]
WORKDIR /opt WORKDIR /opt
# root user is needed to perform dnf upgrade/install and untar
USER root USER root
# add user and group for artemis
# install libaio
# create directory for activemq-artemis
# untar the download to the correct location
# create directory and change ownership for artemis-instance
# change mode of entrypoint script to allow execution
RUN groupadd -g 1001 -r artemis; \ RUN groupadd -g 1001 -r artemis; \
useradd -r -u 1001 -g artemis artemis; \ useradd -r -u 1001 -g artemis artemis; \
dnf upgrade -y; \ dnf upgrade -y; \
dnf install -y libaio --setopt=tsflags=nodocs; \ dnf install -y --nodocs libaio; \
dnf clean all; \ dnf clean all; \
rm -rf /var/cache/dnf; \ rm -rf /var/cache/dnf; \
mkdir -p /opt/activemq-artemis; \ mkdir -p /opt/activemq-artemis; \
tar -zxf apache-activemq-artemis.tar.gz --strip-components=1 -C /opt/activemq-artemis; \ tar -zxf activemq-artemis.tar.gz --strip-components=1 -C /opt/activemq-artemis; \
rm -f apache-activemq-artemis.tar.gz; \ rm -f activemq-artemis.tar.gz; \
chmod +x docker-run.sh; \
mkdir /var/lib/artemis-instance; \ mkdir /var/lib/artemis-instance; \
chown -R artemis.artemis /var/lib/artemis-instance chown -R artemis.artemis /var/lib/artemis-instance; \
chmod +x docker-run.sh
USER artemis USER artemis
# Web Server
EXPOSE 8161 \ EXPOSE 8161 \
# JMX Exporter
9404 \ 9404 \
# Port for CORE,MQTT,AMQP,HORNETQ,STOMP,OPENWIRE
61616 \ 61616 \
# Port for HORNETQ,STOMP
5445 \ 5445 \
# Port for AMQP
5672 \ 5672 \
# Port for MQTT
1883 \ 1883 \
#Port for STOMP
61613 61613
# Expose some outstanding folders
# exclude VOLUME directive
WORKDIR /var/lib/artemis-instance WORKDIR /var/lib/artemis-instance
ENTRYPOINT ["/opt/docker-run.sh"] ENTRYPOINT ["/opt/docker-run.sh"]
CMD ["run"] CMD ["run"]
# add HEALTHCHECK for web server
HEALTHCHECK CMD curl -f localhost:8161 || exit 1 HEALTHCHECK CMD curl -f localhost:8161 || exit 1
\ No newline at end of file
...@@ -4,11 +4,14 @@ Apache ActiveMQ is an open source, multi-protocol, Java-based messaging server. ...@@ -4,11 +4,14 @@ Apache ActiveMQ is an open source, multi-protocol, Java-based messaging server.
## Download ## Download
1. Go to the [Apache webpage](https://ironbank.dso.mil/ironbank/repomap/opensource/apache) in Iron Bank and download the latest ActiveMQ Artemis tarball. 1. Login to Registry1:
```
2. Navigate to the location of the download and run: docker login registry1.dso.mil -u <USERNAME> -p <CLI_SECRET>
```
2. Navigate to the [Apache webpage](https://ironbank.dso.mil/ironbank/repomap/opensource/apache) in Iron Bank and copy the ActiveMQ Artemis pull command.
3. Pull the image:
``` ```
docker load -i <Apache ActiveMQ Artemis tarball> docker pull registry1.dso.mil/ironbank/opensource/apache/active-mq-artemis:<VERSION_TAG>
``` ```
## Install ## Install
......
...@@ -8,7 +8,7 @@ name: "opensource/apache/active-mq-artemis" ...@@ -8,7 +8,7 @@ name: "opensource/apache/active-mq-artemis"
# The most specific version should be the first tag and will be shown # The most specific version should be the first tag and will be shown
# on ironbank.dsop.io # on ironbank.dsop.io
tags: tags:
- "2.16.0" - "2.17.0"
- "latest" - "latest"
# Build args passed to Dockerfile ARGs # Build args passed to Dockerfile ARGs
...@@ -27,7 +27,7 @@ labels: ...@@ -27,7 +27,7 @@ labels:
org.opencontainers.image.url: "http://activemq.apache.org/components/artemis/" org.opencontainers.image.url: "http://activemq.apache.org/components/artemis/"
## Name of the distributing entity, organization or individual ## Name of the distributing entity, organization or individual
org.opencontainers.image.vendor: "Apache" org.opencontainers.image.vendor: "Apache"
org.opencontainers.image.version: "2.16.0" org.opencontainers.image.version: "2.17.0"
## Keywords to help with search (ex. "cicd,gitops,golang") ## Keywords to help with search (ex. "cicd,gitops,golang")
# mil.dso.ironbank.image.keywords: "FIXME" # mil.dso.ironbank.image.keywords: "FIXME"
## This value can be "opensource" or "commercial" ## This value can be "opensource" or "commercial"
...@@ -37,11 +37,11 @@ labels: ...@@ -37,11 +37,11 @@ labels:
# List of resources to make available to the offline build context # List of resources to make available to the offline build context
resources: resources:
- filename: apache-activemq-artemis.tar.gz - filename: activemq-artemis.tar.gz
url: https://downloads.apache.org/activemq/activemq-artemis/2.16.0/apache-artemis-2.16.0-bin.tar.gz url: https://downloads.apache.org/activemq/activemq-artemis/2.17.0/apache-artemis-2.17.0-bin.tar.gz
validation: validation:
type: sha512 type: sha512
value: 4990a6b742b08bff6a4c7b310d2610565b08a2a02e1a7aec065460d16f8a6fe3d4fe91a8040839f93d7c2eab09fd6a79848fb130f9820559ee3e81dcf8d51ead value: 1d0287d9c3b9c3f38d691174e9f64e98a9592987d6446bc05e5a13c35cb832a82ef1bebf278a98ccab0270e479ced4b2b93072e64bdf73b4a07a4a7091c2a25f
# List of project maintainers # List of project maintainers
# FIXME: Fill in the following details for the current container owner in the whitelist # FIXME: Fill in the following details for the current container owner in the whitelist
......
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
}
\ No newline at end of file