Skip to content

Self-service for wireguard users leveraging Open ID Connect and git as storage

License

Notifications You must be signed in to change notification settings

kubism/smorgasbord

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smorgasbord

Go Documentation Build Status Go Report Card Coverage Status Maintainability

a range of open sandwiches and delicacies served as hors d'oeuvres or a buffet

Smorgasbord purpose is to ease up the administration of a wireguard-based VPN.
It creates, stores and distributes client configurations for its users and can derive server configuration using the provided agent. Users can self-service their public keys after authenticating via OpenID Connect. Rather than using a database the public keys and metadata are commited to a git repository, which is used as storage endpoint.

Smorgasbord primary goal is to provide a minimalistic environment to manage users across multiple wireguard servers applicable to embedded systems as well as more complex installments.

Concept of Smorgasbord

Backlog topics

The backlog contains some bigger topics, which we might implement in the future. However feel free to implement them yourself you need them.

Automatic removal

Currently it is required to manage the removal/deactivation of users manually, e.g. admin removing entries from git repository.

However if the information about the deactivation is available via OIDC, e.g. refresh token failing. It would be possible to deactivate users automatically.

Configure wireguard directly

Rather than provide the configuration and issuing a command (e.g. wg syncconf) the agent could configure wireguard interface directly using the go library.

About the name

This project started a late night project and the name was essentially what came up first after googling "synonym self-service". It might therefore be subject to change.

About

Self-service for wireguard users leveraging Open ID Connect and git as storage

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published