vcloud-tools 1.0.0 → 2.1.0
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 +7 -0
- data/CHANGELOG.md +6 -0
- data/Gemfile +1 -1
- data/Jenkinsfile +36 -0
- data/LICENSE.txt +1 -1
- data/README.md +2 -89
- data/jenkins.sh +2 -0
- data/lib/vcloud/tools/version.rb +1 -1
- data/vcloud-tools.gemspec +3 -1
- metadata +25 -48
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 08276e5def8d4d5efab08a3fb71e9fa97c99d7e4
|
4
|
+
data.tar.gz: 74cb5884fa71fb214f5f356ad6d1e682fb5c26fd
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 173e89021533ce8e7c9a99359feb11e3439f1e96cceaf8cf213bdf035f34dcdfc3c4f1fd18aee959ba2a4e53df1725b126c1bb5040b27cc3553383c020353fa7
|
7
|
+
data.tar.gz: 348c0e395bc770fdfe5c84609317d625b421c241b52abcba9343bfd079f83a88c5dea17e81d46afeb6683ec36dba1e7054130035787c4cb830b62a719c0106ad
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/Jenkinsfile
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
#!/usr/bin/env groovy
|
2
|
+
|
3
|
+
repoName = JOB_NAME.split('/')[0]
|
4
|
+
|
5
|
+
node {
|
6
|
+
def govuk = load '/var/lib/jenkins/groovy_scripts/govuk_jenkinslib.groovy'
|
7
|
+
|
8
|
+
try {
|
9
|
+
stage("Checkout") {
|
10
|
+
govuk.checkoutFromGitHubWithSSH(repoName)
|
11
|
+
}
|
12
|
+
|
13
|
+
stage("Clean up workspace") {
|
14
|
+
govuk.cleanupGit()
|
15
|
+
}
|
16
|
+
|
17
|
+
stage("bundle install") {
|
18
|
+
govuk.setEnvar("RBENV_VERSION", "2.2.2")
|
19
|
+
govuk.bundleGem()
|
20
|
+
}
|
21
|
+
|
22
|
+
if (env.BRANCH_NAME == "master") {
|
23
|
+
stage("Publish gem") {
|
24
|
+
govuk.publishGem(repoName, env.BRANCH_NAME)
|
25
|
+
}
|
26
|
+
}
|
27
|
+
} catch (e) {
|
28
|
+
currentBuild.result = "FAILED"
|
29
|
+
step([$class: 'Mailer',
|
30
|
+
notifyEveryUnstableBuild: true,
|
31
|
+
recipients: 'govuk-ci-notifications@digital.cabinet-office.gov.uk',
|
32
|
+
sendToIndividuals: true])
|
33
|
+
throw e
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
data/LICENSE.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2014
|
3
|
+
Copyright (c) 2014 Crown Copyright (Government Digital Service)
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
6
6
|
this software and associated documentation files (the "Software"), to deal in
|
data/README.md
CHANGED
@@ -1,93 +1,6 @@
|
|
1
1
|
vCloud Tools
|
2
2
|
============
|
3
|
-
A collection of tools for provisioning in vCloud Director.
|
4
|
-
|
5
|
-
vCloud Tools is a meta-gem that depends on the tools listed below.
|
6
|
-
|
7
|
-
You can install the individual gems you require, or you can include or install vcloud-tools which will give you all of the below.
|
8
|
-
|
9
|
-
## vCloud Launcher
|
10
|
-
|
11
|
-
A tool that takes a YAML configuration file describing a vDC, and provisions
|
12
|
-
the vApps and VMs contained within.
|
13
|
-
|
14
|
-
( [gem in RubyGems](http://rubygems.org/gems/vcloud-launcher) | [code on GitHub](https://github.com/alphagov/vcloud-launcher) )
|
15
|
-
|
16
|
-
|
17
|
-
## vCloud Net Launcher
|
18
|
-
|
19
|
-
A tool that takes a YAML configuration file describing vCloud networks and configures each of them.
|
20
|
-
|
21
|
-
( [gem in RubyGems](http://rubygems.org/gems/vcloud-net_launcher) | [code on GitHub](https://github.com/alphagov/vcloud-net_launcher) )
|
22
|
-
|
23
|
-
## vCloud Walker
|
24
|
-
A gem that reports on the current state of an environment.
|
25
|
-
|
26
|
-
( [gem in RubyGems](http://rubygems.org/gems/vcloud-walker) | [code on GitHub](https://github.com/alphagov/vcloud-walker) )
|
27
|
-
|
28
|
-
## vCloud Edge Gateway
|
29
|
-
A gem to configure a VMware vCloud Edge Gateway.
|
30
|
-
|
31
|
-
( [gem in RubyGems](http://rubygems.org/gems/vcloud-edge_gateway) | [code on GitHub](https://github.com/alphagov/vcloud-edge_gateway) )
|
32
|
-
|
33
|
-
## vCloud Core
|
34
|
-
|
35
|
-
The gem that handles the interaction with the vCloud API, via [Fog](http://fog.io/).
|
36
|
-
|
37
|
-
vCloud Core also comes with command line tool, vCloud Query, which exposes the vCloud Query API.
|
38
|
-
|
39
|
-
( [gem in RubyGems](http://rubygems.org/gems/vcloud-core) | [code on GitHub](https://github.com/alphagov/vcloud-core) )
|
40
|
-
|
41
|
-
|
42
|
-
## Installation
|
43
|
-
|
44
|
-
Add this line to your application's Gemfile:
|
45
3
|
|
46
|
-
|
47
|
-
|
48
|
-
And then execute:
|
49
|
-
|
50
|
-
$ bundle
|
51
|
-
|
52
|
-
Or install it yourself as:
|
53
|
-
|
54
|
-
$ gem install vcloud-tools
|
55
|
-
|
56
|
-
Installing vCloud Tools will install all of the tools listed above.
|
57
|
-
|
58
|
-
## Credentials
|
59
|
-
|
60
|
-
vCloud Tools is based around [fog](http://fog.io/). To use it you'll need to give it credentials that allow it to talk to a vCloud Director environment.
|
61
|
-
|
62
|
-
1. Create a '.fog' file in your home directory.
|
63
|
-
|
64
|
-
For example:
|
65
|
-
|
66
|
-
test_credentials:
|
67
|
-
vcloud_director_host: 'host.api.example.com'
|
68
|
-
vcloud_director_username: 'username@org_name'
|
69
|
-
vcloud_director_password: ''
|
70
|
-
|
71
|
-
2. Obtain a session token. First, curl the API:
|
72
|
-
|
73
|
-
curl -D- -d '' \
|
74
|
-
-H 'Accept: application/*+xml;version=5.1' -u '<username>@<org_name>' \
|
75
|
-
https://<host.api.example.com>/api/sessions
|
76
|
-
|
77
|
-
This will prompt for your password.
|
78
|
-
|
79
|
-
From the headers returned, the value of the `x-vcloud-authorization` header is your session token, and this will be valid for 30 minutes idle - any activity will extend its life by another 30 minutes.
|
80
|
-
|
81
|
-
3. Specify your credentials and session token at the beginning of the command. For example:
|
82
|
-
|
83
|
-
FOG_CREDENTIAL=test_credentials \
|
84
|
-
FOG_VCLOUD_TOKEN=AAAABBBBBCCCCCCDDDDDDEEEEEEFFFFF= \
|
85
|
-
vcloud-launch node.yaml
|
86
|
-
|
87
|
-
You may find it easier to export one or both of the values as environment variables.
|
88
|
-
|
89
|
-
**NB** It is also possible to sidestep the need for the session token by saving your password in the fog file. This is **not recommended**.
|
90
|
-
|
91
|
-
## Contributing
|
4
|
+
A collection of tools for provisioning in vCloud Director.
|
92
5
|
|
93
|
-
|
6
|
+
See the [vCloud Tools website](http://gds-operations.github.io/vcloud-tools/) for more information.
|
data/jenkins.sh
CHANGED
data/lib/vcloud/tools/version.rb
CHANGED
data/vcloud-tools.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.version = Vcloud::Tools::VERSION
|
10
10
|
s.authors = ['Government Digital Service']
|
11
11
|
s.summary = %q{Tools for VMware vCloud}
|
12
|
-
s.homepage = 'https://github.com/
|
12
|
+
s.homepage = 'https://github.com/gds-operations/vcloud-tools'
|
13
13
|
s.license = 'MIT'
|
14
14
|
|
15
15
|
s.files = `git ls-files`.split($/)
|
@@ -17,6 +17,8 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
18
18
|
s.require_paths = ['lib']
|
19
19
|
|
20
|
+
s.required_ruby_version = '>= 2.2.2'
|
21
|
+
|
20
22
|
s.add_runtime_dependency 'vcloud-core'
|
21
23
|
s.add_runtime_dependency 'vcloud-edge_gateway'
|
22
24
|
s.add_runtime_dependency 'vcloud-launcher'
|
metadata
CHANGED
@@ -1,100 +1,88 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vcloud-tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
5
|
-
prerelease:
|
4
|
+
version: 2.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Government Digital Service
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2017-06-26 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: vcloud-core
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: vcloud-edge_gateway
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: vcloud-launcher
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: vcloud-net_launcher
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - ">="
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - ">="
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: vcloud-walker
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - ">="
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - ">="
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: gem_publisher
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
87
|
- - '='
|
100
88
|
- !ruby/object:Gem::Version
|
@@ -102,7 +90,6 @@ dependencies:
|
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
94
|
- - '='
|
108
95
|
- !ruby/object:Gem::Version
|
@@ -110,33 +97,29 @@ dependencies:
|
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: rake
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - ">="
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '0'
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- -
|
108
|
+
- - ">="
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: '0'
|
126
111
|
- !ruby/object:Gem::Dependency
|
127
112
|
name: vcloud-tools-tester
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
114
|
requirements:
|
131
|
-
- -
|
115
|
+
- - ">="
|
132
116
|
- !ruby/object:Gem::Version
|
133
117
|
version: '0'
|
134
118
|
type: :development
|
135
119
|
prerelease: false
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
121
|
requirements:
|
139
|
-
- -
|
122
|
+
- - ">="
|
140
123
|
- !ruby/object:Gem::Version
|
141
124
|
version: '0'
|
142
125
|
description:
|
@@ -145,9 +128,10 @@ executables: []
|
|
145
128
|
extensions: []
|
146
129
|
extra_rdoc_files: []
|
147
130
|
files:
|
148
|
-
- .gitignore
|
131
|
+
- ".gitignore"
|
149
132
|
- CHANGELOG.md
|
150
133
|
- Gemfile
|
134
|
+
- Jenkinsfile
|
151
135
|
- LICENSE.txt
|
152
136
|
- README.md
|
153
137
|
- Rakefile
|
@@ -155,35 +139,28 @@ files:
|
|
155
139
|
- lib/vcloud/tools.rb
|
156
140
|
- lib/vcloud/tools/version.rb
|
157
141
|
- vcloud-tools.gemspec
|
158
|
-
homepage: https://github.com/
|
142
|
+
homepage: https://github.com/gds-operations/vcloud-tools
|
159
143
|
licenses:
|
160
144
|
- MIT
|
145
|
+
metadata: {}
|
161
146
|
post_install_message:
|
162
147
|
rdoc_options: []
|
163
148
|
require_paths:
|
164
149
|
- lib
|
165
150
|
required_ruby_version: !ruby/object:Gem::Requirement
|
166
|
-
none: false
|
167
151
|
requirements:
|
168
|
-
- -
|
152
|
+
- - ">="
|
169
153
|
- !ruby/object:Gem::Version
|
170
|
-
version:
|
171
|
-
segments:
|
172
|
-
- 0
|
173
|
-
hash: 2217743853277878432
|
154
|
+
version: 2.2.2
|
174
155
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
175
|
-
none: false
|
176
156
|
requirements:
|
177
|
-
- -
|
157
|
+
- - ">="
|
178
158
|
- !ruby/object:Gem::Version
|
179
159
|
version: '0'
|
180
|
-
segments:
|
181
|
-
- 0
|
182
|
-
hash: 2217743853277878432
|
183
160
|
requirements: []
|
184
161
|
rubyforge_project:
|
185
|
-
rubygems_version:
|
162
|
+
rubygems_version: 2.4.5
|
186
163
|
signing_key:
|
187
|
-
specification_version:
|
164
|
+
specification_version: 4
|
188
165
|
summary: Tools for VMware vCloud
|
189
166
|
test_files: []
|