Skip to content

Contributor Guide

We welcome contributions and suggestions to this project.

If you are unsure where to start, take a look at our Roadmap. Before implementing a feature or task, please open an Issue to share your approach and allow us to support you throughout the process.

Developer Setup

Fork and Clone the KTA Repository

Like many other open source projects, we use Pull Requests to merge changes.

Git Setup and Workflow

Ensure your Git username and email are correctly configured. For details, please refer to this guide.

We use a simple Git workflow that consists of the main branch and feature branches. When implementing a feature or task, create a new branch from main, implement your feature or task, push changes to your fork and then issue a Pull Request.

IDE Setup

Below are IDE recommendations for working with specific KTA modules.

KTA Kubernetes Operator

We recommend using IntelliJ IDEA.

  • Go to [File] > [Settings] > [Editor] > [Inspections] and tick Instance field access not qualified with 'this' with All scopes and Severity: Warning.
  • Each file must include a license header at the top of the file.

    1. To include it automatically go to [File] > [Settings] > [Copyright] > [Copyright Profiles].
    2. Add a new profile and name it "Kubernetes Topology Autoscaler".
    3. Add the following Copyright text and click [Apply].
    Copyright (c) 2025 Dynatrace LLC
    
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    
        http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    

KTA Python SDK

We recommend using PyCharm.

  • After completing the setup, configure the virtual environment in PyCharm by following this guide. This ensures that it is automatically activated in the Terminal inside PyCharm.
  • Each file must include a license header at the top of the file. We recommend setting the license header manually, as we experienced some bugs in the past when setting it automatically using PyCharm.

    #   Copyright (c) 2025 Dynatrace LLC
    #
    #   Licensed under the Apache License, Version 2.0 (the "License");
    #   you may not use this file except in compliance with the License.
    #   You may obtain a copy of the License at
    #
    #       http://www.apache.org/licenses/LICENSE-2.0
    #
    #   Unless required by applicable law or agreed to in writing, software
    #   distributed under the License is distributed on an "AS IS" BASIS,
    #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    #   See the License for the specific language governing permissions and
    #   limitations under the License.
    

Miscellaneous

  • Markdown linting of the entire project is handled using the makefile in the project root.
  • For detailed information regarding dependencies, programming language versions, build instructions, etc., please refer to the README of each module.