Files
opentf/TSC/2024-07-10_NOTES.md
Christian Mesh 59d24390b7 OpenTofu Charter and Governance (#2830)
Signed-off-by: Christian Mesh <christianmesh1@gmail.com>
Co-authored-by: Arel Rabinowitz <arel.rabinowitz@env0.com>
Co-authored-by: Igor Savchenko <igor@scalr.com>
Co-authored-by: James Humphries <jamesh@spacelift.io>
Co-authored-by: Roger Simms <roger.simms@harness.io>
Co-authored-by: Zach Goldberg <zach@gruntwork.io>
Co-authored-by: Scott Nicholas <snicholas@linuxfoundation.org>
Co-authored-by: James Humphries <James@james-humphries.co.uk>
2025-05-23 08:18:56 -04:00

5.3 KiB
Raw Blame History

2024-07-10

Attendees

Agenda

We dedicated this meeting to agree on the initial plan for 1.9. Christian OpenTofu Tech Lead presented the plan to the TSC.

OpenTofu 1.9 Planning

Summary

Although a long list, the corresponding terraform 1.9 changes consist of a lot of small tasks (as well as quite a few items catching up to OpenTofu). This leaves us a fair amount of room to innovate in ways that will drive adoption. I'd like to specifically focus on provider for_each iteration (top issue in both tofu and terraform), as well as paying down technical debt related to testing. Additionally, I'd like to propose a stretch goal of adding the -exclude flag to tofu as it helps round off quite a few sharp UX edges.

Leftover from 1.7
Leftover from 1.8
Terraform 1.9
Proposed Goals:
  • Implement provider iteration (for_each support): https://github.com/opentofu/opentofu/issues/300
  • Improve test confidence and stability
    • Large quantity of testing exists in the codebase, of varying quality
    • We need to take time to understand it and plan improvements
    • Also need to define where and how we should be testing as a team going forward
    • Igor: what clean-up can we do to reduce complexity?
    • Roger: Potential for opt-in profiling
  • Add -exclude flag for targeted plan/apply (stretch goal)
    • Currently in RFC process: https://github.com/opentofu/opentofu/pull/1717
    • Makes multi-stage applies much simpler
    • Allows selective excluding of portions of infrastructure without a massive -include list
    • Is a frequently requested feature.
    • Igor: How do we handle new features and experiments? Feature flag? Canary release?
    • Christian: To come back to this discussion in future meeting
Adjacent work (not locked to 1.9 milestone):
  • Registry UI, good progress is being made, but it is a large undertaking
  • Maintain official fork of HCL as HashiCorp ignores pull requests from our team.
  • Registry should lock tags to a single commit to prevent supply chain attacks
  • License check for mirrored providers (aws, gcp, etc...)
    • Not under CLA so lower risk
    • Janos: dual licensing new features
  • Update OpenTofu.org:
    • Update landing page to reflect state of project, proposals already in progress
    • Clean up sponsorships and create job postings page
    • Include official support contracts from TACOS and similar
      • Igor: Needs a real support offering, how do we maintain this list?
      • Roger: Potentially ranked by level of OpenTofu support
    • Create quick start guides, could be defined by core team and implemented by the community

Looking ahead to 1.10:

  • Some interesting core changes in terraform that may be tricky to mirror (ephemeral values)
  • Community Requests:
  • Technical Debt:
    • Introduce internal concept of "immutable state" to allow refactoring and more efficient operation
    • Refactor and clean up command package
    • Supply chain (go.mod) review, with focus on removing hashicorp dependencies

Decision

High level approval of split between terraform mirroring features and future development.

Approval given to turn the 1.9 plan above into a public milestone and to start breaking down the issues involved.