Description
I’ve taken a look at the provider here and would like to say great work so far! I do have feedback outlined below that I’d like to see addressed before we move on to the next steps. I’m opening this issues as a sort of checklist for tracking items and discussion. If it works better for you, this changes can be added to a separate branch if any changes conflict with your current build process. The review was done on the master branch at git commit 2074f43
- I was able to log in and create an account on the Cohesity support portal, but still working to get an environment deployed to test against.
There are a number of support files that must be added to test, build, and publish the provider from the GitHub.com/terraform-repositories organization.
-
A makefile should be added with the GNUmakefile which is standard across all Terraform providers, feel free to copy the GitHub provider makefile and will just have to update the variable on line 4 to PKG_NAME=cohesity
-
There are three bash scripts kept in a scripts/ directory that are used in different processes of testing and release, these can all be copied from the Github provider
-
Across Terraform we have now standardized on using Go Modules to manage the providers dependancies, but in addition to that, we ask that you checkin all the required dependancies into a
vendor/
directory. This is so that our nightly testing environment does ping GitHub for ever dependancies in all 100+ TF providers. -
All providers in the terraform-providers/ GitHub org have a TravisCI check run on each PR that is opened. Can you please add a .travis.yaml file to make the standard configuration
-
There is a standard README.md for of the official provider, see Null provider README.md
-
You will need to build website documentation in a website/ directory that will be hosted on Terraform.io for each resource and data source, these are all written in Markdown with a ruby layout file for the sidebar formatting. Check out the Github provider website docs as a good example.
-
Since this is an open source project, we ask that you add a Mozilla Public License 2.0 within each repo, can you add this LICENSE file to this repository.
-
Each Terraform provider must have a CHANGELOG.md that is updated during reach release. Since the changeling is updated by a bot during the release it must be in a certain format. With the AWS provider changelog as an example, the version of the next release should be tagged as “1.0.0 (Unreleased)” and will then be updated with a date by the release-bot.
-
One of our Terraform Ecosystem engineers built a linter to help align coding best practices for providers. You should use it along with your development. https://github.com/bflad/tfproviderlint
Looking forward to the release!
Best,
Chris