Naming your module

Your module has two names: a short name, like "mysql", and a long name that includes your Forge username, like "puppetlabs-mysql". When you upload your module to the Forge, use the module's long name.

Your module's short name is the same as that module's directory on your disk. This name must consist of letters, numbers, and underscores only; it can't contain dashes or periods.

The long name is composed of your Forge username and the short name of your module. For example, the "puppetlabs" user maintains a "mysql" module, which is located in a ./modules/mysql directory and is known to the Forge as "puppetlabs-mysql".

In your module's metadata.json file, always use the long name of your module. This helps disambiguate modules that might have common short names, such as "mysql" or "apache." If you created your module with Puppet Development Kit (PDK), and you provided your Forge username to PDK, the metadata.json file already contains the correct long name for the module. Otherwise, edit your module's metadata with the correct long name.

Although the Forge expects to receive modules named username-module, its web interface presents them as username/module. Always use the username-module style in your metadata files and when issuing commands.

Related information