# BMW Monaco ## Overview - **BMW-Dynatrace-config/**: Contains the configuration of all Dynatrace tenants. - Composed by: - Global config folder (**00_Global_Config**): contains configuration not related to any components in specific. - Component config folder (**CD_Component**): contains configuration related to a speficic component. - **Environment.yaml**: Contains the information about all BMW's tenants. - **bin/monaco**: executable. - **onboarding/CD_newComponentTag**: template for new onboardings. - **onboard.sh**: onboarding script. (To be replaced by pipeline, used for local onboardings) ## Get Started 1. Clone repository in your local machine 2. Define environmental variables for the environment.yaml file. i.e. *export xxu26128_TOKEN= Dynatrace API token* Do the same for the rest of the environments. Follow [this](https://www.dynatrace.com/support/help/shortlink/api-authentication#generate-a-token) link to learn how to generate a token in Dynatrace. 3. *mv bin/monaco /usr/bin* ## Update configuration 1. Execute the following command: *monaco --environments="environment.yaml" -p="CD_Component-Template" BMW-Dynatrace-config/* - Under -p you can select the configuration you want to update ## Onboard a new application 1. Run the following command to create a folder under BMW-Dynatrace-config with a template configuration for the new application to be onboarded: *./onboard.sh ManagementZone Tag* i.e. *./onboard.sh CD_ABC ABC* 2. Execute monaco: *monaco --environments="environment.yaml" -p="CD_ABC" BMW-Dynatrace-config/* 3. To remove all CD_ABC configuration: 1. Uncomment CD_ABC lines from delete.yaml. 2. Execute monaco again to apply changes from delete.yaml: *monaco --environments="environment.yaml" -p="CD_ABC" BMW-Dynatrace-config/* 2. Remove CD_ABC configuration folder ### Results - CD_ABC Management Zone created containing all entities with ABC tag. - PROD/E2E/INT Dashboards for CD_ABC components. - PROD/E2E/INT Alerting Profiles for CD_ABC components. ## Debugging - set environment variable MONACO_REQUEST_LOG=mylogfile.log to see what exactly gets sent to DT ## Download configuration Configuration has been downloaded and set up under BMW-Dynatrace-config. It's not necessary to be downloaded again. 1. execute the following command: *monaco -e environment.yaml -download* ## Automatic config environment variables - source ./exports.sh