It is important to note that all DSE dependencies should only be specified in the DSE agent module. No DSE dependencies can be added to any other projects/modules, as users without access to DSE artifacts won't be able to build the OSS Management API.
In order to build Management API artifacts for DSE (jarfiles and/or Docker images), you will need to have access to the DSE Maven
Artifactory. This will require credentials that should be stored in your ${HOME}/.m2/settings.xml
file. Before attempting any of
the steps below, make sure to copy your Maven settings file to the root of the parent project. Assuming you have a terminal and
are in the root of this git repo:
cp $HOME/.m2/settings.xml $PWD
A special dse
profile was created when building the Management API with DSE dependencies. The required maven command is as following:
mvn package -P dse
To run the project tests against DSE, you need to enable the dse
profile and specify the property to run DSE tests as follows:
mvn verify -P dse -DrunDSE6.8tests
To run the test suite using the UBI based image:
mvn verify -P dse -DrunDSE6.8testsUBI
Official DSE Docker images are built from the docker-images repo. Those images are published to DockerHub at:
datastax/dse-server
Images built from this repo are for testing changes to Management API prior to releasing new versions and integrating them into official DSE images. Images built from this repo will be published to DockerHub at:
datastax/dse-mgmtapi-6_8
Building DSE images locally requires the buildx Docker plugin.
DSE images can be built with JDK8 or JDK11 using an Ubuntu base image. To build a JDK8 based image, run the following from the root of the parent project:
docker buildx build --load --progress plain --tag my-dse --file dse/Dockerfile-dse6.8.jdk8 --target dse --platform linux/amd64 .
where my-dse
is whatever tag you want to use for your image.
Likewise, to build a JDK11 Ubuntu based image, run:
docker buildx build --load --progress plain --tag my-dse --file dse/Dockerfile-dse6.8.jdk11 --target dse --platform linux/amd64 .
You can also build a RedHat UBI8 based image with JDK8 with the following:
docker buildx build --load --progress plain --tag my-dse --file dse/Dockerfile-dse6.8.ubi8 --target dse --platform linux/amd64 .
By default, the DSE version for the image build will be the latest released version of DSE. If you wish to build an image for a
specific DSE version, specify the DSE_VERSION
build-arg:
docker buildx build --load --build-arg DSE_VERSION=6.8.26 --progress plain --tag my-dse --file dse/Dockerfile-dse6.8.jdk11 --target dse --platform linux/amd64 .
To run an image you built locally with Management API enabled, run the following:
docker run -e DS_LICENSE=accept -e USE_MGMT_API=true -p 8080:8080 --name dse my-dse
where my-dse
is the tag of the image you built.