Apache Mesos
flags.hpp
Go to the documentation of this file.
1 // Licensed to the Apache Software Foundation (ASF) under one
2 // or more contributor license agreements. See the NOTICE file
3 // distributed with this work for additional information
4 // regarding copyright ownership. The ASF licenses this file
5 // to you under the Apache License, Version 2.0 (the
6 // "License"); you may not use this file except in compliance
7 // with the License. You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 
17 #ifndef __MASTER_FLAGS_HPP__
18 #define __MASTER_FLAGS_HPP__
19 
20 #include <cstdint>
21 
22 #include <string>
23 
24 #include <stout/duration.hpp>
25 #include <stout/option.hpp>
26 #include <stout/path.hpp>
27 
28 #include <mesos/mesos.hpp>
29 
31 
32 #include <mesos/module/module.hpp>
33 
34 #include "logging/flags.hpp"
35 
36 #include "messages/flags.hpp"
37 
38 namespace mesos {
39 namespace internal {
40 namespace master {
41 
42 class Flags : public virtual logging::Flags
43 {
44 public:
45  Flags();
46  bool version;
51  std::string registry;
61  std::string webui_dir;
63  std::string user_sorter;
64  std::string framework_sorter;
81  std::string authenticators;
82  std::string allocator;
88  std::string authorizers;
89  std::string http_authenticators;
101 
102  // The following flags are executable specific (e.g., since we only
103  // have one instance of libprocess per execution, we only want to
104  // advertise the IP and port option once, here).
105 
107  uint16_t port;
111 
112  // Optional IP discover script that will set the Master IP.
113  // If set, its output is expected to be a valid parseable IP string.
115 
116 #ifdef ENABLE_PORT_MAPPING_ISOLATOR
117  Option<size_t> max_executors_per_agent;
118 #endif // ENABLE_PORT_MAPPING_ISOLATOR
119 };
120 
121 } // namespace master {
122 } // namespace internal {
123 } // namespace mesos {
124 
125 #endif // __MASTER_FLAGS_HPP__
Option< std::string > weights
Definition: flags.hpp:68
bool root_submissions
Definition: flags.hpp:49
std::string allocator
Definition: flags.hpp:82
bool authenticate_http_readonly
Definition: flags.hpp:71
Option< std::string > modulesDir
Definition: flags.hpp:80
Option< Duration > offer_timeout
Definition: flags.hpp:78
Definition: flags.hpp:29
std::string webui_dir
Definition: flags.hpp:61
std::string framework_sorter
Definition: flags.hpp:64
bool filter_gpu_resources
Definition: flags.hpp:84
Option< std::string > hooks
Definition: flags.hpp:85
Option< DomainInfo > domain
Definition: flags.hpp:100
Option< std::string > hostname
Definition: flags.hpp:47
uint16_t port
Definition: flags.hpp:107
size_t registry_max_agent_count
Definition: flags.hpp:98
Duration agent_ping_timeout
Definition: flags.hpp:86
Option< std::string > cluster
Definition: flags.hpp:66
size_t max_completed_tasks_per_framework
Definition: flags.hpp:92
Definition: flags.hpp:42
Option< Firewall > firewall_rules
Definition: flags.hpp:76
std::string recovery_agent_removal_limit
Definition: flags.hpp:59
Option< std::string > ip_discovery_command
Definition: flags.hpp:114
Option< std::string > roles
Definition: flags.hpp:67
Duration registry_fetch_timeout
Definition: flags.hpp:55
Option< std::string > advertise_ip
Definition: flags.hpp:108
Definition: duration.hpp:32
bool hostname_lookup
Definition: flags.hpp:48
Duration zk_session_timeout
Definition: flags.hpp:53
std::string authorizers
Definition: flags.hpp:88
Option< std::string > master_contender
Definition: flags.hpp:94
bool registry_strict
Definition: flags.hpp:54
Option< std::string > ip
Definition: flags.hpp:106
Option< std::string > agent_removal_rate_limit
Definition: flags.hpp:60
size_t max_agent_ping_timeouts
Definition: flags.hpp:87
Duration allocation_interval
Definition: flags.hpp:65
bool authenticate_agents
Definition: flags.hpp:70
size_t max_unreachable_tasks_per_framework
Definition: flags.hpp:93
Duration agent_reregister_timeout
Definition: flags.hpp:58
Duration registry_store_timeout
Definition: flags.hpp:56
Duration registry_max_agent_age
Definition: flags.hpp:97
Option< flags::SecurePathOrValue > zk
Definition: flags.hpp:110
Option< std::string > master_detector
Definition: flags.hpp:95
Option< RateLimits > rate_limits
Definition: flags.hpp:77
Option< int > quorum
Definition: flags.hpp:52
std::string registry
Definition: flags.hpp:51
bool version
Definition: flags.hpp:46
Option< std::string > advertise_port
Definition: flags.hpp:109
Option< Path > whitelist
Definition: flags.hpp:62
Duration registry_gc_interval
Definition: flags.hpp:96
bool authenticate_http_frameworks
Definition: flags.hpp:73
Option< std::string > http_framework_authenticators
Definition: flags.hpp:90
Option< std::string > work_dir
Definition: flags.hpp:50
std::string http_authenticators
Definition: flags.hpp:89
Option< std::set< std::string > > fair_sharing_excluded_resource_names
Definition: flags.hpp:83
bool authenticate_http_readwrite
Definition: flags.hpp:72
std::string user_sorter
Definition: flags.hpp:63
Option< Modules > modules
Definition: flags.hpp:79
bool log_auto_initialize
Definition: flags.hpp:57
bool require_agent_domain
Definition: flags.hpp:99
size_t max_completed_frameworks
Definition: flags.hpp:91
Option< Path > credentials
Definition: flags.hpp:74
Option< ACLs > acls
Definition: flags.hpp:75
std::string authenticators
Definition: flags.hpp:81
bool authenticate_frameworks
Definition: flags.hpp:69