99
1010func initConfig () (* Config , error ) {
1111 viper .AddConfigPath ("." )
12- viper .AddConfigPath ("/etc/gitea-group -sync" )
12+ viper .AddConfigPath ("/etc/gitea-ldap -sync" )
1313 viper .SetConfigName ("config" )
1414 viper .SetConfigType ("yaml" )
1515
@@ -20,19 +20,33 @@ func initConfig() (*Config, error) {
2020
2121 viper .SetTypeByDefaultValue (true )
2222 viper .SetDefault ("gitea.token" , []string {"" })
23+ viper .SetDefault ("ldap.exclude_users" , []string {"root" })
2324 viper .SetDefault ("ldap.exclude_groups" , []string {"" })
2425 viper .SetDefault ("ldap.exclude_subgroups" , []string {"" })
2526 viper .SetDefault ("gitea.client_timeout" , 10 ) // nolint:gomnd
2627 viper .SetDefault ("ldap.port" , "389" )
2728 viper .SetDefault ("ldap.use_tls" , true )
2829 viper .SetDefault ("ldap.allow_insecure_tls" , true )
29- viper .SetDefault ("ldap.user_identity_attribute" , "sAMAccountName" )
30- viper .SetDefault ("ldap.user_fullname" , "cn" )
30+ viper .SetDefault ("ldap.user_username_attribute" , "sAMAccountName" )
31+ viper .SetDefault ("ldap.user_fullname_attribute" , "cn" )
32+ viper .SetDefault ("ldap.user_first_name_attribute" , "name" )
33+ viper .SetDefault ("ldap.user_surname_attribute" , "" )
34+ viper .SetDefault ("ldap.user_email_attribute" , "mail" )
35+ viper .SetDefault ("ldap.user_public_ssh_key_attribute" , "sshPublicKey" )
36+ viper .SetDefault ("ldap.user_avatar_attribute" , "avatar" )
37+ viper .SetDefault ("ldap.admin_filter" , "" )
38+ viper .SetDefault ("ldap.restricted_filter" , "" )
3139 viper .SetDefault ("ldap.trim_parent_name" , false )
3240 viper .SetDefault ("ldap.subgroup_separator" , "/" )
41+ viper .SetDefault ("ldap.exclude_users_regex" , "" )
42+ viper .SetDefault ("ldap.exclude_groups_regex" , "" )
43+ viper .SetDefault ("ldap.exclude_subgroups_regex" , "" )
3344 viper .SetDefault ("cron_timer" , "@every 1m" )
3445 viper .SetDefault ("sync_config.create_groups" , true )
3546 viper .SetDefault ("sync_config.full_sync" , false )
47+ viper .SetDefault ("sync_config.defaults.user.allow_create_organization" , false )
48+ viper .SetDefault ("sync_config.defaults.user.max_repo_creation" , 0 )
49+ viper .SetDefault ("sync_config.defaults.user.visibility" , "private" )
3650 viper .SetDefault ("sync_config.defaults.organization.repo_admin_change_team_access" , false )
3751 viper .SetDefault ("sync_config.defaults.organization.visibility" , "private" )
3852 viper .SetDefault ("sync_config.defaults.team.can_create_org_repo" , false )
@@ -50,11 +64,6 @@ func initConfig() (*Config, error) {
5064 "repo.ext_wiki"
5165 ]` ,
5266 )
53- // nolint:lll
54- viper .SetDefault (
55- "sync_config.defaults.team.units_map" ,
56- `{"repo.code":"write","repo.issues":"write","repo.ext_issues":"none","repo.wiki":"write","repo.pulls":"owner","repo.releases":"none","repo.projects":"none","repo.ext_wiki":"none"}` ,
57- )
5867
5968 _ = viper .BindEnv ("gitea.base_url" )
6069 _ = viper .BindEnv ("gitea.token" )
@@ -66,8 +75,14 @@ func initConfig() (*Config, error) {
6675 _ = viper .BindEnv ("ldap.bind_password" )
6776 _ = viper .BindEnv ("ldap.user_filter" )
6877 _ = viper .BindEnv ("ldap.user_search_base" )
69- _ = viper .BindEnv ("ldap.user_identity_attribute" )
70- _ = viper .BindEnv ("ldap.user_fullname" )
78+ _ = viper .BindEnv ("ldap.user_username_attribute" )
79+ _ = viper .BindEnv ("ldap.user_fullname_attribute" )
80+ _ = viper .BindEnv ("ldap.user_first_name_attribute" )
81+ _ = viper .BindEnv ("ldap.user_surname_attribute" )
82+ _ = viper .BindEnv ("ldap.user_email_attribute" )
83+ _ = viper .BindEnv ("ldap.user_public_ssh_key_attribute" )
84+ _ = viper .BindEnv ("ldap.user_avatar_attribute" )
85+ _ = viper .BindEnv ("ldap.exclude_users" )
7186 _ = viper .BindEnv ("ldap.group_filter" )
7287 _ = viper .BindEnv ("ldap.group_search_base" )
7388 _ = viper .BindEnv ("ldap.subgroup_filter" )
@@ -81,13 +96,15 @@ func initConfig() (*Config, error) {
8196 _ = viper .BindEnv ("cron_timer" )
8297 _ = viper .BindEnv ("sync_config.create_groups" )
8398 _ = viper .BindEnv ("sync_config.full_sync" )
99+ _ = viper .BindEnv ("sync_config.defaults.user.allow_create_organization" )
100+ _ = viper .BindEnv ("sync_config.defaults.user.max_repo_creation" )
101+ _ = viper .BindEnv ("sync_config.defaults.user.visibility" )
84102 _ = viper .BindEnv ("sync_config.defaults.organization.repo_admin_change_team_access" )
85103 _ = viper .BindEnv ("sync_config.defaults.organization.visibility" )
86104 _ = viper .BindEnv ("sync_config.team.can_create_org_repo" )
87105 _ = viper .BindEnv ("sync_config.team.includes_all_repositories" )
88106 _ = viper .BindEnv ("sync_config.team.permission" )
89107 _ = viper .BindEnv ("sync_config.team.units" )
90- _ = viper .BindEnv ("sync_config.team.units_map" )
91108
92109 for _ , v := range viper .AllKeys () {
93110 zap .S ().Debug (v , ": " , viper .GetString (v ))
@@ -135,10 +152,10 @@ func (c Config) checkConfig() {
135152 zap .L ().Info ("LDAP_USER_SEARCH_BASE is empty" )
136153 missing = true
137154 }
138- if len (c .LDAP .UserIdentityAttribute ) == 0 {
139- zap .L ().Info ("LDAP_USER_IDENTITY_ATTRIBUTE is empty, using default: 'sAMAccountName'" )
155+ if len (c .LDAP .UserUsernameAttribute ) == 0 {
156+ zap .L ().Info ("LDAP_USER_USERNAME_ATTRIBUTE is empty, using default: 'sAMAccountName'" )
140157 }
141- if len (c .LDAP .UserFullName ) == 0 {
158+ if len (c .LDAP .UserFullNameAttribute ) == 0 {
142159 zap .L ().Info ("LDAP_USER_FULLNAME is empty, using default: 'cn'" )
143160 }
144161 if len (c .LDAP .GroupFilter ) == 0 {
0 commit comments