cloud-native-toolkit / cloud-native-toolkit/software-everywhere
Create terraform provider resources to replace common gitops submodules
- Dominant language
- TypeScript
- Stars
- 8
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
There are a number of modules that are commonly used as submodules across the gitops logic. These submodules encapsulate common logic that is reused from module to module. However, it also creates an issue managing the versions of submodules. Currently, these submodule versions are unpinned across many/most of the modules. This means they will pick up the latest version of the submodule when the terraform is applied. However, pinning the version in the module requires a lot of maintenance to upgrade the modules versions as new ones become available.
The middle-ground alternative is to turn these submodules into resources of the gitops terraform provider. That way, the version of the provider can be pinned within the terraform template when it is generated by iascable (pending task - [cloud-native-toolkit/iascable#136](https://github.com/cloud-native-toolkit/iascable/issues/136) ) and propagate to all of the modules. There are 6 such resources that would be needed:
- [ ] service account
- [ ] rbac
- [ ] pull secret
- [ ] sccs
- [ ] namespace(1)
- [ ] sealed secrets
1. We have a namespace resource but it is very limited in what it does. The namespace submodule has additional logic currently. That logic should be moved into the resource so the namespace module can be made very thin.
Essentially this entails moving the logic from the terraform module down into either the Go code of the provider, the javascript code of the igc cli, a helm chart that addresses the configuration options, or some combination.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.