vagrant-sakura 0.2.1 → 0.4.2
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/.github/workflows/tests.yaml +18 -0
- data/CHANGELOG.md +26 -0
- data/Gemfile +2 -2
- data/README.md +20 -11
- data/examples/centos.md +1 -1
- data/examples/centos7.md +15 -0
- data/examples/centos8.md +15 -0
- data/examples/k3os.md +16 -0
- data/examples/rancheros.md +4 -1
- data/lib/vagrant-sakura/action/run_instance.rb +78 -56
- data/lib/vagrant-sakura/config.rb +27 -4
- data/lib/vagrant-sakura/driver/api.rb +0 -2
- data/lib/vagrant-sakura/os_type.rb +22 -4
- data/lib/vagrant-sakura/version.rb +1 -1
- data/test/test_config.rb +16 -0
- metadata +7 -6
- data/.travis.yml +0 -30
- data/lib/vagrant-sakura/driver/cert.pem +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2ac5bd309695b4f433c107878c79409d19957714751fd10f446b3e0643533831
|
4
|
+
data.tar.gz: 547cf4d2531ce4b7b6b59835f7f09721b550710f104d69d662cb1b4879e831f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d164e746811fa345335e3eac6d74e60dd89d62f20674782399159579c14d4da7213891d046e30a198aa072321e2493f8f7fe5a7d1d6d442e26c733d3b54ebbc6
|
7
|
+
data.tar.gz: f0b7c9df6f5a7ddb7ef8aa1d08e8d245aeb467236f2c6f54a057c29618e3a7d596df0a98b62289d3efe92eeead10bd21b8d5ae66c4e8efa9af543059e027261e
|
@@ -0,0 +1,18 @@
|
|
1
|
+
name: Tests
|
2
|
+
on: [push, pull_request]
|
3
|
+
jobs:
|
4
|
+
test:
|
5
|
+
strategy:
|
6
|
+
fail-fast: false
|
7
|
+
matrix:
|
8
|
+
os: [ubuntu]
|
9
|
+
ruby: [2.5, 2.6, 2.7]
|
10
|
+
runs-on: ${{ matrix.os }}-latest
|
11
|
+
steps:
|
12
|
+
- uses: actions/checkout@v2
|
13
|
+
- uses: ruby/setup-ruby@v1
|
14
|
+
with:
|
15
|
+
ruby-version: ${{ matrix.ruby }}
|
16
|
+
bundler-cache: true
|
17
|
+
- run: bundle install
|
18
|
+
- run: bundle exec rake test
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,31 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 0.4.2 (2020/10/09)
|
4
|
+
|
5
|
+
- Github Actions [#52] (@yamamoto-febc)
|
6
|
+
- Use vagrant 2.2.10 [#51] (@yamamoto-febc)
|
7
|
+
- Remove ruby-2.3.7 from test targets on TravisCI [#49] (@yamamoto-febc)
|
8
|
+
|
9
|
+
## 0.4.1 (2020/10/08)
|
10
|
+
|
11
|
+
- Ubuntu 20.04 (#48)
|
12
|
+
|
13
|
+
## 0.4.0 (2019/11/21)
|
14
|
+
|
15
|
+
- os_typeの追加 (#43)
|
16
|
+
|
17
|
+
## 0.3.2 (2018/12/18)
|
18
|
+
|
19
|
+
- 埋め込みのcert.pemを除去 (#42)
|
20
|
+
|
21
|
+
## 0.3.1 (2018/12/18)
|
22
|
+
|
23
|
+
- os_type バリデーション修正 (#41)
|
24
|
+
|
25
|
+
## 0.3.0 (2018/11/5)
|
26
|
+
|
27
|
+
- Use new disk-edit API (#40)
|
28
|
+
|
3
29
|
## 0.2.1 (2018/09/27)
|
4
30
|
|
5
31
|
- Re-released due to maintainer's error. This release as the same commit as v0.2.0.
|
data/Gemfile
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
3
|
group :development do
|
4
|
-
gem "vagrant", :git => "git://github.com/
|
4
|
+
gem "vagrant", :git => "git://github.com/hashicorp/vagrant.git", :tag => 'v2.2.10'
|
5
5
|
gem "test-unit", "~> 3.2.3"
|
6
6
|
# gem "test-unit-rr", "~> 1.0.5"
|
7
|
-
gem "rake", "
|
7
|
+
gem "rake", ">= 12.3.3"
|
8
8
|
end
|
9
9
|
|
10
10
|
group :plugins do
|
data/README.md
CHANGED
@@ -184,18 +184,26 @@ $ vagrant sakura-list-id
|
|
184
184
|
|指定可能な値|SSHユーザー名|Vagrantfileの例|備考|
|
185
185
|
|---|---|:---:|---|
|
186
186
|
|`ubuntu`(デフォルト)|`ubuntu`| [example](examples/ubuntu.md) | - |
|
187
|
+
|`ubuntu-20.04`|`ubuntu`| - | - |
|
187
188
|
|`ubuntu-18.04`|`ubuntu`| - | - |
|
188
189
|
|`ubuntu-16.04`|`ubuntu`| - | - |
|
189
190
|
|`centos`|`root`| [example](examples/centos.md) | - |
|
191
|
+
|`centos8`|`root`| [example](examples/centos8.md) | - |
|
192
|
+
|`centos7`|`root`| [example](examples/centos7.md) | - |
|
190
193
|
|`centos6`|`root`| [example](examples/centos6.md) | - |
|
191
194
|
|`debian`|`root`| [example](examples/debian.md) | - |
|
195
|
+
|`debian10`|`root`| - | - |
|
196
|
+
|`debian9`|`root`| - | - |
|
192
197
|
|`coreos`|`core`| [example](examples/coreos.md) | - |
|
193
198
|
|`freebsd`|`root`| [example](examples/freebsd.md) | - |
|
194
199
|
|`rancheros`|`rancher`| [example](examples/rancheros.md) | メモリ2GB以上のプランが必要 |
|
200
|
+
|`k3os`|`rancher`| [example](examples/k3os.md) | - |
|
195
201
|
|
196
202
|
- ``disk_source_archive`` - サーバで利用するディスクのベースとするアーカイブのID (※`os_type`とは同時に指定できません)
|
197
203
|
- ``server_name`` - サーバ名
|
198
|
-
- ``server_plan`` - 作成するサーバのプラン ID
|
204
|
+
- ``server_plan`` - 作成するサーバのプラン ID(**非推奨** 代わりに`server_core`と`server_memory`を利用してください)
|
205
|
+
- ``server_core`` - 作成するサーバのコア数(デフォルト: `1`)
|
206
|
+
- ``server_memory`` - 作成するサーバのメモリサイズ(GB単位、デフォルト: `1`)
|
199
207
|
- ``packet_filter`` - 作成するサーバに適用するパケットフィルタ ID
|
200
208
|
- ``startup_scripts`` - 作成するサーバに適用するスタートアップスクリプト ID(リスト)
|
201
209
|
- ``enable_pw_auth`` - パスワード認証の有効化(デフォルト: `false`)
|
@@ -216,17 +224,18 @@ $ vagrant sakura-list-id
|
|
216
224
|
```sh
|
217
225
|
$ bundle
|
218
226
|
```
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
```Ruby
|
226
|
-
Vagrant.require_plugin "vagrant-sakura"
|
227
|
+
|
228
|
+
開発中のプラグインをテストするには以下のようにビルドしてから`vagrant plugin`コマンドでプラグインをインストールします。
|
229
|
+
|
230
|
+
```sh
|
231
|
+
bundle exec rake build
|
232
|
+
vagrant plugin install pkg/vagrant-sakura-*.gem
|
227
233
|
```
|
228
234
|
|
229
|
-
|
235
|
+
プラグインをインストール後、``Vagrantfile`` を clone したディレクトリに置いて
|
236
|
+
(.gitignore に書いてあるので git には無視されます)、
|
237
|
+
|
238
|
+
開発中の Vagrant 環境をテストすることができます。
|
230
239
|
```sh
|
231
|
-
$
|
240
|
+
$ vagrant up
|
232
241
|
```
|
data/examples/centos.md
CHANGED
data/examples/centos7.md
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# Vagrantfileの例(CentOS7を利用する場合)
|
2
|
+
|
3
|
+
```bash
|
4
|
+
Vagrant.configure("2") do |config|
|
5
|
+
config.vm.box = "dummy"
|
6
|
+
config.ssh.username = "root"
|
7
|
+
|
8
|
+
config.vm.provider :sakura do |sakura, override|
|
9
|
+
sakura.os_type = "centos7"
|
10
|
+
|
11
|
+
sakura.public_key_path = File.expand_path("~/.ssh/id_rsa.pub")
|
12
|
+
override.ssh.private_key_path = File.expand_path("~/.ssh/id_rsa")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
```
|
data/examples/centos8.md
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# Vagrantfileの例(CentOS8を利用する場合)
|
2
|
+
|
3
|
+
```bash
|
4
|
+
Vagrant.configure("2") do |config|
|
5
|
+
config.vm.box = "dummy"
|
6
|
+
config.ssh.username = "root"
|
7
|
+
|
8
|
+
config.vm.provider :sakura do |sakura, override|
|
9
|
+
sakura.os_type = "centos8"
|
10
|
+
|
11
|
+
sakura.public_key_path = File.expand_path("~/.ssh/id_rsa.pub")
|
12
|
+
override.ssh.private_key_path = File.expand_path("~/.ssh/id_rsa")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
```
|
data/examples/k3os.md
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# Vagrantfileの例(k3OSを利用する場合)
|
2
|
+
|
3
|
+
```bash
|
4
|
+
Vagrant.configure("2") do |config|
|
5
|
+
config.vm.box = "dummy"
|
6
|
+
config.ssh.username = "rancher"
|
7
|
+
config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", disabled: true
|
8
|
+
|
9
|
+
config.vm.provider :sakura do |sakura, override|
|
10
|
+
sakura.os_type = "k3os"
|
11
|
+
|
12
|
+
sakura.public_key_path = File.expand_path("~/.ssh/id_rsa.pub")
|
13
|
+
override.ssh.private_key_path = File.expand_path("~/.ssh/id_rsa")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
```
|
data/examples/rancheros.md
CHANGED
@@ -8,7 +8,10 @@ Vagrant.configure("2") do |config|
|
|
8
8
|
|
9
9
|
config.vm.provider :sakura do |sakura, override|
|
10
10
|
sakura.os_type = "rancheros"
|
11
|
-
|
11
|
+
|
12
|
+
# 2core/4GBメモリ プラン
|
13
|
+
sakura.server_core = 2
|
14
|
+
sakura.server_memory = 4
|
12
15
|
|
13
16
|
sakura.public_key_path = File.expand_path("~/.ssh/id_rsa.pub")
|
14
17
|
override.ssh.private_key_path = File.expand_path("~/.ssh/id_rsa")
|
@@ -19,8 +19,9 @@ module VagrantPlugins
|
|
19
19
|
server_name = env[:machine].provider_config.server_name
|
20
20
|
server_name ||= env[:machine].name
|
21
21
|
server_plan = env[:machine].provider_config.server_plan
|
22
|
+
server_core = env[:machine].provider_config.server_core
|
23
|
+
server_memory = env[:machine].provider_config.server_memory
|
22
24
|
disk_plan = env[:machine].provider_config.disk_plan
|
23
|
-
disk_source_mode = env[:machine].provider_config.disk_source_mode
|
24
25
|
os_type = env[:machine].provider_config.os_type
|
25
26
|
disk_source_archive = env[:machine].provider_config.disk_source_archive
|
26
27
|
sshkey_id = env[:machine].provider_config.sshkey_id
|
@@ -34,7 +35,12 @@ module VagrantPlugins
|
|
34
35
|
|
35
36
|
env[:ui].info(I18n.t("vagrant_sakura.creating_instance"))
|
36
37
|
env[:ui].info(" -- Server Name: #{server_name}")
|
37
|
-
|
38
|
+
if server_plan
|
39
|
+
env[:ui].info(" -- Server Plan: #{server_plan}")
|
40
|
+
else
|
41
|
+
env[:ui].info(" -- Server Core: #{server_core}")
|
42
|
+
env[:ui].info(" -- Server Memory: #{server_memory}")
|
43
|
+
end
|
38
44
|
env[:ui].info(" -- Disk Plan: #{disk_plan}")
|
39
45
|
env[:ui].info(" -- Disk Source OS Type: #{os_type}") if os_type
|
40
46
|
env[:ui].info(" -- Disk Source Archive: #{disk_source_archive}")
|
@@ -45,8 +51,55 @@ module VagrantPlugins
|
|
45
51
|
|
46
52
|
api = env[:sakura_api]
|
47
53
|
|
54
|
+
data = {
|
55
|
+
"Server" => {
|
56
|
+
"Name" => server_name,
|
57
|
+
"ServerPlan" => { "ID" => server_plan },
|
58
|
+
"ConnectedSwitches" => [
|
59
|
+
{ "Scope" => "shared", "BandWidthMbps" => 100 }
|
60
|
+
],
|
61
|
+
"Tags" => tags,
|
62
|
+
"Description" => description
|
63
|
+
}
|
64
|
+
}
|
65
|
+
if server_plan
|
66
|
+
data["Server"]["ServerPlan"] = { "ID" => server_plan }
|
67
|
+
else
|
68
|
+
data["Server"]["ServerPlan"] = {
|
69
|
+
"CPU" => server_core,
|
70
|
+
"MemoryMB" => server_memory * 1024
|
71
|
+
}
|
72
|
+
end
|
73
|
+
unless env[:machine].provider_config.disk_id
|
74
|
+
data["Server"]["WaitDiskMigration"] = true
|
75
|
+
end
|
76
|
+
|
77
|
+
response = api.post("/server", data)
|
78
|
+
unless response["Server"]["ID"]
|
79
|
+
raise 'no Server ID returned'
|
80
|
+
end
|
81
|
+
env[:machine].id = serverid = response["Server"]["ID"]
|
82
|
+
interface_id = response["Server"]["Interfaces"][0]["ID"]
|
83
|
+
# Server Created
|
84
|
+
|
85
|
+
unless packet_filter.empty?
|
86
|
+
response = api.put("/interface/#{interface_id}/to/packetfilter/#{packet_filter}")
|
87
|
+
# Packet Filter connected to Server
|
88
|
+
end
|
89
|
+
|
48
90
|
if env[:machine].provider_config.disk_id
|
49
91
|
diskid = env[:machine].provider_config.disk_id
|
92
|
+
|
93
|
+
begin
|
94
|
+
response = api.put("/disk/#{diskid}/to/server/#{serverid}")
|
95
|
+
# Disk mounted to Server
|
96
|
+
rescue VagrantPlugins::Sakura::Driver::NotFoundError
|
97
|
+
terminate(env)
|
98
|
+
raise
|
99
|
+
end
|
100
|
+
|
101
|
+
# Power On
|
102
|
+
response = api.put("/server/#{serverid}/power")
|
50
103
|
else
|
51
104
|
data = {
|
52
105
|
"Disk" => {
|
@@ -56,10 +109,32 @@ module VagrantPlugins
|
|
56
109
|
"SourceArchive" => {
|
57
110
|
"ID" => disk_source_archive
|
58
111
|
},
|
112
|
+
"Server" => {
|
113
|
+
"ID" => serverid
|
114
|
+
},
|
59
115
|
"Tags" => tags,
|
60
116
|
"Description" => description
|
61
|
-
}
|
117
|
+
},
|
118
|
+
"BootAtAvailable" => true
|
62
119
|
}
|
120
|
+
|
121
|
+
config = {
|
122
|
+
"UserSubnet" => {},
|
123
|
+
"Notes" => startup_scripts,
|
124
|
+
"DisablePWAuth" => !enable_pw_auth
|
125
|
+
}
|
126
|
+
if sshkey_id
|
127
|
+
config["SSHKey"] = { "ID" => sshkey_id }
|
128
|
+
elsif public_key_path
|
129
|
+
config["SSHKey"] = { "PublicKey" => File.read(public_key_path) }
|
130
|
+
elsif use_insecure_key
|
131
|
+
pubkey = Vagrant.source_root.join("keys", "vagrant.pub").read.chomp
|
132
|
+
config["SSHKey"] = { "PublicKey" => pubkey }
|
133
|
+
else
|
134
|
+
raise 'failsafe'
|
135
|
+
end
|
136
|
+
data["Config"] = config
|
137
|
+
|
63
138
|
response = api.post("/disk", data)
|
64
139
|
unless response["Disk"]["ID"]
|
65
140
|
raise 'no Disk ID returned'
|
@@ -83,59 +158,6 @@ module VagrantPlugins
|
|
83
158
|
end
|
84
159
|
end
|
85
160
|
|
86
|
-
data = {
|
87
|
-
"Server" => {
|
88
|
-
"Name" => server_name,
|
89
|
-
"ServerPlan" => { "ID" => server_plan },
|
90
|
-
"ConnectedSwitches" => [
|
91
|
-
{ "Scope" => "shared", "BandWidthMbps" => 100 }
|
92
|
-
],
|
93
|
-
"Tags" => tags,
|
94
|
-
"Description" => description
|
95
|
-
}
|
96
|
-
}
|
97
|
-
response = api.post("/server", data)
|
98
|
-
unless response["Server"]["ID"]
|
99
|
-
raise 'no Server ID returned'
|
100
|
-
end
|
101
|
-
env[:machine].id = serverid = response["Server"]["ID"]
|
102
|
-
interface_id = response["Server"]["Interfaces"][0]["ID"]
|
103
|
-
# Server Created
|
104
|
-
|
105
|
-
unless packet_filter.empty?
|
106
|
-
response = api.put("/interface/#{interface_id}/to/packetfilter/#{packet_filter}")
|
107
|
-
# Packet Filter connected to Server
|
108
|
-
end
|
109
|
-
|
110
|
-
begin
|
111
|
-
response = api.put("/disk/#{diskid}/to/server/#{serverid}")
|
112
|
-
# Disk mounted to Server
|
113
|
-
rescue VagrantPlugins::Sakura::Driver::NotFoundError
|
114
|
-
terminate(env)
|
115
|
-
raise
|
116
|
-
end
|
117
|
-
|
118
|
-
data = {
|
119
|
-
"UserSubnet" => {},
|
120
|
-
"Notes" => startup_scripts,
|
121
|
-
"DisablePWAuth" => !enable_pw_auth
|
122
|
-
}
|
123
|
-
if sshkey_id
|
124
|
-
data["SSHKey"] = { "ID" => sshkey_id }
|
125
|
-
elsif public_key_path
|
126
|
-
data["SSHKey"] = { "PublicKey" => File.read(public_key_path) }
|
127
|
-
elsif use_insecure_key
|
128
|
-
pubkey = Vagrant.source_root.join("keys", "vagrant.pub").read.chomp
|
129
|
-
data["SSHKey"] = { "PublicKey" => pubkey }
|
130
|
-
else
|
131
|
-
raise 'failsafe'
|
132
|
-
end
|
133
|
-
|
134
|
-
response = api.put("/disk/#{diskid}/config", data)
|
135
|
-
# Config
|
136
|
-
|
137
|
-
response = api.put("/server/#{serverid}/power")
|
138
|
-
# Power On
|
139
161
|
|
140
162
|
if !env[:interrupted]
|
141
163
|
# Wait for SSH to be ready.
|
@@ -47,10 +47,23 @@ module VagrantPlugins
|
|
47
47
|
attr_accessor :server_name
|
48
48
|
|
49
49
|
# The Plan ID of the server.
|
50
|
-
#
|
50
|
+
#
|
51
|
+
# @deprecated Use {#server_core} and {#server_memory} instead.
|
51
52
|
# @return [Fixnum]
|
52
53
|
attr_accessor :server_plan
|
53
54
|
|
55
|
+
# The number of cores.
|
56
|
+
#
|
57
|
+
# @return [Fixnum]
|
58
|
+
attr_accessor :server_core
|
59
|
+
|
60
|
+
# The number of memories.
|
61
|
+
# unit: GB
|
62
|
+
#
|
63
|
+
# @deprecated Use {#server_core} and {#server_memory} instead.
|
64
|
+
# @return [Fixnum]
|
65
|
+
attr_accessor :server_memory
|
66
|
+
|
54
67
|
# The resource ID of the SSH public key to login the server.
|
55
68
|
#
|
56
69
|
# @return [String]
|
@@ -104,6 +117,8 @@ module VagrantPlugins
|
|
104
117
|
@public_key_path = UNSET_VALUE
|
105
118
|
@server_name = UNSET_VALUE
|
106
119
|
@server_plan = UNSET_VALUE
|
120
|
+
@server_core = UNSET_VALUE
|
121
|
+
@server_memory = UNSET_VALUE
|
107
122
|
@sshkey_id = UNSET_VALUE
|
108
123
|
@use_insecure_key = UNSET_VALUE
|
109
124
|
@enable_pw_auth = UNSET_VALUE
|
@@ -167,7 +182,13 @@ module VagrantPlugins
|
|
167
182
|
end
|
168
183
|
|
169
184
|
if @server_plan == UNSET_VALUE
|
170
|
-
@server_plan =
|
185
|
+
@server_plan = nil
|
186
|
+
end
|
187
|
+
if @server_core == UNSET_VALUE
|
188
|
+
@server_core = 1
|
189
|
+
end
|
190
|
+
if @server_memory == UNSET_VALUE
|
191
|
+
@server_memory = 1
|
171
192
|
end
|
172
193
|
|
173
194
|
@sshkey_id = nil if @sshkey_id == UNSET_VALUE
|
@@ -213,8 +234,10 @@ module VagrantPlugins
|
|
213
234
|
errors << I18n.t("vagrant_sakura.config.need_ssh_key_config")
|
214
235
|
end
|
215
236
|
|
216
|
-
if
|
217
|
-
|
237
|
+
if disk_source_mode == :os_type
|
238
|
+
if not VagrantPlugins::Sakura::OSType::os_types.include? @os_type
|
239
|
+
errors << I18n.t("vagrant_sakura.config.need_valid_os_type")
|
240
|
+
end
|
218
241
|
end
|
219
242
|
|
220
243
|
{ "Sakura Provider" => errors }
|
@@ -6,7 +6,6 @@ module VagrantPlugins
|
|
6
6
|
module Sakura
|
7
7
|
module Driver
|
8
8
|
APIHOST = "secure.sakura.ad.jp"
|
9
|
-
CERTFILE = File.expand_path("../cert.pem", __FILE__)
|
10
9
|
|
11
10
|
class API
|
12
11
|
def initialize(access_token, access_token_secret, zone_id)
|
@@ -18,7 +17,6 @@ module VagrantPlugins
|
|
18
17
|
|
19
18
|
@https = Net::HTTP.new(APIHOST, 443)
|
20
19
|
@https.use_ssl = true
|
21
|
-
@https.ca_file = CERTFILE
|
22
20
|
@https.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
23
21
|
@https.verify_depth = 3
|
24
22
|
end
|
@@ -5,27 +5,45 @@ module VagrantPlugins
|
|
5
5
|
"centos" => {
|
6
6
|
"Tags.Name" => [%w(current-stable distro-centos)]
|
7
7
|
},
|
8
|
+
"centos8" => {
|
9
|
+
"Tags.Name" => [%w(centos-8-latest)]
|
10
|
+
},
|
11
|
+
"centos7" => {
|
12
|
+
"Tags.Name" => [%w(centos-7-latest)]
|
13
|
+
},
|
8
14
|
"centos6" => {
|
9
|
-
"Tags.Name" => [%w(
|
15
|
+
"Tags.Name" => [%w(centos-6-latest)]
|
10
16
|
},
|
11
17
|
"ubuntu" => {
|
12
18
|
"Tags.Name" => [%w(current-stable distro-ubuntu)]
|
13
19
|
},
|
14
|
-
"ubuntu-
|
15
|
-
"Tags.Name" => [%w(
|
20
|
+
"ubuntu-20.04" => {
|
21
|
+
"Tags.Name" => [%w(ubuntu-20.04-latest)]
|
16
22
|
},
|
17
23
|
"ubuntu-18.04" => {
|
18
|
-
"Tags.Name" => [%w(
|
24
|
+
"Tags.Name" => [%w(ubuntu-18.04-latest)]
|
25
|
+
},
|
26
|
+
"ubuntu-16.04" => {
|
27
|
+
"Tags.Name" => [%w(ubuntu-16.04-latest)]
|
19
28
|
},
|
20
29
|
"debian" => {
|
21
30
|
"Tags.Name" => [%w(current-stable distro-debian)]
|
22
31
|
},
|
32
|
+
"debian10" => {
|
33
|
+
"Tags.Name" => [%w(debian-10-latest)]
|
34
|
+
},
|
35
|
+
"debian9" => {
|
36
|
+
"Tags.Name" => [%w(debian-9-latest)]
|
37
|
+
},
|
23
38
|
"coreos" => {
|
24
39
|
"Tags.Name" => [%w(current-stable distro-coreos)]
|
25
40
|
},
|
26
41
|
"rancheros" => {
|
27
42
|
"Tags.Name" => [%w(current-stable distro-rancheros)]
|
28
43
|
},
|
44
|
+
"k3os" => {
|
45
|
+
"Tags.Name" => [%w(current-stable distro-k3os)]
|
46
|
+
},
|
29
47
|
"freebsd" => {
|
30
48
|
"Tags.Name" => [%w(current-stable distro-freebsd)]
|
31
49
|
},
|
data/test/test_config.rb
CHANGED
@@ -251,6 +251,22 @@ module VagrantPlugins
|
|
251
251
|
},
|
252
252
|
"expect" => false
|
253
253
|
},
|
254
|
+
|
255
|
+
"os_type is empty with archive_id" => {
|
256
|
+
"config" => {
|
257
|
+
"use_insecure_key" => true,
|
258
|
+
"disk_source_archive" => "999999999999"
|
259
|
+
},
|
260
|
+
"expect" => true
|
261
|
+
},
|
262
|
+
|
263
|
+
"os_type is empty with disk_id" => {
|
264
|
+
"config" => {
|
265
|
+
"use_insecure_key" => true,
|
266
|
+
"disk_id" => "999999999999"
|
267
|
+
},
|
268
|
+
"expect" => true
|
269
|
+
},
|
254
270
|
}
|
255
271
|
|
256
272
|
cases.map do |name, c|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-sakura
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomoyuki Sahara
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2020-10-09 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Enables Vagrant to manage machines in Sakura Cloud.
|
15
15
|
email:
|
@@ -18,8 +18,8 @@ executables: []
|
|
18
18
|
extensions: []
|
19
19
|
extra_rdoc_files: []
|
20
20
|
files:
|
21
|
+
- ".github/workflows/tests.yaml"
|
21
22
|
- ".gitignore"
|
22
|
-
- ".travis.yml"
|
23
23
|
- CHANGELOG.md
|
24
24
|
- Gemfile
|
25
25
|
- LICENSE-vagrant-aws.txt
|
@@ -31,9 +31,12 @@ files:
|
|
31
31
|
- example_box/metadata.json
|
32
32
|
- examples/centos.md
|
33
33
|
- examples/centos6.md
|
34
|
+
- examples/centos7.md
|
35
|
+
- examples/centos8.md
|
34
36
|
- examples/coreos.md
|
35
37
|
- examples/debian.md
|
36
38
|
- examples/freebsd.md
|
39
|
+
- examples/k3os.md
|
37
40
|
- examples/rancheros.md
|
38
41
|
- examples/ubuntu.md
|
39
42
|
- lib/vagrant-sakura.rb
|
@@ -59,7 +62,6 @@ files:
|
|
59
62
|
- lib/vagrant-sakura/command_reinstall.rb
|
60
63
|
- lib/vagrant-sakura/config.rb
|
61
64
|
- lib/vagrant-sakura/driver/api.rb
|
62
|
-
- lib/vagrant-sakura/driver/cert.pem
|
63
65
|
- lib/vagrant-sakura/errors.rb
|
64
66
|
- lib/vagrant-sakura/os_type.rb
|
65
67
|
- lib/vagrant-sakura/plugin.rb
|
@@ -88,8 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
88
90
|
- !ruby/object:Gem::Version
|
89
91
|
version: '0'
|
90
92
|
requirements: []
|
91
|
-
|
92
|
-
rubygems_version: 2.7.7
|
93
|
+
rubygems_version: 3.1.2
|
93
94
|
signing_key:
|
94
95
|
specification_version: 4
|
95
96
|
summary: Enables Vagrant to manage machines in Sakura Cloud.
|
data/.travis.yml
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
sudo: false
|
2
|
-
language: ruby
|
3
|
-
cache: bundler
|
4
|
-
|
5
|
-
addons:
|
6
|
-
apt:
|
7
|
-
packages:
|
8
|
-
- bsdtar
|
9
|
-
rvm:
|
10
|
-
- 2.3.7
|
11
|
-
- 2.4.4
|
12
|
-
- 2.5.0
|
13
|
-
- 2.5.1
|
14
|
-
|
15
|
-
env:
|
16
|
-
global:
|
17
|
-
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true
|
18
|
-
|
19
|
-
script: bundle exec rake test
|
20
|
-
|
21
|
-
deploy:
|
22
|
-
provider: rubygems
|
23
|
-
api_key:
|
24
|
-
secure: dPtjpKnaDadiUGiO/ZZG+CK0GRChirb6qbr5UawJff3X1POtU/Q7AXOfwYkMEZv55NT098jvtqPDcAA7ilqQu6Pb1YO51FnHqXk5UPqksCMcAucQX6ByL3V1X8Vliw2rbvKw8BTg9IoNotu6bDIFMDdU0Gz0iU35U9efkxIX+Rc=
|
25
|
-
on:
|
26
|
-
tags: true
|
27
|
-
|
28
|
-
notifications:
|
29
|
-
slack:
|
30
|
-
secure: d9jmDMPRbEHfKTmY+FqYNovtDTag+NNBVE2W3YYkGLp4QCGiaHSlV6rCDDmX02fUOtLgA1FrsJJpS17/3sBG6JX3aWh4wIWW8XCzrzUmItWa25J/Fj3KutbJN0pYXeEVDR8Cw0OoAZpzlgBOBbe5mcCpPhHhe3gTUaRBxqCiQII=
|
@@ -1,21 +0,0 @@
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
2
|
-
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
|
3
|
-
RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD
|
4
|
-
VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX
|
5
|
-
DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y
|
6
|
-
ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy
|
7
|
-
VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr
|
8
|
-
mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr
|
9
|
-
IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK
|
10
|
-
mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu
|
11
|
-
XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy
|
12
|
-
dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye
|
13
|
-
jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1
|
14
|
-
BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3
|
15
|
-
DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92
|
16
|
-
9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx
|
17
|
-
jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0
|
18
|
-
Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz
|
19
|
-
ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS
|
20
|
-
R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
|
21
|
-
-----END CERTIFICATE-----
|