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

CLI for user management #115

Closed
6 of 7 tasks
exalate-issue-sync bot opened this issue Jul 21, 2020 · 5 comments · Fixed by owncloud/ocis-accounts#69 or owncloud/ocis#462
Closed
6 of 7 tasks

CLI for user management #115

exalate-issue-sync bot opened this issue Jul 21, 2020 · 5 comments · Fixed by owncloud/ocis-accounts#69 or owncloud/ocis#462

Comments

@exalate-issue-sync
Copy link

exalate-issue-sync bot commented Jul 21, 2020

Story

As an admin I want to be able to disable / enable a user, so that only enabled users have access to ownCloud.

DoD

  • rewrite without api usage and 'ocis login' => create follow-up
  • List users to choose te right ID
    • bin/ocis-accounts list
  • Enable / Disable users
    • Enable bin/ocis-accounts update --enabled u-u-i-d
    • Disable bin/ocis-accounts update --enabled=false u-u-i-d
  • Disabled users should not be able to log in
  • Integrate in to ocis full-binary
  • Show it tested and deployed
  • Develop Strategy for Testing, API needs tests, command optional
@exalate-issue-sync exalate-issue-sync bot added Exalated This issue is under sync p3-medium story User Story labels Jul 21, 2020
@exalate-issue-sync
Copy link
Author

Remote key is https://jira.owncloud.com/browse/OCIS-276

@exalate-issue-sync exalate-issue-sync bot removed the Exalated This issue is under sync label Jul 21, 2020
@exalate-issue-sync
Copy link
Author

exalate-issue-sync bot commented Jul 21, 2020

Ilja Neumann commented: Concept:

Integrate as a sub-command for ocis accounts:

  • ocis accounts add
  • ocis accounts list
  • ocis accounts show
  • ocis accounts enable
  • ocis accounts disable

Command should work remotely. Admin should be able to put the ocis binary on his machine and use that as a client.

To achive this an "ocis login" command is required which asks for username/password and the address of the proxy. With this information an token is minted and stored in the environment-variable or user-home. This token can then be used to authenticate subsequent cli-calls.

Open Questions:

  • How does the cli-command know where the accounts service is running i.e where the accounts grpc api is?

  • Could the cli command query the service-registry? How?

  • Is micro-gateway requiered for this? MDNS probably won't reach to admins machine?

  • AFAIK it is not possible to proxy grpc via ocis-proxy?

All this problems could be (temporarily) circumvented if the admin has to provide the address to the accounts service on every invocation or in an environmet variable. Is this an UX we can live with for the MVP? Drawback is that the accounts service needs to be reachable from admins machine (Firewall?)

@IljaN
Copy link
Member

IljaN commented Jul 21, 2020

Decission for now: Use micro service-discovery to discover accounts service. This has the drawback that the commands need to be executed in the service-mesh's network as we don't have a central api-gateway for now.

@IljaN
Copy link
Member

IljaN commented Aug 18, 2020

@exalate-issue-sync
Copy link
Author

Felix Boehm commented: reopening and clarification:

  • a cli client is not scope of current planning
  • as a sysadmin I have access via ssh on my instance and want to run a command 'ocis accounts add ...' to create a user without any further need to authenticate or authorize (permissions ignored), so that I never run into a locked situation (no one has permission to create a user)

'ocis login' not the way to go on cli

@exalate-issue-sync exalate-issue-sync bot changed the title Basic CLI user management CLI for user management Sep 4, 2020
@exalate-issue-sync exalate-issue-sync bot reopened this Nov 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant