Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

dt-cli

Package Overview
Dependencies
Maintainers
1
Versions
40
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dt-cli

Dynatrace CLI

pipPyPI
Version
1.6.16
Maintainers
1

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

  • Work with Extensions 2.0
    • Build and sign extensions from source
    • Generate CA certificates for development
    • Generate development certificates for extension signing
    • Validate and upload extension to Dynatrace
  • (planned) Perform various API requests from command line

FAQ

What's the difference between monaco and dt-cli?

  • Monaco is a monitoring configuration as code solution that allows you to configure Dynatrace environment using GitOps approach. It follows a declarative approach: define what you need and the tool will ensure the correct configuration.
  • dt command line, on the other hand, is a tool for performing imperative step-by-step configuration. You explicitly invoke commands to modify the state.

Installation

pip install dt-cli

Usage

  • (optional) If you don't already have a developer certificate

    • Generate CA key and certificate

      $ dt ext genca
      CA private key passphrase []: 
      Repeat for confirmation: 
      Generating CA...
      
      Wrote CA private key: ./ca.key
      Wrote CA certificate: ./ca.pem
      
    • Generate developer key and certificate from the CA

      $ dt ext generate-developer-pem --ca-crt ca.pem --ca-key ca.key -o dev.pem
      Name: Ext
      Loading CA private key ca.key
      Loading CA certificate ca.pem
      Generating developer certificate...
      Wrote developer certificate: dev.pem
      Wrote developer private key: dev.pem
      
  • Upload your CA certificate to the Dynatrace credential vault

    See: Add your root certificate to the Dynatrace credential vault

  • Upload your CA certificate to OneAgent or ActiveGate hosts that will run your extension

    See: Uplaod your root certificate to OneAgent or ActiveGate

  • Build and sign the extension

    $ dt ext assemble
    Building extension.zip from extension/
    Adding file: extension/dashboards/overview_dashboard.json as dashboards/overview_dashboard.json
    Adding file: extension/extension.yaml as extension.yaml
    Adding file: extension/activationSchema.json as activationSchema.json
    
    $ dt ext sign --key dev.pem
    Successfully signed the extension bundle at bundle.zip
    
  • (optional) Validate the assembled and signed bundle with your Dynatrace tenant

    $ dt ext validate bundle.zip --tenant-url https://<tenantid>.live.dynatrace.com --api-token <token>
    Extension validation successful!
    
  • Upload the extension to your Dynatrace tenant

    $ dt ext upload bundle.zip --tenant-url https://<tenantid>.live.dynatrace.com --api-token <token>
    Extension upload successful!
    

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.

Keywords

dynatrace

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts