Although it's not official, a de-facto project layout standard exists and is widely used.
Moreover, this remarkable project :point_right: https://github.com/golang-standards/project-layout includes all details, and we have already used it as a reference for the various go-lang projects within the falcosecurity org.
(optionally) use /test for additional test (eg. integration test) if any
(optionally) use /internal when appropriate
(nice-to-have) provide some concrete example implementation within /examples (and /docs eventually); it would be beneficial to have some easily buildable examples directly in the SDK so users can experiment with no need of starting a new plugin project
Alternatives
Although this proposal is not strictly necessary to make the SDK work (so the do-nothing alternative is still possible :smile_cat: ), I strongly believe that using a clear and widely used project layout benefits users.
Additional context
Current packages are organized in a way that facilitates the automatic generation of the documentation. We should preserve this organization.
Motivation
Although it's not official, a de-facto project layout standard exists and is widely used. Moreover, this remarkable project :point_right: https://github.com/golang-standards/project-layout includes all details, and we have already used it as a reference for the various go-lang projects within the falcosecurity org.
Feature
Refactor the current directories organization by following the layout proposed by https://github.com/golang-standards/project-layout. In particular:
/pkg
/test
for additional test (eg. integration test) if any/internal
when appropriate/examples
(and/docs
eventually); it would be beneficial to have some easily buildable examples directly in the SDK so users can experiment with no need of starting a new plugin projectAlternatives
Although this proposal is not strictly necessary to make the SDK work (so the do-nothing alternative is still possible :smile_cat: ), I strongly believe that using a clear and widely used project layout benefits users.
Additional context
Current packages are organized in a way that facilitates the automatic generation of the documentation. We should preserve this organization.