terraform-provider-docker
terraform-provider-docker copied to clipboard
refactor: do full internal refactoring
This issue was originally opened by @mavogel as https://github.com/hashicorp/terraform-provider-docker/issues/51. It was migrated here as a result of the community provider takeover from @kreuzwerker. The original body of the issue is below.
Steps
This is an epic captures steps that will be divided up into smaller issues:
- [x] move all
flatteners
andexpanders
into thestructure_*.go
files and test them (due to https://github.com/terraform-providers/terraform-provider-docker/issues/29#issuecomment-400296076) -> #141 - [x] move the state migrators
v1-2
into separate files -> #141 - [ ] make all properties consistent and be consistent with API v1.41.1 -> #142
- [x] add doc generation: https://github.com/hashicorp/terraform-plugin-docs and hint to https://registry.terraform.io/tools/doc-preview -> #143
- [x] replace for loops with
stateFunc
-> #144 - [x] refactor tests (e.g. replace node http servers with more lightweight go ones) and optionally add let's encrypt certificate and remove
InsecureRegistries
workaround for ACC tests -> #145 - [x] add https://golangci.com/
- [ ] align all
*read
functions (e.g. until allservice
attributes are exposed) - [ ] remove all
deprecated
attributes - [ ] move all helper methods to the
helpers.go
file
Image
- [ ] add check if auth to the registry was successful
- [ ] add check if the image exists in the repository
- [ ] check if
tag
ininternalPullImageOptions
is still need with offical docker client - [ ] fix
docker_image
import and simplify logic - [ ] replace
latest
bysha256_digest
/repo_digest
- [ ] add retries to
remove
or extend context deadline in #206
This issue is stale because it has been open 60 days with no activity.
Remove stale
label or comment or this will be closed in 7 days.
If you don't want this issue to be closed, please set the label pinned
.
This issue is over 2 years old. In addition to that, Hashicorp released a new Terraform provider SDK (called terraform-plugin-framework) which we will eventually migrate to, as it offers some nice features. Will close this.