- Generate certs if none configured (#10)

- Use devldap ldap-defaults
This commit is contained in:
Ilja Neumann
2020-02-05 16:26:17 +01:00
committed by GitHub
parent 9cfa113ec6
commit dd1c848408
3 changed files with 167 additions and 0 deletions
+28
View File
@@ -6,7 +6,9 @@ import (
"github.com/gorilla/mux"
"github.com/owncloud/ocis-konnectd/pkg/config"
"github.com/owncloud/ocis-konnectd/pkg/log"
"github.com/rs/zerolog"
"net/http"
"os"
"stash.kopano.io/kc/konnect/bootstrap"
kcconfig "stash.kopano.io/kc/konnect/config"
"stash.kopano.io/kc/konnect/server"
@@ -29,6 +31,7 @@ func NewService(opts ...Option) Service {
ctx := context.Background()
options := newOptions(opts...)
logger := options.Logger.Logger
initKonnectInternalEnvVars(logger)
bs, err := bootstrap.Boot(ctx, &options.Config.Konnectd, &kcconfig.Config{
Logger: log.Wrap(logger),
@@ -47,6 +50,31 @@ func NewService(opts ...Option) Service {
}
}
// Init vars which are currently not accessible via konnectd api
func initKonnectInternalEnvVars(l zerolog.Logger) {
var defaults = map[string]string{
"LDAP_URI": "ldap://localhost:9125",
"LDAP_BINDDN": "cn=admin,dc=example,dc=org",
"LDAP_BINDPW": "admin",
"LDAP_BASEDN": "ou=users,dc=example,dc=org",
"LDAP_SCOPE": "sub",
"LDAP_LOGIN_ATTRIBUTE": "uid",
"LDAP_EMAIL_ATTRIBUTE": "mail",
"LDAP_NAME_ATTRIBUTE": "cn",
"LDAP_UUID_ATTRIBUTE": "customuid",
"LDAP_UUID_ATTRIBUTE_TYPE": "text",
"LDAP_FILTER": "(objectClass=person)",
}
for k, v := range defaults {
if _, exists := os.LookupEnv(k); !exists {
if err := os.Setenv(k, v); err != nil {
l.Fatal().Err(err).Msgf("Could not set env var %s=%s", k, v)
}
}
}
}
// newMux initializes the internal konnectd gorilla mux and mounts it in to a ocis chi-router
func newMux(ctx context.Context, r []server.WithRoutes, h http.Handler, middleware []func(http.Handler) http.Handler) http.Handler {
gm := mux.NewRouter()