In order to make extension creation simple for newcomers we should provide a way to initialize extension project with a complete and already working extension template. For example: dt extension init snmp would create all the files and directories required for a working SNMP-based extension, which in the most basic use case requires user to only add metrics specific to her device (and maybe replace/remove metrics added with the template). Of course such command should be available for all supported data sources.
My idea is to create a separate repository within the dynatrace-oss organization that would host extension templates (in directories named after data source labels). Those could be integrated with dt-cli during build time or (preferably, in my opinion) downloaded on demand when dt extension <data source> command is invoked.
The dt extension init <data source> command should take additional parameters that would allow filling in extension.yaml with required metadata, like author or version number.
Further enhancement: Include project files for VSCode or other editors/IDEs when generating the extension structure.
In order to make extension creation simple for newcomers we should provide a way to initialize extension project with a complete and already working extension template. For example:
dt extension init snmp
would create all the files and directories required for a working SNMP-based extension, which in the most basic use case requires user to only add metrics specific to her device (and maybe replace/remove metrics added with the template). Of course such command should be available for all supported data sources.My idea is to create a separate repository within the
dynatrace-oss
organization that would host extension templates (in directories named after data source labels). Those could be integrated withdt-cli
during build time or (preferably, in my opinion) downloaded on demand whendt extension <data source>
command is invoked.The
dt extension init <data source>
command should take additional parameters that would allow filling inextension.yaml
with required metadata, like author or version number.Further enhancement: Include project files for VSCode or other editors/IDEs when generating the extension structure.