kontena-plugin-packet 0.1.2 → 0.2.0.pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OGY5ODFmM2UxZjAzMjBjNGQ0ZTdmNzYxNjgzZjVhMDkxOGU3YmQyYw==
4
+ OTE0NzVkM2EzYzQxMDEyNTE5YTUxMzEwZWYyYTZiYWRjYzZhOTJlOA==
5
5
  data.tar.gz: !binary |-
6
- NGU5ZjkwOTliYzdkNjRkMmIwNGQ3YjExY2FiOGU5ZjQwOGEyN2JhZg==
6
+ MzcxYjQ1ZDM5ZTIzNzdkNDQ0NmJmODQwYTZlZmQwNmJkMGEwOTI1Yw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ODIxMDI2ZjhjOWUwYWI3MmIzODdmMzA4ZGI1OTNjNzFlZDE1MTcyYmIwM2Qx
10
- MDA5MjFmNDdmNWY0ZDI3ZTNhODNjNjQyMGFkMDJmNWY5NjQ2YjI3MWQxNjEz
11
- YTA4MjRjOWNmMGE4ODRjYjEyNTFiMTg3MTc5ODljOGU2M2MyMDQ=
9
+ ODM5OTNkMTE1NDk4NDY1Y2U4YTQwZTdiOTIxN2U0MmI3NjRmZGM3NmI2MzUx
10
+ ZjEzODYyNzU0YWVkMGYxYWRmYmQxZjlmNjZkMmNlZjgyZWVjOTM3NjdlMGVm
11
+ OTVmMDk1YTc1M2FiYzRkMTc4NDg5MTQyNDc4MDgwYjk2NWRlOWE=
12
12
  data.tar.gz: !binary |-
13
- YTNhMDI0MjYwZWE0ZDhhODUzYTg3NmQ3NjUwODJkMGRhYzRjOWIyYjJmZWNk
14
- ODgwYTMzN2ViMmY4MmQ0NWMzN2U3MmQ5Mjc1Nzk2OGZlYjgxODI3YTNlMTkx
15
- ZjRlYWU2MWVkZjczMDAzMTBlZmZmOWY1MmZjYzc2OTBiYmU0MTQ=
13
+ YjFjNjAwNzg5NTFkZTI2MzIwY2ZkNTkyZDZiZTJiODc0ZTRhODJmZjk2MWFk
14
+ Y2I5NWI1ZWE1ZDM2MGVjN2IzODJiYmRkNDI3YjBjM2UyNTgwNDAzYjA3NzM2
15
+ MDAxYzZkYzhhMzczYWYzNmZmYmQyZGJjZjI4NGYzYTU5ZDc0NzI=
@@ -17,8 +17,8 @@ Gem::Specification.new do |spec|
17
17
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.add_runtime_dependency 'kontena-cli', '~> 0.15.4'
21
- spec.add_runtime_dependency 'packethost', '>= 0.0.8'
20
+ spec.add_runtime_dependency 'kontena-cli', '>= 0.16.0.pre2'
21
+ spec.add_runtime_dependency 'packethost', '>= 0.0.6'
22
22
  spec.add_development_dependency "bundler", "~> 1.11"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
24
  end
@@ -88,8 +88,11 @@ coreos:
88
88
  --link kontena-server-mongo:mongodb \
89
89
  -e MONGODB_URI=mongodb://mongodb:27017/kontena_server \
90
90
  <% end -%>
91
- <% if auth_server %>
92
- -e AUTH_API_URL=<%= auth_server %> \
91
+ <% if server_name %>
92
+ -e KONTENA_SERVER_NAME=<%= server_name %> \
93
+ <% end -%>
94
+ <% if initial_admin_code %>
95
+ -e KONTENA_INITIAL_ADMIN_CODE=<%= initial_admin_code %> \
93
96
  <% end -%>
94
97
  -e VAULT_KEY=${KONTENA_VAULT_KEY} -e VAULT_IV=${KONTENA_VAULT_IV} \
95
98
  kontena/server:${KONTENA_VERSION}
@@ -1,5 +1,3 @@
1
- require 'shell-spinner'
2
-
3
1
  module Kontena
4
2
  module Machine
5
3
  module Packet
@@ -7,6 +5,7 @@ module Kontena
7
5
  include RandomName
8
6
  include Machine::CertHelper
9
7
  include PacketCommon
8
+ include Kontena::Cli::ShellSpinner
10
9
 
11
10
  attr_reader :client, :http_client
12
11
 
@@ -27,22 +26,20 @@ module Kontena
27
26
  abort('Invalid ssl cert') unless File.exists?(File.expand_path(opts[:ssl_cert]))
28
27
  ssl_cert = File.read(File.expand_path(opts[:ssl_cert]))
29
28
  else
30
- ShellSpinner "Generating self-signed SSL certificate" do
29
+ spinner "Generating self-signed SSL certificate" do
31
30
  ssl_cert = generate_self_signed_cert
32
31
  end
33
32
  end
34
33
 
35
- userdata_vars = {
34
+ name = generate_name
35
+
36
+ userdata_vars = opts.merge(
36
37
  ssl_cert: ssl_cert,
37
- auth_server: opts[:auth_server],
38
- version: opts[:version],
39
- vault_secret: opts[:vault_secret],
40
- vault_iv: opts[:vault_iv],
41
- mongodb_uri: opts[:mongodb_uri]
42
- }
38
+ server_name: name.sub('kontena-master-', '')
39
+ )
43
40
 
44
41
  device = project.new_device(
45
- hostname: generate_name,
42
+ hostname: name,
46
43
  facility: facility.to_hash,
47
44
  operating_system: os.to_hash,
48
45
  plan: plan.to_hash,
@@ -51,7 +48,7 @@ module Kontena
51
48
  userdata: user_data(userdata_vars, 'cloudinit_master.yml')
52
49
  )
53
50
 
54
- ShellSpinner "Creating Packet device #{device.hostname.colorize(:cyan)} " do
51
+ spinner "Creating Packet device #{device.hostname.colorize(:cyan)} " do
55
52
  api_retry "Packet API reported an error, please try again" do
56
53
  response = client.create_device(device)
57
54
  raise response.body unless response.success?
@@ -69,12 +66,19 @@ module Kontena
69
66
  Excon.defaults[:ssl_verify_peer] = false
70
67
  @http_client = Excon.new("#{master_url}", :connect_timeout => 10)
71
68
 
72
- ShellSpinner "Waiting for #{device.hostname.colorize(:cyan)} to start (estimate 4 minutes)" do
73
- sleep 5 until master_running?
69
+ spinner "Waiting for #{device.hostname.colorize(:cyan)} to start (estimate 4 minutes)" do
70
+ sleep 0.5 until master_running?
74
71
  end
75
72
 
76
- puts "Kontena Master is now running at #{master_url}"
77
- puts "Use #{"kontena login --name=#{device.hostname.sub('kontena-master-', '')} #{master_url}".colorize(:light_black)} to complete Kontena Master setup"
73
+ puts
74
+ puts "Kontena Master is now running at #{master_url}".colorize(:green)
75
+ puts
76
+
77
+ {
78
+ name: name.sub('kontena-master-', ''),
79
+ public_ip: public_ip['address'],
80
+ code: opts[:initial_admin_code]
81
+ }
78
82
  end
79
83
 
80
84
  def generate_name
@@ -1,11 +1,10 @@
1
- require 'shell-spinner'
2
-
3
1
  module Kontena
4
2
  module Machine
5
3
  module Packet
6
4
  class NodeDestroyer
7
5
  include RandomName
8
6
  include PacketCommon
7
+ include Kontena::Cli::ShellSpinner
9
8
 
10
9
  attr_reader :client, :api_client
11
10
 
@@ -20,7 +19,7 @@ module Kontena
20
19
  device = client.list_devices(project_id).find{|d| d.hostname == name}
21
20
  abort("Device #{name.colorize(:cyan)} not found in Packet") unless device
22
21
 
23
- ShellSpinner "Terminating Packet device #{name.colorize(:cyan)} " do
22
+ spinner "Terminating Packet device #{name.colorize(:cyan)} " do
24
23
  begin
25
24
  response = client.delete_device(device.id)
26
25
  raise unless response.success?
@@ -31,7 +30,7 @@ module Kontena
31
30
 
32
31
  node = api_client.get("grids/#{grid['id']}/nodes")['nodes'].find{|n| n['name'] == name}
33
32
  if node
34
- ShellSpinner "Removing node #{name.colorize(:cyan)} from grid #{grid['name'].colorize(:cyan)} " do
33
+ spinner "Removing node #{name.colorize(:cyan)} from grid #{grid['name'].colorize(:cyan)} " do
35
34
  api_client.delete("grids/#{grid['id']}/nodes/#{name}")
36
35
  end
37
36
  end
@@ -1,11 +1,10 @@
1
- require 'shell-spinner'
2
-
3
1
  module Kontena
4
2
  module Machine
5
3
  module Packet
6
4
  class NodeProvisioner
7
5
  include RandomName
8
6
  include PacketCommon
7
+ include Kontena::Cli::ShellSpinner
9
8
 
10
9
  attr_reader :client, :api_client
11
10
 
@@ -40,7 +39,7 @@ module Kontena
40
39
  userdata: user_data(userdata_vars, 'cloudinit.yml')
41
40
  )
42
41
 
43
- ShellSpinner "Creating Packet device #{device.hostname.colorize(:cyan)} " do
42
+ spinner "Creating Packet device #{device.hostname.colorize(:cyan)} " do
44
43
  api_retry "Packet API reported an error, please try again" do
45
44
  response = client.create_device(device)
46
45
  raise response.body unless response.success?
@@ -48,13 +47,13 @@ module Kontena
48
47
 
49
48
  until device && [:active, :provisioning, :powering_on].include?(device.state)
50
49
  device = find_device(project.id, device.hostname) rescue nil
51
- sleep 5
50
+ sleep 1
52
51
  end
53
52
  end
54
53
 
55
54
  node = nil
56
- ShellSpinner "Waiting for node #{device.hostname.colorize(:cyan)} join to grid #{opts[:grid].colorize(:cyan)} (estimate 4 minutes) " do
57
- sleep 2 until node = device_exists_in_grid?(opts[:grid], device)
55
+ spinner "Waiting for node #{device.hostname.colorize(:cyan)} join to grid #{opts[:grid].colorize(:cyan)} (estimate 4 minutes) " do
56
+ sleep 0.5 until node = device_exists_in_grid?(opts[:grid], device)
58
57
  end
59
58
  set_labels(node, ["region=#{opts[:facility]}", "provider=packet"])
60
59
  end
@@ -1,11 +1,10 @@
1
- require 'shell-spinner'
2
-
3
1
  module Kontena
4
2
  module Machine
5
3
  module Packet
6
4
  class NodeRestarter
7
5
  include RandomName
8
6
  include PacketCommon
7
+ include Kontena::Cli::ShellSpinner
9
8
 
10
9
  attr_reader :client
11
10
 
@@ -21,7 +20,7 @@ module Kontena
21
20
  abort("Device #{name.colorize(:cyan)} not found in Packet") unless device
22
21
  abort("Your version of 'packethost' gem does not support rebooting servers") unless client.respond_to?(:reboot_device)
23
22
 
24
- ShellSpinner "Restarting Packet device #{device.hostname.colorize(:cyan)} " do
23
+ spinner "Restarting Packet device #{device.hostname.colorize(:cyan)} " do
25
24
  begin
26
25
  response = client.reboot_device(device)
27
26
  raise unless response.success?
@@ -31,7 +30,7 @@ module Kontena
31
30
  sleep 5
32
31
  until device && device.state == :active
33
32
  device = find_device(project.id, device.hostname) rescue nil
34
- sleep 5
33
+ sleep 1
35
34
  end
36
35
  end
37
36
  end
@@ -4,6 +4,7 @@ module Kontena::Plugin::Packet::Master
4
4
  class CreateCommand < Kontena::Command
5
5
  include Kontena::Cli::Common
6
6
 
7
+ option "--name", "[NAME]", "Set master name"
7
8
  option "--token", "TOKEN", "Packet API token", required: true
8
9
  option "--project", "PROJECT ID", "Packet project id", required: true
9
10
  option "--ssl-cert", "PATH", "SSL certificate file (optional)"
@@ -15,7 +16,6 @@ module Kontena::Plugin::Packet::Master
15
16
  option "--vault-iv", "VAULT_IV", "Initialization vector for Vault (optional)"
16
17
  option "--mongodb-uri", "URI", "External MongoDB uri (optional)"
17
18
  option "--version", "VERSION", "Define installed Kontena version", default: 'latest'
18
- option "--auth-provider-url", "AUTH_PROVIDER_URL", "Define authentication provider url"
19
19
 
20
20
  def execute
21
21
  require_relative '../../../machine/packet'
@@ -29,9 +29,9 @@ module Kontena::Plugin::Packet::Master
29
29
  plan: plan,
30
30
  facility: facility,
31
31
  version: version,
32
- auth_server: auth_provider_url,
33
32
  vault_secret: vault_secret || SecureRandom.hex(24),
34
33
  vault_iv: vault_iv || SecureRandom.hex(24),
34
+ initial_admin_code: SecureRandom.hex(16),
35
35
  mongodb_uri: mongodb_uri
36
36
  )
37
37
  end
@@ -1,7 +1,7 @@
1
1
  module Kontena
2
2
  module Plugin
3
3
  module Packet
4
- VERSION = "0.1.2"
4
+ VERSION = "0.2.0.pre1"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kontena-plugin-packet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0.pre1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kontena, Inc.
@@ -14,30 +14,30 @@ dependencies:
14
14
  name: kontena-cli
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - ! '>='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.15.4
19
+ version: 0.16.0.pre2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - ! '>='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.15.4
26
+ version: 0.16.0.pre2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: packethost
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
- version: 0.0.8
33
+ version: 0.0.6
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ! '>='
39
39
  - !ruby/object:Gem::Version
40
- version: 0.0.8
40
+ version: 0.0.6
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -113,9 +113,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
113
113
  version: '0'
114
114
  required_rubygems_version: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - ! '>='
116
+ - - ! '>'
117
117
  - !ruby/object:Gem::Version
118
- version: '0'
118
+ version: 1.3.1
119
119
  requirements: []
120
120
  rubyforge_project:
121
121
  rubygems_version: 2.4.5