From eebe9286a93890976c30426f855252b80b6e2b21 Mon Sep 17 00:00:00 2001 From: Adam Gardner Date: Wed, 9 Oct 2024 09:21:59 +1000 Subject: [PATCH] Deployed be7154e with MkDocs version: 1.6.0 --- 404.html | 4 ++-- cleanup/index.html | 4 ++-- getting-started/index.html | 6 +++--- index.html | 9 +++++---- installation-explained/index.html | 10 +++++----- observability/index.html | 4 ++-- resources/index.html | 4 ++-- search/search_index.json | 2 +- view-configuration/index.html | 4 ++-- whats-next/index.html | 4 ++-- 10 files changed, 26 insertions(+), 25 deletions(-) diff --git a/404.html b/404.html index 03413cc..3024239 100755 --- a/404.html +++ b/404.html @@ -186,7 +186,7 @@
- +
@@ -232,7 +232,7 @@
- +
diff --git a/cleanup/index.html b/cleanup/index.html index 82b9515..e3ca5ed 100755 --- a/cleanup/index.html +++ b/cleanup/index.html @@ -190,7 +190,7 @@
- +
@@ -236,7 +236,7 @@
- +
diff --git a/getting-started/index.html b/getting-started/index.html index 094bbcf..630e387 100755 --- a/getting-started/index.html +++ b/getting-started/index.html @@ -195,7 +195,7 @@
- +
@@ -241,7 +241,7 @@
- +

Price

diff --git a/index.html b/index.html index 9513549..7e53b92 100755 --- a/index.html +++ b/index.html @@ -193,7 +193,7 @@
- +
@@ -239,7 +239,7 @@
- +
@@ -604,7 +604,8 @@

Crossplane and Terraform configuration as code to keep Dynatrace in sync automatically.

    -
  1. Terraform code is store in a Git repository
  2. +
  3. You fork this repository
  4. +
  5. Terraform code is stored in your forked Git repository
  6. Crossplane watches this Git repo
  7. Crossplane ensures the state declared in Git == the state in Dynatrace
@@ -630,7 +631,7 @@

Compatibility

Fork Repo

-

Fork this repo before continuing!

+

Fork this repo before continuing!

During this tutorial you will need to write to the repo so you need a fork!

diff --git a/installation-explained/index.html b/installation-explained/index.html index 40249ce..bc443e3 100755 --- a/installation-explained/index.html +++ b/installation-explained/index.html @@ -195,7 +195,7 @@
- +
@@ -241,7 +241,7 @@
- +
@@ -624,9 +624,9 @@

Setup and Configuration Explanation

Summary

diff --git a/observability/index.html b/observability/index.html index 7111541..c1eea6b 100755 --- a/observability/index.html +++ b/observability/index.html @@ -191,7 +191,7 @@
- +
@@ -237,7 +237,7 @@
- +
diff --git a/resources/index.html b/resources/index.html index d164638..c38b8b3 100755 --- a/resources/index.html +++ b/resources/index.html @@ -195,7 +195,7 @@
- +
@@ -241,7 +241,7 @@
- +
diff --git a/search/search_index.json b/search/search_index.json index 2117feb..ea875fe 100755 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Using Crossplane to Automate Dynatrace Configuration as Code on Kubernetes","text":"

Larger Images

To enlarge images, right click and open in new tab.

In this hands-on demo, you will use Crossplane and Terraform configuration as code to keep Dynatrace in sync automatically.

  1. Terraform code is store in a Git repository
  2. Crossplane watches this Git repo
  3. Crossplane ensures the state declared in Git == the state in Dynatrace

"},{"location":"#compatibility","title":"Compatibility","text":"Deployment Tutorial Compatible Dynatrace Managed \u2714\ufe0f Dynatrace SaaS \u2714\ufe0f

Fork Repo

Fork this repo before continuing!

During this tutorial you will need to write to the repo so you need a fork!

  • Click Here to Begin
"},{"location":"cleanup/","title":"Cleanup","text":"

To cleanup resources, go to https://github.com/codespaces and delete the codespace.

You may also want to deactivate or delete the API token.

  • What's Next?
"},{"location":"getting-started/","title":"Getting Started","text":""},{"location":"getting-started/#dynatrace-environment","title":"Dynatrace Environment","text":"

You must have access to a Dynatrace SaaS environment. Sign up here

Save the Dynatrace environment ID and environment

  • The ID is the first portion of the URL. (eg. acb12345 from https://abc12345.live.dynatrace.com)
  • Your environment is probably live but could also be sprint or dev
"},{"location":"getting-started/#create-api-token","title":"Create API Token","text":"

API Token Permissions

In this demo, you will only create an auto-tag rule, therefore the only permissions you require are settings.read and settings.write

However, if you want to create additional configuration, your API tokens will differ and you may need an OAuth client.

If you choose to extend this tutorial, refer to the Terraform documentation to understand exactly which permissions you require.

In Dynatrace:

  • Press ctrl + k. Search for access tokens.
  • Create a new access token with the following permissions:
    • settings.read
    • settings.write
    • metrics.ingest

Token used by Crossplane

Crossplane will use this API token to push and pull data from your Dynatrace environment.

"},{"location":"getting-started/#start-demo","title":"Start Demo","text":"

Click this button to open the demo environment. This will open in a new tab.

Use your repository

In the repository dropdown be sure to use yourUsername/obslab-crossplane

Price

GitHub includes a generous free tier. If you follow the cleanup instructions to delete your codespace once done, you will not be charged.

  • Select your repository from the repository dropdown box.
  • Fill in the form with the details you've already gathered.
  • Click Create codespace
  • Proceed to the next documentation step with the link below.

  • Click Here to Continue
"},{"location":"installation-explained/","title":"3. Installation Explained","text":""},{"location":"installation-explained/#wait-for-system","title":"Wait for System","text":"

The system may still be loading.

Wait until the Running postCreate command loading spinner disappears.

Wait here until the terminal prompt looks like this (your username will differ).

"},{"location":"installation-explained/#setup-and-configuration-explanation","title":"Setup and Configuration Explanation","text":"

The codespace automatically creates a Kubernetes cluster.

Onto that cluster, the startup script:

  • Creates a namespace crossplane-system
  • Creates a secret in that namespace dt-details which stores your Dynatrace endpoint and API token
  • Installs the Crossplane Terraform provider and configures it to run in debug mode, poll repositories every minute and attemp a maximum of 10 concurrent reconcilliations (see terraform-config.yaml)
  • Configures the Crossplane Terraform provider to use the Dynatrace provider (see terraform-provider-config.yaml)
  • Modifies workspace-remote.yaml to point to your repository

Summary

Crossplane is now running and watching the config_as_code folder of your repository.

Crossplane will ensure that configurations in that folder are applied to your Dynatrace environment

  • Click Here to Continue
"},{"location":"resources/","title":"Resources","text":"
  • Crossplane Observability and Traceability for Effective Multi-Cloud Management (Victor Farcic and Katharina Sick)
  • How to ensure Crossplane Resilience through Observability
"},{"location":"view-configuration/","title":"4. View Configuration in Dynatrace","text":""},{"location":"view-configuration/#see-tags-in-dynatrace","title":"See Tags in Dynatrace","text":"

config_as_code/main.tf contains a single auto-tag rule called created-by-crossplane.

That auto tag should now exist in your Dynatrace environment.

In Dynatrace:

  • Press ctrl + k. Search for settings
  • Go to Settings > Tags > Automatically applied tags

"},{"location":"view-configuration/#make-a-change","title":"Make a Change","text":"

In the codespace:

  • Open config_as_code/main.tf
  • Change the `description from:
description = \"this is an autotag rule created by crossplane\"\n

to

description = \"this is an autotag rule created by crossplane ABC123\"\n
  • Save that configuration back to your Git repository:
git add config_as_code/main.tf\ngit commit -m \"update auto-tag rule\"\ngit push\n

Wait 1 minute (recall that Crossplane is configured to sync once per minute).

Refresh the Dynatrace UI.

Open the auto-tag rule and you should see the changes reflected.

  • Click Here to Continue
"},{"location":"whats-next/","title":"What's Next?","text":""},{"location":"whats-next/#todo","title":"TODO","text":"
  1. This Observability Lab will be expanded to include a second tutorial on how to configure Observability for Crossplane.
"},{"location":"observability/","title":"Crossplane Observability","text":"

Under Construction

This section is a work in progress and is not yet ready for consumption.

Crossplane is running but it makes sense that we should be making sure that Crossplane is behaving correctly.

"}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Using Crossplane to Automate Dynatrace Configuration as Code on Kubernetes","text":"

Larger Images

To enlarge images, right click and open in new tab.

In this hands-on demo, you will use Crossplane and Terraform configuration as code to keep Dynatrace in sync automatically.

  1. You fork this repository
  2. Terraform code is stored in your forked Git repository
  3. Crossplane watches this Git repo
  4. Crossplane ensures the state declared in Git == the state in Dynatrace

"},{"location":"#compatibility","title":"Compatibility","text":"Deployment Tutorial Compatible Dynatrace Managed \u2714\ufe0f Dynatrace SaaS \u2714\ufe0f

Fork Repo

Fork this repo before continuing!

During this tutorial you will need to write to the repo so you need a fork!

  • Click Here to Begin
"},{"location":"cleanup/","title":"Cleanup","text":"

To cleanup resources, go to https://github.com/codespaces and delete the codespace.

You may also want to deactivate or delete the API token.

  • What's Next?
"},{"location":"getting-started/","title":"Getting Started","text":""},{"location":"getting-started/#dynatrace-environment","title":"Dynatrace Environment","text":"

You must have access to a Dynatrace SaaS environment. Sign up here

Save the Dynatrace environment ID and environment

  • The ID is the first portion of the URL. (eg. acb12345 from https://abc12345.live.dynatrace.com)
  • Your environment is probably live but could also be sprint or dev
"},{"location":"getting-started/#create-api-token","title":"Create API Token","text":"

API Token Permissions

In this demo, you will only create an auto-tag rule, therefore the only permissions you require are settings.read and settings.write

However, if you want to create additional configuration, your API tokens will differ and you may need an OAuth client.

If you choose to extend this tutorial, refer to the Terraform documentation to understand exactly which permissions you require.

In Dynatrace:

  • Press ctrl + k. Search for access tokens.
  • Create a new access token with the following permissions:
    • settings.read
    • settings.write
    • metrics.ingest

Token used by Crossplane

Crossplane will use this API token to push and pull data from your Dynatrace environment.

"},{"location":"getting-started/#start-demo","title":"Start Demo","text":"

Click this button to open the demo environment. This will open in a new tab.

Use your repository

In the repository dropdown be sure to use yourUsername/demo-crossplane

Price

GitHub includes a generous free tier. If you follow the cleanup instructions to delete your codespace once done, you will not be charged.

  • Select your repository from the repository dropdown box.
  • Fill in the form with the details you've already gathered.
  • Click Create codespace
  • Proceed to the next documentation step with the link below.

  • Click Here to Continue
"},{"location":"installation-explained/","title":"3. Installation Explained","text":""},{"location":"installation-explained/#wait-for-system","title":"Wait for System","text":"

The system may still be loading.

Wait until the Running postCreate command loading spinner disappears.

Wait here until the terminal prompt looks like this (your username will differ).

"},{"location":"installation-explained/#setup-and-configuration-explanation","title":"Setup and Configuration Explanation","text":"

The codespace automatically creates a Kubernetes cluster.

Onto that cluster, the startup script:

  • Creates a namespace crossplane-system
  • Creates a secret in that namespace dt-details which stores your Dynatrace endpoint and API token
  • Installs the Crossplane Terraform provider and configures it to run in debug mode, poll repositories every minute and attemp a maximum of 10 concurrent reconcilliations (see terraform-config.yaml)
  • Configures the Crossplane Terraform provider to use the Dynatrace provider (see terraform-provider-config.yaml)
  • Modifies workspace-remote.yaml to point to your repository

Summary

Crossplane is now running and watching the config_as_code folder of your repository.

Crossplane will ensure that configurations in that folder are applied to your Dynatrace environment

  • Click Here to Continue
"},{"location":"resources/","title":"Resources","text":"
  • Crossplane Observability and Traceability for Effective Multi-Cloud Management (Victor Farcic and Katharina Sick)
  • How to ensure Crossplane Resilience through Observability
"},{"location":"view-configuration/","title":"4. View Configuration in Dynatrace","text":""},{"location":"view-configuration/#see-tags-in-dynatrace","title":"See Tags in Dynatrace","text":"

config_as_code/main.tf contains a single auto-tag rule called created-by-crossplane.

That auto tag should now exist in your Dynatrace environment.

In Dynatrace:

  • Press ctrl + k. Search for settings
  • Go to Settings > Tags > Automatically applied tags

"},{"location":"view-configuration/#make-a-change","title":"Make a Change","text":"

In the codespace:

  • Open config_as_code/main.tf
  • Change the `description from:
description = \"this is an autotag rule created by crossplane\"\n

to

description = \"this is an autotag rule created by crossplane ABC123\"\n
  • Save that configuration back to your Git repository:
git add config_as_code/main.tf\ngit commit -m \"update auto-tag rule\"\ngit push\n

Wait 1 minute (recall that Crossplane is configured to sync once per minute).

Refresh the Dynatrace UI.

Open the auto-tag rule and you should see the changes reflected.

  • Click Here to Continue
"},{"location":"whats-next/","title":"What's Next?","text":""},{"location":"whats-next/#todo","title":"TODO","text":"
  1. This Observability Lab will be expanded to include a second tutorial on how to configure Observability for Crossplane.
"},{"location":"observability/","title":"Crossplane Observability","text":"

Under Construction

This section is a work in progress and is not yet ready for consumption.

Crossplane is running but it makes sense that we should be making sure that Crossplane is behaving correctly.

"}]} \ No newline at end of file diff --git a/view-configuration/index.html b/view-configuration/index.html index f1cc740..249298d 100755 --- a/view-configuration/index.html +++ b/view-configuration/index.html @@ -195,7 +195,7 @@