Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/k8s e2e tests #135

Merged
merged 40 commits into from
Mar 12, 2024
Merged

Conversation

heckelmann
Copy link
Contributor

@heckelmann heckelmann commented Feb 23, 2024

This PR adds the initial functionality to run K8s E2E Tests using Chainsaw from Kyverno

This Action Requires the following environment variables

  • DT_API_ENDPOINT: The URL of the Dynatrace OTLP endpoint. Example: https://<your-environment-id>.live.dynatrace.com/api/v2/otlp

  • DT_API_TOKEN: The API token for the Dynatrace environment.

What is covered by this PR:

  • Build a temporary container based on the current commit
  • Creates a Kind Cluster
  • Imports the container into the cluster
  • Deploys Prometheus Node Exporter
  • Deploys the Collector using the temporary image
  • Executes Chainsaw Tests
    • Creates Syslog messages and verifies against Logs V2 API if the message is available in DT
    • Checks Prometheus Metrics from Node exporter is available via Metrics V2 API in DT

Note
If you merge this PR please do a squash commit to hide my commit messages ;)

@heckelmann heckelmann requested a review from a team as a code owner February 23, 2024 15:28
@heckelmann heckelmann marked this pull request as draft February 23, 2024 16:08
@heckelmann heckelmann marked this pull request as ready for review February 23, 2024 16:59
@mviitane
Copy link

Seems interesting! I’m missing a high level instructions about how to run these tests and what the requirements are (like Kind). Maybe the description from PR about the scope should be stored in some README?

@heckelmann
Copy link
Contributor Author

Seems interesting! I’m missing a high level instructions about how to run these tests and what the requirements are (like Kind). Maybe the description from PR about the scope should be stored in some README?

Currently, the tests need to be triggered manually, which is tbd. when it should run automatically.
This PR is introducing the required tooling to run E2E tests with two sample tests for syslog and prometheus.

@evan-bradley evan-bradley merged commit d2454e0 into Dynatrace:main Mar 12, 2024
2 checks passed
@evan-bradley
Copy link
Contributor

Thanks @heckelmann!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants