github.com/minio/minio@v0.0.0-20240328213742-3f72439b8a27/internal/config/server.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 config 19 20 // Opts holds MinIO configuration options 21 type Opts struct { 22 FTP struct { 23 Address string `yaml:"address"` 24 PassivePortRange string `yaml:"passive-port-range"` 25 } `yaml:"ftp"` 26 SFTP struct { 27 Address string `yaml:"address"` 28 SSHPrivateKey string `yaml:"ssh-private-key"` 29 } `yaml:"sftp"` 30 } 31 32 // ServerConfig represents a MinIO configuration file 33 type ServerConfig struct { 34 Version string `yaml:"version"` 35 RootUser string `yaml:"rootUser"` 36 RootPwd string `yaml:"rootPassword"` 37 Addr string `yaml:"address"` 38 ConsoleAddr string `yaml:"console-address"` 39 CertsDir string `yaml:"certs-dir"` 40 Pools [][]string `yaml:"pools"` 41 Options Opts `yaml:"options"` 42 }