github.com/minio/minio@v0.0.0-20240328213742-3f72439b8a27/internal/config/api/help.go (about)

     1  // Copyright (c) 2015-2023 MinIO, Inc.
     2  //
     3  // This file is part of MinIO Object Storage stack
     4  //
     5  // This program is free software: you can redistribute it and/or modify
     6  // it under the terms of the GNU Affero General Public License as published by
     7  // the Free Software Foundation, either version 3 of the License, or
     8  // (at your option) any later version.
     9  //
    10  // This program is distributed in the hope that it will be useful
    11  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    13  // GNU Affero General Public License for more details.
    14  //
    15  // You should have received a copy of the GNU Affero General Public License
    16  // along with this program.  If not, see <http://www.gnu.org/licenses/>.
    17  
    18  package api
    19  
    20  import "github.com/minio/minio/internal/config"
    21  
    22  var (
    23  	defaultHelpPostfix = func(key string) string {
    24  		return config.DefaultHelpPostfix(DefaultKVS, key)
    25  	}
    26  
    27  	// Help holds configuration keys and their default values for api subsystem.
    28  	Help = config.HelpKVS{
    29  		config.HelpKV{
    30  			Key:         apiRequestsMax,
    31  			Description: `set the maximum number of concurrent requests` + defaultHelpPostfix(apiRequestsMax),
    32  			Optional:    true,
    33  			Type:        "number",
    34  		},
    35  		config.HelpKV{
    36  			Key:         apiRequestsDeadline,
    37  			Description: `set the deadline for API requests waiting to be processed` + defaultHelpPostfix(apiRequestsDeadline),
    38  			Optional:    true,
    39  			Type:        "duration",
    40  		},
    41  		config.HelpKV{
    42  			Key:         apiClusterDeadline,
    43  			Description: `set the deadline for cluster readiness check` + defaultHelpPostfix(apiClusterDeadline),
    44  			Optional:    true,
    45  			Type:        "duration",
    46  		},
    47  		config.HelpKV{
    48  			Key:         apiCorsAllowOrigin,
    49  			Description: `set comma separated list of origins allowed for CORS requests` + defaultHelpPostfix(apiCorsAllowOrigin),
    50  			Optional:    true,
    51  			Type:        "csv",
    52  		},
    53  		config.HelpKV{
    54  			Key:         apiRemoteTransportDeadline,
    55  			Description: `set the deadline for API requests on remote transports while proxying between federated instances e.g. "2h"` + defaultHelpPostfix(apiRemoteTransportDeadline),
    56  			Optional:    true,
    57  			Type:        "duration",
    58  		},
    59  		config.HelpKV{
    60  			Key:         apiListQuorum,
    61  			Description: `set the acceptable quorum expected for list operations e.g. "optimal", "reduced", "disk", "strict", "auto"` + defaultHelpPostfix(apiListQuorum),
    62  			Optional:    true,
    63  			Type:        "string",
    64  		},
    65  		config.HelpKV{
    66  			Key:         apiReplicationPriority,
    67  			Description: `set replication priority` + defaultHelpPostfix(apiReplicationPriority),
    68  			Optional:    true,
    69  			Type:        "string",
    70  		},
    71  		config.HelpKV{
    72  			Key:         apiReplicationMaxWorkers,
    73  			Description: `set the maximum number of replication workers` + defaultHelpPostfix(apiReplicationMaxWorkers),
    74  			Optional:    true,
    75  			Type:        "number",
    76  		},
    77  		config.HelpKV{
    78  			Key:         apiTransitionWorkers,
    79  			Description: `set the number of transition workers` + defaultHelpPostfix(apiTransitionWorkers),
    80  			Optional:    true,
    81  			Type:        "number",
    82  		},
    83  		config.HelpKV{
    84  			Key:         apiStaleUploadsExpiry,
    85  			Description: `set to expire stale multipart uploads older than this values` + defaultHelpPostfix(apiStaleUploadsExpiry),
    86  			Optional:    true,
    87  			Type:        "duration",
    88  		},
    89  		config.HelpKV{
    90  			Key:         apiStaleUploadsCleanupInterval,
    91  			Description: `set to change intervals when stale multipart uploads are expired` + defaultHelpPostfix(apiStaleUploadsCleanupInterval),
    92  			Optional:    true,
    93  			Type:        "duration",
    94  		},
    95  		config.HelpKV{
    96  			Key:         apiDeleteCleanupInterval,
    97  			Description: `set to change intervals when deleted objects are permanently deleted from ".trash" folder` + defaultHelpPostfix(apiDeleteCleanupInterval),
    98  			Optional:    true,
    99  			Type:        "duration",
   100  		},
   101  		config.HelpKV{
   102  			Key:         apiODirect,
   103  			Description: "set to enable or disable O_DIRECT for writes under special conditions. NOTE: do not disable O_DIRECT without prior testing" + defaultHelpPostfix(apiODirect),
   104  			Optional:    true,
   105  			Type:        "boolean",
   106  		},
   107  		config.HelpKV{
   108  			Key:         apiRootAccess,
   109  			Description: "turn 'off' root credential access for all API calls including s3, admin operations" + defaultHelpPostfix(apiRootAccess),
   110  			Optional:    true,
   111  			Type:        "boolean",
   112  		},
   113  		config.HelpKV{
   114  			Key:         apiSyncEvents,
   115  			Description: "set to enable synchronous bucket notifications" + defaultHelpPostfix(apiSyncEvents),
   116  			Optional:    true,
   117  			Type:        "boolean",
   118  		},
   119  		config.HelpKV{
   120  			Key:         apiObjectMaxVersions,
   121  			Description: "set max allowed number of versions per object" + defaultHelpPostfix(apiObjectMaxVersions),
   122  			Optional:    true,
   123  			Type:        "number",
   124  		},
   125  	}
   126  )