1
0
Fork 0

add roadmap

This commit is contained in:
ibizaman 2023-04-04 00:18:25 -07:00
parent 36c9fe23c3
commit 28625e764f
3 changed files with 17 additions and 9 deletions

View file

@ -232,6 +232,12 @@ disnix-lock -u
In rough order of highest to lowest priority. In rough order of highest to lowest priority.
Roadmap for V1:
- [ ] Have Vaultwarden deployable behind Haproxy with Keycloak and
oauth2proxy as SSO.
- [ ] Have example for Vaultwarden working.
- [ ] Have integration tests for Vaultwarden.
- Misc - Misc
- [x] Function to generate haproxy config - [x] Function to generate haproxy config
- [ ] Handle Nixops 2 (nixops_unstable) - [ ] Handle Nixops 2 (nixops_unstable)
@ -240,6 +246,9 @@ In rough order of highest to lowest priority.
- [ ] Add configuration examples - [ ] Add configuration examples
- [ ] Merge all keycloak services into one definition - [ ] Merge all keycloak services into one definition
- [ ] Run tests on Hercules-CI - [ ] Run tests on Hercules-CI
- [ ] Explain how to setup secret keys.
- [ ] Switch to using modules https://nixos.wiki/wiki/NixOS_modules
to setup configuration.
- Dev - Dev
- [ ] Automatically pull client credentials from keycloak to - [ ] Automatically pull client credentials from keycloak to
populate oauth2proxy's clientsecret key. populate oauth2proxy's clientsecret key.
@ -265,6 +274,3 @@ In rough order of highest to lowest priority.
- [ ] Move a few packages installed through network.nix into services.nix. - [ ] Move a few packages installed through network.nix into services.nix.
- [ ] Use something else than `pass` to retrieve secrets. Or better, - [ ] Use something else than `pass` to retrieve secrets. Or better,
allow multiple options. allow multiple options.
- [ ] Explain how to setup secret keys.
- [ ] Switch to using modules https://nixos.wiki/wiki/NixOS_modules
to setup configuration.

View file

@ -3,6 +3,7 @@
, system ? builtins.currentSystem , system ? builtins.currentSystem
, pkgs ? import <nixpkgs> { inherit system; } , pkgs ? import <nixpkgs> { inherit system; }
, utils ? null , utils ? null
, secret ? null
}: }:
let let
@ -32,7 +33,7 @@ let
keycloak = callPackage ./keycloak {inherit utils customPkgs;}; keycloak = callPackage ./keycloak {inherit utils customPkgs;};
ttrss = callPackage ./ttrss {inherit utils customPkgs;}; ttrss = callPackage ./ttrss {inherit utils customPkgs;};
vaultwarden = callPackage ./vaultwarden {inherit utils customPkgs;}; vaultwarden = callPackage ./vaultwarden {inherit utils customPkgs secret;};
}; };
in in
customPkgs customPkgs

View file

@ -1,6 +1,7 @@
{ customPkgs { customPkgs
, pkgs , pkgs
, utils , utils
, secret
}: }:
{ serviceName ? "Vaultwarden" { serviceName ? "Vaultwarden"
, subdomain ? "vaultwarden" , subdomain ? "vaultwarden"
@ -236,15 +237,15 @@ rec {
deployKeys = domain: { deployKeys = domain: {
"${serviceName}_oauth2proxy_cookiesecret".text = '' "${serviceName}_oauth2proxy_cookiesecret".text = ''
OAUTH2_PROXY_COOKIE_SECRET="${builtins.extraBuiltins.pass "${domain}/${subdomain}/${cookieSecretName}"}" OAUTH2_PROXY_COOKIE_SECRET="${secret "${domain}/${subdomain}/${cookieSecretName}"}"
''; '';
"${serviceName}_oauth2proxy_clientsecret".text = '' "${serviceName}_oauth2proxy_clientsecret".text = ''
OAUTH2_PROXY_CLIENT_SECRET="${builtins.extraBuiltins.pass "${domain}/${subdomain}/${clientSecretName}"}" OAUTH2_PROXY_CLIENT_SECRET="${secret "${domain}/${subdomain}/${clientSecretName}"}"
''; '';
"${serviceName}_smtp_all".text = '' "${serviceName}_smtp_all".text = ''
SMTP_HOST="${builtins.extraBuiltins.pass "${domain}/mailgun.com/smtp_hostname"}" SMTP_HOST="${secret "${domain}/mailgun.com/smtp_hostname"}"
SMTP_USERNAME="${builtins.extraBuiltins.pass "${domain}/mailgun.com/smtp_login"}" SMTP_USERNAME="${secret "${domain}/mailgun.com/smtp_login"}"
SMTP_PASSWORD="${builtins.extraBuiltins.pass "${domain}/mailgun.com/password"}" SMTP_PASSWORD="${secret "${domain}/mailgun.com/password"}"
''; '';
}; };