16347: Run a dedicated keepstore process for each container.
[arvados.git] / sdk / go / arvados / config.go
index 2e39985c2a7cca989866d20eb250f1643873739e..b84e1eefaabfb154ed27478b9a39cc58bf629824 100644 (file)
@@ -63,8 +63,18 @@ type WebDAVCacheConfig struct {
        MaxBlockEntries      int
        MaxCollectionEntries int
        MaxCollectionBytes   int64
-       MaxPermissionEntries int
        MaxUUIDEntries       int
+       MaxSessions          int
+}
+
+type UploadDownloadPermission struct {
+       Upload   bool
+       Download bool
+}
+
+type UploadDownloadRolePermissions struct {
+       User  UploadDownloadPermission
+       Admin UploadDownloadPermission
 }
 
 type Cluster struct {
@@ -86,6 +96,7 @@ type Cluster struct {
                MaxKeepBlobBuffers             int
                MaxRequestAmplification        int
                MaxRequestSize                 int
+               MaxTokenLifetime               Duration
                RequestTimeout                 Duration
                SendTimeout                    Duration
                WebsocketClientEventQueue      int
@@ -126,8 +137,13 @@ type Cluster struct {
                BalanceCollectionBatch   int
                BalanceCollectionBuffers int
                BalanceTimeout           Duration
+               BalanceUpdateLimit       int
 
                WebDAVCache WebDAVCacheConfig
+
+               KeepproxyPermission UploadDownloadRolePermissions
+               WebDAVPermission    UploadDownloadRolePermissions
+               WebDAVLogEvents     bool
        }
        Git struct {
                GitCommand   string
@@ -165,6 +181,8 @@ type Cluster struct {
                        EmailClaim                      string
                        EmailVerifiedClaim              string
                        UsernameClaim                   string
+                       AcceptAccessToken               bool
+                       AcceptAccessTokenScope          string
                        AuthenticationRequestParameters map[string]string
                }
                PAM struct {
@@ -172,11 +190,6 @@ type Cluster struct {
                        Service            string
                        DefaultEmailDomain string
                }
-               SSO struct {
-                       Enable            bool
-                       ProviderAppID     string
-                       ProviderAppSecret string
-               }
                Test struct {
                        Enable bool
                        Users  map[string]TestUser
@@ -185,6 +198,7 @@ type Cluster struct {
                RemoteTokenRefresh Duration
                TokenLifetime      Duration
                TrustedClients     map[string]struct{}
+               IssueTrustedTokens bool
        }
        Mail struct {
                MailchimpAPIKey                string
@@ -219,12 +233,14 @@ type Cluster struct {
                NewUserNotificationRecipients         StringSet
                NewUsersAreActive                     bool
                UserNotifierEmailFrom                 string
+               UserNotifierEmailBcc                  StringSet
                UserProfileNotificationAddress        string
                PreferDomainForUsername               string
                UserSetupMailText                     string
        }
-       Volumes   map[string]Volume
-       Workbench struct {
+       StorageClasses map[string]StorageClassConfig
+       Volumes        map[string]Volume
+       Workbench      struct {
                ActivationContactLink            string
                APIClientConnectTimeout          Duration
                APIClientReceiveTimeout          Duration
@@ -264,8 +280,11 @@ type Cluster struct {
                SSHHelpHostSuffix      string
                IdleTimeout            Duration
        }
+}
 
-       ForceLegacyAPI14 bool
+type StorageClassConfig struct {
+       Default  bool
+       Priority int
 }
 
 type Volume struct {
@@ -279,8 +298,8 @@ type Volume struct {
 
 type S3VolumeDriverParameters struct {
        IAMRole            string
-       AccessKey          string
-       SecretKey          string
+       AccessKeyID        string
+       SecretAccessKey    string
        Endpoint           string
        Region             string
        Bucket             string
@@ -292,6 +311,7 @@ type S3VolumeDriverParameters struct {
        ReadTimeout        Duration
        RaceWindow         Duration
        UnsafeDelete       bool
+       PrefixLength       int
 }
 
 type AzureVolumeDriverParameters struct {
@@ -317,6 +337,7 @@ type Services struct {
        Composer       Service
        Controller     Service
        DispatchCloud  Service
+       DispatchLSF    Service
        GitHTTP        Service
        GitSSH         Service
        Health         Service
@@ -324,7 +345,6 @@ type Services struct {
        Keepproxy      Service
        Keepstore      Service
        RailsAPI       Service
-       SSO            Service
        WebDAVDownload Service
        WebDAV         Service
        WebShell       Service
@@ -414,6 +434,8 @@ type ContainersConfig struct {
        StaleLockTimeout            Duration
        SupportedDockerImageFormats StringSet
        UsePreemptibleInstances     bool
+       RuntimeEngine               string
+       LocalKeepBlobBuffersPerVCPU int
 
        JobsAPI struct {
                Enable         string
@@ -431,6 +453,10 @@ type ContainersConfig struct {
                LogUpdatePeriod              Duration
                LogUpdateSize                ByteSize
        }
+       ShellAccess struct {
+               Admin bool
+               User  bool
+       }
        SLURM struct {
                PrioritySpread             int64
                SbatchArgumentsList        []string
@@ -445,6 +471,10 @@ type ContainersConfig struct {
                        AssignNodeHostname     string
                }
        }
+       LSF struct {
+               BsubSudoUser      string
+               BsubArgumentsList []string
+       }
 }
 
 type CloudVMsConfig struct {
@@ -581,6 +611,7 @@ const (
        ServiceNameRailsAPI      ServiceName = "arvados-api-server"
        ServiceNameController    ServiceName = "arvados-controller"
        ServiceNameDispatchCloud ServiceName = "arvados-dispatch-cloud"
+       ServiceNameDispatchLSF   ServiceName = "arvados-dispatch-lsf"
        ServiceNameHealth        ServiceName = "arvados-health"
        ServiceNameWorkbench1    ServiceName = "arvados-workbench1"
        ServiceNameWorkbench2    ServiceName = "arvados-workbench2"
@@ -598,6 +629,7 @@ func (svcs Services) Map() map[ServiceName]Service {
                ServiceNameRailsAPI:      svcs.RailsAPI,
                ServiceNameController:    svcs.Controller,
                ServiceNameDispatchCloud: svcs.DispatchCloud,
+               ServiceNameDispatchLSF:   svcs.DispatchLSF,
                ServiceNameHealth:        svcs.Health,
                ServiceNameWorkbench1:    svcs.Workbench1,
                ServiceNameWorkbench2:    svcs.Workbench2,