chamilad / telm

A helm like tool to standardize TF modules org wide

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Design module registration flow

chamilad opened this issue · comments

This should be for an internal organization, so the oauth2 browser flow that the public registry has doesn't need to be replicated.

Initially, this could be a config file section, where the oauth2 credentials are provided to access the github/gitlab organization. When the registry starts up, based on a flag, it can lookup the repositories and insert or update them in the database.

This task should only focus on the initial module registration flow. The publishing of new releases isn't part of the scope.

The database table(s) could look like the following.

modules

  1. id = autogen
  2. name = <base_url/repo_name>
  3. source_url = github url
  4. published = the date the module was added to the registry first
  5. visible = ability to hide from use
  6. enabled = ability to avoid users from using the module
  7. icon = icon for the module
  8. provider = provider the module works with

primary_key name

module_versions

  1. id = autogen
  2. module_name = modules.name
  3. version_number = tag
  4. published = the date the tag was published
  5. enabled = ability to avoid users from using this specific version
  6. source = source url of the specific tag
  7. latest = bool
  8. documentation = doc content source (todo: figure out how to store these)

composite key (module_name, version_number)