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.
Files changed (62) 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-nightly.yml +73 -0
  7. data/.github/workflows/lint-release-and-publish.yml +71 -0
  8. data/.github/workflows/ruby-lint.yml +35 -0
  9. data/.gitignore +35 -0
  10. data/.rspec +2 -0
  11. data/.rubocop.yml +143 -0
  12. data/CHANGELOG.md +32 -0
  13. data/CODE_OF_CONDUCT.md +128 -0
  14. data/CONTRIBUTING.md +97 -0
  15. data/Gemfile +26 -0
  16. data/LICENSE +651 -0
  17. data/PULL_REQUEST_TEMPLATE.md +39 -0
  18. data/README.md +92 -0
  19. data/RELEASE.md +22 -0
  20. data/Rakefile +32 -0
  21. data/SECURITY.md +19 -0
  22. data/ansible.cfg +5 -0
  23. data/docs/CNAME +1 -0
  24. data/docs/_config.yml +1 -0
  25. data/docs/css/main.css +55 -0
  26. data/docs/css/styles.css +8678 -0
  27. data/docs/index.html +125 -0
  28. data/lib/vagrant-local/action/create.rb +27 -0
  29. data/lib/vagrant-local/action/destroy.rb +25 -0
  30. data/lib/vagrant-local/action/halt.rb +24 -0
  31. data/lib/vagrant-local/action/import.rb +27 -0
  32. data/lib/vagrant-local/action/is_created.rb +22 -0
  33. data/lib/vagrant-local/action/network.rb +24 -0
  34. data/lib/vagrant-local/action/network_cleanup.rb +26 -0
  35. data/lib/vagrant-local/action/not_created.rb +20 -0
  36. data/lib/vagrant-local/action/package.rb +135 -0
  37. data/lib/vagrant-local/action/restart.rb +27 -0
  38. data/lib/vagrant-local/action/setup.rb +24 -0
  39. data/lib/vagrant-local/action/shutdown.rb +47 -0
  40. data/lib/vagrant-local/action/start.rb +25 -0
  41. data/lib/vagrant-local/action/wait_till_boot.rb +47 -0
  42. data/lib/vagrant-local/action/wait_till_up.rb +65 -0
  43. data/lib/vagrant-local/action.rb +187 -0
  44. data/lib/vagrant-local/command/guest_power_controls.rb +58 -0
  45. data/lib/vagrant-local/command/local.rb +69 -0
  46. data/lib/vagrant-local/command/restart_guest.rb +29 -0
  47. data/lib/vagrant-local/command/shutdown_guest.rb +29 -0
  48. data/lib/vagrant-local/command/vnc_console.rb +48 -0
  49. data/lib/vagrant-local/command/webvnc_console.rb +49 -0
  50. data/lib/vagrant-local/config.rb +55 -0
  51. data/lib/vagrant-local/driver.rb +208 -0
  52. data/lib/vagrant-local/errors.rb +84 -0
  53. data/lib/vagrant-local/executor.rb +38 -0
  54. data/lib/vagrant-local/plugin.rb +76 -0
  55. data/lib/vagrant-local/provider.rb +83 -0
  56. data/lib/vagrant-local/util/subprocess.rb +31 -0
  57. data/lib/vagrant-local/util/timer.rb +19 -0
  58. data/lib/vagrant-local/version.rb +8 -0
  59. data/lib/vagrant-local.rb +29 -0
  60. data/locales/en.yml +187 -0
  61. data/vagrant-zones.gemspec +37 -0
  62. 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
+ [![Gem Version](https://badge.fury.io/rb/vagrant-local.svg)](https://badge.fury.io/rb/vagrant-local)
6
+ [![Test, Lint, Release and Publish](https://github.com/STARTcloud/vagrant-local/actions/workflows/lint-release-and-publish.yml/badge.svg)](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
@@ -0,0 +1,5 @@
1
+ [defaults]
2
+ localhost_warning=False
3
+
4
+ [inventory]
5
+ inventory_unparsed_warning=False
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
+ }