-
Notifications
You must be signed in to change notification settings - Fork 9.8k
Open
Labels
documentationIntroduces or discusses updates to documentation.Introduces or discusses updates to documentation.repositoryRepository modifications; GitHub Actions, developer docs, issue templates, codeowners, changelog.Repository modifications; GitHub Actions, developer docs, issue templates, codeowners, changelog.skaffIssues and pull requested related to the skaff toolIssues and pull requested related to the skaff tool
Description
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
Labels
documentationIntroduces or discusses updates to documentation.Introduces or discusses updates to documentation.repositoryRepository modifications; GitHub Actions, developer docs, issue templates, codeowners, changelog.Repository modifications; GitHub Actions, developer docs, issue templates, codeowners, changelog.skaffIssues and pull requested related to the skaff toolIssues and pull requested related to the skaff tool