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.
- checksums.yaml +7 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +27 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/dependabot.yml +6 -0
- data/.github/workflows/codeql-analysis.yml +72 -0
- data/.github/workflows/lint-release-and-publish.yml +70 -0
- data/.github/workflows/ruby-lint.yml +35 -0
- data/.gitignore +35 -0
- data/.rspec +2 -0
- data/.rubocop.yml +143 -0
- data/CHANGELOG.md +0 -0
- data/CODE_OF_CONDUCT.md +128 -0
- data/CONTRIBUTING.md +96 -0
- data/Gemfile +14 -0
- data/LICENSE +651 -0
- data/PULL_REQUEST_TEMPLATE.md +39 -0
- data/README.md +81 -0
- data/RELEASE.md +15 -0
- data/Rakefile +32 -0
- data/SECURITY.md +19 -0
- data/docs/CNAME +1 -0
- data/docs/_config.yml +1 -0
- data/docs/css/main.css +55 -0
- data/docs/css/styles.css +8678 -0
- data/docs/index.html +127 -0
- data/lib/vagrant-zones/action/create.rb +29 -0
- data/lib/vagrant-zones/action/destroy.rb +27 -0
- data/lib/vagrant-zones/action/halt.rb +24 -0
- data/lib/vagrant-zones/action/import.rb +112 -0
- data/lib/vagrant-zones/action/is_created.rb +22 -0
- data/lib/vagrant-zones/action/network.rb +26 -0
- data/lib/vagrant-zones/action/not_created.rb +20 -0
- data/lib/vagrant-zones/action/package.rb +134 -0
- data/lib/vagrant-zones/action/prepare_nfs_valid_ids.rb +24 -0
- data/lib/vagrant-zones/action/restart.rb +53 -0
- data/lib/vagrant-zones/action/setup.rb +26 -0
- data/lib/vagrant-zones/action/shutdown.rb +47 -0
- data/lib/vagrant-zones/action/start.rb +25 -0
- data/lib/vagrant-zones/action/wait_till_boot.rb +59 -0
- data/lib/vagrant-zones/action/wait_till_up.rb +65 -0
- data/lib/vagrant-zones/action.rb +204 -0
- data/lib/vagrant-zones/command/configure_snapshots.rb +49 -0
- data/lib/vagrant-zones/command/console.rb +63 -0
- data/lib/vagrant-zones/command/create_snapshots.rb +46 -0
- data/lib/vagrant-zones/command/delete_snapshots.rb +38 -0
- data/lib/vagrant-zones/command/guest_power_controls.rb +58 -0
- data/lib/vagrant-zones/command/list_snapshots.rb +44 -0
- data/lib/vagrant-zones/command/restart_guest.rb +29 -0
- data/lib/vagrant-zones/command/shutdown_guest.rb +29 -0
- data/lib/vagrant-zones/command/vnc_console.rb +48 -0
- data/lib/vagrant-zones/command/webvnc_console.rb +49 -0
- data/lib/vagrant-zones/command/zfssnapshot.rb +67 -0
- data/lib/vagrant-zones/command/zlogin_console.rb +40 -0
- data/lib/vagrant-zones/command/zone.rb +73 -0
- data/lib/vagrant-zones/config.rb +78 -0
- data/lib/vagrant-zones/driver.rb +1710 -0
- data/lib/vagrant-zones/errors.rb +61 -0
- data/lib/vagrant-zones/executor.rb +38 -0
- data/lib/vagrant-zones/plugin.rb +79 -0
- data/lib/vagrant-zones/provider.rb +83 -0
- data/lib/vagrant-zones/util/subprocess.rb +31 -0
- data/lib/vagrant-zones/util/timer.rb +19 -0
- data/lib/vagrant-zones/version.rb +7 -0
- data/lib/vagrant-zones.rb +29 -0
- data/locales/en.yml +326 -0
- data/vagrant-zones.gemspec +51 -0
- 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
|
+
[](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
|
+
}
|