Skip to content

Enhancements to the Dev Experience #234

@abigailpham

Description

@abigailpham

Hi there! :) Recently my team was working on a project to build out a custom TF provider. We used a setup which included a dev container, Taskfile, and other toolings to help streamline the development experience and keep things consistent between contributors.

We would love to contribute the (generalized) template Taskfile.yml and/or devcontainer.json configuration, etc. to help others get started quickly on developing their own TF provider. For example, a typical workflow with this setup would look like this:

  1. Open the repo in VS Code inside the dev container, which will automatically install all the necessary tools and dependencies.
  2. Make changes to provider code.
  3. Run task build to build the provider binary using GoReleaser.
  4. Run task test to run unit/acceptance tests.
  5. When testing an example Terraform configuration, run task tfp to run terraform plan, and task tfa to run terraform apply with auto-approval.
  6. If all of the testing results look good, run task lint to check for linting errors or security concerns using the variety of linters set up through the dev container.
  7. Run task docs to automatically generate documentation for the provider using tfplugindocs.
  8. Commit to feature branch, and open PR.

I wanted to submit an issue here first to see if it was of interest before opening a PR or anything. Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions