-
Notifications
You must be signed in to change notification settings - Fork 2.4k
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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
Support Inspec profiles #3634
Comments
For new package managers we generally approach the problem in 3 steps:
So to start with, can you provide an example profile that includes references to chef, custom and git repositories? |
Inspec itself includes examples for its tests: https://github.com/inspec/inspec/tree/master/examples With the meta profile, you have supermarket, git and url dependencies: https://github.com/inspec/inspec/tree/master/examples/meta-profile With the inheritance profile, you have local dependencies: As far as I know, the only place (except the git tag and tar.gz artifact) where I see a version number is the Inspec also creates an inspec.lock file with the command |
Can you point me to specific lines/sections of the files in the example tests? It's too complex for me to grok immediately. Specifically I'm looking for the types of references that you'd expect Renovate to update. |
These examples do not keep their inspec.lock files so I generated them with For the meta-profile https://github.com/inspec/inspec/tree/master/examples/meta-profile:
For the inheritance profile https://github.com/inspec/inspec/tree/master/examples/inheritance:
As you can see in this other profile the version appears in the version field and is equivalent to a git tag: |
To improve further, I altered the meta-profile with the following inspec.yml:
Notice that it uses a git dependency with a version constraint.
The version constraint is reported in the lock |
By the way, in order of difficulty for us:
Right now we don't do the third one for many managers at all. e.g. if you configure an npm dependency to have version So in terms of implementation I would aim to first support simple updating of versions in Inspec (e.g. 1.0.0 -> 1.0.1) and then pinning of versions (assuming ranges are supported) and then finally going from no version to a pinned version. We'd also have to decide if we call "updating from no version to an exact version" to be "pinning" or if we need a new term to differentiate it |
I don't know if ranges are supported and if "pinning" is the correct term. I am not a member of the Inspec team. I think, we should work with them. @aaronlippold @skpaterson and @chef your thoughts on that ? |
hi @micheelengronne and @rarkins - apologies for the delay in responding. Adding InSpec support in Renovate looks interesting, I'll mention to our product folks this side. Vendoring effectively pins all profile dependencies. As far as I'm aware we cannot currently specify ranges of profile versions. For info, there's more detail here on InSpec profiles and versioning: https://www.inspec.io/docs/reference/profiles/ |
With the custom manager, it is possible to handle dependencies. What is missing though are datasources. Inspec dependencies can be stored on a local path, an url, |
I think, we can handle the lock update indirectly if the custom script feature is implemented. |
It seems that #5202 can fulfill my usecase. I will try it. |
Hi @micheelengronne , how did you implement the update of inspec.yml? |
Hi @tbugfinder, I added my deps that way in inspec.yml:
And in renovate config:
|
Excellent. Thank you |
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 |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
I would like to be able to handle my inspec profiles dependencies with renovate.
Inspec https://www.inspec.io/ is an evolution of serverspec to test systems and infrastructures.
It has a packaging system. A package is called a profile in the Inspec world.
An Inspec profile can have dependencies and a lock file.
I would like to fetch profiles from chef repositories, custom repositories and git repositories.
Thanks.
The text was updated successfully, but these errors were encountered: