krates-plugin-vagrant 0.3.3 → 0.3.4
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 +4 -4
- data/lib/kontena/machine/vagrant/Vagrantfile.master.rb.erb +33 -33
- data/lib/kontena/machine/vagrant/cloudinit.yml +1 -1
- data/lib/kontena/machine/vagrant/master_destroyer.rb +2 -2
- data/lib/kontena/machine/vagrant/master_provisioner.rb +7 -7
- data/lib/kontena/plugin/vagrant.rb +1 -1
- data/lib/kontena/plugin/vagrant/master/create_command.rb +40 -34
- data/lib/kontena/plugin/vagrant/master/restart_command.rb +3 -3
- data/lib/kontena/plugin/vagrant/master/ssh_command.rb +2 -2
- data/lib/kontena/plugin/vagrant/master/start_command.rb +3 -3
- data/lib/kontena/plugin/vagrant/master/stop_command.rb +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b8dd99d96d0b8c87fd180eb3455da0eb2d3f1acfda36a8685a25843e1ec8a986
|
4
|
+
data.tar.gz: 115b5eacd272651d5bae52ccf78a4e1ebbe10b53fb39cb3c7d52c05bbb1e4173
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be7c5fe869fe26c0cfc3175fe931e9fa0b66f6050d2034eec5a63ca85821383ea0093110184b33da809f85516be0daa23e7fc3b16d5b19f9542decfdcc261144
|
7
|
+
data.tar.gz: 2c0b3cf46ba3ad247e3cee1f05c194f4baac81718b417c4d69f3ea24cc37c7eaafebca766a3d0dda841b1091b22877519f6e4fc73d5e8e634096f96d0d5e8a50
|
@@ -7,27 +7,27 @@ VAGRANTFILE_API_VERSION = "2"
|
|
7
7
|
cloud_init = <<INIT
|
8
8
|
#cloud-config
|
9
9
|
write_files:
|
10
|
-
- path: /etc/
|
10
|
+
- path: /etc/krates-server.env
|
11
11
|
permissions: 0600
|
12
12
|
owner: root
|
13
13
|
content: |
|
14
14
|
KONTENA_VERSION=<%= version %>
|
15
|
-
|
16
|
-
|
15
|
+
KRATES_VAULT_KEY=<%= vault_secret %>
|
16
|
+
KRATES_VAULT_IV=<%= vault_iv %>
|
17
17
|
coreos:
|
18
18
|
update:
|
19
19
|
reboot-strategy: off
|
20
20
|
units:
|
21
|
-
- name:
|
21
|
+
- name: krates-server-mongo.service
|
22
22
|
command: start
|
23
23
|
enable: true
|
24
24
|
content: |
|
25
25
|
[Unit]
|
26
|
-
Description=
|
26
|
+
Description=krates-server-mongo
|
27
27
|
After=network-online.target
|
28
28
|
After=docker.service
|
29
|
-
Description=
|
30
|
-
Documentation=
|
29
|
+
Description=Krates Server MongoDB
|
30
|
+
Documentation=https://github.com/appsters/krates
|
31
31
|
Requires=network-online.target
|
32
32
|
Requires=docker.service
|
33
33
|
|
@@ -36,52 +36,52 @@ coreos:
|
|
36
36
|
RestartSec=5
|
37
37
|
TimeoutStartSec=0
|
38
38
|
ExecStartPre=/usr/bin/docker pull mongo:3.2
|
39
|
-
ExecStartPre=-/usr/bin/docker network create
|
40
|
-
ExecStartPre=-/usr/bin/docker volume create
|
41
|
-
ExecStartPre=-/usr/bin/docker stop
|
42
|
-
ExecStartPre=-/usr/bin/docker rm
|
43
|
-
ExecStart=/usr/bin/docker run --name=
|
44
|
-
-v
|
45
|
-
--network
|
39
|
+
ExecStartPre=-/usr/bin/docker network create krates
|
40
|
+
ExecStartPre=-/usr/bin/docker volume create krates-server-mongo
|
41
|
+
ExecStartPre=-/usr/bin/docker stop krates-server-mongo
|
42
|
+
ExecStartPre=-/usr/bin/docker rm krates-server-mongo
|
43
|
+
ExecStart=/usr/bin/docker run --name=krates-server-mongo \
|
44
|
+
-v krates-server-mongo:/data/db \
|
45
|
+
--network krates \
|
46
46
|
mongo:3.2
|
47
|
-
ExecStop=/usr/bin/docker stop
|
47
|
+
ExecStop=/usr/bin/docker stop krates-server-mongo
|
48
48
|
|
49
|
-
- name:
|
49
|
+
- name: krates-server-api.service
|
50
50
|
command: start
|
51
51
|
enable: true
|
52
52
|
content: |
|
53
53
|
[Unit]
|
54
|
-
Description=
|
54
|
+
Description=krates-server-api
|
55
55
|
After=network-online.target
|
56
56
|
After=docker.service
|
57
|
-
After=
|
58
|
-
Description=
|
59
|
-
Documentation=
|
57
|
+
After=krates-server-mongo.service
|
58
|
+
Description=Krates Master
|
59
|
+
Documentation=https://github.io/appsters/krates/
|
60
60
|
Requires=network-online.target
|
61
61
|
Requires=docker.service
|
62
|
-
Requires=
|
62
|
+
Requires=krates-server-mongo.service
|
63
63
|
|
64
64
|
[Service]
|
65
65
|
Restart=always
|
66
66
|
RestartSec=5
|
67
67
|
TimeoutStartSec=0
|
68
|
-
EnvironmentFile=/etc/
|
69
|
-
ExecStartPre=-/usr/bin/docker stop
|
70
|
-
ExecStartPre=-/usr/bin/docker rm
|
71
|
-
ExecStartPre=-/usr/bin/docker network create
|
72
|
-
ExecStartPre=/usr/bin/docker pull
|
73
|
-
ExecStart=/usr/bin/docker run --name
|
74
|
-
-e MONGODB_URI=mongodb://
|
75
|
-
-e VAULT_KEY=${
|
68
|
+
EnvironmentFile=/etc/krates-server.env
|
69
|
+
ExecStartPre=-/usr/bin/docker stop krates-server-api
|
70
|
+
ExecStartPre=-/usr/bin/docker rm krates-server-api
|
71
|
+
ExecStartPre=-/usr/bin/docker network create krates
|
72
|
+
ExecStartPre=/usr/bin/docker pull krates/master:${KONTENA_VERSION}
|
73
|
+
ExecStart=/usr/bin/docker run --name krates-server-api \
|
74
|
+
-e MONGODB_URI=mongodb://krates-server-mongo:27017/krates_server \
|
75
|
+
-e VAULT_KEY=${KRATES_VAULT_KEY} -e VAULT_IV=${KRATES_VAULT_IV} \
|
76
76
|
<% if server_name %>-e SERVER_NAME=<%= server_name %><% end %> \
|
77
77
|
<% if initial_admin_code %>-e INITIAL_ADMIN_CODE=<%= initial_admin_code %><% end %> \
|
78
|
-
--network
|
78
|
+
--network krates \
|
79
79
|
-p 8080:9292 \
|
80
|
-
|
81
|
-
ExecStop=/usr/bin/docker stop
|
80
|
+
krates/master:${KONTENA_VERSION}
|
81
|
+
ExecStop=/usr/bin/docker stop krates-server-api
|
82
82
|
INIT
|
83
83
|
|
84
|
-
cloud_init_file = Tempfile.new('
|
84
|
+
cloud_init_file = Tempfile.new('krates-master')
|
85
85
|
File.write(cloud_init_file.path, cloud_init)
|
86
86
|
|
87
87
|
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
@@ -8,9 +8,9 @@ module Kontena
|
|
8
8
|
include Kontena::Cli::ShellSpinner
|
9
9
|
|
10
10
|
def run!
|
11
|
-
vagrant_path = "#{Dir.home}/.
|
11
|
+
vagrant_path = "#{Dir.home}/.krates/vagrant_master"
|
12
12
|
Dir.chdir(vagrant_path) do
|
13
|
-
spinner "Triggering termination of
|
13
|
+
spinner "Triggering termination of Krates Master from Vagrant"
|
14
14
|
run_command('vagrant destroy -f')
|
15
15
|
FileUtils.remove_entry_secure(vagrant_path)
|
16
16
|
end
|
@@ -25,10 +25,10 @@ module Kontena
|
|
25
25
|
vault_iv = opts[:vault_iv]
|
26
26
|
initial_admin_code = opts[:initial_admin_code]
|
27
27
|
coreos_channel = opts[:coreos_channel]
|
28
|
-
vagrant_path = "#{Dir.home}/.
|
28
|
+
vagrant_path = "#{Dir.home}/.krates/vagrant_master/"
|
29
29
|
if Dir.exist?(vagrant_path)
|
30
|
-
puts "Oops... cannot create
|
31
|
-
puts "If you are sure that no
|
30
|
+
puts "Oops... cannot create Krates Master because installation path already exists."
|
31
|
+
puts "If you are sure that no Krates Master(s) exist on this machine, remove folder: #{vagrant_path}"
|
32
32
|
abort
|
33
33
|
end
|
34
34
|
FileUtils.mkdir_p(vagrant_path)
|
@@ -37,7 +37,7 @@ module Kontena
|
|
37
37
|
cloudinit_template = File.join(__dir__ , '/cloudinit.yml')
|
38
38
|
vars = {
|
39
39
|
name: name,
|
40
|
-
server_name: name.sub('
|
40
|
+
server_name: name.sub('krates-master-', ''),
|
41
41
|
version: version,
|
42
42
|
memory: memory,
|
43
43
|
vault_secret: vault_secret,
|
@@ -70,10 +70,10 @@ module Kontena
|
|
70
70
|
master_version = JSON.parse(client.get(path: '/'))["version"] rescue nil
|
71
71
|
end
|
72
72
|
|
73
|
-
spinner "
|
73
|
+
spinner "Krates Master #{master_version} is now running at #{API_URL}"
|
74
74
|
|
75
75
|
{
|
76
|
-
name: name.sub('
|
76
|
+
name: name.sub('krates-master-', ''),
|
77
77
|
public_ip: API_URL.split('//').last,
|
78
78
|
provider: 'vagrant',
|
79
79
|
version: master_version,
|
@@ -88,7 +88,7 @@ module Kontena
|
|
88
88
|
end
|
89
89
|
|
90
90
|
def generate_name
|
91
|
-
"
|
91
|
+
"krates-master-#{super}-#{rand(1..99)}"
|
92
92
|
end
|
93
93
|
end
|
94
94
|
end
|
@@ -1,44 +1,50 @@
|
|
1
1
|
require 'securerandom'
|
2
2
|
|
3
|
-
module Kontena
|
4
|
-
|
5
|
-
|
3
|
+
module Kontena
|
4
|
+
module Plugin
|
5
|
+
module Vagrant
|
6
|
+
module Master
|
7
|
+
class CreateCommand < Kontena::Command
|
8
|
+
include Kontena::Cli::Common
|
6
9
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
option "--name", "NAME", "Set master name"
|
11
|
+
option "--memory", "MEMORY", "How much memory node has"
|
12
|
+
option "--version", "VERSION", "Define installed Krates version", default: 'latest'
|
13
|
+
option "--vault-secret", "VAULT_SECRET", "Secret key for Vault"
|
14
|
+
option "--vault-iv", "VAULT_IV", "Initialization vector for Vault"
|
15
|
+
option "--coreos-channel", "CHANNEL", "CoreOS release channel", default: 'stable'
|
13
16
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
17
|
+
def execute
|
18
|
+
require_relative '../../../machine/vagrant'
|
19
|
+
mem = ask_instance_memory
|
20
|
+
provisioner.run!(
|
21
|
+
name: name,
|
22
|
+
memory: mem,
|
23
|
+
version: version,
|
24
|
+
vault_secret: vault_secret || SecureRandom.hex(24),
|
25
|
+
vault_iv: vault_iv || SecureRandom.hex(24),
|
26
|
+
initial_admin_code: SecureRandom.hex(16),
|
27
|
+
coreos_channel: coreos_channel
|
28
|
+
)
|
29
|
+
end
|
30
|
+
|
31
|
+
def ask_instance_memory
|
32
|
+
if self.memory.nil?
|
33
|
+
prompt.select("Choose a size") do |menu|
|
34
|
+
%w(512 1024 2048).each do |mem|
|
35
|
+
menu.choice "#{mem}MB", mem
|
36
|
+
end
|
37
|
+
end
|
38
|
+
else
|
39
|
+
self.memory
|
40
|
+
end
|
41
|
+
end
|
27
42
|
|
28
|
-
|
29
|
-
|
30
|
-
prompt.select("Choose a size") do |menu|
|
31
|
-
%w(512 1024 2048).each do |mem|
|
32
|
-
menu.choice "#{mem}MB", mem
|
43
|
+
def provisioner
|
44
|
+
Kontena::Machine::Vagrant::MasterProvisioner.new
|
33
45
|
end
|
34
46
|
end
|
35
|
-
else
|
36
|
-
self.memory
|
37
47
|
end
|
38
48
|
end
|
39
|
-
|
40
|
-
def provisioner
|
41
|
-
Kontena::Machine::Vagrant::MasterProvisioner.new
|
42
|
-
end
|
43
49
|
end
|
44
|
-
end
|
50
|
+
end
|
@@ -5,10 +5,10 @@ module Kontena::Plugin::Vagrant::Master
|
|
5
5
|
def execute
|
6
6
|
require_relative '../../../machine/vagrant'
|
7
7
|
|
8
|
-
vagrant_path = "#{Dir.home}/.
|
9
|
-
abort("Cannot find Vagrant
|
8
|
+
vagrant_path = "#{Dir.home}/.krates/vagrant_master"
|
9
|
+
abort("Cannot find Vagrant krates-master".colorize(:red)) unless Dir.exist?(vagrant_path)
|
10
10
|
Dir.chdir(vagrant_path) do
|
11
|
-
spinner "Executing 'vagrant reload' for
|
11
|
+
spinner "Executing 'vagrant reload' for krates-master"
|
12
12
|
exit $?.exitstatus unless system('vagrant reload')
|
13
13
|
spinner "Vagrant machine restarted"
|
14
14
|
end
|
@@ -8,8 +8,8 @@ module Kontena::Plugin::Vagrant::Master
|
|
8
8
|
require 'shellwords'
|
9
9
|
require_relative '../../../machine/vagrant'
|
10
10
|
|
11
|
-
vagrant_path = "#{Dir.home}/.
|
12
|
-
abort("Cannot find Vagrant
|
11
|
+
vagrant_path = "#{Dir.home}/.krates/vagrant_master"
|
12
|
+
abort("Cannot find Vagrant krates-master".colorize(:red)) unless Dir.exist?(vagrant_path)
|
13
13
|
|
14
14
|
cmd = "vagrant ssh"
|
15
15
|
if self.commands_list && !self.commands_list.empty?
|
@@ -5,10 +5,10 @@ module Kontena::Plugin::Vagrant::Master
|
|
5
5
|
def execute
|
6
6
|
require_relative '../../../machine/vagrant'
|
7
7
|
|
8
|
-
vagrant_path = "#{Dir.home}/.
|
9
|
-
abort("Cannot find Vagrant node
|
8
|
+
vagrant_path = "#{Dir.home}/.krates/vagrant_master"
|
9
|
+
abort("Cannot find Vagrant node krates-master".colorize(:red)) unless Dir.exist?(vagrant_path)
|
10
10
|
Dir.chdir(vagrant_path) do
|
11
|
-
spinner "Triggering 'vagrant up' for
|
11
|
+
spinner "Triggering 'vagrant up' for krates-master"
|
12
12
|
exit $?.exitstatus unless system('vagrant up')
|
13
13
|
end
|
14
14
|
end
|
@@ -5,10 +5,10 @@ module Kontena::Plugin::Vagrant::Master
|
|
5
5
|
def execute
|
6
6
|
require_relative '../../../machine/vagrant'
|
7
7
|
|
8
|
-
vagrant_path = "#{Dir.home}/.
|
9
|
-
abort("Cannot find Vagrant
|
8
|
+
vagrant_path = "#{Dir.home}/.krates/vagrant_master"
|
9
|
+
abort("Cannot find Vagrant krates-master".colorize(:red)) unless Dir.exist?(vagrant_path)
|
10
10
|
Dir.chdir(vagrant_path) do
|
11
|
-
spinner "Triggering 'vagrant halt' for
|
11
|
+
spinner "Triggering 'vagrant halt' for krates-master"
|
12
12
|
exit $?.exitstatus unless system('vagrant halt')
|
13
13
|
end
|
14
14
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: krates-plugin-vagrant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Tsurbeleu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: krates
|