2021-04-18 15:41:13 -04:00
// Copyright (c) 2015-2021 MinIO, Inc.
//
// This file is part of MinIO Object Storage stack
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
2018-05-08 22:04:36 -04:00
2019-10-04 13:35:33 -04:00
package config
2018-05-08 22:04:36 -04:00
2019-10-04 13:35:33 -04:00
// UI errors
2018-05-08 22:04:36 -04:00
var (
2022-05-30 13:58:37 -04:00
ErrInvalidFSValue = newErrFn (
"Invalid drive path" ,
"Please provide an existing deployment with MinIO" ,
"MinIO does not support newer NAS gateway deployments anymore refer https://github.com/minio/minio/issues/14331" ,
)
ErrInvalidXLValue = newErrFn (
"Invalid drive path" ,
"Please provide a fresh drive for single drive MinIO setup" ,
"MinIO only supports fresh drive paths" ,
)
2019-10-04 13:35:33 -04:00
ErrInvalidBrowserValue = newErrFn (
2021-06-17 23:27:04 -04:00
"Invalid console value" ,
2018-05-08 22:04:36 -04:00
"Please check the passed value" ,
2021-06-17 23:27:04 -04:00
"Environment can only accept `on` and `off` values. To disable Console access, set this value to `off`" ,
2018-05-08 22:04:36 -04:00
)
2020-05-12 22:24:59 -04:00
ErrInvalidFSOSyncValue = newErrFn (
"Invalid O_SYNC value" ,
"Please check the passed value" ,
"Can only accept `on` and `off` values. To enable O_SYNC for fs backend, set this value to `on`" ,
)
2021-01-28 14:44:48 -05:00
ErrOverlappingDomainValue = newErrFn (
"Overlapping domain values" ,
"Please check the passed value" ,
"MINIO_DOMAIN only accepts non-overlapping domain values" ,
)
2019-10-04 13:35:33 -04:00
ErrInvalidDomainValue = newErrFn (
2018-09-20 17:56:32 -04:00
"Invalid domain value" ,
"Please check the passed value" ,
2019-08-13 00:25:34 -04:00
"Domain can only accept DNS compatible values" ,
2018-09-20 17:56:32 -04:00
)
2019-10-04 13:35:33 -04:00
ErrInvalidErasureSetSize = newErrFn (
2018-08-15 19:35:21 -04:00
"Invalid erasure set size" ,
"Please check the passed value" ,
2020-04-14 02:08:14 -04:00
"Erasure set can only accept any of [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] values" ,
2018-08-15 19:35:21 -04:00
)
2019-10-04 13:35:33 -04:00
ErrInvalidWormValue = newErrFn (
2018-06-06 21:10:51 -04:00
"Invalid WORM value" ,
"Please check the passed value" ,
"WORM can only accept `on` and `off` values. To enable WORM, set this value to `on`" ,
)
2019-10-04 13:35:33 -04:00
ErrInvalidCacheDrivesValue = newErrFn (
2018-05-08 22:04:36 -04:00
"Invalid cache drive value" ,
2018-05-09 16:29:37 -04:00
"Please check the value in this ENV variable" ,
2019-11-20 18:10:24 -05:00
"MINIO_CACHE_DRIVES: Mounted drives or directories are delimited by `,`" ,
2018-05-08 22:04:36 -04:00
)
2019-10-04 13:35:33 -04:00
ErrInvalidCacheExcludesValue = newErrFn (
2018-05-08 22:04:36 -04:00
"Invalid cache excludes value" ,
"Please check the passed value" ,
2019-11-20 18:10:24 -05:00
"MINIO_CACHE_EXCLUDE: Cache exclusion patterns are delimited by `,`" ,
2018-05-08 22:04:36 -04:00
)
2019-10-04 13:35:33 -04:00
ErrInvalidCacheExpiryValue = newErrFn (
2018-05-08 22:04:36 -04:00
"Invalid cache expiry value" ,
"Please check the passed value" ,
2019-10-23 01:59:13 -04:00
"MINIO_CACHE_EXPIRY: Valid cache expiry duration must be in days" ,
2018-05-08 22:04:36 -04:00
)
2019-10-23 01:59:13 -04:00
ErrInvalidCacheQuota = newErrFn (
"Invalid cache quota value" ,
2018-06-25 13:24:12 -04:00
"Please check the passed value" ,
2019-10-23 01:59:13 -04:00
"MINIO_CACHE_QUOTA: Valid cache quota value must be between 0-100" ,
2018-06-25 13:24:12 -04:00
)
2020-02-03 22:40:01 -05:00
ErrInvalidCacheAfter = newErrFn (
"Invalid cache after value" ,
"Please check the passed value" ,
"MINIO_CACHE_AFTER: Valid cache after value must be 0 or greater" ,
)
2020-02-23 08:33:39 -05:00
ErrInvalidCacheWatermarkLow = newErrFn (
"Invalid cache low watermark value" ,
"Please check the passed value" ,
"MINIO_CACHE_WATERMARK_LOW: Valid cache low watermark value must be between 0-100" ,
)
ErrInvalidCacheWatermarkHigh = newErrFn (
"Invalid cache high watermark value" ,
"Please check the passed value" ,
"MINIO_CACHE_WATERMARK_HIGH: Valid cache high watermark value must be between 0-100" ,
)
2019-10-04 13:35:33 -04:00
ErrInvalidCacheEncryptionKey = newErrFn (
2019-08-23 13:13:22 -04:00
"Invalid cache encryption master key value" ,
"Please check the passed value" ,
2021-12-22 15:10:49 -05:00
"MINIO_CACHE_ENCRYPTION_SECRET_KEY: For more information, please refer to https://docs.min.io/docs/minio-disk-cache-guide" ,
2019-08-23 13:13:22 -04:00
)
2020-06-29 16:25:29 -04:00
ErrInvalidCacheRange = newErrFn (
"Invalid cache range value" ,
"Please check the passed value" ,
"MINIO_CACHE_RANGE: Valid expected value is `on` or `off`" ,
)
2020-11-02 13:00:45 -05:00
ErrInvalidCacheCommitValue = newErrFn (
"Invalid cache commit value" ,
"Please check the passed value" ,
"MINIO_CACHE_COMMIT: Valid expected value is `writeback` or `writethrough`" ,
)
2020-11-30 23:53:27 -05:00
ErrInvalidCacheSetting = newErrFn (
"Incompatible cache setting" ,
"Please check the passed value" ,
"MINIO_CACHE_AFTER cannot be used with MINIO_CACHE_COMMIT setting" ,
)
2019-11-01 18:53:16 -04:00
ErrInvalidCredentialsBackendEncrypted = newErrFn (
"Invalid credentials" ,
"Please set correct credentials in the environment for decryption" ,
2021-01-05 13:22:57 -05:00
` Detected encrypted config backend, correct access and secret keys should be specified via environment variables MINIO_ROOT_USER and MINIO_ROOT_PASSWORD to be able to decrypt the MinIO config, user IAM and policies ` ,
2019-11-01 18:53:16 -04:00
)
2019-10-04 13:35:33 -04:00
ErrInvalidCredentials = newErrFn (
2018-05-09 16:29:37 -04:00
"Invalid credentials" ,
2018-05-08 22:04:36 -04:00
"Please provide correct credentials" ,
2019-11-14 17:47:35 -05:00
` Access key length should be at least 3, and secret key length at least 8 characters ` ,
2018-05-08 22:04:36 -04:00
)
2021-06-11 01:28:09 -04:00
ErrMissingEnvCredentialRootUser = newErrFn (
"Missing credential environment variable, \"" + EnvRootUser + "\"" ,
"Environment variable \"" + EnvRootUser + "\" is missing" ,
` Root user name (access key) and root password (secret key) are expected to be specified via environment variables MINIO_ROOT_USER and MINIO_ROOT_PASSWORD respectively ` ,
)
ErrMissingEnvCredentialRootPassword = newErrFn (
"Missing credential environment variable, \"" + EnvRootPassword + "\"" ,
"Environment variable \"" + EnvRootPassword + "\" is missing" ,
` Root user name (access key) and root password (secret key) are expected to be specified via environment variables MINIO_ROOT_USER and MINIO_ROOT_PASSWORD respectively ` ,
)
ErrMissingEnvCredentialAccessKey = newErrFn (
"Missing credential environment variable, \"" + EnvAccessKey + "\"" ,
"Environment variables \"" + EnvAccessKey + "\" and \"" + EnvSecretKey + "\" are deprecated" ,
` Root user name (access key) and root password (secret key) are expected to be specified via environment variables MINIO_ROOT_USER and MINIO_ROOT_PASSWORD respectively ` ,
)
ErrMissingEnvCredentialSecretKey = newErrFn (
"Missing credential environment variable, \"" + EnvSecretKey + "\"" ,
"Environment variables \"" + EnvSecretKey + "\" and \"" + EnvAccessKey + "\" are deprecated" ,
` Root user name (access key) and root password (secret key) are expected to be specified via environment variables MINIO_ROOT_USER and MINIO_ROOT_PASSWORD respectively ` ,
2018-06-01 18:45:11 -04:00
)
2019-10-04 13:35:33 -04:00
ErrInvalidErasureEndpoints = newErrFn (
2018-05-09 16:29:37 -04:00
"Invalid endpoint(s) in erasure mode" ,
"Please provide correct combination of local/remote paths" ,
2019-04-09 14:39:42 -04:00
"For more information, please refer to https://docs.min.io/docs/minio-erasure-code-quickstart-guide" ,
2018-05-08 22:04:36 -04:00
)
2019-10-04 13:35:33 -04:00
ErrInvalidNumberOfErasureEndpoints = newErrFn (
2018-05-09 16:29:37 -04:00
"Invalid total number of endpoints for erasure mode" ,
2018-05-08 22:04:36 -04:00
"Please provide an even number of endpoints greater or equal to 4" ,
2019-04-09 14:39:42 -04:00
"For more information, please refer to https://docs.min.io/docs/minio-erasure-code-quickstart-guide" ,
2018-05-08 22:04:36 -04:00
)
2019-10-04 13:35:33 -04:00
ErrStorageClassValue = newErrFn (
2018-05-08 22:04:36 -04:00
"Invalid storage class value" ,
2018-05-09 16:29:37 -04:00
"Please check the value" ,
2019-08-13 00:25:34 -04:00
` MINIO_STORAGE_CLASS_STANDARD : Format "EC:<Default_Parity_Standard_Class>" ( e . g . "EC:3" ) . This sets the number of parity disks for MinIO server in Standard mode . Objects are stored in Standard mode , if storage class is not defined in Put request
MINIO_STORAGE_CLASS_RRS : Format "EC:<Default_Parity_Reduced_Redundancy_Class>" ( e . g . "EC:3" ) . This sets the number of parity disks for MinIO server in Reduced Redundancy mode . Objects are stored in Reduced Redundancy mode , if Put request specifies RRS storage class
Refer to the link https : //github.com/minio/minio/tree/master/docs/erasure/storage-class for more information`,
2018-05-08 22:04:36 -04:00
)
2019-10-04 13:35:33 -04:00
ErrUnexpectedBackendVersion = newErrFn (
2018-05-08 22:04:36 -04:00
"Backend version seems to be too recent" ,
2019-04-09 14:39:42 -04:00
"Please update to the latest MinIO version" ,
2018-05-08 22:04:36 -04:00
"" ,
)
2019-10-04 13:35:33 -04:00
ErrInvalidAddressFlag = newErrFn (
2018-05-08 22:04:36 -04:00
"--address input is invalid" ,
"Please check --address parameter" ,
2019-01-22 05:25:27 -05:00
` -- address binds to a specific ADDRESS : PORT , ADDRESS can be an IPv4 / IPv6 address or hostname ( default port is ' : 9000 ' )
Examples : -- address ' : 443 '
-- address ' 172.16 .34 .31 : 9000 '
-- address ' [ fe80 : : da00 : a6c8 : e3ae : ddd7 ] : 9000 ' ` ,
2018-05-08 22:04:36 -04:00
)
2019-10-04 13:35:33 -04:00
ErrInvalidFSEndpoint = newErrFn (
2018-05-09 16:29:37 -04:00
"Invalid endpoint for standalone FS mode" ,
"Please check the FS endpoint" ,
2019-08-13 00:25:34 -04:00
` FS mode requires only one writable disk path
2018-05-08 22:04:36 -04:00
Example 1 :
$ minio server / data / minio / ` ,
)
2020-05-07 19:12:16 -04:00
ErrUnsupportedBackend = newErrFn (
"Unable to write to the backend" ,
"Please ensure your disk supports O_DIRECT" ,
"" ,
)
2019-10-04 13:35:33 -04:00
ErrUnableToWriteInBackend = newErrFn (
2018-05-08 22:04:36 -04:00
"Unable to write to the backend" ,
2019-04-09 14:39:42 -04:00
"Please ensure MinIO binary has write permissions for the backend" ,
2019-08-13 00:25:34 -04:00
` Verify if MinIO binary is running as the same user who has write permissions for the backend ` ,
2018-05-08 22:04:36 -04:00
)
2019-10-04 13:35:33 -04:00
ErrPortAlreadyInUse = newErrFn (
2018-05-08 22:04:36 -04:00
"Port is already in use" ,
2018-05-09 16:29:37 -04:00
"Please ensure no other program uses the same address/port" ,
2018-05-08 22:04:36 -04:00
"" ,
)
2019-10-04 13:35:33 -04:00
ErrPortAccess = newErrFn (
2019-08-13 00:25:34 -04:00
"Unable to use specified port" ,
"Please ensure MinIO binary has 'cap_net_bind_service=+ep' permissions" ,
` Use 'sudo setcap cap_net_bind_service=+ep /path/to/minio' to provide sufficient permissions ` ,
)
2019-10-04 13:35:33 -04:00
ErrSSLUnexpectedError = newErrFn (
2018-05-08 22:04:36 -04:00
"Invalid TLS certificate" ,
"Please check the content of your certificate data" ,
2019-08-13 00:25:34 -04:00
` Only PEM (x.509) format is accepted as valid public & private certificates ` ,
2018-05-08 22:04:36 -04:00
)
2019-10-04 13:35:33 -04:00
ErrSSLUnexpectedData = newErrFn (
2018-05-09 16:29:37 -04:00
"Invalid TLS certificate" ,
2018-05-08 22:04:36 -04:00
"Please check your certificate" ,
"" ,
)
2019-10-04 13:35:33 -04:00
ErrSSLNoPassword = newErrFn (
2018-05-09 16:29:37 -04:00
"Missing TLS password" ,
2019-10-04 13:35:33 -04:00
"Please set the password to environment variable `MINIO_CERT_PASSWD` so that the private key can be decrypted" ,
2018-05-08 22:04:36 -04:00
"" ,
)
2019-10-04 13:35:33 -04:00
ErrNoCertsAndHTTPSEndpoints = newErrFn (
2018-05-09 16:29:37 -04:00
"HTTPS specified in endpoints, but no TLS certificate is found on the local machine" ,
2019-08-13 00:25:34 -04:00
"Please add TLS certificate or use HTTP endpoints only" ,
"Refer to https://docs.min.io/docs/how-to-secure-access-to-minio-server-with-tls for information about how to load a TLS certificate in your server" ,
2018-05-08 22:04:36 -04:00
)
2019-10-04 13:35:33 -04:00
ErrCertsAndHTTPEndpoints = newErrFn (
2018-05-09 16:29:37 -04:00
"HTTP specified in endpoints, but the server in the local machine is configured with a TLS certificate" ,
2018-05-08 22:04:36 -04:00
"Please remove the certificate in the configuration directory or switch to HTTPS" ,
"" ,
)
2019-10-04 13:35:33 -04:00
ErrSSLWrongPassword = newErrFn (
2018-05-08 22:04:36 -04:00
"Unable to decrypt the private key using the provided password" ,
2019-10-04 13:35:33 -04:00
"Please set the correct password in environment variable `MINIO_CERT_PASSWD`" ,
2018-05-08 22:04:36 -04:00
"" ,
)
2019-10-04 13:35:33 -04:00
ErrUnexpectedError = newErrFn (
2018-05-08 22:04:36 -04:00
"Unexpected error" ,
2019-04-09 14:39:42 -04:00
"Please contact MinIO at https://slack.min.io" ,
2018-05-08 22:04:36 -04:00
"" ,
)
2018-09-27 23:36:17 -04:00
2019-10-04 13:35:33 -04:00
ErrInvalidCompressionIncludesValue = newErrFn (
2018-09-27 23:36:17 -04:00
"Invalid compression include value" ,
"Please check the passed value" ,
2019-10-23 01:59:13 -04:00
"Compress extensions/mime-types are delimited by `,`. For eg, MINIO_COMPRESS_MIME_TYPES=\"A,B,C\"" ,
2018-09-27 23:36:17 -04:00
)
2019-01-05 17:16:43 -05:00
2019-10-04 13:35:33 -04:00
ErrInvalidGWSSEValue = newErrFn (
2019-01-05 17:16:43 -05:00
"Invalid gateway SSE value" ,
"Please check the passed value" ,
"MINIO_GATEWAY_SSE: Gateway SSE accepts only C and S3 as valid values. Delimit by `;` to set more than one value" ,
)
2019-10-04 13:35:33 -04:00
ErrInvalidGWSSEEnvValue = newErrFn (
2019-01-05 17:16:43 -05:00
"Invalid gateway SSE configuration" ,
"" ,
2019-04-09 14:39:42 -04:00
"Refer to https://docs.min.io/docs/minio-kms-quickstart-guide.html for setting up SSE" ,
2019-01-05 17:16:43 -05:00
)
2021-02-02 06:15:06 -05:00
ErrInvalidReplicationWorkersValue = newErrFn (
"Invalid value for replication workers" ,
"" ,
"MINIO_API_REPLICATION_WORKERS: should be > 0" ,
)
2021-08-12 01:23:56 -04:00
ErrInvalidTransitionWorkersValue = newErrFn (
"Invalid value for transition workers" ,
"" ,
"MINIO_API_TRANSITION_WORKERS: should be >= GOMAXPROCS/2" ,
)
2018-05-08 22:04:36 -04:00
)