I just thought "hmm wouldn't it be cool to host an alternative module registry", and then I thought "hmm but what if it got popular, could be expensive". And <i>then</i> I thought, "What if we made open source hosted services that are <i>literally</i> powered by donations?"<p>You could write a web service that uses metrics to calculate its bills and check a donation account balance, and when the service gets low on funds it would throttle connections, and when funding runs out, service cuts off completely. If a person or company wants it back on, they just donate. A fuel gauge would show when the tank's getting empty, and the "average range" based on current funds.<p>You could actually make this a web proxy, too, and put it in front of <i>any</i> web service. I'd call it DSaaS
Hey all, this project is still fairly early on work-in-progress project, but was built to try to provide:<p>* A simple private Terraform module registry, with some basic search functionality.<p>* Provide analytics for providing information of 'who' is using which module, including which version of terraform they are using, which version of the module they're using and to which 'environment' they had to deployed to it (i.e. has it just been deployed to a development environment, or in use in a production environment). This makes use of manipulating the 'namespace' of the module (used to identify the calling module) and static terraform authentication keys for identifying the environment that the terraform has been run in.) (<a href="https://imgur.com/a/uLRH2oU" rel="nofollow">https://imgur.com/a/uLRH2oU</a>)<p>* Usage builder (currently fairly rudimentary), but provides a some-what interactive table of required variables, which can manipulate the generated terraform. (<a href="https://imgur.com/a/v8q61uY" rel="nofollow">https://imgur.com/a/v8q61uY</a>)<p>* Pulling terraform modules from git sources and indexing them or uploading zipped modules. An additional API to 'publish' a given version of module can be used (e.g. if an SCM tag hook is setup to automatically index a version and a CI job to 'publish' it once any tests have passed). A 'git provider' can be configured, which determines how the URLs for cloning repositories are generated for a given module.