Add your comments directly to the page. Include links to any relevant research, data, or feedback.
Background
Restructure the current and future SIMP modules and RPM (metadata) names to match community standards, making our repositories and RPMs easier to manage, maintain, and understand.
Relevant data
Github repositories will be re-named to fit a more standardized, community recognized structure. The words ‘pupmod’ and ‘rubygem’ will be removed, and replaced per the structure below. The word ‘simp’ will also be removed unless absolutely necessary.
Structure
- All puppet modules will be renamed ‘puppet-<module_name>’
- All rubygems will be renamed ‘ruby-<module_name>’
- All other types will be renamed ‘simp-<module_name>’
- All repositories will contain only one dash, with longer names containing underscores; i.e 'puppet-<extra_long_name>'
Examples:
- ‘rubygem-simp-cli’ would become either ‘ruby-cli’ or ‘ruby-simp_cli’
- ‘pupmod-simp-simp’ would become ‘puppet-simp’
- ‘pupmod-simp-simp_apache’ would become ‘puppet-simp_apache’
- ‘pupmod-simp-auditd’ would become ‘puppet-auditd’
- ‘simp-doc’ would stay the same
Update RPM Naming Scheme
Repositories would have their metadata.json or <name>.spec files updated to match the name of the repository. There will be no instances where an RPM name does not match the upstream repository name.
Modules that we have forked from other organizations will match the same structure listed above. We will not reference the upstream organization in the module or the RPM.
- If we are forking a repository and making changes, we should assume control/maintenance and not put the other organizations name in an RPM that they did not build.
- If we are forking a repository and NOT making changes, we will use the upstream repository as a Third Party Asset rather than building it as a SIMP RPM that we didn't write the code for.
** If our fork does NOT contain changes, we can maintain the fork if we are worried about losing the upstream, but we should have it as a backup, not as the source code in builds.
To ease concerns regarding the restructure of our Github Repositories, I've already reached out to Github, and they verified that they have permanent redirects on all name changes, and the only way they will ever be removed, is if the owner of the repo reaches out to them and asks for it to be removed. All links to the previous names would still work after the name changes.
This plan will result in a minor version bump for all updated modules since we would be changing the metadata.json or .spec file to update the names. If no changes are needed (such as simp-doc), no version bump would be necessary.
Options considered
Option 1: | ||
---|---|---|
Update SIMP Repositories to match the structure: 'ruby-<module_name>' 'simp-<module_name>' | ||
Pros and cons |
| |
Estimated cost | MEDIUM |
Action items
- Update SIMP Repositories to match naming scheme if necessary
- Update metadata.json or .spec file to match naming scheme if necessary
- Minor version bump for Repositories that had metadata.json or .spec file updates
- Update documentation to match the new naming scheme