Skip to main content

Dynatrace CLI

Project description

dt-cli — Dynatrace developer's toolbox

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

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

dt-cli is currently in ALPHA. But it's evolving quickly with new features for extension development and cluster management to be added soon.

Features

  • Build and sign extensions from source
  • Generate development certificates for extension signing
  • Generate CA certificates for development

Installation

pip install dt-cli

Usage

Currently there are three basic commands available for working with extensions. Extension subcommand has two aliases for convenience: dt ext or dt extensions.

  • dt extension genca

    generates CA root certificate and key, required to generate developer certificates and for extension validation. The file containing the certificate (ca.cert is the deafult name) needs to be placed on ActiveGates and monitored hosts that will be executing extensions.

    Usage: dt extension genca [OPTIONS]
    
      creates CA key and certificate, needed to create developer certificate
      used for extension signing
    
      Options:
      --ca-cert TEXT  CA certificate. Default: ./ca.crt
      --ca-key TEXT   CA key. Default: ./ca.key
      -h, --help      Show this message and exit.
    
  • dt extension gendevcert

    generates a developer certificate used for signing extensions. Please note that there may be multiple developer certificates coming from a single root certificate. It's up to your organization to manage them.

    Usage: dt extension gendevcert [OPTIONS]
    
      creates developer key and certificate used for extension signing
    
      Options:
      --ca-cert TEXT   CA certificate. Default: ./ca.crt
      --ca-key TEXT    CA key. Default: ./ca.key
      --dev-cert TEXT  Developer certificate. Default: ./developer.crt
      --dev-key TEXT   Developer key. Default: ./developer.key
      -h, --help       Show this message and exit.
    
  • dt extension build builds distributable extension file from a given directory containing extension files (./extension by default). The extension will be signed with a developer certificate and key.

    Usage: dt extension build [OPTIONS]
    
      builds extension file from the given extension directory (extension in
      current dir. is the default)
    
      Options:
      --extension-directory TEXT  Directory where extension files are. Default:
                                  ./extension
    
      --target-directory TEXT     Directory where extension package should be
                                  written. Default: .
    
      --certificate TEXT          Certificate used for signing. Default:
                                  ./developer.crt
    
      --private-key TEXT          Private key used for signing. Default:
                                  ./developer.key
    
      --keep-intermediate-files   Do not delete the signature and 'extension.zip'
                                  files after building extension archive
    
      -h, --help                  Show this message and exit.
    

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',
    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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dt-cli-0.1.1a0.tar.gz (13.4 kB view hashes)

Uploaded Source

Built Distribution

dt_cli-0.1.1a0-py3-none-any.whl (15.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page