15000: Move exported config threshold to "needed by clients".
authorTom Clegg <tclegg@veritasgenetics.com>
Thu, 13 Jun 2019 19:46:01 +0000 (15:46 -0400)
committerTom Clegg <tclegg@veritasgenetics.com>
Thu, 13 Jun 2019 19:46:01 +0000 (15:46 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg@veritasgenetics.com>

lib/config/export.go

index fca6b93a898da354bf66000f54eed9c7bb24e1b2..39344c0f0497c859949d168d799a538bdc579e6c 100644 (file)
@@ -55,175 +55,73 @@ func ExportJSON(w io.Writer, cluster *arvados.Cluster) error {
 // exists.
 var whitelist = map[string]bool{
        // | sort -t'"' -k2,2
-       "API":                                                    true,
-       "API.AsyncPermissionsUpdateInterval":                     true,
-       "API.DisabledAPIs":                                       true,
-       "API.MaxIndexDatabaseRead":                               true,
-       "API.MaxItemsPerResponse":                                true,
-       "API.MaxRequestAmplification":                            true,
-       "API.MaxRequestSize":                                     true,
-       "API.RailsSessionSecretToken":                            false,
-       "API.RequestTimeout":                                     true,
-       "AuditLogs":                                              true,
-       "AuditLogs.MaxAge":                                       true,
-       "AuditLogs.MaxDeleteBatch":                               true,
-       "AuditLogs.UnloggedAttributes":                           true,
-       "Collections":                                            true,
-       "Collections.BlobSigning":                                true,
-       "Collections.BlobSigningKey":                             false,
-       "Collections.BlobSigningTTL":                             true,
-       "Collections.CollectionVersioning":                       true,
-       "Collections.DefaultReplication":                         true,
-       "Collections.DefaultTrashLifetime":                       true,
-       "Collections.PreserveVersionIfIdle":                      true,
-       "Collections.TrashSweepInterval":                         true,
-       "Containers":                                             true,
-       "Containers.CloudVMs":                                    true,
-       "Containers.CloudVMs.BootProbeCommand":                   true,
-       "Containers.CloudVMs.Driver":                             true,
-       "Containers.CloudVMs.DriverParameters":                   false,
-       "Containers.CloudVMs.Enable":                             true,
-       "Containers.CloudVMs.ImageID":                            true,
-       "Containers.CloudVMs.MaxCloudOpsPerSecond":               true,
-       "Containers.CloudVMs.MaxProbesPerSecond":                 true,
-       "Containers.CloudVMs.PollInterval":                       true,
-       "Containers.CloudVMs.ProbeInterval":                      true,
-       "Containers.CloudVMs.ResourceTags":                       true,
-       "Containers.CloudVMs.ResourceTags.*":                     true,
-       "Containers.CloudVMs.SSHPort":                            true,
-       "Containers.CloudVMs.SyncInterval":                       true,
-       "Containers.CloudVMs.TagKeyPrefix":                       true,
-       "Containers.CloudVMs.TimeoutBooting":                     true,
-       "Containers.CloudVMs.TimeoutIdle":                        true,
-       "Containers.CloudVMs.TimeoutProbe":                       true,
-       "Containers.CloudVMs.TimeoutShutdown":                    true,
-       "Containers.CloudVMs.TimeoutSignal":                      true,
-       "Containers.CloudVMs.TimeoutTERM":                        true,
-       "Containers.DefaultKeepCacheRAM":                         true,
-       "Containers.DispatchPrivateKey":                          true,
-       "Containers.JobsAPI":                                     true,
-       "Containers.JobsAPI.CrunchJobUser":                       true,
-       "Containers.JobsAPI.CrunchJobWrapper":                    true,
-       "Containers.JobsAPI.CrunchRefreshTrigger":                true,
-       "Containers.JobsAPI.DefaultDockerImage":                  true,
-       "Containers.JobsAPI.Enable":                              true,
-       "Containers.JobsAPI.GitInternalDir":                      true,
-       "Containers.JobsAPI.ReuseJobIfOutputsDiffer":             true,
-       "Containers.Logging":                                     true,
-       "Containers.Logging.LimitLogBytesPerJob":                 true,
-       "Containers.Logging.LogBytesPerEvent":                    true,
-       "Containers.Logging.LogPartialLineThrottlePeriod":        true,
-       "Containers.Logging.LogSecondsBetweenEvents":             true,
-       "Containers.Logging.LogThrottleBytes":                    true,
-       "Containers.Logging.LogThrottleLines":                    true,
-       "Containers.Logging.LogThrottlePeriod":                   true,
-       "Containers.Logging.LogUpdatePeriod":                     true,
-       "Containers.Logging.LogUpdateSize":                       true,
-       "Containers.Logging.MaxAge":                              true,
-       "Containers.LogReuseDecisions":                           true,
-       "Containers.MaxComputeVMs":                               true,
-       "Containers.MaxDispatchAttempts":                         true,
-       "Containers.MaxRetryAttempts":                            true,
-       "Containers.SLURM":                                       true,
-       "Containers.SLURM.Managed":                               true,
-       "Containers.SLURM.Managed.AssignNodeHostname":            true,
-       "Containers.SLURM.Managed.ComputeNodeDomain":             false,
-       "Containers.SLURM.Managed.ComputeNodeNameservers":        false,
-       "Containers.SLURM.Managed.DNSServerConfDir":              true,
-       "Containers.SLURM.Managed.DNSServerConfTemplate":         true,
-       "Containers.SLURM.Managed.DNSServerReloadCommand":        false,
-       "Containers.SLURM.Managed.DNSServerUpdateCommand":        false,
-       "Containers.StaleLockTimeout":                            true,
-       "Containers.SupportedDockerImageFormats":                 true,
-       "Containers.UsePreemptibleInstances":                     true,
-       "Git":                                                    true,
-       "Git.Repositories":                                       true,
-       "InstanceTypes":                                          true,
-       "InstanceTypes.*":                                        true,
-       "InstanceTypes.*.*":                                      true,
-       "Login":                                                  true,
-       "Login.ProviderAppID":                                    false,
-       "Login.ProviderAppSecret":                                false,
-       "Mail":                                                   true,
-       "Mail.EmailFrom":                                         true,
-       "Mail.IssueReporterEmailFrom":                            true,
-       "Mail.IssueReporterEmailTo":                              true,
-       "Mail.MailchimpAPIKey":                                   false,
-       "Mail.MailchimpListID":                                   false,
-       "Mail.SendUserSetupNotificationEmail":                    true,
-       "Mail.SupportEmailAddress":                               true,
-       "ManagementToken":                                        false,
-       "PostgreSQL":                                             true,
-       "PostgreSQL.Connection":                                  false,
-       "PostgreSQL.ConnectionPool":                              true,
-       "RemoteClusters":                                         true,
-       "RemoteClusters.*":                                       true,
-       "RemoteClusters.*.ActivateUsers":                         true,
-       "RemoteClusters.*.Host":                                  true,
-       "RemoteClusters.*.Insecure":                              true,
-       "RemoteClusters.*.Proxy":                                 true,
-       "RemoteClusters.*.Scheme":                                true,
-       "Services":                                               true,
-       "Services.*":                                             true,
-       "Services.*.ExternalURL":                                 true,
-       "Services.*.InternalURLs":                                true,
-       "Services.*.InternalURLs.*":                              true,
-       "Services.*.InternalURLs.*.*":                            true,
-       "SystemLogs":                                             true,
-       "SystemLogs.Format":                                      true,
-       "SystemLogs.LogLevel":                                    true,
-       "SystemLogs.MaxRequestLogParamsSize":                     true,
-       "SystemRootToken":                                        false,
-       "TLS":                                                    true,
-       "TLS.Certificate":                                        true,
-       "TLS.Insecure":                                           true,
-       "TLS.Key":                                                false,
-       "Users":                                                  true,
-       "Users.AdminNotifierEmailFrom":                           true,
-       "Users.AutoAdminFirstUser":                               false,
-       "Users.AutoAdminUserWithEmail":                           false,
-       "Users.AutoSetupNewUsers":                                true,
-       "Users.AutoSetupNewUsersWithRepository":                  true,
-       "Users.AutoSetupNewUsersWithVmUUID":                      true,
-       "Users.AutoSetupUsernameBlacklist":                       false,
-       "Users.EmailSubjectPrefix":                               true,
-       "Users.NewInactiveUserNotificationRecipients":            false,
-       "Users.NewUserNotificationRecipients":                    false,
-       "Users.NewUsersAreActive":                                true,
-       "Users.UserNotifierEmailFrom":                            true,
-       "Users.UserProfileNotificationAddress":                   true,
-       "Workbench":                                              true,
-       "Workbench.ActivationContactLink":                        true,
-       "Workbench.APIClientConnectTimeout":                      true,
-       "Workbench.APIClientReceiveTimeout":                      true,
-       "Workbench.APIResponseCompression":                       true,
-       "Workbench.ApplicationMimetypesWithViewIcon":             true,
-       "Workbench.ApplicationMimetypesWithViewIcon.*":           true,
-       "Workbench.ArvadosDocsite":                               true,
-       "Workbench.ArvadosPublicDataDocURL":                      true,
-       "Workbench.EnableGettingStartedPopup":                    true,
-       "Workbench.EnablePublicProjectsPage":                     true,
-       "Workbench.FileViewersConfigURL":                         true,
-       "Workbench.LogViewerMaxBytes":                            true,
-       "Workbench.MultiSiteSearch":                              true,
-       "Workbench.Repositories":                                 true,
-       "Workbench.RepositoryCache":                              true,
-       "Workbench.RunningJobLogRecordsToFetch":                  true,
-       "Workbench.SecretKeyBase":                                false,
-       "Workbench.SecretToken":                                  false,
-       "Workbench.ShowRecentCollectionsOnDashboard":             true,
-       "Workbench.ShowUserAgreementInline":                      true,
-       "Workbench.ShowUserNotifications":                        true,
-       "Workbench.SiteName":                                     true,
-       "Workbench.Theme":                                        true,
-       "Workbench.UserProfileFormFields":                        true,
-       "Workbench.UserProfileFormFields.*":                      true,
-       "Workbench.UserProfileFormFields.*.Type":                 true,
-       "Workbench.UserProfileFormFields.*.FormFieldTitle":       true,
-       "Workbench.UserProfileFormFields.*.FormFieldDescription": true,
-       "Workbench.UserProfileFormFields.*.Required":             true,
-       "Workbench.UserProfileFormMessage":                       true,
-       "Workbench.VocabularyURL":                                true,
+       "API":                                        true,
+       "API.AsyncPermissionsUpdateInterval":         false,
+       "API.DisabledAPIs":                           false,
+       "API.MaxIndexDatabaseRead":                   false,
+       "API.MaxItemsPerResponse":                    true,
+       "API.MaxRequestAmplification":                false,
+       "API.MaxRequestSize":                         true,
+       "API.RailsSessionSecretToken":                false,
+       "API.RequestTimeout":                         true,
+       "AuditLogs":                                  false,
+       "AuditLogs.MaxAge":                           false,
+       "AuditLogs.MaxDeleteBatch":                   false,
+       "AuditLogs.UnloggedAttributes":               false,
+       "Collections":                                true,
+       "Collections.BlobSigning":                    true,
+       "Collections.BlobSigningKey":                 false,
+       "Collections.BlobSigningTTL":                 true,
+       "Collections.CollectionVersioning":           false,
+       "Collections.DefaultReplication":             true,
+       "Collections.DefaultTrashLifetime":           true,
+       "Collections.PreserveVersionIfIdle":          true,
+       "Collections.TrashSweepInterval":             false,
+       "Containers":                                 true,
+       "Containers.CloudVMs":                        false,
+       "Containers.DefaultKeepCacheRAM":             true,
+       "Containers.DispatchPrivateKey":              false,
+       "Containers.JobsAPI":                         true,
+       "Containers.JobsAPI.CrunchJobUser":           false,
+       "Containers.JobsAPI.CrunchJobWrapper":        false,
+       "Containers.JobsAPI.CrunchRefreshTrigger":    false,
+       "Containers.JobsAPI.DefaultDockerImage":      false,
+       "Containers.JobsAPI.Enable":                  true,
+       "Containers.JobsAPI.GitInternalDir":          false,
+       "Containers.JobsAPI.ReuseJobIfOutputsDiffer": false,
+       "Containers.Logging":                         false,
+       "Containers.LogReuseDecisions":               false,
+       "Containers.MaxComputeVMs":                   false,
+       "Containers.MaxDispatchAttempts":             false,
+       "Containers.MaxRetryAttempts":                true,
+       "Containers.SLURM":                           false,
+       "Containers.StaleLockTimeout":                false,
+       "Containers.SupportedDockerImageFormats":     true,
+       "Containers.UsePreemptibleInstances":         true,
+       "Git":                                        false,
+       "InstanceTypes":                              true,
+       "InstanceTypes.*":                            true,
+       "InstanceTypes.*.*":                          true,
+       "Login":                                      false,
+       "Mail":                                       false,
+       "ManagementToken":                            false,
+       "PostgreSQL":                                 false,
+       "RemoteClusters":                             true,
+       "RemoteClusters.*":                           true,
+       "RemoteClusters.*.ActivateUsers":             true,
+       "RemoteClusters.*.Host":                      true,
+       "RemoteClusters.*.Insecure":                  true,
+       "RemoteClusters.*.Proxy":                     true,
+       "RemoteClusters.*.Scheme":                    true,
+       "Services":                                   true,
+       "Services.*":                                 true,
+       "Services.*.ExternalURL":                     true,
+       "Services.*.InternalURLs":                    false,
+       "SystemLogs":                                 false,
+       "SystemRootToken":                            false,
+       "TLS":                                        false,
+       "Users":                                      false,
+       "Workbench":                                  false,
 }
 
 func redactUnsafe(m map[string]interface{}, mPrefix, lookupPrefix string) error {