From 7611ac055e1145f6a207f642fa450c694562fb92 Mon Sep 17 00:00:00 2001 From: Goldman Date: Wed, 6 Nov 2024 07:20:39 -0300 Subject: [PATCH 1/6] use cases table format --- Readme.md | 41 ++++++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/Readme.md b/Readme.md index cc5d1eae2..23d0c833a 100644 --- a/Readme.md +++ b/Readme.md @@ -86,27 +86,26 @@ extra_vars = { Additional notes: - [API token scopes](#api-token-scopes). Check how to create a Dynatrace API token [here](https://docs.dynatrace.com/docs/dynatrace-api/basics/dynatrace-api-authentication#create-token) - [Oauth client scopes](#oauth-client-scopes). Check how to create an Dynatrace Oauth client [here](https://docs.dynatrace.com/docs/manage/identity-access-management/access-tokens-and-oauth-clients/oauth-clients) -- It is recommended to set the sensitive variables as environment variables: +- It is recommended to set the sensitive variables as environment variables. More information in the terraform documentation [here](https://developer.hashicorp.com/terraform/language/values/variables#environment-variables) ```yaml export TF_VAR_dt_api_token=dt0c01.... ``` -4. Check out the `Readme.md` for your specific cloud provider configuration that needs to be set. Please consult our dedicated readmes for [AWS](terraform/aws/Readme.md), [Azure](terraform/azure/Readme.md) and [GCP](terraform/gcloud/Readme.md). +4. Check out the `Readme.md` for your specific cloud provider configuration that needs to be set. Please consult our dedicated READMEs for [AWS](terraform/aws/Readme.md), [Azure](terraform/azure/Readme.md) and [GCP](terraform/gcloud/Readme.md). -> Note: Check out [BYO VM](docs/byo-vm.md) documentation in case you are not using a cloud provider to deploy the ace-box. +> Note: Check out [BYO VM](docs/byo-vm.md) documentation in case you are not using any cloud provider to deploy the ace-box. -5. You can configure specific [use case](#use-cases) within the `terraform.tfvars`. You can also configure them later on once the ace-box is up and running +5. You can configure a specific [use case](#use-cases) within the `terraform.tfvars`. 6. Run `terraform init` 7. Run `terraform apply` -8. Grab a coffee, this process will take some time... ### Behind the scenes Spinning up an ACE-Box instance can be split into two main parts: -1) Deploying a VM: This happens automatically when you use the included Terraform projects or you can bring your own VM. -2) After a VM is available, the provisioners install the ACE-Box framework. This process itself consists in a couple steps: +1) Deploying a VM: this happens automatically when you use the included Terraform projects or you can bring your own VM. +2) After a VM is available, the provisioners install the ACE-Box framework. This process itself consists in the following steps: 1) Working directory copy: everything in [user-skel](/user-skel) is copied to the VM local filesystem 2) Package manager update: [init.sh](/user-skel/init.sh) is run. This runs an `apt-get` update and installs `Python3.9`, `Ansible` and the `ace-cli` 3) `ace prepare` command is run, which asks for ACE-Box specific configurations (e.g. protocol, custom domain, ...) @@ -131,11 +130,31 @@ The ACE-Box has been configured to spin up a VM and use different built-in modul The ACE-Box framework comes with a set of use-cases which are referred as _out-of-the-box use-cases_ which have been added from time to time by the ACE-Box contributors. Embedded into the ace-box as roles: + +| Use case | Description | Guide | Prerequisites | +| :---: | :---: | :---: | :---: | +| `demo_monaco_gitops` | Demo flow for Application Onboarding using Jenkins/Gitea | | | +| `demo_ar_workflows_ansible` | Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows | | | +| `demo_release_validation_srg_gitlab`| Demo flow for Release Validation using GitLab/Site Reliability Guardian | | | +| `demo_ar_workflows_gitlab` | Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows | | | +| `demo_all` | All demos | | | + +- `demo_monaco_gitops`: Demo flow for Application Onboarding using Jenkins/Gitea. More information about this use case [guide](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-monaco-gitops). Doesn't require extra vars +- `demo_ar_workflows_ansible`: Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows. More information about this use case [here](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-ansible). ATTENTION: Requires [extra configuration](user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-ansible/README.md) +- `demo_release_validation_srg_gitlab`: Demo flow for Release Validation using GitLab/Site Reliability Guardian. More information about this use case [here](https://github.com/Dynatrace/ace-box/blob/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-release-validation-srg-gitlab/files/docs/README.md). ATTENTION: Requires [extra configuration](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-release-validation-srg-gitlab#prerequisites) +- `demo_ar_workflows_gitlab`: Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows. More information about this use case [here] + + + +(ATTENTION: Requires [extra configuration](user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-gitlab/README.md)) + - `demo_all` requires extra variables. See [use-case README](user-skel/ansible_collections/ace_box/ace_box/roles/demo-all/README.md) for details. -- `demo_monaco_gitops`: Demo flow for Application Onboarding using Jenkins/Gitea -- `demo_ar_workflows_ansible`: Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows (ATTENTION: Requires [extra vars](user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-ansible/README.md)) -- `demo_release_validation_srg_gitlab`: Demo flow for Release Validation using GitLab/Site Reliability Guardian (ATTENTION: Requires [extra vars](user-skel/ansible_collections/ace_box/ace_box/roles/demo-release-validation-srg-gitlab/README.md)) -- `demo_ar_workflows_gitlab`: Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows (ATTENTION: Requires [extra vars](user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-gitlab/README.md)) + + +```conf +// Check below how to configure one +// use_case = demo_monaco_gitops +``` ### Custom use-cases From aa95a5149207cab37c9206c664ac35484e91d062 Mon Sep 17 00:00:00 2001 From: Goldman Date: Wed, 6 Nov 2024 07:23:17 -0300 Subject: [PATCH 2/6] extra info use cases --- Readme.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Readme.md b/Readme.md index 23d0c833a..970e5797e 100644 --- a/Readme.md +++ b/Readme.md @@ -133,14 +133,14 @@ Embedded into the ace-box as roles: | Use case | Description | Guide | Prerequisites | | :---: | :---: | :---: | :---: | -| `demo_monaco_gitops` | Demo flow for Application Onboarding using Jenkins/Gitea | | | -| `demo_ar_workflows_ansible` | Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows | | | +| `demo_monaco_gitops` | Demo flow for Application Onboarding using Jenkins/Gitea | [here](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-monaco-gitops) | None | +| `demo_ar_workflows_ansible` | Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows | [here](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-ansible) | [here](user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-ansible/README.md) | | `demo_release_validation_srg_gitlab`| Demo flow for Release Validation using GitLab/Site Reliability Guardian | | | | `demo_ar_workflows_gitlab` | Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows | | | | `demo_all` | All demos | | | -- `demo_monaco_gitops`: Demo flow for Application Onboarding using Jenkins/Gitea. More information about this use case [guide](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-monaco-gitops). Doesn't require extra vars -- `demo_ar_workflows_ansible`: Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows. More information about this use case [here](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-ansible). ATTENTION: Requires [extra configuration](user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-ansible/README.md) + +- `demo_ar_workflows_ansible`: Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows. More information about this use case . ATTENTION: Requires [here](user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-ansible/README.md) - `demo_release_validation_srg_gitlab`: Demo flow for Release Validation using GitLab/Site Reliability Guardian. More information about this use case [here](https://github.com/Dynatrace/ace-box/blob/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-release-validation-srg-gitlab/files/docs/README.md). ATTENTION: Requires [extra configuration](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-release-validation-srg-gitlab#prerequisites) - `demo_ar_workflows_gitlab`: Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows. More information about this use case [here] From 2c0245e1ed843b8be3be2943488fbb228a7059a3 Mon Sep 17 00:00:00 2001 From: Goldman Date: Wed, 6 Nov 2024 07:26:36 -0300 Subject: [PATCH 3/6] full table use cases --- Readme.md | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/Readme.md b/Readme.md index 970e5797e..a948d4ede 100644 --- a/Readme.md +++ b/Readme.md @@ -135,20 +135,9 @@ Embedded into the ace-box as roles: | :---: | :---: | :---: | :---: | | `demo_monaco_gitops` | Demo flow for Application Onboarding using Jenkins/Gitea | [here](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-monaco-gitops) | None | | `demo_ar_workflows_ansible` | Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows | [here](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-ansible) | [here](user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-ansible/README.md) | -| `demo_release_validation_srg_gitlab`| Demo flow for Release Validation using GitLab/Site Reliability Guardian | | | -| `demo_ar_workflows_gitlab` | Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows | | | -| `demo_all` | All demos | | | - - -- `demo_ar_workflows_ansible`: Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows. More information about this use case . ATTENTION: Requires [here](user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-ansible/README.md) -- `demo_release_validation_srg_gitlab`: Demo flow for Release Validation using GitLab/Site Reliability Guardian. More information about this use case [here](https://github.com/Dynatrace/ace-box/blob/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-release-validation-srg-gitlab/files/docs/README.md). ATTENTION: Requires [extra configuration](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-release-validation-srg-gitlab#prerequisites) -- `demo_ar_workflows_gitlab`: Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows. More information about this use case [here] - - - -(ATTENTION: Requires [extra configuration](user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-gitlab/README.md)) - -- `demo_all` requires extra variables. See [use-case README](user-skel/ansible_collections/ace_box/ace_box/roles/demo-all/README.md) for details. +| `demo_release_validation_srg_gitlab`| Demo flow for Release Validation using GitLab/Site Reliability Guardian | [here](https://github.com/Dynatrace/ace-box/blob/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-release-validation-srg-gitlab/files/docs/README.md) | [extra configuration](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-release-validation-srg-gitlab#prerequisites) | +| `demo_ar_workflows_gitlab` | Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows | [here](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-gitlab) | [here](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-gitlab) | +| `demo_all` | All demos | None | [here](user-skel/ansible_collections/ace_box/ace_box/roles/demo-all/README.md) | ```conf From ad616d1f4480a89fab9ffc96922fc93f3ae7baf9 Mon Sep 17 00:00:00 2001 From: Goldman Date: Wed, 6 Nov 2024 07:36:47 -0300 Subject: [PATCH 4/6] table external use cases --- Readme.md | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/Readme.md b/Readme.md index a948d4ede..df2f1ab10 100644 --- a/Readme.md +++ b/Readme.md @@ -135,16 +135,25 @@ Embedded into the ace-box as roles: | :---: | :---: | :---: | :---: | | `demo_monaco_gitops` | Demo flow for Application Onboarding using Jenkins/Gitea | [here](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-monaco-gitops) | None | | `demo_ar_workflows_ansible` | Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows | [here](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-ansible) | [here](user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-ansible/README.md) | -| `demo_release_validation_srg_gitlab`| Demo flow for Release Validation using GitLab/Site Reliability Guardian | [here](https://github.com/Dynatrace/ace-box/blob/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-release-validation-srg-gitlab/files/docs/README.md) | [extra configuration](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-release-validation-srg-gitlab#prerequisites) | +| `demo_release_validation_srg_gitlab`| Demo flow for Release Validation using GitLab/Site Reliability Guardian | [here](https://github.com/Dynatrace/ace-box/blob/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-release-validation-srg-gitlab/files/docs/README.md) | [here](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-release-validation-srg-gitlab#prerequisites) | | `demo_ar_workflows_gitlab` | Demo flow for Auto Remediation using Gitlab/Dynatrace Workflows | [here](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-gitlab) | [here](https://github.com/Dynatrace/ace-box/tree/dev/user-skel/ansible_collections/ace_box/ace_box/roles/demo-ar-workflows-gitlab) | | `demo_all` | All demos | None | [here](user-skel/ansible_collections/ace_box/ace_box/roles/demo-all/README.md) | +### How to enable OOTB use-cases? + +1. Specify the use case in your `terraform.tfvars`. For example: + ```conf -// Check below how to configure one -// use_case = demo_monaco_gitops +... +use_case = demo_monaco_gitops +... ``` +2. Check pre-requisites, version & compatibility & extra vars or config needed. + +3. Continue with the deployment of your ace-box... + ### Custom use-cases In addition to the out-of-the-box use-cases provided natively by the ACE-Box, it is possible to source custom use-cases. This allows using the ACE-Box as a platform to develop your own use-cases, demonstrations, trainings, etc. @@ -152,6 +161,11 @@ In addition to the out-of-the-box use-cases provided natively by the ACE-Box, it Check out [Custom use-case](docs/custom-use-case.md) documentation for more info. A list of already created custom use cases that can be used for demo or templates/ideas: + +| Use case | Description | Guide | Prerequisites | +| :---: | :---: | :---: | :---: | +| | | | + - [Basic Observability Demo](https://github.com/dynatrace-ace/basic-dt-demo) - [ace-box-sandbox-easytravel](https://github.com/dynatrace-ace/ace-box-sandbox-easytravel): A simple ACE-Box with EasyTravel monitored by Dynatrace - [ace-box-ext-demo-auto-remediation-easytravel](https://github.com/dynatrace-ace/ace-box-ext-demo-auto-remediation-easytravel): An auto remediation demo using Dynatrace, ServiceNow and Ansible From ba1e036d6038b90d78a49e91e32bcd9d1e7cd43f Mon Sep 17 00:00:00 2001 From: Goldman Date: Wed, 6 Nov 2024 07:38:56 -0300 Subject: [PATCH 5/6] custom use cases table --- Readme.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Readme.md b/Readme.md index df2f1ab10..c3a93aac9 100644 --- a/Readme.md +++ b/Readme.md @@ -162,13 +162,15 @@ Check out [Custom use-case](docs/custom-use-case.md) documentation for more info A list of already created custom use cases that can be used for demo or templates/ideas: -| Use case | Description | Guide | Prerequisites | -| :---: | :---: | :---: | :---: | -| | | | - -- [Basic Observability Demo](https://github.com/dynatrace-ace/basic-dt-demo) -- [ace-box-sandbox-easytravel](https://github.com/dynatrace-ace/ace-box-sandbox-easytravel): A simple ACE-Box with EasyTravel monitored by Dynatrace -- [ace-box-ext-demo-auto-remediation-easytravel](https://github.com/dynatrace-ace/ace-box-ext-demo-auto-remediation-easytravel): An auto remediation demo using Dynatrace, ServiceNow and Ansible +| Use case | Description | Guide | Prerequisites | +| :---: | :---: | :---: | :---: | +| Basic Observability Demo | Basic DT Kubernetes Observability for Easytrade | [here](https://github.com/dynatrace-ace/basic-dt-demo) | [here](https://github.com/dynatrace-ace/basic-dt-demo) | +| ace-box-sandbox-easytravel | A simple ACE-Box with EasyTravel monitored by Dynatrace | [here](https://github.com/dynatrace-ace/ace-box-sandbox-easytravel) | [here](https://github.com/dynatrace-ace/ace-box-sandbox-easytravel) | +| ace-box-ext-demo-auto-remediation-easytravel | An auto remediation demo using Dynatrace, ServiceNow and Ansible | [here](https://github.com/dynatrace-ace/ace-box-ext-demo-auto-remediation-easytravel) | [here](https://github.com/dynatrace-ace/ace-box-ext-demo-auto-remediation-easytravel) | +| Advanced Kubernetes Observability | in progress... | in progress... | in progress... | +| AppSec | in progress... | in progress... | in progress... | +| Dynatrace for Devs | in progress... | in progress... | in progress... | +| Automated Incident Mgmt | in progress... | in progress... | in progress... |
From 0ae9cb09584cb62fa3aca34c7cf99e5eda690453 Mon Sep 17 00:00:00 2001 From: Goldman Date: Wed, 6 Nov 2024 07:42:50 -0300 Subject: [PATCH 6/6] enable custom use cases doc --- Readme.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Readme.md b/Readme.md index c3a93aac9..a43ff158c 100644 --- a/Readme.md +++ b/Readme.md @@ -172,6 +172,20 @@ A list of already created custom use cases that can be used for demo or template | Dynatrace for Devs | in progress... | in progress... | in progress... | | Automated Incident Mgmt | in progress... | in progress... | in progress... | +### How to enable custom use-cases? + +1. Specify the use case in your `terraform.tfvars` **pointing to the external repository**. For example: + +```conf +... +use_case = "https://:@github.com/dynatrace-ace/basic-dt-demo.git" +... +``` + +2. Check pre-requisites, version & compatibility & extra vars or config needed. + +3. Continue with the deployment of your ace-box... +
## Architecture