├── .gitignore ├── CHANGELOG.md ├── Gemfile ├── Jenkinsfile ├── LICENSE.txt ├── README.md ├── Rakefile ├── jenkins.sh ├── lib └── vcloud │ ├── tools.rb │ └── tools │ └── version.rb └── vcloud-tools.gemspec /.gitignore: -------------------------------------------------------------------------------- 1 | vcloud_env.sh 2 | /Gemfile.lock 3 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 2.1.0 (2017-06-24) 2 | 3 | - Bring version number into line with the rest of the vCloud Tools estate 4 | - Make Ruby 2.2.2 the lowest possible version of Ruby to use as per the rest 5 | of the toolset. 6 | 7 | ## 1.0.0 (2014-05-19) 8 | 9 | Features: 10 | 11 | - We no longer specify a version for the gems that this meta-gem installs; 12 | installing this gem should now install the most recent versions of its dependencies. 13 | - Include vCloud Tools Tester gem 14 | 15 | ## 0.8.0 (2014-04-23) 16 | 17 | Features: 18 | 19 | - First release of vCloud Tools as a gem 20 | - vCloud Tools is now a meta-gem incorporating: 21 | - vCloud Core 22 | - vCloud Edge Gateway 23 | - vCloud Launcher 24 | - vCloud Net Launcher 25 | - vCloud Walker 26 | 27 | ## 0.7.0 (2014-01-07) 28 | 29 | - Storage profile can be provisioned using name only. Structure of yaml input has changed: d7a69e3 30 | - orgVdcNetwork can be provisioned using the tool 31 | - Integration test variable names have changed: 2f97634 32 | - Better error messages are raised when link is not found: 26a04f4 33 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gemspec 4 | -------------------------------------------------------------------------------- /Jenkinsfile: -------------------------------------------------------------------------------- 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 | 37 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Crown Copyright (Government Digital Service) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | vCloud Tools 2 | ============ 3 | 4 | A collection of tools for provisioning in vCloud Director. 5 | 6 | See the [vCloud Tools website](http://gds-operations.github.io/vcloud-tools/) for more information. 7 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require 'gem_publisher' 2 | 3 | task :publish_gem do |t| 4 | gem = GemPublisher.publish_if_updated("vcloud-tools.gemspec", :rubygems) 5 | puts "Published #{gem}" if gem 6 | end 7 | -------------------------------------------------------------------------------- /jenkins.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | set -e 3 | 4 | git clean -ffdx 5 | bundle install --path "${HOME}/bundles/${JOB_NAME}" 6 | bundle exec rake publish_gem 7 | -------------------------------------------------------------------------------- /lib/vcloud/tools.rb: -------------------------------------------------------------------------------- 1 | require 'vcloud/tools/version' 2 | -------------------------------------------------------------------------------- /lib/vcloud/tools/version.rb: -------------------------------------------------------------------------------- 1 | module Vcloud 2 | module Tools 3 | VERSION = '2.1.0' 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /vcloud-tools.gemspec: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | lib = File.expand_path('../lib', __FILE__) 4 | $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) 5 | require 'vcloud/tools/version' 6 | 7 | Gem::Specification.new do |s| 8 | s.name = 'vcloud-tools' 9 | s.version = Vcloud::Tools::VERSION 10 | s.authors = ['Government Digital Service'] 11 | s.summary = %q{Tools for VMware vCloud} 12 | s.homepage = 'https://github.com/gds-operations/vcloud-tools' 13 | s.license = 'MIT' 14 | 15 | s.files = `git ls-files`.split($/) 16 | s.executables = s.files.grep(%r{^bin/}) {|f| File.basename(f)} 17 | s.test_files = s.files.grep(%r{^(test|spec|features)/}) 18 | s.require_paths = ['lib'] 19 | 20 | s.required_ruby_version = '>= 2.2.2' 21 | 22 | s.add_runtime_dependency 'vcloud-core' 23 | s.add_runtime_dependency 'vcloud-edge_gateway' 24 | s.add_runtime_dependency 'vcloud-launcher' 25 | s.add_runtime_dependency 'vcloud-net_launcher' 26 | s.add_runtime_dependency 'vcloud-walker' 27 | s.add_development_dependency 'gem_publisher', '1.2.0' 28 | s.add_development_dependency 'rake' 29 | s.add_development_dependency 'vcloud-tools-tester' 30 | end 31 | --------------------------------------------------------------------------------