DefGuard / gateway

Defguard gateway
Other
22 stars 3 forks source link

Defguard command line client "defguard" #65

Open teon opened 1 year ago

teon commented 1 year ago

The client should have the following commands (priority of implementation):

  1. import-users <file.json/csv>

We should have the possibility to bulk import users in a described/defined format/file type. Idealy would be to support two fille (predefined) formats: JSON & CSV.

  1. add-user [login]

Since we will handle bulk user creation, should be easy to do one-off just to add one user.

  1. disable-user [login]

  2. change-password [login[

  3. ssh-auth [user/group?]

Now we are showing examples of how to interact with DG API through curl & bash, but we should have this done in our client.

  1. status [location]

[location] is optional - if not set - show all locations.

Command will show all connections / peers in human readable way - the same way as "wg-quick" connection/peer status, but in human-readable way - so that the peers would have names like: John Wick - MacBook (and not public keys)

  1. import-vpn

The question remains - how we should configure access for the client - maybe a dedicated functionality in DG for Tokens/oauth?

teon commented 1 year ago

@kchudy also I think that should not be in the gateway itself - I think we should start to do a command line client (just: defguard)

Meaning we should not mix server and client binaries/tools. Gateway is a sever, we need a client then that is shipped with the server.