class SwarmClusterCliOpe::Commands::Service

Public Instance Methods

find(service_name, stack_name: nil) click to toggle source

Ricarca il servizio per nome, nel caso in cui abbiamo anche il nome dello stack, concateniamo il nome del servizio con lo stack (dato che è il sistema con cui è più semplice trovare un servizio di uno stack). sucessivamente troviamo tutti i containers legati a quel servizio ed estrapoliamo l'istanza del primo @param [String] service_name @param [String] stack_name optional @return [SwarmClusterCliOpe::ShellCommandResponse]

# File lib/swarm_cluster_cli_ope/commands/service.rb, line 21
def find(service_name, stack_name: nil)
  command do |cmd|
    cmd.add("service ls --filter=\"name=#{  stack_name ? "#{stack_name}_" : "" }#{service_name}\"")
  end.execute
end
ls(stack_name: nil) click to toggle source

@return [SwarmClusterCliOpe::ShellCommandResponse] @param [String] stack_name nome dello stack da filtrare

# File lib/swarm_cluster_cli_ope/commands/service.rb, line 7
def ls(stack_name: nil)
  command do |cmd|
    cmd.add("service ls")
    cmd.add("--filter=\"label=com.docker.stack.namespace=#{stack_name}\"") if stack_name
  end.execute
end
ps(service_name, stack_name: nil, only_active: true) click to toggle source

Esegue il ps per un determinato servizio @param [String] service_name @param [String] stack_name optional @return [SwarmClusterCliOpe::ShellCommandResponse] @param [TrueClass] only_active se si vuole avere solo quelli attivi

# File lib/swarm_cluster_cli_ope/commands/service.rb, line 33
def ps(service_name, stack_name: nil, only_active: true)
  command do |cmd|
    cmd.add("service ps  #{stack_name ? "#{stack_name}_" : "" }#{service_name}")
    cmd.add('-f "desired-state=running"') if only_active
  end.execute
end