artemiscloud / activemq-artemis-broker-image Goto Github PK
View Code? Open in Web Editor NEWActiveMQ Artemis Broker Image Reposifory
License: Apache License 2.0
ActiveMQ Artemis Broker Image Reposifory
License: Apache License 2.0
Update of python version 2 to 3 package as part of the artemiscloud/activemq-artemis-broker-kubernetes-image#51 enhancement
Describe the bug
When running the resulting container image, there is no default port exposed
To Reproduce
Steps to reproduce the behavior:
docker run -P container-image
Platform (please complete the following information):
Expected behavior
The container should expose the default ports.
Screenshots
Optional, add screenshots to help explain your problem.
Additional context
Optional. Add any other context about the problem here.
In the process of migrating away from image vromero/actiemq-artemis, for local deployment via docker-compose
, I tried to define addresses and queue on application startup, but was not able to. It would be nice to have this capability.
The exact method on providing the queues needed is secondary, as long as it is convenient enough to be used in a docker-compose.yml
and flexible enough to allow common use cases.
As a user who uses this image for local deployment
When I need to define pre-defined addresses and queues
Then I can define the addresses and queues needed.
I've described this issue on stackoverflow. An answer says this is by design, so I'm posting here.
When I run ActiveMQ Artemis in docker I see this basically empty screen:
That doesn't look right... I was expecting this, like I get when using the zip file:
Regardless of whether I use docker or the zip file, it doesn't matter what username or password I enter, I just get logged in regardless, which is a little concerning...
Quickly deploy a basic Container image that runs the broker suggests I should now be able to access the console as: http://localhost:8161/console/ , but an answer on stackoverflow suggest that I must use the URL printed in the log: http://172.17.0.3:8161/console .
If that is true, that is a problem because that URL is not accessible using Docker for Windows. Only http://localhost:8161/console and using the IP of the windows host.
I'm guessing this restriction is because launch.sh line 16 has ... --http-host $BROKER_IP ...
and a previous line has: export BROKER_IP=\
hostname -I | cut -f 1 -d ' '`` :-(
It is also possible, that the empty screen has a completely different cause. But I think the empty screen is a problem whatever the cause.
I'm attempting a "Hello World" style installation of ActiveMQ. It sounds like ActiveMQ Artemis is what I should be using. We'll be using this on Kubernetes, so I found and have followed https://artemiscloud.io/. There is a Quickly deploy a basic Container image that runs the broker right there on the front page. It suggests:
docker run -e AMQ_USER=admin -e AMQ_PASSWORD=admin -p80:8161 --name artemis quay.io/artemiscloud/activemq-artemis-broker:dev.latest
I changed the port to -p8161:8161
and run it using Docker for Windows. Visiting http://localhost:8161/console/ shows me the first screenshot above.
If I instead download from https://activemq.apache.org/components/artemis/download/ and follow https://activemq.apache.org/components/artemis/documentation/latest/using-server.html I get the second screenshot.
Regardless of whether I use docker or the zip file, it doesn't matter what username or password I enter, I just get logged in regardless.
» docker run -e AMQ_USER=admin -e AMQ_PASSWORD=admin -p8161:8161 --name artemis quay.io/artemiscloud/activemq-artemis-broker:latest
Creating Broker with args --user XXXXX --password XXXXX --role admin --name broker --allow-anonymous --http-host 172.17.0.3 --host 172.17.0.3 --force
Creating ActiveMQ Artemis instance at: /home/jboss/broker
Auto tuning journal ...
done! Your system can make 1.44 writes per millisecond, your journal-buffer-timeout will be 696000
You can now start the broker by executing:
"/home/jboss/broker/bin/artemis" run
Or you can run the broker in the background using:
"/home/jboss/broker/bin/artemis-service" start
Running Broker
_ _ _
/ \ ____| |_ ___ __ __(_) _____
/ _ \| _ \ __|/ _ \ \/ | |/ __/
/ ___ \ | \/ |_/ __/ |\/| | |\___ \
/_/ \_\| \__\____|_| |_|_|/___ /
Apache ActiveMQ Artemis 2.17.0
2021-05-27 21:23:44,556 INFO [org.apache.activemq.artemis.integration.bootstrap] AMQ101000: Starting ActiveMQ Artemis Server
2021-05-27 21:23:44,605 INFO [org.apache.activemq.artemis.core.server] AMQ221000: live Message Broker is starting with configuration Broker Configuration (clustered=false,journalDirectory=data/journal,bindingsDirectory=data/bindings,largeMessagesDirectory=data/large-messages,pagingDirectory=data/paging)
2021-05-27 21:23:44,650 INFO [org.apache.activemq.artemis.core.server] AMQ221012: Using AIO Journal
2021-05-27 21:23:44,694 INFO [org.apache.activemq.artemis.core.server] AMQ221057: Global Max Size is being adjusted to 1/2 of the JVM max size (-Xmx). being defined as 1,073,741,824
2021-05-27 21:23:44,712 INFO [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-server]. Adding protocol support for: CORE
2021-05-27 21:23:44,712 INFO [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-amqp-protocol]. Adding protocol support for: AMQP
2021-05-27 21:23:44,713 INFO [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-hornetq-protocol]. Adding protocol support for: HORNETQ
2021-05-27 21:23:44,713 INFO [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-mqtt-protocol]. Adding protocol support for: MQTT
2021-05-27 21:23:44,713 INFO [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-openwire-protocol]. Adding protocol support for: OPENWIRE
2021-05-27 21:23:44,714 INFO [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-stomp-protocol]. Adding protocol support for: STOMP
2021-05-27 21:23:44,759 INFO [org.apache.activemq.artemis.core.server] AMQ221034: Waiting indefinitely to obtain live lock
2021-05-27 21:23:44,760 INFO [org.apache.activemq.artemis.core.server] AMQ221035: Live Server Obtained live lock
2021-05-27 21:23:44,832 INFO [org.apache.activemq.artemis.core.server] AMQ221080: Deploying address DLQ supporting [ANYCAST]
2021-05-27 21:23:44,839 INFO [org.apache.activemq.artemis.core.server] AMQ221003: Deploying ANYCAST queue DLQ on address DLQ
2021-05-27 21:23:44,880 INFO [org.apache.activemq.artemis.core.server] AMQ221080: Deploying address ExpiryQueue supporting [ANYCAST]
2021-05-27 21:23:44,882 INFO [org.apache.activemq.artemis.core.server] AMQ221003: Deploying ANYCAST queue ExpiryQueue on address ExpiryQueue
2021-05-27 21:23:45,148 INFO [org.apache.activemq.artemis.core.server] AMQ221020: Started EPOLL Acceptor at 172.17.0.3:61616 for protocols [CORE,MQTT,AMQP,STOMP,HORNETQ,OPENWIRE]
2021-05-27 21:23:45,152 INFO [org.apache.activemq.artemis.core.server] AMQ221020: Started EPOLL Acceptor at 172.17.0.3:5445 for protocols [HORNETQ,STOMP]
2021-05-27 21:23:45,155 INFO [org.apache.activemq.artemis.core.server] AMQ221020: Started EPOLL Acceptor at 172.17.0.3:5672 for protocols [AMQP]
2021-05-27 21:23:45,158 INFO [org.apache.activemq.artemis.core.server] AMQ221020: Started EPOLL Acceptor at 172.17.0.3:1883 for protocols [MQTT]
2021-05-27 21:23:45,162 INFO [org.apache.activemq.artemis.core.server] AMQ221020: Started EPOLL Acceptor at 172.17.0.3:61613 for protocols [STOMP]
2021-05-27 21:23:45,167 INFO [org.apache.activemq.artemis.core.server] AMQ221007: Server is now live
2021-05-27 21:23:45,168 INFO [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis Message Broker version 2.17.0 [broker, nodeID=d1043ae4-bf31-11eb-8c49-0242ac110003]
2021-05-27 21:23:45,379 INFO [org.apache.activemq.hawtio.branding.PluginContextListener] Initialized activemq-branding plugin
2021-05-27 21:23:45,413 INFO [org.apache.activemq.hawtio.plugin.PluginContextListener] Initialized artemis-plugin plugin
2021-05-27 21:23:45,625 INFO [io.hawt.HawtioContextListener] Initialising hawtio services
2021-05-27 21:23:45,636 INFO [io.hawt.system.ConfigManager] Configuration will be discovered via system properties
2021-05-27 21:23:45,638 INFO [io.hawt.jmx.JmxTreeWatcher] Welcome to Hawtio 2.11.0
2021-05-27 21:23:45,643 INFO [io.hawt.web.auth.AuthenticationConfiguration] Starting hawtio authentication filter, JAAS realm: "activemq" authorized role(s): "admin" role principal classes: "org.apache.activemq.artemis.spi.core.security.jaas.RolePrincipal"
2021-05-27 21:23:45,656 INFO [io.hawt.web.proxy.ProxyServlet] Proxy servlet is disabled
2021-05-27 21:23:45,660 INFO [io.hawt.web.servlets.JolokiaConfiguredAgentServlet] Jolokia overridden property: [key=policyLocation, value=file:/home/jboss/broker/etc/jolokia-access.xml]
2021-05-27 21:23:45,727 INFO [org.apache.activemq.artemis] AMQ241001: HTTP Server started at http://172.17.0.3:8161
2021-05-27 21:23:45,727 INFO [org.apache.activemq.artemis] AMQ241002: Artemis Jolokia REST API available at http://172.17.0.3:8161/console/jolokia
2021-05-27 21:23:45,728 INFO [org.apache.activemq.artemis] AMQ241004: Artemis Console available at http://172.17.0.3:8161/console
2021-05-27 21:23:54,289 INFO [io.hawt.web.auth.LoginServlet] Hawtio login is using 1800 sec. HttpSession timeout
2021-05-27 21:23:54,968 INFO [io.hawt.web.auth.keycloak.KeycloakServlet] Keycloak integration is disabled
2021-05-27 21:24:00,270 INFO [io.hawt.web.auth.LoginServlet] Logging in user: admin
Is your feature request related to a problem? Please describe.
The activemq-artemis-broker-kubernetes-image is using the Cloud Enablement module version 0.38.0-artemiscloud-1.
Describe the solution you'd like
Set the same Cloud Enablement module version used by activemq-artemis-broker-kubernetes-image.
Enable github dependabot to verify which dependencies can be updated daily.
On this repo, currently only the github actions will be verified as the docker image is build using CEKit and the Container file is not available.
Is your feature request related to a problem? Please describe.
Add check on commit messages of PR to make sure each begin with a issue number
[#nnn] or [NO-ISSUE]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
Optional. A clear and concise description of any alternative solutions or features you've considered.
Additional context
Optional. Add any other context or screenshots about the feature request here.
Describe the bug
The image created in this repository can only be run with podman. On docker, the artemis broker binary is missing.
To Reproduce
~ via v18.5.0 via 🐍 v3.10.5 ☸ xxx-production (applications) took 18s
❯ docker run -it -e AMQ_USER=admin -e AMQ_PASSWORD=admin --rm quay.io/artemiscloud/activemq-artemis-broker:1.0.6
Creating Broker with args --user XXXXX --password XXXXX --role admin --name broker --allow-anonymous --http-host 172.17.1.2 --host 172.17.1.2 --force
Unable to create the path 'broker'.
usage: artemis <command> [<args>]
The most commonly used artemis commands are:
address Address tools group (create|delete|update|show) (example ./artemis address create)
browser It will browse messages on an instance
check Check tools group (node|queue) (example ./artemis check node)
consumer It will consume messages from an instance
create creates a new broker instance
data data tools group (print|recover) (example ./artemis data print)
help Display help information
mask mask a password and print it out
perf Perf tools group (example ./artemis perf client)
producer It will send messages to an instance
queue Queue tools group (create|delete|update|stat|purge) (example ./artemis queue create)
transfer Moves Messages from one destination towards another destination
version print version information
See 'artemis help <command>' for more information on a specific command.
Running Broker
/opt/amq/bin/launch.sh: line 47: /home/jboss/broker/bin/artemis: No such file or directory
~ via v18.5.0 via 🐍 v3.10.5 ☸ xxx-production (applications)
❯ podman run -it -e AMQ_USER=admin -e AMQ_PASSWORD=admin --rm quay.io/artemiscloud/activemq-artemis-broker:1.0.6
Creating Broker with args --user XXXXX --password XXXXX --role admin --name broker --allow-anonymous --http-host 10.0.2.100 --host 10.0.2.100 --force
Creating ActiveMQ Artemis instance at: /home/jboss/broker
Auto tuning journal ...
done! Your system can make 62.5 writes per millisecond, your journal-buffer-timeout will be 16000
You can now start the broker by executing:
"/home/jboss/broker/bin/artemis" run
Or you can run the broker in the background using:
"/home/jboss/broker/bin/artemis-service" start
Running Broker
_ _ _
/ \ ____| |_ ___ __ __(_) _____
/ _ \| _ \ __|/ _ \ \/ | |/ __/
/ ___ \ | \/ |_/ __/ |\/| | |\___ \
/_/ \_\| \__\____|_| |_|_|/___ /
Apache ActiveMQ Artemis 2.23.0
Jul 08, 2022 11:41:26 AM java.lang.System$LoggerFinder lambda$accessProvider$0
WARNING: Failed to instantiate LoggerFinder provider; Using default.
2022-07-08 11:41:26,581 INFO [org.apache.activemq.artemis.integration.bootstrap] AMQ101000: Starting ActiveMQ Artemis Server
Platform (please complete the following information):
Expected behavior
The image works in podman and docker
Additional context
Things work in docker when passing --user=root
.
activemq-artemis
version 2.33.0
has been released on 2024-03-19 (github.com
). Thus, it would be nice to generate corresponding images based on this version.
Describe the bug
Running on an Fedora 33 box where by default you can run podman rootless instead of sudo podman. Running with sudo podman allows one to expose a protocol acceptor port via -p containerport:hostport and then you can connect to hostport with no problems. However running without sudo results in an inaccessible broker although it's running in the container.
To Reproduce
Steps to reproduce the behavior:
Platform (please complete the following information):
Expected behavior
When running the base broker container image I expect to be able to run it locally and easily connect either another container to it, or connect from the host itself.
Update README with the latest info about the tag
Instead of the hard coded "--allow-anonymous", I would expect the launch.sh script to decide between that and "--require-login", depending on some environment variable (e.g. ALLOW_ANONYMOUS=true/false).
Build container images for linux/amd64 and linux/arm64
Describe the bug
Not able to launch the Basic Broker Image on Mac Apple M1 Pro Ventura 13.4.
To Reproduce
Steps to reproduce the behavior:
docker run -e AMQ_USER=artemisuser -e AMQ_PASSWORD=artemispwd --name project-artemis --platform linux/x86_64 -p 80:8161 -p 61616:61616 quay.io/artemiscloud/activemq-artemis-broker:dev.latest
Platform (please complete the following information):
Expected behavior
Above command should deploy the image on the tutorial.
Additional context
The error during docker run
is:
Cannot initialize queue:Function not implemented
Describe the bug
Line 15 of launch.sh is supposed to prevent the broker from running its initial configuration again, but it tests for the directory BROKER
while line 39 of the same script creates a lower-case directory broker
To Reproduce
Steps to reproduce the behavior:
/home/jboss
mounted to a Kubernetes volume or host directoryPlatform (please complete the following information):
The release tags start with the prefix v
i.e. v1.0.0 while the container image tags have no prefix.
This mismatch cause confusion, could you create the release tags without prefix?
Passing a parameter AMQ_PROPERTIES which is a comma separated list of broker properties will create a broker.properties file in the etc dir that the broker will load
Is your feature request related to a problem? Please describe.
Prior to and since the base broker container image was first made available a number or progressive JDK updates have happened. At the moment the base is utilizing the now older v8 JDK while the JDK development has since moved on to 11 through 17 at least.
Describe the solution you'd like
At a minimum the configuration and utilization of the v8 JDK should be retired, with a new minimum of 11 being introduced depending on platform availability. Ideally a move to v17 could be made, however that may not be universally available across all platforms.
Build nightly images with the tag snapshot
based on the latest ActiveMQ Artemis snapshot.
Describe the bug
apt-get install
is failing on github action workflow because the mirror list is not updated
To Reproduce
Execute ci or release workflow
Platform (please complete the following information):
N/A
Expected behavior
Have the workflow executed without errors
Screenshots
N/A
Additional context
apt-get install may fail if it is used directly without update the mirror list with apt-get update
Add a pull request template
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.