-
Notifications
You must be signed in to change notification settings - Fork 51
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
Activate Per Tenant Settings Feat and use ACA-Py 0.8.2 image #682
Conversation
shaangill025
commented
Jul 4, 2023
- Follow-up to Placeholder UI for to-come ACA-Py per-tenant settings #580
This comment was marked as outdated.
This comment was marked as outdated.
Deployment URLs ready for review. |
(some tenants for testing) Issuer: Not an issuer: |
Altering the settings through the UI seems to be working well from what I understand from testing out. I have some questions about how default state should be handled (sorry if already discussed and I missed it). Using the Auto Respond message field as the example here but I think it applies to all, depending on default values... Going into a new Tenant, all the settings are unset (false for the switches) Because nothing comes back from the wallet settings endpoint for these extra settings unless the user has already set one of the fields So it looks like Auto Respond to Messages is false, but if I send the tenant a message the tenant does auto-respond This would be because that's the system default I assume? Toggling it on and then off and saving does then set the setting for that Tenant So I think this is a possible confusion for Tenants if these settings appear 'turned off' but then they're actually possibly 'on' if that's the default system setting? So if this is the case I could see handling it in a couple ways
Option 1 is probably easy, could make another ticket to address that. Tagging @shaangill025 and @usingtechnology if they had any thoughts from the aca-py PR 2233. IE should this just be the Tenant UI's problem, or does this need default situation need any more consideration in the core? |
good work integrating that and your analysis. |
My $0.02CDN — if I’m understanding the issues:
|
Could we just make the settings explicit on tenant creation? i.e.: the tenant settings are set to what the instance defaults are on creation of a new tenant. |
That makes the most sense to me as an API consumer I think. I create a Tenant, I ask it for what the current settings for that Tenant is, and it tells me the settings, same as if they'd been set by the user. |
I think we should make the API as straightforward as possible, which means return whichever value that setting is for the tenant - even if it is an override of the defaults, I will need to know what the default values are. |
it's only a small set that the user/tenant can self-manage. i think that complete set should get returned all the time. i guess the decision would be whether what is stored in wallet are just the changes (overrides) and those get layered on top of the system settings or if you do as @esune suggests and copy the current system settings into the wallet and that is what the tenant manages. that is probably the simplest way. could add a method to reset to system defaults too (remove all your customizations). it may make it difficult to add new settings (or remove) to the tenant but you could probably figure a way to "sync" the allowable set when the wallet is queried for it's extra_settings. But i don't think you want traction/tenant-ui to know what the set is and find out system defaults to send to the frontend. the API/acapy returns the manageable set. |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
f279da8
to
5109883
Compare
5109883
to
3e42b3f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Curious where the endorser role is meant to come from?
It should be author
for tenants that are created right?
The deployment values have
endorser-protocol-role: author
But in /settings
there isn't the endorser role being shown. Though it has the other dependent auto flags set to true
So on the settings page it's defaulting it to none
but is it supposed to be author
?
@loneil The
|
Ok, thanks for the explanation @shaangill025 . Yeah just that what results in the REST shape for the multitenancy endpoints I think could end up confusing for a Traction consumer (PUTing and GETing on the same endpoint). I'm fine with it as it is if there is a difference between the two concepts as you said, I think most usage of this would be through the Tenant UI anyways which abstracts consumers really needing to know about it. |
Signed-off-by: Shaanjot Gill <[email protected]>
Signed-off-by: Lucas ONeil <[email protected]>
Signed-off-by: Shaanjot Gill <[email protected]>
moved to review/qa as per feedback from @shaangill025 |
Signed-off-by: Shaanjot Gill <[email protected]>
417bc8e
to
8f9bf65
Compare
Signed-off-by: Shaanjot Gill <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! @loneil if you want to take a last look before merging it would be great
I think it looks good. I don't know enough about all the settings to test them out but I tried a couple on and off and got the expected results. |