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.
- Log in to your GitHub account.
- Go to https://github.com/dynatrace-oss/kubernetes-topology-autoscaler/ and click
[Fork]in the upper right corner to create a copy of the main repository under your account. - Clone the forked repo to your local machine.
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 tickInstance field access not qualified with 'this'withAll scopesandSeverity: Warning. -
Each file must include a license header at the top of the file.
- To include it automatically go to
[File] > [Settings] > [Copyright] > [Copyright Profiles]. - Add a new profile and name it "Kubernetes Topology Autoscaler".
- Add the following
Copyright textand 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. - To include it automatically go to
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
makefilein the project root. - For detailed information regarding dependencies, programming language versions, build instructions, etc., please refer to the README of each module.