Creates and executes templates based on project Monaco. https://bit.ly/3R2LQeX
1.5K
Contains the UI and backend project of Dynatrace Merlin, a tool to create and consume templates based on project Monaco. https://github.com/dynatrace-oss/dynatrace-monitoring-as-code
Pre-requisites:
.env that will hold the application configurations.Copy the following into the .env file
GIT_URL=*
LOG_LEVEL=DEBUG
CONFIG_DIR="./tmp2"
TEMP_DIR="./tmp"
TEMPLATE_VERSION=0.0.1
REACT_APP_BACKEND_URL=http://127.0.0.1:4000
SERVER_CORS_URL=http://127.0.0.1:3000
JWT_KEY=q3t6w9z$B&E)H@Mc
MONACO_DEBUG=true
MONACO_API_URL=http://localhost:3010
MONACO_LEGACY=false
By default, the Merlin UI is served at
http://127.0.0.1:3000on your localhost. To pull the image use
docker pull dynatraceace/merlin:release
In your project root folder, use docker run to start the application:
docker run -p 4000:3040 -p 3000:80 -p 3010:3010 --name merlin -d --env-file=".env" dynatraceace/merlin:release
Please update
--env-file=".env"with a valid path to your.envvalues file.
The containers can be stopped and removed by running:
docker stop merlin
docker rm merlin
Navigate to http://127.0.0.1:3000 or the defined value in your .env file as SERVER_CORS_URL
When opening the Merlin UI in your Browser you will be prompted to provide Git credentials. Merlin stores templates, as well as configuration versions in git. By providing credentials, Merlin can create a link from your Browser to your preferred Git provider (tested with Github, Bitbucket).
You will need to provide:
After the initial setup, go to the left menu and add your first Dynatrace environment. (You will need a Dynatrace URL and token with permissions to read/write configurations (api v1)).
After adding the initial environment, select a template a complete the form to create a new instance of the configuration. You can try a simple template like a management zone to check how it works.
If you want to change any of the settings in the .env file.
REACT_APP_BACKEND_URL: This tells the UI where the backend is running. Replace it with your server IP (internal or external) if you want to expose this to end users. If you are running this locally, you can use the default value http://127.0.0.1:4000.
SERVER_CORS_URL: This tells the server which URLs are allow to send requests. Replace it with your server IP (internal or external) if you want to expose this to end users. By default is http://127.0.0.1:3000.
GIT_URL: Restricts the access to a single repository. Leave it with * to allow any git repository url.
LOG_LEVEL: TRACE, DEBUG and INFO are available as options for log level. Use TRACE if you need to troubleshoot an issue.
CONFIG_DIR: Stores the configurations locally in the docker container by default is set to "./tmp2"
TEMP_DIR: Stores the templates locally in the docker container. By default is set to "./tmp"
TEMPLATE_VERSION: It's always 0.0.1. In the future will allow to track the version of the templates that the system will generate.
JWT_KEY: Allows to encrypt the tokens and signs the JWT tokens. You can change the key if you want to secure your tokens. It requires a 18bit key.
MONACO_DEBUG: Enables debug information when running the template execution. Default is true
MONACO_API_URL: This tells the Monaco server which URLs are allow to send monaco requests. Replace it with your server IP (internal or external) if you want to expose this to end users. By default is http://127.0.0.1:3010. MONACO_LEGACY: This enables the custom version of monaco for special purposes. By default it should be false.
If you have a Managed Dynatrace environment that has private SSL/TLS certificate or Self-Signed certificate, you would want to use them to securely connect to the environment via Monaco. For that case, you can attach your server certificates into the Merlin container via a mounted volume.
Below is the command to run the merlin docker container with a mounted volume:
Note: Change the <path/to/local/directory> with your local folder name to add the server certificates. Do not change the destination path - "/usr/local/share/ca-certificates" as it is a specified path for Debian based systems certifications trusted store.
For details: https://manpages.debian.org/buster/ca-certificates/update-ca-certificates.8.en.html
docker run -p 4000:3040 -p 3000:80 --name merlin -d --env-file=".env" -v <path/to/local/directory>:/usr/local/share/ca-certificates dynatraceace/merlin:release
Note: Update with your environment endpoint.
openssl s_client -showcerts -connect <Your Managed Dynatrace Environment URL>:443 </dev/null | sed -n -e '/-.BEGIN/,/-.END/ p' > dt-managed-cacerts.pem
Content type
Image
Digest
sha256:679fdd51b…
Size
38.4 MB
Last updated
over 3 years ago
docker pull dynatraceace/merlin