vagrant-local 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-nightly.yml +73 -0
- data/.github/workflows/lint-release-and-publish.yml +71 -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 +32 -0
- data/CODE_OF_CONDUCT.md +128 -0
- data/CONTRIBUTING.md +97 -0
- data/Gemfile +26 -0
- data/LICENSE +651 -0
- data/PULL_REQUEST_TEMPLATE.md +39 -0
- data/README.md +92 -0
- data/RELEASE.md +22 -0
- data/Rakefile +32 -0
- data/SECURITY.md +19 -0
- data/ansible.cfg +5 -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 +125 -0
- data/lib/vagrant-local/action/create.rb +27 -0
- data/lib/vagrant-local/action/destroy.rb +25 -0
- data/lib/vagrant-local/action/halt.rb +24 -0
- data/lib/vagrant-local/action/import.rb +27 -0
- data/lib/vagrant-local/action/is_created.rb +22 -0
- data/lib/vagrant-local/action/network.rb +24 -0
- data/lib/vagrant-local/action/network_cleanup.rb +26 -0
- data/lib/vagrant-local/action/not_created.rb +20 -0
- data/lib/vagrant-local/action/package.rb +135 -0
- data/lib/vagrant-local/action/restart.rb +27 -0
- data/lib/vagrant-local/action/setup.rb +24 -0
- data/lib/vagrant-local/action/shutdown.rb +47 -0
- data/lib/vagrant-local/action/start.rb +25 -0
- data/lib/vagrant-local/action/wait_till_boot.rb +47 -0
- data/lib/vagrant-local/action/wait_till_up.rb +65 -0
- data/lib/vagrant-local/action.rb +187 -0
- data/lib/vagrant-local/command/guest_power_controls.rb +58 -0
- data/lib/vagrant-local/command/local.rb +69 -0
- data/lib/vagrant-local/command/restart_guest.rb +29 -0
- data/lib/vagrant-local/command/shutdown_guest.rb +29 -0
- data/lib/vagrant-local/command/vnc_console.rb +48 -0
- data/lib/vagrant-local/command/webvnc_console.rb +49 -0
- data/lib/vagrant-local/config.rb +55 -0
- data/lib/vagrant-local/driver.rb +208 -0
- data/lib/vagrant-local/errors.rb +84 -0
- data/lib/vagrant-local/executor.rb +38 -0
- data/lib/vagrant-local/plugin.rb +76 -0
- data/lib/vagrant-local/provider.rb +83 -0
- data/lib/vagrant-local/util/subprocess.rb +31 -0
- data/lib/vagrant-local/util/timer.rb +19 -0
- data/lib/vagrant-local/version.rb +8 -0
- data/lib/vagrant-local.rb +29 -0
- data/locales/en.yml +187 -0
- data/vagrant-zones.gemspec +37 -0
- metadata +191 -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,92 @@
|
|
1
|
+
# vagrant-local
|
2
|
+
Vagrant Plugin which can be used to managed the local host
|
3
|
+
This project is still in the early stages, any feedback is much appreciated
|
4
|
+
|
5
|
+
[](https://badge.fury.io/rb/vagrant-local)
|
6
|
+
[](https://github.com/STARTcloud/vagrant-local/actions/workflows/lint-release-and-publish.yml)
|
7
|
+
|
8
|
+
- [Status](#status)
|
9
|
+
- [Functions](../../wiki/Status#functions)
|
10
|
+
- [Boxes](../../wiki/Status#Box-Support)
|
11
|
+
- [Examples](https://github.com/STARTCloud/vagrant-local-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-local environment](../../wiki/Plugin-Development-Environment#setup-vagrant-local-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 vm](../../wiki/Commands#clone)
|
27
|
+
- [Safe restart/shutdown](../../wiki/Commands#safe-control)
|
28
|
+
- [Start/Stop console](../../wiki/Commands#console)
|
29
|
+
|
30
|
+
## Installation
|
31
|
+
|
32
|
+
Published Package locations:
|
33
|
+
- [rubygems.org](https://rubygems.org/gems/vagrant-local).
|
34
|
+
- [github.com](../../packages)
|
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-local
|
46
|
+
|
47
|
+
To install it in a standard vagrant environment:
|
48
|
+
|
49
|
+
`vagrant plugin install vagrant-local`
|
50
|
+
|
51
|
+
To install it in a development vagrant environment:
|
52
|
+
|
53
|
+
`vagrant plugin install vagrant-local-nightly`
|
54
|
+
|
55
|
+
## Contributing
|
56
|
+
|
57
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/STARTcloud/vagrant-local/issues
|
58
|
+
|
59
|
+
## License
|
60
|
+
|
61
|
+
This project is licensed under the AGPL v3 License - see the [LICENSE](LICENSE) file for details
|
62
|
+
|
63
|
+
## Built With
|
64
|
+
* [Vagrant](https://www.vagrantup.com/) - Portable Development Environment Suite.
|
65
|
+
* [bhyve](https://omnios.org/info/bhyve) - Hypervisor.
|
66
|
+
* [zadm](https://github.com/omniosorg/zadm) - Bhyve Management tool
|
67
|
+
|
68
|
+
## Contributing Sources and References
|
69
|
+
* [vagrant-bhyve](https://github.com/jesa7955/vagrant-bhyve) - A Vagrant plugin for FreeBSD to spin up Bhyve Guests.
|
70
|
+
* [vagrant-local](https://github.com/skylime/vagrant-local) - A Vagrant plugin to spin up LXLocal.
|
71
|
+
|
72
|
+
## Contributing
|
73
|
+
|
74
|
+
Please read [CONTRIBUTING.md](https://www.prominic.net) for details on our code of conduct, and the process for submitting pull requests to us.
|
75
|
+
|
76
|
+
## Authors
|
77
|
+
* **Mark Gilbert** - [Makr91](https://github.com/Makr91)
|
78
|
+
|
79
|
+
See also the list of [contributors](../../graphs/contributors) who participated in this project.
|
80
|
+
|
81
|
+
## Acknowledgments
|
82
|
+
|
83
|
+
* Hat tip to anyone whose code was used
|
84
|
+
|
85
|
+
|
86
|
+
bundle config set --local path 'vendor/bundle'
|
87
|
+
MAKE=gmake bundle install
|
88
|
+
bundle binstubs --all
|
89
|
+
gem build *.gemspec
|
90
|
+
|
91
|
+
|
92
|
+
vagrant plugin install vagrant-local-0.1.94.gem
|
data/RELEASE.md
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# Release process
|
2
|
+
|
3
|
+
This is vagrant-local' current release process, documented so people know what is
|
4
|
+
currently done to release it.
|
5
|
+
|
6
|
+
## Prepare the release
|
7
|
+
|
8
|
+
Github Actions now handles the release cycle. We are using SemVer Verision and Convential Commits to ensure that we can use our Commits in our CI/CD Workflow
|
9
|
+
|
10
|
+
To push a fix, ie a the Patch digit in Version string, prefix your commit header with "fix: Some Commit Message"
|
11
|
+
|
12
|
+
To push a feature, ie a the feature digit in Version string, prefix your commit header with "feat: Some Commit Message"
|
13
|
+
|
14
|
+
Doing so will cause GitHub Actions to perform the following
|
15
|
+
* Update the version in "lib/vagrant-local/version.rb"
|
16
|
+
* Update the version in CHANGELOG.md
|
17
|
+
* Create a Release and Corresponding tag
|
18
|
+
* Push the package to the GPR and Ruby Gems
|
19
|
+
|
20
|
+
The CHANGELOG.md will be automatically maintained in a similar format to Vagrant by the Github Action Release-Please:
|
21
|
+
|
22
|
+
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-local/) for this project.
|
18
|
+
|
19
|
+
Should a Issue be marked a vulnerability, it will be moved to the highest priorty workflow to resolve.
|
data/ansible.cfg
ADDED
data/docs/CNAME
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
vagrant-local.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
|
+
}
|