/dt-cli

Command line tool for Dynatrace

Primary LanguagePythonApache License 2.0Apache-2.0

dt-cli — Dynatrace developer's toolbox

Dynatrace CLI is a command line utility that assists in signing, building and uploading extensions for Dynatrace Extension Framework 2.0.

PyPI PyPI - Python Version GitHub Workflow Status (main branch)

Features

  • Build and sign extensions from source
  • Generate development certificates for extension signing
  • Generate CA certificates for development
  • Validate and upload extension to Dynatrace Extension Framework 2.0.

Installation

pip install dt-cli

Usage

  1. Generate certificates
  dt extension gencerts
  1. Upload your ca.pem certificate to the Dynatrace credential vault

See: Add your root certificate to the Dynatrace credential vault

  1. Build and sign, then upload extension
  dt extension build
  dt extension upload

Use dt extension --help to learn more

  1. Download extension schemas
  dt extension schemas

API permissions needed: extensions.read

This script should only be needed once, whenever schema files are missing or you want to target a different version than what you already have. It does the following:

  • Downloads all the extension schema files of a specific version
  • Schemas are downloaded to schemas folder
  1. Wipes out extension from Dynatrace Cluster
  dt extension delete

Use dt extension --help to learn more

Using dt-cli from your Python code

You may want to use some commands implemented by dt-cli directly in your Python code, e.g. to automatically sign your extension in a CI environment. Here's an example of building an extension programatically, it assumes dtcli package is already installed and available in your working environment.

from dtcli import building


building.build_extension(
    extension_dir_path = './extension',
    extension_zip_path = './extension.zip',
    extension_zip_sig_path = './extension.zip.sig',
    target_dir_path = './dist',
    certificate_file_path = './developer.crt',
    private_key_file_path = './developer.key',
    dev_passphrase=None,
    keep_intermediate_files=False,
)

Development

See our CONTRIBUTING guidelines and instructions.

Contributions

You are welcome to contribute using Pull Requests to the respective repository. Before contributing, please read our Code of Conduct.

License

dt-cli is an Open Source Project. Please see LICENSE for more information.