NeonGeckoCom / neon-hana

HTTP Access to DIANA deployed services
Other
0 stars 0 forks source link

[FEAT] Skill settings endpoint #7

Open NeonDaniel opened 9 months ago

NeonDaniel commented 9 months ago

Objective

Implement endpoints to set/get skill settings per-client with global defaults. The actual settings storage may be implemented in a separate service or as part of Hana.

Initial Implementation Requirements

Other Considerations

NeonDaniel commented 9 months ago

If we're saving configuration, should this be per-user with the settings service including user configuration as well?

Olzeke51 commented 4 months ago

so Neon is dependent upon a central server - HANA. ?doesn't this open Neon{local} to the same situation as Mycroft folding? "configuring default settings will require a higher level of authentication or else be a hard-coded internal method to prevent accidental or malicious overrides of default settings" - - a need for a 'root' password?? or passphrase encoded with a PIN?

mikejgray commented 4 months ago

so Neon is dependent upon a central server - HANA. ?doesn't this open Neon{local} to the same situation as Mycroft folding?

"configuring default settings will require a higher level of authentication or else be a hard-coded internal method to prevent accidental or malicious overrides of default settings" - - a need for a 'root' password?? or passphrase encoded with a PIN?

Not quite. While Mycroft did have a central server, it was never meant to be run by users locally. HANA is designed from the start to belong to the user, although Neon does run their own. Don't worry - no one wants a repeat of that situation. 😄

NeonDaniel commented 4 months ago

so Neon is dependent upon a central server - HANA. ?doesn't this open Neon{local} to the same situation as Mycroft folding?

What Mike said, but also we aren't tying core functionality to the backend, only things that either cost money or require extra work for the user to set up themselves (i.e. paid weather and stock services, STT, TTS).

"configuring default settings will require a higher level of authentication or else be a hard-coded internal method to prevent accidental or malicious overrides of default settings" - - a need for a 'root' password?? or passphrase encoded with a PIN?

Something like that. For a shared system where the clients are unrelated (like hana.neonaiservices.com), we wouldn't want any authorized client to be able to set the defaults for other clients. For an internal system, you might want to set the defaults that every device you connect will use if you haven't separately configured that device. i.e. A skill that has an API key in config; a shared system would definitely NOT want to use the same key on every client, but an internal system might share one key for every client