opsmill / infrahub

Infrahub - A new approach to Infrastructure Management
https://opsmill.com/
GNU Affero General Public License v3.0
214 stars 18 forks source link

feature: storage backend for git #3099

Open wvandeun opened 7 months ago

wvandeun commented 7 months ago

Component

API Server / GraphQL

Describe the Feature Request

Add an Infrahub storage backend for git.

Describe the Use Case

Customer request to be able to store artifacts (rendered configurations) in a git repository.

Customer has a deployment pipeline that is based on a CI/CD pipeline in Gitlab. This deployment pipeline will be triggered as soon as there is a new commit or merge happening in the repository.

Ideally this deployment pipeline is retained, which means Infrahub would need to store rendered artifacts into the git repository.

Additional Information

No response

BRBCoffeeDebuff commented 6 months ago

Should we always store artifacts directly in a git repo? Is there any need for artifact by artifact configuration on this? Perhaps we should make this a parameter of the relationship?

sdktr commented 6 months ago

We store the output of our rendered configs in Git as well, like I assume a lot of people do. Not sure what you mean by this feature / how it compares to current behaviour? Does IH always store artifacts in the database only?

wvandeun commented 6 months ago

At this stage we can store rendered artifacts on local storage or S3 API compatible storage backend. Versioning is applied to them by the database objects that make up an Artifact in Infrahub.

That being said there is people that are explicitly asking for storing the rendered configuration artifacts in an external Git repository.