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

Support provider network mirror with pull-through cache #21

Closed
oliviermichaelis opened this issue Jan 16, 2022 · 1 comment
Closed

Support provider network mirror with pull-through cache #21

oliviermichaelis opened this issue Jan 16, 2022 · 1 comment
Assignees

Comments

@oliviermichaelis
Copy link
Contributor

I thought about adding support for the Provider Network Mirror Protocol to the project. In addition, there would be an opportunity to implement a pull-through cache for requested providers into the boring-registry.
Thus not only proxying the network traffic, but also maintaining a (local) mirror of providers from upstream registries. The goal would be to increase the level of autonomy e.g. in case an upstream registry is unavailable. Another benefit could be a speedup in terraform runs in certain circumstances because of network locality.

The Terraform CLI would need to be configured accordingly to use the Provider Network Mirror Protocol:

provider_installation {
  network_mirror {
    url = "https://example.com:5601/v1/mirror/"
  }
}

I started working on the feature and built a PoC to see if it's feasible (and sensible at all) to implement. So far, feature-wise, everything seems to be working.
The code is not in an ideal shape right now, but nevertheless I'd like to post a PR to get the discussion started as early as possible to see if the whole idea and approach make sense at all :)

@oliviermichaelis
Copy link
Contributor Author

oliviermichaelis commented Dec 13, 2023

This feature was added by #143

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant