Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spec : Notation directory structure #167

Closed
gokarnm opened this issue Apr 26, 2022 · 5 comments · Fixed by #175
Closed

Spec : Notation directory structure #167

gokarnm opened this issue Apr 26, 2022 · 5 comments · Fixed by #175
Assignees
Milestone

Comments

@gokarnm
Copy link
Contributor

gokarnm commented Apr 26, 2022

Spec for config location and dir structure. Should specify the directory structure for notation, paths for trust store, signing keys config, trust policy config, and plugins.

@gokarnm
Copy link
Contributor Author

gokarnm commented May 4, 2022

Any feedback on this directory structure.

  • We should rename config.json which previously contained signing keys and verification certificates, to signingKeys.json as it only contains signing keys. Verification now uses trust store and trustPolicy.json
  • Plugin install location should be relative to notation install location, instead of using a sub dir under $XDG_CONFIG_HOME/notation as plugins are not configuration.
$XDG_CONFIG_HOME/notation
    /trust-store/x509
        /ca
        /tsa
    trustPolicy.json
    signingKeys.json
    config.json

$NOTATION_PLUGIN_PATH
    /com.example.nv2plugin/notation-com.example.nv2plugin

(updated with new proposal for plugin dir)

cc: @shizhMSFT @SteveLasker @sajayantony @qmuntal @priteshbandi @rgnote

@SteveLasker
Copy link
Contributor

👀

@shizhMSFT
Copy link
Contributor

$NOTATION_INSTALL_DIR is a vague location. On Unix/Linux, notation might be installed to /usr/local/bin. It might not make sense to have a folder called /usr/local/bin/plugins.

@gokarnm
Copy link
Contributor Author

gokarnm commented May 5, 2022

$NOTATION_INSTALL_DIR is a vague location. On Unix/Linux, notation might be installed to /usr/local/bin. It might not make sense to have a folder called /usr/local/bin/plugins.

That makes sense for linux in terms of notation is a single binary file at the moment. For Windows it would likely be Program files/Notation or similar? Any alternates you can propose @shizhMSFT , the XDG_CONFIG_HOME location seemed odd to me install plugin binary and any additional dependencies.

We can keep the location relative to notation binary and fully qualify the folder name, something like /usr/local/bin/notation-plugins.

@SteveLasker
Copy link
Contributor

I've added Balancing Security and Usability for reference

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants