Galène videoconferencing server discussion list archives
 help / color / mirror / Atom feed
* [Galene] Heads up: management protocol
@ 2024-04-10 11:06 Juliusz Chroboczek
  2024-04-10 12:02 ` [Galene] " Dianne Skoll
       [not found] ` <171275058535.1000.9334285592739539641@gauss.local>
  0 siblings, 2 replies; 4+ messages in thread
From: Juliusz Chroboczek @ 2024-04-10 11:06 UTC (permalink / raw)
  To: galene

Hi,

Currently, the right was to write a management interface for Galene is to
directly edit the on-disk configuration files.  This is tricky to do
right, and somewhat fragile, since multiple processes are accessing the
same files.

I've almost finishes implementing an HTTP interface for managing Galene,
which will hopefully make it easier to manage remotely.  I'm planning to
merge it into master before the week-end (it currently lives in branch
"api").

# Get the list of groups

    GET /galene-api/.groups/

# Get a group's configuration

    GET /galene-api/.groups/groupname

This returns a "sanitised" configuration, without any cryptographic keys
or user descriptions.

# Create a new group

    PUT /galene-api/.groups/groupname
    If-None-Match: *

The If-None-Match header avoids overwriting an existing group.

# Edit a group definition

    GET /galene-api/group/groupname

    (edit the returned JSON)

    PUT /galene-api/.groups/groupname
    If-Match: (the etag returned by the GET above)

The If-Match header avoids overwriting changes made by a different client
in the meantime.

# Create a new user

    PUT /galene-api/.groups/groupname/.users/username
    If-None-Match: *

This creates a user entry with an invalid password.  You need to set
a password in a separate step.

# Set a user's password, server-side hashing

    POST /galene-api/.groups/groupname/.users/username/.password

This hashes the password on the server.  There is currently no way to set
the hashing algorithm (we use 4096 iterations of PBKDF2, which is very weak).

# Set a user's password, client-side hashing

    PUT /galene-api/.groups/groupname/.users/username/.password

-- Juliusz

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Galene] Re: Heads up: management protocol
  2024-04-10 11:06 [Galene] Heads up: management protocol Juliusz Chroboczek
@ 2024-04-10 12:02 ` Dianne Skoll
       [not found] ` <171275058535.1000.9334285592739539641@gauss.local>
  1 sibling, 0 replies; 4+ messages in thread
From: Dianne Skoll @ 2024-04-10 12:02 UTC (permalink / raw)
  To: galene

Hi, Julius,

Have you considered versioning the API?  For example:

GET/galene-api/1/.groups

etc...

Regards,

Dianne.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Galene] Re: Heads up: management protocol
       [not found] ` <171275058535.1000.9334285592739539641@gauss.local>
@ 2024-04-10 12:12   ` Juliusz Chroboczek
  2024-04-10 12:33   ` Juliusz Chroboczek
  1 sibling, 0 replies; 4+ messages in thread
From: Juliusz Chroboczek @ 2024-04-10 12:12 UTC (permalink / raw)
  To: Dianne Skoll; +Cc: galene

> Have you considered versioning the API?  For example:
> 
> GET/galene-api/1/.groups

Good point, thanks.

-- Juliusz

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Galene] Re: Heads up: management protocol
       [not found] ` <171275058535.1000.9334285592739539641@gauss.local>
  2024-04-10 12:12   ` Juliusz Chroboczek
@ 2024-04-10 12:33   ` Juliusz Chroboczek
  1 sibling, 0 replies; 4+ messages in thread
From: Juliusz Chroboczek @ 2024-04-10 12:33 UTC (permalink / raw)
  To: Dianne Skoll; +Cc: galene

> Have you considered versioning the API?  For example:
> 
> GET/galene-api/1/.groups

Done.  The API now lives under /galene-api/0/.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-04-10 12:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-10 11:06 [Galene] Heads up: management protocol Juliusz Chroboczek
2024-04-10 12:02 ` [Galene] " Dianne Skoll
     [not found] ` <171275058535.1000.9334285592739539641@gauss.local>
2024-04-10 12:12   ` Juliusz Chroboczek
2024-04-10 12:33   ` Juliusz Chroboczek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox