Merge branch '20978-instance-types'
[arvados.git] / lib / config / export.go
index 9fe7d6cf27537442497fbf10debe3d392f379692..3b577b023fd927326a352be4e8e2ce7af20c9d82 100644 (file)
@@ -37,8 +37,8 @@ func ExportJSON(w io.Writer, cluster *arvados.Cluster) error {
        return json.NewEncoder(w).Encode(m)
 }
 
-// whitelist classifies configs as safe/unsafe to reveal to
-// unauthenticated clients.
+// whitelist classifies configs as safe/unsafe to reveal through the API
+// endpoint. Note that endpoint does not require authentication.
 //
 // Every config entry must either be listed explicitly here along with
 // all of its parent keys (e.g., "API" + "API.RequestTimeout"), or
@@ -62,16 +62,24 @@ var whitelist = map[string]bool{
        "API":                                      true,
        "API.AsyncPermissionsUpdateInterval":       false,
        "API.DisabledAPIs":                         false,
+       "API.FreezeProjectRequiresDescription":     true,
+       "API.FreezeProjectRequiresProperties":      true,
+       "API.FreezeProjectRequiresProperties.*":    true,
        "API.KeepServiceRequestTimeout":            false,
+       "API.LockBeforeUpdate":                     false,
+       "API.LogCreateRequestFraction":             false,
        "API.MaxConcurrentRequests":                false,
        "API.MaxIndexDatabaseRead":                 false,
        "API.MaxItemsPerResponse":                  true,
        "API.MaxKeepBlobBuffers":                   false,
+       "API.MaxQueuedRequests":                    false,
+       "API.MaxQueueTimeForLockRequests":          false,
        "API.MaxRequestAmplification":              false,
        "API.MaxRequestSize":                       true,
        "API.MaxTokenLifetime":                     false,
        "API.RequestTimeout":                       true,
        "API.SendTimeout":                          true,
+       "API.UnfreezeProjectRequiresAdmin":         true,
        "API.VocabularyPath":                       false,
        "API.WebsocketClientEventQueue":            false,
        "API.WebsocketServerEventQueue":            false,
@@ -100,6 +108,7 @@ var whitelist = map[string]bool{
        "Collections.DefaultReplication":           true,
        "Collections.DefaultTrashLifetime":         true,
        "Collections.ForwardSlashNameSubstitution": true,
+       "Collections.KeepproxyPermission":          false,
        "Collections.ManagedProperties":            true,
        "Collections.ManagedProperties.*":          true,
        "Collections.ManagedProperties.*.*":        true,
@@ -108,10 +117,10 @@ var whitelist = map[string]bool{
        "Collections.TrashSweepInterval":           false,
        "Collections.TrustAllContent":              true,
        "Collections.WebDAVCache":                  false,
-       "Collections.KeepproxyPermission":          false,
-       "Collections.WebDAVPermission":             false,
        "Collections.WebDAVLogEvents":              false,
+       "Collections.WebDAVPermission":             false,
        "Containers":                               true,
+       "Containers.AlwaysUsePreemptibleInstances": true,
        "Containers.CloudVMs":                      false,
        "Containers.CrunchRunArgumentsList":        false,
        "Containers.CrunchRunCommand":              false,
@@ -125,10 +134,11 @@ var whitelist = map[string]bool{
        "Containers.Logging":                       false,
        "Containers.LogReuseDecisions":             false,
        "Containers.LSF":                           false,
-       "Containers.MaxComputeVMs":                 false,
        "Containers.MaxDispatchAttempts":           false,
+       "Containers.MaximumPriceFactor":            true,
        "Containers.MaxRetryAttempts":              true,
        "Containers.MinRetryPeriod":                true,
+       "Containers.PreemptiblePriceFactor":        false,
        "Containers.ReserveExtraRAM":               true,
        "Containers.RuntimeEngine":                 true,
        "Containers.ShellAccess":                   true,
@@ -138,11 +148,11 @@ var whitelist = map[string]bool{
        "Containers.StaleLockTimeout":              false,
        "Containers.SupportedDockerImageFormats":   true,
        "Containers.SupportedDockerImageFormats.*": true,
-       "Containers.AlwaysUsePreemptibleInstances": true,
        "Git":                                  false,
        "InstanceTypes":                        true,
        "InstanceTypes.*":                      true,
        "InstanceTypes.*.*":                    true,
+       "InstanceTypes.*.*.*":                  true,
        "Login":                                true,
        "Login.Google":                         true,
        "Login.Google.AlternateEmailAddresses": false,
@@ -150,11 +160,13 @@ var whitelist = map[string]bool{
        "Login.Google.ClientID":                               false,
        "Login.Google.ClientSecret":                           false,
        "Login.Google.Enable":                                 true,
+       "Login.IssueTrustedTokens":                            false,
        "Login.LDAP":                                          true,
        "Login.LDAP.AppendDomain":                             false,
        "Login.LDAP.EmailAttribute":                           false,
        "Login.LDAP.Enable":                                   true,
        "Login.LDAP.InsecureTLS":                              false,
+       "Login.LDAP.MinTLSVersion":                            false,
        "Login.LDAP.SearchAttribute":                          false,
        "Login.LDAP.SearchBase":                               false,
        "Login.LDAP.SearchBindPassword":                       false,
@@ -185,8 +197,8 @@ var whitelist = map[string]bool{
        "Login.Test.Enable":                                   true,
        "Login.Test.Users":                                    false,
        "Login.TokenLifetime":                                 false,
-       "Login.IssueTrustedTokens":                            false,
        "Login.TrustedClients":                                false,
+       "Login.TrustPrivateNetworks":                          false,
        "Mail":                                                true,
        "Mail.EmailFrom":                                      false,
        "Mail.IssueReporterEmailFrom":                         false,
@@ -215,8 +227,12 @@ var whitelist = map[string]bool{
        "SystemLogs":                                          false,
        "SystemRootToken":                                     false,
        "TLS":                                                 false,
+       "TLS.Certificate":                                     false,
+       "TLS.Insecure":                                        true,
+       "TLS.Key":                                             false,
        "Users":                                               true,
        "Users.ActivatedUsersAreVisibleToOthers":              false,
+       "Users.ActivityLoggingPeriod":                         false,
        "Users.AdminNotifierEmailFrom":                        false,
        "Users.AnonymousUserToken":                            true,
        "Users.AutoAdminFirstUser":                            false,
@@ -225,16 +241,23 @@ var whitelist = map[string]bool{
        "Users.AutoSetupNewUsersWithRepository":               false,
        "Users.AutoSetupNewUsersWithVmUUID":                   false,
        "Users.AutoSetupUsernameBlacklist":                    false,
+       "Users.CanCreateRoleGroups":                           true,
        "Users.EmailSubjectPrefix":                            false,
        "Users.NewInactiveUserNotificationRecipients":         false,
        "Users.NewUserNotificationRecipients":                 false,
        "Users.NewUsersAreActive":                             false,
        "Users.PreferDomainForUsername":                       false,
-       "Users.UserNotifierEmailFrom":                         false,
+       "Users.RoleGroupsVisibleToAll":                        false,
+       "Users.SyncIgnoredGroups":                             true,
+       "Users.SyncRequiredGroups":                            true,
+       "Users.SyncUserAccounts":                              true,
+       "Users.SyncUserAPITokens":                             true,
+       "Users.SyncUserGroups":                                true,
+       "Users.SyncUserSSHKeys":                               true,
        "Users.UserNotifierEmailBcc":                          false,
+       "Users.UserNotifierEmailFrom":                         false,
        "Users.UserProfileNotificationAddress":                false,
        "Users.UserSetupMailText":                             false,
-       "Users.RoleGroupsVisibleToAll":                        false,
        "Volumes":                                             true,
        "Volumes.*":                                           true,
        "Volumes.*.*":                                         false,
@@ -254,7 +277,9 @@ var whitelist = map[string]bool{
        "Workbench.ApplicationMimetypesWithViewIcon.*":        true,
        "Workbench.ArvadosDocsite":                            true,
        "Workbench.ArvadosPublicDataDocURL":                   true,
+       "Workbench.BannerUUID":                                true,
        "Workbench.DefaultOpenIdPrefix":                       false,
+       "Workbench.DisableSharingURLsUI":                      true,
        "Workbench.EnableGettingStartedPopup":                 true,
        "Workbench.EnablePublicProjectsPage":                  true,
        "Workbench.FileViewersConfigURL":                      true,