Class: ServicePort
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- ServicePort
- Defined in:
- lib/mkit/app/model/service_port.rb
Constant Summary collapse
- CONFIG_EXPRESSION =
/^(.*?):(.*?):(tcp|http):(.*?)$/
Class Method Summary collapse
Instance Method Summary collapse
- #load_balance ⇒ Object
-
#parse_config(config) ⇒ Object
haproxy support for port range - leave dest blank service: ports: # src:dest:tcp|round_robin|leastconn - 5532:5432:tcp:round_robin - 5532-6000::tcp:round_robin model: service_ports: - external: 5432 internal: 5432 mode: tcp|http load_bal: round_robin.
Class Method Details
.create(service:, config:) ⇒ Object
9 10 11 12 13 |
# File 'lib/mkit/app/model/service_port.rb', line 9 def self.create(service:, config:) sp = ServicePort.new(service: service, version: service.version) sp.parse_config(config) sp end |
Instance Method Details
#load_balance ⇒ Object
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/mkit/app/model/service_port.rb', line 37 def load_balance case self.load_bal when /^round_robin$/ "roundrobin" when /^leastconn$/ "leastconn" else "roundrobin" end end |
#parse_config(config) ⇒ Object
haproxy support for port range - leave dest blank service:
ports:
# src:dest:tcp|http:round_robin|leastconn
- 5532:5432:tcp:round_robin
- 5532-6000::tcp:round_robin
model:
service_ports:
- external: 5432
internal: 5432
mode: tcp|http
load_bal: round_robin
27 28 29 30 31 32 33 34 35 |
# File 'lib/mkit/app/model/service_port.rb', line 27 def parse_config(config) ports = config.match(CONFIG_EXPRESSION) raise MKIt::InvalidPortsConfiguration.new("no match with config expression $#{CONFIG_EXPRESSION}") if ports.nil? self.external_port = ports[1] self.internal_port = ports[2] self.mode = ports[3] self.load_bal = ports[4] end |