Sha256: a20bac2b188c48a313a2645d1162ad770b0ed16bbb20c4343247030fa25f3579

Contents?: true

Size: 1.1 KB

Versions: 28

Compression:

Stored size: 1.1 KB

Contents

require_relative 'client'

module Kontena
  class StacksClient < Client

    ACCEPT_JSON = { 'Accept' => 'application/json' }
    ACCEPT_YAML = { 'Accept' => 'application/yaml' }
    CT_YAML     = { 'Content-Type' => 'application/yaml' }

    def path_to(stack_name, version = nil)
      version ? "/stack/#{stack_name}/version/#{version}" : "/stack/#{stack_name}"
    end

    def push(stack_name, version, data)
      post('/stack/', data, {}, CT_YAML)
    end

    def show(stack_name, stack_version = nil)
      get("#{path_to(stack_name, stack_version)}", {}, ACCEPT_JSON)
    end

    def versions(stack_name)
      get("#{path_to(stack_name, nil)}/versions", {}, ACCEPT_JSON)['versions']
    end

    def pull(stack_name, version = nil)
      get(path_to(stack_name, version), {}, ACCEPT_YAML)
    rescue StandardError => ex
      ex.message << " : #{path_to(stack_name, version)}"
      raise ex, ex.message
    end

    def search(query)
      get('/search', { q: query }, {}, ACCEPT_JSON)['stacks']
    end

    def destroy(stack_name, version = nil)
      delete(path_to(stack_name, version), {})
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
kontena-cli-1.1.1 lib/kontena/stacks_client.rb
kontena-cli-1.1.1.rc1 lib/kontena/stacks_client.rb
kontena-cli-1.1.0 lib/kontena/stacks_client.rb
kontena-cli-1.1.0.rc2 lib/kontena/stacks_client.rb
kontena-cli-1.1.0.rc1 lib/kontena/stacks_client.rb
kontena-cli-1.1.0.pre1 lib/kontena/stacks_client.rb
kontena-cli-1.0.6 lib/kontena/stacks_client.rb
kontena-cli-1.0.6.rc1 lib/kontena/stacks_client.rb
kontena-cli-1.0.5 lib/kontena/stacks_client.rb
kontena-cli-1.0.5.rc1 lib/kontena/stacks_client.rb
kontena-cli-1.0.5.pre1 lib/kontena/stacks_client.rb
kontena-cli-1.0.4 lib/kontena/stacks_client.rb
kontena-cli-1.0.4.rc2 lib/kontena/stacks_client.rb
kontena-cli-1.0.4.rc1 lib/kontena/stacks_client.rb
kontena-cli-1.0.3 lib/kontena/stacks_client.rb
kontena-cli-1.0.3.rc1 lib/kontena/stacks_client.rb
kontena-cli-1.0.2 lib/kontena/stacks_client.rb
kontena-cli-1.0.2.rc2 lib/kontena/stacks_client.rb
kontena-cli-1.0.2.rc1 lib/kontena/stacks_client.rb
kontena-cli-1.0.2.pre1 lib/kontena/stacks_client.rb