vagrant-zones 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +7 -0
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +27 -0
  3. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  4. data/.github/dependabot.yml +6 -0
  5. data/.github/workflows/codeql-analysis.yml +72 -0
  6. data/.github/workflows/lint-release-and-publish.yml +70 -0
  7. data/.github/workflows/ruby-lint.yml +35 -0
  8. data/.gitignore +35 -0
  9. data/.rspec +2 -0
  10. data/.rubocop.yml +143 -0
  11. data/CHANGELOG.md +0 -0
  12. data/CODE_OF_CONDUCT.md +128 -0
  13. data/CONTRIBUTING.md +96 -0
  14. data/Gemfile +14 -0
  15. data/LICENSE +651 -0
  16. data/PULL_REQUEST_TEMPLATE.md +39 -0
  17. data/README.md +81 -0
  18. data/RELEASE.md +15 -0
  19. data/Rakefile +32 -0
  20. data/SECURITY.md +19 -0
  21. data/docs/CNAME +1 -0
  22. data/docs/_config.yml +1 -0
  23. data/docs/css/main.css +55 -0
  24. data/docs/css/styles.css +8678 -0
  25. data/docs/index.html +127 -0
  26. data/lib/vagrant-zones/action/create.rb +29 -0
  27. data/lib/vagrant-zones/action/destroy.rb +27 -0
  28. data/lib/vagrant-zones/action/halt.rb +24 -0
  29. data/lib/vagrant-zones/action/import.rb +112 -0
  30. data/lib/vagrant-zones/action/is_created.rb +22 -0
  31. data/lib/vagrant-zones/action/network.rb +26 -0
  32. data/lib/vagrant-zones/action/not_created.rb +20 -0
  33. data/lib/vagrant-zones/action/package.rb +134 -0
  34. data/lib/vagrant-zones/action/prepare_nfs_valid_ids.rb +24 -0
  35. data/lib/vagrant-zones/action/restart.rb +53 -0
  36. data/lib/vagrant-zones/action/setup.rb +26 -0
  37. data/lib/vagrant-zones/action/shutdown.rb +47 -0
  38. data/lib/vagrant-zones/action/start.rb +25 -0
  39. data/lib/vagrant-zones/action/wait_till_boot.rb +59 -0
  40. data/lib/vagrant-zones/action/wait_till_up.rb +65 -0
  41. data/lib/vagrant-zones/action.rb +204 -0
  42. data/lib/vagrant-zones/command/configure_snapshots.rb +49 -0
  43. data/lib/vagrant-zones/command/console.rb +63 -0
  44. data/lib/vagrant-zones/command/create_snapshots.rb +46 -0
  45. data/lib/vagrant-zones/command/delete_snapshots.rb +38 -0
  46. data/lib/vagrant-zones/command/guest_power_controls.rb +58 -0
  47. data/lib/vagrant-zones/command/list_snapshots.rb +44 -0
  48. data/lib/vagrant-zones/command/restart_guest.rb +29 -0
  49. data/lib/vagrant-zones/command/shutdown_guest.rb +29 -0
  50. data/lib/vagrant-zones/command/vnc_console.rb +48 -0
  51. data/lib/vagrant-zones/command/webvnc_console.rb +49 -0
  52. data/lib/vagrant-zones/command/zfssnapshot.rb +67 -0
  53. data/lib/vagrant-zones/command/zlogin_console.rb +40 -0
  54. data/lib/vagrant-zones/command/zone.rb +73 -0
  55. data/lib/vagrant-zones/config.rb +78 -0
  56. data/lib/vagrant-zones/driver.rb +1710 -0
  57. data/lib/vagrant-zones/errors.rb +61 -0
  58. data/lib/vagrant-zones/executor.rb +38 -0
  59. data/lib/vagrant-zones/plugin.rb +79 -0
  60. data/lib/vagrant-zones/provider.rb +83 -0
  61. data/lib/vagrant-zones/util/subprocess.rb +31 -0
  62. data/lib/vagrant-zones/util/timer.rb +19 -0
  63. data/lib/vagrant-zones/version.rb +7 -0
  64. data/lib/vagrant-zones.rb +29 -0
  65. data/locales/en.yml +326 -0
  66. data/vagrant-zones.gemspec +51 -0
  67. metadata +412 -0
@@ -0,0 +1,39 @@
1
+ # Description
2
+
3
+ Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.
4
+
5
+ Fixes # (issue)
6
+
7
+ ## Type of change
8
+
9
+ Please delete options that are not relevant.
10
+
11
+ - [ ] Bug fix (non-breaking change which fixes an issue)
12
+ - [ ] New feature (non-breaking change which adds functionality)
13
+ - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
14
+ - [ ] This change requires a documentation update
15
+
16
+ # How Has This Been Tested?
17
+
18
+ Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
19
+
20
+ - [ ] Test A
21
+ - [ ] Test B
22
+
23
+ **Test Configuration**:
24
+ * Firmware version:
25
+ * Hardware:
26
+ * Toolchain:
27
+ * SDK:
28
+
29
+ # Checklist:
30
+
31
+ - [ ] My code follows the style guidelines of this project
32
+ - [ ] I have performed a self-review of my code
33
+ - [ ] I have commented my code, particularly in hard-to-understand areas
34
+ - [ ] I have made corresponding changes to the documentation
35
+ - [ ] My changes generate no new warnings
36
+ - [ ] I have added tests that prove my fix is effective or that my feature works
37
+ - [ ] New and existing unit tests pass locally with my changes
38
+ - [ ] Any dependent changes have been merged and published in downstream modules
39
+
data/README.md ADDED
@@ -0,0 +1,81 @@
1
+ # vagrant-zones
2
+ Vagrant Plugin which can be used to managed Bhyve, LX and native zones on illumos (OmniOSce)
3
+
4
+ This project is still in the early stages, any feedback is much appreciated
5
+
6
+ [![Gem Version](https://badge.fury.io/rb/vagrant-zones.svg)](https://badge.fury.io/rb/vagrant-zones)
7
+
8
+ - [Status](#status)
9
+ - [Functions](../../wiki/Status#functions)
10
+ - [Boxes](../../wiki/Status#Box-Support)
11
+ - [Examples](https://github.com/Makr91/vagrant-zones-examples)
12
+ - [Installation](#installation)
13
+ - [Known Issues](../../wiki/Known-Issues-and-Workarounds)
14
+ - [Development](../../wiki/Plugin-Development-Environment)
15
+ - [Preparing OS environment](../../wiki/Plugin-Development-Environment#setup-os-for-development)
16
+ - [Setup vagrant-zones environment](../../wiki/Plugin-Development-Environment#setup-vagrant-zones-environment)
17
+ - [Commands](../../wiki/Commands)
18
+ - [Create a box](../../wiki/Commands#create-a-box)
19
+ - [Add the box](../../wiki/Commands#add-the-box)
20
+ - [Run the box](../../wiki/Commands#run-the-box)
21
+ - [SSH into the box](../../wiki/Commands#ssh-into-the-box)
22
+ - [Shutdown the box and cleanup](../../wiki/Commands#shutdown-the-box-and-cleanup)
23
+ - [Convert the Box](../../wiki/Commands#convert)
24
+ - [Detect existing VMs](../../wiki/Commands#detect)
25
+ - [Create, Manage, Destroy ZFS snapshots](../../wiki/Commands#zfs-snapshots)
26
+ - [Clone and existing zone](../../wiki/Commands#clone)
27
+ - [Safe restart/shutdown](../../wiki/Commands#safe-control)
28
+ - [Start/Stop console](../../wiki/Commands#console)
29
+
30
+ ## Installation
31
+
32
+ Publiched Package locations:
33
+ - [rubygems.org](https://rubygems.org/gems/vagrant-zones).
34
+ - [github.com](https://github.com/Makr91/vagrant-zones/packages/963217)
35
+
36
+ ### Setup OS Installation
37
+
38
+ * ooce/library/libarchive
39
+ * system/bhyve
40
+ * system/bhyve/firmware
41
+ * ooce/application/vagrant
42
+ * ruby-26
43
+ * zadm
44
+
45
+ ### Setup vagrant-zones
46
+
47
+ To install it in a standard vagrant environment:
48
+
49
+ `vagrant plugin install vagrant-zones`
50
+
51
+ ## Contributing
52
+
53
+ Bug reports and pull requests are welcome on GitHub at https://github.com/Makr91/vagrant-zones.
54
+
55
+ ## License
56
+
57
+ This project is licensed under the AGPL v3 License - see the [LICENSE](LICENSE) file for details
58
+
59
+ ## Built With
60
+ * [Vagrant](https://www.vagrantup.com/) - Portable Development Environment Suite.
61
+ * [bhyve](https://omnios.org/info/bhyve) - Hypervisor.
62
+ * [zadm](https://github.com/omniosorg/zadm) - Bhyve Management tool
63
+
64
+ ## Contributing Sources and References
65
+ * [vagrant-bhyve](https://github.com/jesa7955/vagrant-bhyve) - A Vagrant plugin for FreeBSD to spin up Bhyve Guests.
66
+ * [vagrant-zone](https://github.com/skylime/vagrant-zone) - A Vagrant plugin to spin up LXZones.
67
+
68
+
69
+ ## Contributing
70
+
71
+ Please read [CONTRIBUTING.md](https://www.prominic.net) for details on our code of conduct, and the process for submitting pull requests to us.
72
+
73
+ ## Authors
74
+ * **Thomas Merkel** - *Initial work* - [Skylime](https://github.com/skylime)
75
+ * **Mark Gilbert** - *Takeover* - [Makr91](https://github.com/Makr91)
76
+
77
+ See also the list of [contributors](../../graphs/contributors) who participated in this project.
78
+
79
+ ## Acknowledgments
80
+
81
+ * Hat tip to anyone whose code was used
data/RELEASE.md ADDED
@@ -0,0 +1,15 @@
1
+ # Release process
2
+
3
+ This is vagrant-zones' current release process, documented so people know what is
4
+ currently done.
5
+
6
+ ## Prepare the release
7
+
8
+ * Update the version in "lib/vagrant-zones/version.rb"
9
+ * Update the version in CHANGELOG.md
10
+ * Use "rake release". This will make sure to tag that commit and push it RubyGems.
11
+ * Update the version again in both files to a dev version for working again.
12
+
13
+ The CHANGELOG.md should be maintained in a similar format to Vagrant:
14
+
15
+ https://github.com/mitchellh/vagrant/blob/master/CHANGELOG.md
data/Rakefile ADDED
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rubygems'
4
+ require 'bundler/setup'
5
+ require 'rspec/core/rake_task'
6
+ require 'rubocop/rake_task'
7
+ require 'net/ssh'
8
+
9
+ # Immediately sync all stdout so that tools like buildbot can
10
+ # immediately load in the output.
11
+ $stdout.sync = true
12
+ $stderr.sync = true
13
+
14
+ # Change to the directory of this file.
15
+ Dir.chdir(File.expand_path(__dir__))
16
+
17
+ # This installs the tasks that help with gem creation and
18
+ # publishing.
19
+ Bundler::GemHelper.install_tasks
20
+
21
+ # Install the `spec` task so that we can run tests.
22
+ RSpec::Core::RakeTask.new
23
+
24
+ # Install the `rubocop` task
25
+ RuboCop::RakeTask.new
26
+
27
+ RuboCop::RakeTask.new(:rubocoplayout) do |t|
28
+ t.options = ['--auto-correct --only ']
29
+ end
30
+
31
+ # Default task is to run the unit tests
32
+ task default: %w[rubocop spec]
data/SECURITY.md ADDED
@@ -0,0 +1,19 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ These versions are in active development, prior verisions are not supported.
6
+
7
+ | Version | Supported |
8
+ | ------- | ------------------ |
9
+ | 0.0.6 | :white_check_mark: |
10
+ | 0.0.5 | :x: |
11
+ | 0.0.4 | :x: |
12
+ | 0.0.3 | :x: |
13
+ | 0.0.2 | :x: |
14
+
15
+ ## Reporting a Vulnerability
16
+
17
+ Please report all vulnerabilites in the Github [Issues](https://github.com/Makr91/vagrant-zones/) for this project.
18
+
19
+ Should a Issue be marked a vulnerability, it will be moved to the highest priorty workflow to resolve.
data/docs/CNAME ADDED
@@ -0,0 +1 @@
1
+ vagrant-zones.startcloud.com
data/docs/_config.yml ADDED
@@ -0,0 +1 @@
1
+ theme: jekyll-theme-midnight
data/docs/css/main.css ADDED
@@ -0,0 +1,55 @@
1
+ body {
2
+ background-image: url("../assets/bg-pattern.png");
3
+ }
4
+
5
+ .container {
6
+ max-width: 1080px;
7
+ }
8
+
9
+ .header {
10
+ background-color: #000000;
11
+ }
12
+
13
+ .logo-big {
14
+ max-width: 500px;
15
+ max-height: 140px;
16
+ }
17
+
18
+ .logo-small {
19
+ max-width: 250px;
20
+ max-height: 75px;
21
+ }
22
+
23
+ .menu-link > a {
24
+ color: #ffffff;
25
+ text-decoration: none;
26
+ }
27
+
28
+ .menu-link > a:hover {
29
+ color: #8ac740;
30
+ text-decoration: none;
31
+ }
32
+
33
+ .mail-link {
34
+ color: #588029;
35
+ text-decoration: none;
36
+ }
37
+
38
+ .mail-link:hover {
39
+ color: #8ac740;
40
+ text-decoration: none;
41
+ }
42
+
43
+ .card {
44
+ padding: 0;
45
+ margin: 16px;
46
+ height: 100%;
47
+ }
48
+
49
+ .footer {
50
+ background-color: #000000;
51
+ }
52
+
53
+ .copyright {
54
+ color: #cccccc;
55
+ }