1. Introduction
  2. Architecture
  3. Quick Start
  4. Getting Started
  5. Tutorial: Building CronJob
    1. What's in a basic project?
    2. Every journey needs a start, every program a main
    3. Groups and Versions and Kinds, oh my!
    4. Adding a new API
    5. Designing an API
      1. A Brief Aside: What's the rest of this stuff?
    6. What's in a controller?
    7. Implementing a controller
      1. You said something about main?
    8. Implementing defaulting/validating webhooks
    9. Running and deploying the controller
      1. Deploying cert-manager
      2. Deploying webhooks
    10. Writing tests
  6. Tutorial: Multi-Version API
    1. Changing things up
    2. Hubs, spokes, and other wheel metaphors
    3. Implementing conversion
      1. and setting up the webhooks
    4. Deployment and Testing
  7. Migrations
    1. Manual Migration Process
      1. Using AI
        1. Step 1: Reorganize Layout
        2. Step 2: Discovery Commands
        3. Step 3: Port Code
    2. Single Group to Multi-Group
    3. Cluster-Scoped to Namespace-Scoped
  8. Alpha Commands
    1. alpha generate
    2. alpha update
  9. Reference
    1. Generating CRDs
    2. Using Finalizers
    3. Good Practices
    4. License Header
    5. Raising Events
    6. Watching Resources
      1. Owned Resources
      2. Not Owned Resources
      3. Using Predicates
    7. Kind for Dev & CI
    8. What's a webhook?
      1. Admission webhook
      2. Webhook bootstrap problem
    9. Markers for Config/Code Generation
      1. CRD Generation
      2. CRD Validation
      3. CRD Processing
      4. Webhook
      5. Object/DeepCopy
      6. RBAC
      7. Scaffold
    10. controller-gen CLI
    11. completion
    12. Artifacts
    13. Platform Support
    14. Monitoring with Pprof
    15. Manager and CRDs Scope
      1. Manager Scope
      2. CRD Scope
    16. Sub-Module Layouts
    17. Using an external Resource / API
    18. Multiple Controllers Per Resource
    19. Configuring EnvTest
    20. Metrics
      1. Reference
    21. Project config
    22. Versions Compatibility and Supportability
  10. Plugins
    1. Available Plugins
      1. autoupdate/v1-alpha
      2. deploy-image/v1-alpha
      3. go/v4
      4. grafana/v1-alpha
      5. helm/v1-alpha
      6. helm/v2-alpha
      7. kustomize/v2
    2. Extending
      1. CLI and Plugins
      2. External Plugins
      3. Custom Markers
      4. E2E Tests
    3. Plugins Versioning
  11. FAQ