Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

breaking: Rework depTypes of the Terraform manager #8792

Closed
secustor opened this issue Feb 21, 2021 · 7 comments · Fixed by #9116
Closed

breaking: Rework depTypes of the Terraform manager #8792

secustor opened this issue Feb 21, 2021 · 7 comments · Fixed by #9116
Assignees
Labels
breaking Breaking change, requires major version bump manager:terraform Terraform package manager priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others status:in-progress Someone is working on implementation type:feature Feature (new functionality)

Comments

@secustor
Copy link
Collaborator

secustor commented Feb 21, 2021

What would you like Renovate to be able to do?

To allow a more fine grained control over the behavior of the Terraform manager a rework of the used depType values is needed.
For example it should be possible to deactivate the renovating of required providers or the required Terraform version.

Context: #8746 (comment)

Did you already have any implementation ideas?

If I understand the underlying mechanics correctly, depType has no longer any affects outside of text rendering as long as a data source is provided.

ressource suggested depType current value datasources used
terraform provider provider terraform terraform-provider
required terraform provider required_provider terraform terraform-provider
required terraform version required_version terraform github-tags
terraform module module terraform, github, gitTags terraform-module, github-tags, git-tags
helm release helm_release helm helm
docker container docker_container stage, final (inherited from Dockerfile manager) docker ( inherited )
docker image docker_image stage, final (inherited from Dockerfile manager) docker ( inherited )
docker service docker_service stage, final (inherited from Dockerfile manager) docker ( inherited )
@rarkins
Copy link
Collaborator

rarkins commented Feb 21, 2021

Can you edit the above table to include what the existing depType value is for each case?

And we should keep in mind that the purpose of depType is not to duplicate datasource, it's to distinguish between different types of dependencies when datasource alone is not enough. The above list looks pretty good though, e.g. the various docker_ types.

@rarkins rarkins added manager:terraform Terraform package manager priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others type:feature Feature (new functionality) status:requirements Full requirements are not yet known, so implementation should not be started breaking Breaking change, requires major version bump labels Feb 21, 2021
@github-actions
Copy link
Contributor

This issue has been labeled with status:requirements. This indicates that we don't know enough to start work and further requirements or a reproduction are needed first.

This label will be replaced with status:ready once all requirements and reproductions necessary to start work have been met.

If it's not clear what is missing to move this issue forward, ask for clarification in a new comment. If you think we already have what we need to move forward, mention this in a new comment.

@secustor
Copy link
Collaborator Author

I have added a current-value and data source column to get a better oversight of the current setup.

The only sub-type which could be dropped in my opinion is the helm-release depType.
IMHO it would be beneficial to add a depType in that case too. This could be the case, if Renovate provides additional functionality which could collide here.
For example migrations for helm repos and the user in that case maybe prefers to only update the repo but not the version.

@rarkins
Copy link
Collaborator

rarkins commented Feb 21, 2021

Which of the current values do you think people might be using in packageRules and which of those do you think we can migrate automatically? If we can do that then it reduces most of the "breaking" nature.

@secustor
Copy link
Collaborator Author

secustor commented Feb 21, 2021

The only depType where it is making sense to do package rules right now are helm and the Docker ones.

Helm is easy to migrate and Docker should more of a niche to handle with Terraform.

@secustor
Copy link
Collaborator Author

@rarkins Are you missing still any requirements?
I think we have everything to start the implementation.

@rarkins rarkins added status:ready and removed status:requirements Full requirements are not yet known, so implementation should not be started labels Mar 13, 2021
@rarkins rarkins added status:in-progress Someone is working on implementation and removed status:ready labels Apr 4, 2021
rarkins pushed a commit that referenced this issue Apr 4, 2021
Improves the `depType` values returned by the terraform manager.

Closes #8792

BREAKING CHANGE: Values for extracted `depType` in terraform manager have changed, please see the `terraform` manager readme for details.
rarkins pushed a commit that referenced this issue Apr 5, 2021
Improves the `depType` values returned by the terraform manager.

Closes #8792

BREAKING CHANGE: Values for extracted `depType` in terraform manager have changed, please see the `terraform` manager readme for details.
rarkins pushed a commit that referenced this issue Apr 5, 2021
Improves the `depType` values returned by the terraform manager.

Closes #8792

BREAKING CHANGE: Values for extracted `depType` in terraform manager have changed, please see the `terraform` manager readme for details.
rarkins pushed a commit that referenced this issue Apr 5, 2021
Improves the `depType` values returned by the terraform manager.

Closes #8792

BREAKING CHANGE: Values for extracted `depType` in terraform manager have changed, please see the `terraform` manager readme for details.
@rarkins rarkins mentioned this issue Apr 7, 2021
rarkins pushed a commit that referenced this issue Apr 7, 2021
Improves the `depType` values returned by the terraform manager.

Closes #8792

BREAKING CHANGE: Values for extracted `depType` in terraform manager have changed, please see the `terraform` manager readme for details.
rarkins pushed a commit that referenced this issue Apr 10, 2021
Improves the `depType` values returned by the terraform manager.

Closes #8792

BREAKING CHANGE: Values for extracted `depType` in terraform manager have changed, please see the `terraform` manager readme for details.
rarkins pushed a commit that referenced this issue Apr 11, 2021
Improves the `depType` values returned by the terraform manager.

Closes #8792

BREAKING CHANGE: Values for extracted `depType` in terraform manager have changed, please see the `terraform` manager readme for details.
rarkins pushed a commit that referenced this issue Apr 15, 2021
Improves the `depType` values returned by the terraform manager.

Closes #8792

BREAKING CHANGE: Values for extracted `depType` in terraform manager have changed, please see the `terraform` manager readme for details.
rarkins pushed a commit that referenced this issue Apr 21, 2021
Improves the `depType` values returned by the terraform manager.

Closes #8792

BREAKING CHANGE: Values for extracted `depType` in terraform manager have changed, please see the `terraform` manager readme for details.
rarkins pushed a commit that referenced this issue Apr 22, 2021
Improves the `depType` values returned by the terraform manager.

Closes #8792

BREAKING CHANGE: Values for extracted `depType` in terraform manager have changed, please see the `terraform` manager readme for details.
rarkins pushed a commit that referenced this issue Apr 22, 2021
Improves the `depType` values returned by the terraform manager.

Closes #8792

BREAKING CHANGE: Values for extracted `depType` in terraform manager have changed, please see the `terraform` manager readme for details.
rarkins pushed a commit that referenced this issue Apr 22, 2021
Improves the `depType` values returned by the terraform manager.

Closes #8792

BREAKING CHANGE: Values for extracted `depType` in terraform manager have changed, please see the `terraform` manager readme for details.
@renovate-release
Copy link
Collaborator

🎉 This issue has been resolved in version 25.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 23, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
breaking Breaking change, requires major version bump manager:terraform Terraform package manager priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others status:in-progress Someone is working on implementation type:feature Feature (new functionality)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants