From 5311c3143359cfc076d1783b42a4d2df562604f9 Mon Sep 17 00:00:00 2001 From: David Christofas Date: Mon, 25 Apr 2022 16:10:08 +0200 Subject: [PATCH] add environment variables for ldap config --- .drone.star | 8 ++-- extensions/auth-basic/pkg/config/config.go | 50 ++++++++++----------- extensions/group/pkg/config/config.go | 51 +++++++++++----------- extensions/user/pkg/config/config.go | 51 +++++++++++----------- 4 files changed, 79 insertions(+), 81 deletions(-) diff --git a/.drone.star b/.drone.star index a900daa04d..e4f1f925eb 100644 --- a/.drone.star +++ b/.drone.star @@ -1624,8 +1624,8 @@ def ocisServerWithIdp(): "GRAPH_LDAP_SERVER_WRITE_ENABLED": "true", "LDAP_URI": "ldaps://0.0.0.0:9235", "LDAP_INSECURE": "true", - "LDAP_BIND_DN": "uid=libregraph,ou=sysusers,o=libregraph-idm", - "LDAP_BIND_PASSWORD": "idm", + "GRAPH_LDAP_BIND_DN": "uid=libregraph,ou=sysusers,o=libregraph-idm", + "GRAPH_LDAP_BIND_PASSWORD": "idm", "LDAP_USER_BASE_DN": "ou=users,o=libregraph-idm", "LDAP_USER_SCHEMA_ID": "ownclouduuid", "LDAP_USER_SCHEMA_MAIL": "mail", @@ -1644,8 +1644,8 @@ def ocisServerWithIdp(): "IDP_LDAP_LOGIN_ATTRIBUTE": "uid", "PROXY_ACCOUNT_BACKEND_TYPE": "cs3", "PROXY_ENABLE_BASIC_AUTH": "true", - "STORAGE_LDAP_BIND_DN": "uid=reva,ou=sysusers,o=libregraph-idm", - "STORAGE_LDAP_BIND_PASSWORD": "reva", + "LDAP_BIND_DN": "uid=reva,ou=sysusers,o=libregraph-idm", + "LDAP_BIND_PASSWORD": "reva", "OCS_ACCOUNT_BACKEND_TYPE": "cs3", "OCIS_RUN_EXTENSIONS": "settings,storage-metadata,graph,graph-explorer,ocs,store,thumbnails,web,webdav,storage-frontend,storage-gateway,storage-userprovider,storage-groupprovider,storage-authbasic,storage-authbearer,storage-authmachine,storage-users,storage-shares,storage-public-link,storage-appprovider,storage-sharing,proxy,idp,nats,idm,ocdav", "OCIS_LOG_LEVEL": "error", diff --git a/extensions/auth-basic/pkg/config/config.go b/extensions/auth-basic/pkg/config/config.go index 99cdc3a38a..8557e3e7f1 100644 --- a/extensions/auth-basic/pkg/config/config.go +++ b/extensions/auth-basic/pkg/config/config.go @@ -59,39 +59,39 @@ type JSONProvider struct { } type LDAPProvider struct { - URI string - CACert string - Insecure bool - BindDN string - BindPassword string - UserBaseDN string - GroupBaseDN string - UserFilter string - GroupFilter string - UserObjectClass string - GroupObjectClass string - LoginAttributes []string - IDP string `env:"OCIS_URL;AUTH_BASIC_IDP_URL"` // TODO what is this for? - GatewayEndpoint string // TODO do we need this here? + URI string `env:"LDAP_URI;AUTH_BASIC_LDAP_URI"` + CACert string `env:"LDAP_CACERT;AUTH_BASIC_LDAP_CACERT"` + Insecure bool `env:"LDAP_INSECURE;AUTH_BASIC_LDAP_INSECURE"` + BindDN string `env:"LDAP_BIND_DN;AUTH_BASIC_LDAP_BIND_DN"` + BindPassword string `env:"LDAP_BIND_PASSWORD;AUTH_BASIC_LDAP_BIND_PASSWORD"` + UserBaseDN string `env:"LDAP_USER_BASE_DN;AUTH_BASIC_LDAP_USER_BASE_DN"` + GroupBaseDN string `env:"LDAP_GROUP_BASE_DN;AUTH_BASIC_LDAP_GROUP_BASE_DN"` + UserFilter string `env:"LDAP_USERFILTER;AUTH_BASIC_LDAP_USERFILTER"` + GroupFilter string `env:"LDAP_GROUPFILTER;AUTH_BASIC_LDAP_USERFILTER"` + UserObjectClass string `env:"LDAP_USER_OBJECTCLASS;AUTH_BASIC_LDAP_USER_OBJECTCLASS"` + GroupObjectClass string `env:"LDAP_GROUP_OBJECTCLASS;AUTH_BASIC_LDAP_GROUP_OBJECTCLASS"` + LoginAttributes []string `env:"LDAP_LOGIN_ATTRIBUTES;AUTH_BASIC_LDAP_LOGIN_ATTRIBUTES"` + IDP string `env:"OCIS_URL;AUTH_BASIC_IDP_URL"` // TODO what is this for? + GatewayEndpoint string // TODO do we need this here? UserSchema LDAPUserSchema GroupSchema LDAPGroupSchema } type LDAPUserSchema struct { - ID string - IDIsOctetString bool - Mail string - DisplayName string - Username string + ID string `env:"LDAP_USER_SCHEMA_ID;AUTH_BASIC_LDAP_USER_SCHEMA_ID"` + IDIsOctetString bool `env:"LDAP_USER_SCHEMA_ID_IS_OCTETSTRING;AUTH_BASIC_LDAP_USER_SCHEMA_ID_IS_OCTETSTRING"` + Mail string `env:"LDAP_USER_SCHEMA_MAIL;AUTH_BASIC_LDAP_USER_SCHEMA_MAIL"` + DisplayName string `env:"LDAP_USER_SCHEMA_DISPLAYNAME;AUTH_BASIC_LDAP_USER_SCHEMA_DISPLAYNAME"` + Username string `env:"LDAP_USER_SCHEMA_USERNAME;AUTH_BASIC_LDAP_USER_SCHEMA_USERNAME"` } type LDAPGroupSchema struct { - ID string - IDIsOctetString bool - Mail string - DisplayName string - Groupname string - Member string + ID string `env:"LDAP_GROUP_SCHEMA_ID;AUTH_BASIC_LDAP_GROUP_SCHEMA_ID"` + IDIsOctetString bool `env:"LDAP_GROUP_SCHEMA_ID_IS_OCTETSTRING;AUTH_BASIC_LDAP_GROUP_SCHEMA_ID_IS_OCTETSTRING"` + Mail string `env:"LDAP_GROUP_SCHEMA_MAIL;AUTH_BASIC_LDAP_GROUP_SCHEMA_MAIL"` + DisplayName string `env:"LDAP_GROUP_SCHEMA_DISPLAYNAME;AUTH_BASIC_LDAP_GROUP_SCHEMA_DISPLAYNAME"` + Groupname string `env:"LDAP_GROUP_SCHEMA_GROUPNAME;AUTH_BASIC_LDAP_GROUP_SCHEMA_GROUPNAME"` + Member string `env:"LDAP_GROUP_SCHEMA_MEMBER;AUTH_BASIC_LDAP_GROUP_SCHEMA_MEMBER"` } type OwnCloudSQLProvider struct { diff --git a/extensions/group/pkg/config/config.go b/extensions/group/pkg/config/config.go index 129ab6b6a9..9940bd7f26 100644 --- a/extensions/group/pkg/config/config.go +++ b/extensions/group/pkg/config/config.go @@ -59,41 +59,40 @@ type Drivers struct { type JSONDriver struct { File string } - type LDAPDriver struct { - URI string - CACert string - Insecure bool - BindDN string - BindPassword string - UserBaseDN string - GroupBaseDN string - UserFilter string - GroupFilter string - UserObjectClass string - GroupObjectClass string - LoginAttributes []string - IDP string `env:"OCIS_URL;GROUP_IDP_URL"` // TODO what is this for? - GatewayEndpoint string // TODO do we need this here? + URI string `env:"LDAP_URI;GROUPS_LDAP_URI"` + CACert string `env:"LDAP_CACERT;GROUPS_LDAP_CACERT"` + Insecure bool `env:"LDAP_INSECURE;GROUPS_LDAP_INSECURE"` + BindDN string `env:"LDAP_BIND_DN;GROUPS_LDAP_BIND_DN"` + BindPassword string `env:"LDAP_BIND_PASSWORD;GROUPS_LDAP_BIND_PASSWORD"` + UserBaseDN string `env:"LDAP_USER_BASE_DN;GROUPS_LDAP_USER_BASE_DN"` + GroupBaseDN string `env:"LDAP_GROUP_BASE_DN;GROUPS_LDAP_GROUP_BASE_DN"` + UserFilter string `env:"LDAP_USERFILTER;GROUPS_LDAP_USERFILTER"` + GroupFilter string `env:"LDAP_GROUPFILTER;GROUPS_LDAP_USERFILTER"` + UserObjectClass string `env:"LDAP_USER_OBJECTCLASS;GROUPS_LDAP_USER_OBJECTCLASS"` + GroupObjectClass string `env:"LDAP_GROUP_OBJECTCLASS;GROUPS_LDAP_GROUP_OBJECTCLASS"` + LoginAttributes []string `env:"LDAP_LOGIN_ATTRIBUTES;GROUPS_LDAP_LOGIN_ATTRIBUTES"` + IDP string `env:"OCIS_URL;GROUPS_IDP_URL"` // TODO what is this for? + GatewayEndpoint string // TODO do we need this here? UserSchema LDAPUserSchema GroupSchema LDAPGroupSchema } type LDAPUserSchema struct { - ID string - IDIsOctetString bool - Mail string - DisplayName string - Username string + ID string `env:"LDAP_USER_SCHEMA_ID;GROUPS_LDAP_USER_SCHEMA_ID"` + IDIsOctetString bool `env:"LDAP_USER_SCHEMA_ID_IS_OCTETSTRING;GROUPS_LDAP_USER_SCHEMA_ID_IS_OCTETSTRING"` + Mail string `env:"LDAP_USER_SCHEMA_MAIL;GROUPS_LDAP_USER_SCHEMA_MAIL"` + DisplayName string `env:"LDAP_USER_SCHEMA_DISPLAYNAME;GROUPS_LDAP_USER_SCHEMA_DISPLAYNAME"` + Username string `env:"LDAP_USER_SCHEMA_USERNAME;GROUPS_LDAP_USER_SCHEMA_USERNAME"` } type LDAPGroupSchema struct { - ID string - IDIsOctetString bool - Mail string - DisplayName string - Groupname string - Member string + ID string `env:"LDAP_GROUP_SCHEMA_ID;GROUPS_LDAP_GROUP_SCHEMA_ID"` + IDIsOctetString bool `env:"LDAP_GROUP_SCHEMA_ID_IS_OCTETSTRING;GROUPS_LDAP_GROUP_SCHEMA_ID_IS_OCTETSTRING"` + Mail string `env:"LDAP_GROUP_SCHEMA_MAIL;GROUPS_LDAP_GROUP_SCHEMA_MAIL"` + DisplayName string `env:"LDAP_GROUP_SCHEMA_DISPLAYNAME;GROUPS_LDAP_GROUP_SCHEMA_DISPLAYNAME"` + Groupname string `env:"LDAP_GROUP_SCHEMA_GROUPNAME;GROUPS_LDAP_GROUP_SCHEMA_GROUPNAME"` + Member string `env:"LDAP_GROUP_SCHEMA_MEMBER;GROUPS_LDAP_GROUP_SCHEMA_MEMBER"` } type OwnCloudSQLDriver struct { diff --git a/extensions/user/pkg/config/config.go b/extensions/user/pkg/config/config.go index 1d9bce54f3..efdcd54430 100644 --- a/extensions/user/pkg/config/config.go +++ b/extensions/user/pkg/config/config.go @@ -59,41 +59,40 @@ type Drivers struct { type JSONDriver struct { File string } - type LDAPDriver struct { - URI string - CACert string - Insecure bool - BindDN string - BindPassword string - UserBaseDN string - GroupBaseDN string - UserFilter string - GroupFilter string - UserObjectClass string - GroupObjectClass string - LoginAttributes []string - IDP string `env:"OCIS_URL;USER_IDP_URL"` // TODO what is this for? - GatewayEndpoint string // TODO do we need this here? + URI string `env:"LDAP_URI;USERS_LDAP_URI"` + CACert string `env:"LDAP_CACERT;USERS_LDAP_CACERT"` + Insecure bool `env:"LDAP_INSECURE;USERS_LDAP_INSECURE"` + BindDN string `env:"LDAP_BIND_DN;USERS_LDAP_BIND_DN"` + BindPassword string `env:"LDAP_BIND_PASSWORD;USERS_LDAP_BIND_PASSWORD"` + UserBaseDN string `env:"LDAP_USER_BASE_DN;USERS_LDAP_USER_BASE_DN"` + GroupBaseDN string `env:"LDAP_GROUP_BASE_DN;USERS_LDAP_GROUP_BASE_DN"` + UserFilter string `env:"LDAP_USERFILTER;USERS_LDAP_USERFILTER"` + GroupFilter string `env:"LDAP_GROUPFILTER;USERS_LDAP_USERFILTER"` + UserObjectClass string `env:"LDAP_USER_OBJECTCLASS;USERS_LDAP_USER_OBJECTCLASS"` + GroupObjectClass string `env:"LDAP_GROUP_OBJECTCLASS;USERS_LDAP_GROUP_OBJECTCLASS"` + LoginAttributes []string `env:"LDAP_LOGIN_ATTRIBUTES;USERS_LDAP_LOGIN_ATTRIBUTES"` + IDP string `env:"OCIS_URL;USERS_IDP_URL"` // TODO what is this for? + GatewayEndpoint string // TODO do we need this here? UserSchema LDAPUserSchema GroupSchema LDAPGroupSchema } type LDAPUserSchema struct { - ID string - IDIsOctetString bool - Mail string - DisplayName string - Username string + ID string `env:"LDAP_USER_SCHEMA_ID;USERS_LDAP_USER_SCHEMA_ID"` + IDIsOctetString bool `env:"LDAP_USER_SCHEMA_ID_IS_OCTETSTRING;USERS_LDAP_USER_SCHEMA_ID_IS_OCTETSTRING"` + Mail string `env:"LDAP_USER_SCHEMA_MAIL;USERS_LDAP_USER_SCHEMA_MAIL"` + DisplayName string `env:"LDAP_USER_SCHEMA_DISPLAYNAME;USERS_LDAP_USER_SCHEMA_DISPLAYNAME"` + Username string `env:"LDAP_USER_SCHEMA_USERNAME;USERS_LDAP_USER_SCHEMA_USERNAME"` } type LDAPGroupSchema struct { - ID string - IDIsOctetString bool - Mail string - DisplayName string - Groupname string - Member string + ID string `env:"LDAP_GROUP_SCHEMA_ID;USERS_LDAP_GROUP_SCHEMA_ID"` + IDIsOctetString bool `env:"LDAP_GROUP_SCHEMA_ID_IS_OCTETSTRING;USERS_LDAP_GROUP_SCHEMA_ID_IS_OCTETSTRING"` + Mail string `env:"LDAP_GROUP_SCHEMA_MAIL;USERS_LDAP_GROUP_SCHEMA_MAIL"` + DisplayName string `env:"LDAP_GROUP_SCHEMA_DISPLAYNAME;USERS_LDAP_GROUP_SCHEMA_DISPLAYNAME"` + Groupname string `env:"LDAP_GROUP_SCHEMA_GROUPNAME;USERS_LDAP_GROUP_SCHEMA_GROUPNAME"` + Member string `env:"LDAP_GROUP_SCHEMA_MEMBER;USERS_LDAP_GROUP_SCHEMA_MEMBER"` } type OwnCloudSQLDriver struct {