vagrant-zones 0.0.1

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.
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
+ }