Skip to content

Latest commit

 

History

History
153 lines (104 loc) · 4.71 KB

File metadata and controls

153 lines (104 loc) · 4.71 KB
TelemetryFlow Logo

TelemetryFlow Deployment

Version License Docker Ready Go PostgreSQL ClickHouse Redis NATS RKE2 Kubernetes Helm Ansible

Production-Ready Infrastructure & Deployment Standards for the
TelemetryFlow Observability Platform

Contributing to TelemetryFlow Deployment

First off, thank you for considering contributing to TelemetryFlow! It's people like you who make this project better.

How to Contribute

1. Fork & Branch

git clone https://github.com/<your-username>/telemetryflow-deployment.git
cd telemetryflow-deployment
git checkout -b feat/my-new-feature

2. Make Your Changes

  • Follow the code style guidelines below.
  • Add or update documentation where relevant.
  • Test your changes locally (see Development Setup).

3. Commit

We follow Conventional Commits:

<type>(<scope>): <description>

[optional body]

[optional footer(s)]

Types: feat, fix, docs, style, refactor, test, chore, ci

Examples:

feat(helm): add PodDisruptionBudget template
fix(ansible): correct PostgreSQL socket path for Ubuntu 24.04
docs: update README quick-start section

4. Push & Open a Pull Request

git push origin feat/my-new-feature

Open a PR against the main branch. Fill in the PR template completely.


Pull Request Process

  1. Ensure your branch is up to date with main.
  2. All CI checks must pass before review.
  3. At least one maintainer approval is required.
  4. Squash-merge is the preferred merge strategy.
  5. Update CHANGELOG.md under the [Unreleased] section if applicable.

Code Style Guidelines

Ansible

  • Use YAML with 2-space indentation.
  • Name every task.
  • Use FQCN for modules (e.g., ansible.builtin.copy).
  • Run ansible-lint before committing — make lint.

Helm

  • Follow Helm best practices.
  • Keep values.yaml commented with sensible defaults.
  • Run helm lint and helm template before committing.

Go (Operator)

  • Follow Effective Go.
  • Run gofmt, go vet, and golangci-lint.
  • Write table-driven tests for new controllers.

General

  • Do not commit secrets, credentials, or .env files.
  • Use placeholders like <CHANGE_ME> for example configuration.

Development Setup

# Clone and initialise
git clone https://github.com/telemetryflow/telemetryflow-deployment.git
cd telemetryflow-deployment
make init

# Verify prerequisites
make verify

# Generate secrets for local development
make secrets-generate

# Start local stack
make docker-up-core

Reporting Security Vulnerabilities

Do not report security vulnerabilities through public GitHub issues.

Please report them to security@telemetryflow.id. See SECURITY.md for full details.


License

By contributing, you agree that your contributions will be licensed under the Apache License 2.0.