falcosecurity / plugin-sdk-go

Falco plugins SDK for Go
Apache License 2.0
26 stars 17 forks source link

Use a "standard" Go project layout #13

Closed leogr closed 3 years ago

leogr commented 3 years ago

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:

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.