Skip to content

Contributing to OpenBao Operator

Welcome! We are glad you want to contribute to the OpenBao Operator. Whether you're fixing a bug, adding a feature, or improving documentation, this guide will help you get started.

Quick Start

  • Getting Started


    New to the project? Start here to set up your environment and make your first contribution.

    Start Here

  • Coding Standards


    Review our conventions for Go code, Kubernetes patterns, and error handling.

    View Standards

  • Testing Guide


    Learn how to run our unit tests, integration tests, and E2E suites.

    Run Tests

AI-Assisted Contributions

Policy on AI Tools

We welcome contributions that leverage AI tools! However, you must verify all generated code.

  • Responsibility: You are responsible for the code you submit. "The AI wrote it" is not a valid excuse for bugs or security issues.
  • Context: Use our .agent/rules/ to ensure your AI assistant follows our project conventions.
  • Quality: PRs that appear to be low-effort AI dumps ("slop PRs") without proper understanding or testing will be closed.

Submitting Changes

Follow this checklist to ensure your Pull Request is ready for review:

  1. Code: Conform to the Coding Standards.
  2. Tests: Add unit tests for logic and E2E tests for features.
  3. Validation: Run the local verification suite:

    # 1. Linting & Formatting
    make lint-config lint verify-fmt verify-tidy
    
    # 2. Generated Artifacts
    make verify-generated verify-helm
    
    # 3. Tests
    make test-ci
    
  4. Commits: Write clear, descriptive commit messages.

  5. Documentation: Update relevant docs if behavior changed.

Documentation Guides

  • CI/CD Pipeline


    Understanding our GitHub Actions workflows.

    CI Guide

  • Release Management


    How we version and release the operator.

    Release Process

  • SDLC Overview


    Our development lifecycle and philosophy.

    Read SDLC

  • Docs Style Guide


    Writing documentation for the project.

    Style Guide