Open secustor opened 1 year ago
Hi there,
You're asking us to support a new package manager. We need to know some basic information about this package manager first. Please copy/paste the new package manager questionnaire, and fill it out in full.
Once the questionnaire is filled out we'll decide if we want to support this new manager.
Good luck,
The Renovate team
it seems for now you can a regex manager to workaround.
True, this is for reference and gauging if there is enough interest to facilitate an own pre-setup manager.
Did you read our documentation on adding a package manager?
Atlantis
Terraform
Widely used in big enterprises
It uses YAML files which are located at the repository root and have to named atlantis.yaml
atlantis.ya?ml
No
No
As of now there is the only the to be used Terraform version
Terraform uses semantic versioning
^1.0.0
or 1.x
?^1.0.0
or 1.x
)No, need for this.
No
No, there are not lock files
We use atlantis quite heavily here at CDL. We don't specify the terraform_version unless strictly required to pin it to an older version.
We simply use the TF versions shipped with Atlantis, and keep Atlantis updated as regularly as possible.
Can I ask what your use case is? Are you specifying terraform_version / wantint Renovate to update it to get the latest and greatest TF every time - newer than what is shipped with Atlantis?
Cheers, Josh
We add the terraform_version
to check for diffs on upgrades. The workflow in this case would be that Renovate updates the terraform_version
, the plans are checked for any diffs and then merged.
This is to not potentially poison the PRs with diffs which are originating from non-transparent code changes.
it seems for now you can a regex manager to workaround.
I try to make it work with the reg-ex manager but it seems I am to new to the syntax. I struggle at the datasource. @secustor did you manage to setup the regex manager and if yes, could your share the config snippet?
We also make use of the terraform_version in the atlantis config as every time might use a different terraform version. In case of autoplan together with a updated required terraform core version via dependabot the workflow will fail. so we need to update the atlantis.yaml as well to keep that in sync.
@mkurde We are using github-releases
as datasource and depName
with hashicorp/terraform
as value in our terraform-version
manager.
I got it working, but its not going to work for us.
"regexManagers": [
{
"fileMatch": ["atlantis.yaml"],
"matchStrings": ["terraform_version: '(v?<currentValue>.*)'"],
"depNameTemplate": "hashicorp/terraform",
"datasourceTemplate": "github-releases",
"versioningTemplate": "hashicorp"
}
]
As we are grouping the terraform changes into one PR ...
"packageRules": [
{
"matchManagers": [
"terraform",
"terraform-version"
],
"groupName": "Terraform"
},
... we have to also group in the atlantis.yaml change within the same PR on order to allow atlantis's autoplan work whenever the required terraform version was updated.
I am thinking about filling this issue here and adding an atlantis manager to be able to add him to the terraform group above.
use matchPackageName
to group. is much easier and works with regex manager. 😉
What would you like Renovate to be able to do?
Atlantis is a deployment tool which is used to apply Terraform IaC.
It provides a option to define repository level configuration in a defined file (
atlantis.yml
).Here the to be used Terraform version can be defined.
If you have any ideas on how this should be implemented, please tell us here.
For this a new manager is needed to parse the file and extract the Terraform version.
The datasource and most of the implementation can be reused from the
terraform-version
manager.Is this a feature you are interested in implementing yourself?
Maybe