Bundle
Bundle ArtemisCloud.io
Bundle
Operator Lifecycle Manager (OLM)
The Operator Lifecycle Manager can help users to install and manage operators. The ArtemisCloud operator can be built into a bundle image and installed into OLM.
Install OLM
Check out the latest releases on github for release-specific install instructions.
Create a repository
Create a repository that Kubernetes will uses to pull your catalog image. You can create a public one for free on quay.io, see how to create a repo.
Build a catalog image
Set your repository in CATALOG_IMG and execute the following command:
make CATALOG_IMG=quay.io/my-org/activemq-artemis-operator-index:latest catalog-build
Push a catalog image
Set your repository in CATALOG_IMG and execute the following command:
make CATALOG_IMG=quay.io/my-org/activemq-artemis-operator-index:latest catalog-push
Create a catalog source (e.g. catalog-source.yaml):
Before creating the catalog source, ensure to update the image field within the spec section with your own built catalog image specified by the CATALOG_IMG environment variable.
For the CATALOG_IMG, refer to the Build a catalog image section.
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
  name: activemq-artemis-operator-source
  namespace: operators
spec:
  displayName: ActiveMQ Artemis Operators
  image: quay.io/my-org/activemq-artemis-operator-index:latest
  sourceType: grpc
and deploy it:
$ kubectl create -f catalog-source.yaml
In a moment you will see the index image is up and running in namespace operators:
$ kubectl get pod -n operators
NAME                                      READY   STATUS    RESTARTS   AGE
activemq-artemis-operator-source-g94fd    1/1     Running   0          42s
Create a subscription (e.g. subscription.yaml)
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: activemq-artemis-operator-subscription
  namespace: operators
spec:
  channel: upstream
  name: activemq-artemis-operator
  source: activemq-artemis-operator-source
  sourceNamespace: operators
and deploy it:
  $ kubectl create -f subscription.yaml
An operator will be installed into operators namespace.
$ kubectl get pod -n operators
NAME                                                              READY   STATUS      RESTARTS   AGE
069c5d363d51fc04d639086da1c5180883a6cea8ec9d9f9eedde1a55f6v7jsq   0/1     Completed   0          9m55s
activemq-artemis-controller-manager-54c99b9df6-6xdzh              1/1     Running     0          9m28s
activemq-artemis-operator-source-g94fd                            1/1     Running     0          58m
Create a single ActiveMQ Artemis
This step creates a single ActiveMQ Artemis broker instance by applying the custom resource (CR) defined in artemis_single.yaml file.
$ kubectl apply -f examples/artemis/artemis_single.yaml
To check the status of the broker, run:
$ kubectl get ActivemqArtemis 
NAME             READY   AGE
artemis-broker   True    39s