Skip to content

Improve visibility of the requirement for plugin-framework based resources #45206

@breathingdust

Description

@breathingdust

Description

The requirement that all new resources are to be implemented in terraform-plugin-framework has been in place for some time. However we receive new PR's for terraform-plugin-sdk based resources frequently. We believe this is mainly due to users copy-pasting old resources as a base for new resource implementation, rather than using the preferred tooling (skaff).

This is a costly mistake to make, as reimplementing resources in plugin-framework is not a simple task. This copy-pasting also will perpetuate other bad/dated practices, and lengthen review time for the PR.

To improve the visibility of this requirement, and prevent this mistake being made, we should do the following:

  • Add a callout block on the contributor documentation homepage which highlights the requirement.
  • Reintroduce the requirement sticky on the GitHub repository.
  • Add a one line comment to every resource file which states something along the lines of: // DONOTCOPY: Copying old resources spreads bad habits. Use skaff instead.
  • Add a linter to check for the existence of that comment, or add a job to add it.
  • Investigate adding a linter to check for the existence of new SDK based resources (this was previously attempted but not completed)

References

No response

Would you like to implement the change?

No

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationIntroduces or discusses updates to documentation.repositoryRepository modifications; GitHub Actions, developer docs, issue templates, codeowners, changelog.skaffIssues and pull requested related to the skaff tool

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions