Class: MinioRunner::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/minio_runner/config.rb

Constant Summary collapse

DEFAULT_INSTALL_DIR =
"~/.minio_runner"
DEFAULT_CACHE_TIME =

24 hours in seconds

86_400
DEFAULT_MINIO_SERVER_DATA_DIR =
"~/.minio_runner/data"
DEFAULT_MINIO_PORT =
9000
DEFAULT_MINIO_CONSOLE_PORT =
9001
DEFAULT_MINIO_ROOT_USER =
"minioadmin"
DEFAULT_MINIO_ROOT_PASSWORD =
"minioadmin"
CONFIGURABLE_ENV_VARS =
{
  install_dir: "Path to install minio_runner (default #{DEFAULT_INSTALL_DIR})",
  log_level:
    "Log level for minio_runner (DEBUG, INFO, WARN, ERROR, FATAL, UNKNOWN, default INFO)",
  cache_time:
    "Time in seconds to cache minio_runner downloads for both the minio server and mc binaries (default #{DEFAULT_CACHE_TIME} seconds)",
  buckets: "List of buckets to create on startup, comma separated.",
  public_buckets: "List of buckets to make public for anonymous users, comma separated.",
  minio_domain: "Domain to use for minio server (default localhost)",
  minio_data_directory:
    "Path to minio server data directory (default #{DEFAULT_MINIO_SERVER_DATA_DIR})",
  minio_root_user: "User for minio server root user (default #{DEFAULT_MINIO_ROOT_USER})",
  minio_root_password:
    "Password for minio server root user (default #{DEFAULT_MINIO_ROOT_PASSWORD})",
  minio_console_port: "Port for minio server console (default #{DEFAULT_MINIO_CONSOLE_PORT})",
  minio_port: "Port for minio server (default #{DEFAULT_MINIO_PORT})",
}

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfig

Returns a new instance of Config.



41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/minio_runner/config.rb', line 41

def initialize
  self.install_dir = System.env(:install_dir) || DEFAULT_INSTALL_DIR
  self.cache_time = System.env(:cache_time) || DEFAULT_CACHE_TIME
  self.buckets = System.env(:buckets)&.split(",") || []
  self.public_buckets = System.env(:public_buckets)&.split(",") || []

  # minio server configuration
  self.minio_data_directory = System.env(:minio_data_directory) || DEFAULT_MINIO_SERVER_DATA_DIR
  self.minio_root_user = System.env(:minio_root_user) || DEFAULT_MINIO_ROOT_USER
  self.minio_root_password = System.env(:minio_root_password) || DEFAULT_MINIO_ROOT_PASSWORD
  self.minio_domain = System.env(:minio_domain) || "localhost"
  self.minio_port = System.env(:minio_port) || DEFAULT_MINIO_PORT
  self.minio_console_port = System.env(:minio_console_port) || DEFAULT_MINIO_CONSOLE_PORT
end

Instance Attribute Details

#bucketsObject

Returns the value of attribute buckets.



5
6
7
# File 'lib/minio_runner/config.rb', line 5

def buckets
  @buckets
end

#cache_timeObject

Returns the value of attribute cache_time.



5
6
7
# File 'lib/minio_runner/config.rb', line 5

def cache_time
  @cache_time
end

#install_dirObject

Returns the value of attribute install_dir.



12
13
14
# File 'lib/minio_runner/config.rb', line 12

def install_dir
  @install_dir
end

#log_levelObject

Returns the value of attribute log_level.



5
6
7
# File 'lib/minio_runner/config.rb', line 5

def log_level
  @log_level
end

#minio_console_portObject

Returns the value of attribute minio_console_port.



6
7
8
# File 'lib/minio_runner/config.rb', line 6

def minio_console_port
  @minio_console_port
end

#minio_data_directoryObject

Returns the value of attribute minio_data_directory.



12
13
14
# File 'lib/minio_runner/config.rb', line 12

def minio_data_directory
  @minio_data_directory
end

#minio_domainObject

Returns the value of attribute minio_domain.



6
7
8
# File 'lib/minio_runner/config.rb', line 6

def minio_domain
  @minio_domain
end

#minio_portObject

Returns the value of attribute minio_port.



6
7
8
# File 'lib/minio_runner/config.rb', line 6

def minio_port
  @minio_port
end

#minio_root_passwordObject

Returns the value of attribute minio_root_password.



6
7
8
# File 'lib/minio_runner/config.rb', line 6

def minio_root_password
  @minio_root_password
end

#minio_root_userObject

Returns the value of attribute minio_root_user.



6
7
8
# File 'lib/minio_runner/config.rb', line 6

def minio_root_user
  @minio_root_user
end

#public_bucketsObject

Returns the value of attribute public_buckets.



5
6
7
# File 'lib/minio_runner/config.rb', line 5

def public_buckets
  @public_buckets
end

Instance Method Details

#minio_server_urlObject



64
65
66
# File 'lib/minio_runner/config.rb', line 64

def minio_server_url
  "http://#{minio_domain}:#{minio_port}"
end

#minio_urlsObject



68
69
70
71
72
# File 'lib/minio_runner/config.rb', line 68

def minio_urls
  urls = [minio_server_url]
  buckets.each { |bucket| urls << "http://#{bucket}.#{minio_domain}:#{minio_port}" }
  urls
end