sandbox-adapter 0.1.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/LICENSE +21 -0
- data/README.md +20 -0
- data/lib/sandbox/adapter/box.rb +195 -0
- data/lib/sandbox/adapter/checkout.rb +54 -0
- data/lib/sandbox/adapter/credentials.rb +44 -0
- data/lib/sandbox/adapter/layout.rb +51 -0
- data/lib/sandbox/adapter/pages.rb +11 -0
- data/lib/sandbox/adapter/prices.rb +21 -0
- data/lib/sandbox/adapter/provider.rb +135 -0
- data/lib/sandbox/adapter/sandbox_vm.rb +16 -0
- data/lib/sandbox/adapter/ssh.rb +112 -0
- data/lib/sandbox/adapter/steps.rb +447 -0
- data/lib/sandbox/adapter/version.rb +5 -0
- data/lib/sandbox/adapter/vm.rb +42 -0
- data/lib/sandbox/adapter.rb +45 -0
- data/lib/sandbox-adapter.rb +28 -0
- metadata +147 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# How a box is made, whoever sells it: the contract a provider implements, the transports commands run
|
|
2
|
+
# over, and the steps that turn a bare machine into one an agent can work on. It keeps no records, prints
|
|
3
|
+
# nothing and reads no configuration - what it needs of an installation is set on Sandbox::Adapter (credentials,
|
|
4
|
+
# prices, a reporter, a box root, the providers it has).
|
|
5
|
+
require "shellwords"
|
|
6
|
+
require "base64"
|
|
7
|
+
require "net/http"
|
|
8
|
+
require "active_support"
|
|
9
|
+
require "active_support/core_ext/object/blank"
|
|
10
|
+
|
|
11
|
+
# Box first: the transports name its error class as they are defined.
|
|
12
|
+
module Sandbox
|
|
13
|
+
module Adapter; end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
require_relative "sandbox/adapter/version"
|
|
17
|
+
require_relative "sandbox/adapter/box"
|
|
18
|
+
require_relative "sandbox/adapter"
|
|
19
|
+
require_relative "sandbox/adapter/credentials"
|
|
20
|
+
require_relative "sandbox/adapter/prices"
|
|
21
|
+
require_relative "sandbox/adapter/provider"
|
|
22
|
+
require_relative "sandbox/adapter/layout"
|
|
23
|
+
require_relative "sandbox/adapter/pages"
|
|
24
|
+
require_relative "sandbox/adapter/checkout"
|
|
25
|
+
require_relative "sandbox/adapter/steps"
|
|
26
|
+
require_relative "sandbox/adapter/ssh"
|
|
27
|
+
require_relative "sandbox/adapter/vm"
|
|
28
|
+
require_relative "sandbox/adapter/sandbox_vm"
|
metadata
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: sandbox-adapter
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- nvoi
|
|
8
|
+
bindir: bin
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: activesupport
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '7.1'
|
|
19
|
+
- - "<"
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: '9'
|
|
22
|
+
type: :runtime
|
|
23
|
+
prerelease: false
|
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
requirements:
|
|
26
|
+
- - ">="
|
|
27
|
+
- !ruby/object:Gem::Version
|
|
28
|
+
version: '7.1'
|
|
29
|
+
- - "<"
|
|
30
|
+
- !ruby/object:Gem::Version
|
|
31
|
+
version: '9'
|
|
32
|
+
- !ruby/object:Gem::Dependency
|
|
33
|
+
name: base64
|
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
|
35
|
+
requirements:
|
|
36
|
+
- - "~>"
|
|
37
|
+
- !ruby/object:Gem::Version
|
|
38
|
+
version: '0.2'
|
|
39
|
+
type: :runtime
|
|
40
|
+
prerelease: false
|
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
42
|
+
requirements:
|
|
43
|
+
- - "~>"
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: '0.2'
|
|
46
|
+
- !ruby/object:Gem::Dependency
|
|
47
|
+
name: bcrypt_pbkdf
|
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
|
49
|
+
requirements:
|
|
50
|
+
- - "~>"
|
|
51
|
+
- !ruby/object:Gem::Version
|
|
52
|
+
version: '1.1'
|
|
53
|
+
type: :runtime
|
|
54
|
+
prerelease: false
|
|
55
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
56
|
+
requirements:
|
|
57
|
+
- - "~>"
|
|
58
|
+
- !ruby/object:Gem::Version
|
|
59
|
+
version: '1.1'
|
|
60
|
+
- !ruby/object:Gem::Dependency
|
|
61
|
+
name: ed25519
|
|
62
|
+
requirement: !ruby/object:Gem::Requirement
|
|
63
|
+
requirements:
|
|
64
|
+
- - "~>"
|
|
65
|
+
- !ruby/object:Gem::Version
|
|
66
|
+
version: '1.3'
|
|
67
|
+
type: :runtime
|
|
68
|
+
prerelease: false
|
|
69
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
70
|
+
requirements:
|
|
71
|
+
- - "~>"
|
|
72
|
+
- !ruby/object:Gem::Version
|
|
73
|
+
version: '1.3'
|
|
74
|
+
- !ruby/object:Gem::Dependency
|
|
75
|
+
name: net-sftp
|
|
76
|
+
requirement: !ruby/object:Gem::Requirement
|
|
77
|
+
requirements:
|
|
78
|
+
- - "~>"
|
|
79
|
+
- !ruby/object:Gem::Version
|
|
80
|
+
version: '4.0'
|
|
81
|
+
type: :runtime
|
|
82
|
+
prerelease: false
|
|
83
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
84
|
+
requirements:
|
|
85
|
+
- - "~>"
|
|
86
|
+
- !ruby/object:Gem::Version
|
|
87
|
+
version: '4.0'
|
|
88
|
+
- !ruby/object:Gem::Dependency
|
|
89
|
+
name: net-ssh
|
|
90
|
+
requirement: !ruby/object:Gem::Requirement
|
|
91
|
+
requirements:
|
|
92
|
+
- - "~>"
|
|
93
|
+
- !ruby/object:Gem::Version
|
|
94
|
+
version: '7.3'
|
|
95
|
+
type: :runtime
|
|
96
|
+
prerelease: false
|
|
97
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
98
|
+
requirements:
|
|
99
|
+
- - "~>"
|
|
100
|
+
- !ruby/object:Gem::Version
|
|
101
|
+
version: '7.3'
|
|
102
|
+
email:
|
|
103
|
+
- admin@nvoi.to
|
|
104
|
+
executables: []
|
|
105
|
+
extensions: []
|
|
106
|
+
extra_rdoc_files: []
|
|
107
|
+
files:
|
|
108
|
+
- LICENSE
|
|
109
|
+
- README.md
|
|
110
|
+
- lib/sandbox-adapter.rb
|
|
111
|
+
- lib/sandbox/adapter.rb
|
|
112
|
+
- lib/sandbox/adapter/box.rb
|
|
113
|
+
- lib/sandbox/adapter/checkout.rb
|
|
114
|
+
- lib/sandbox/adapter/credentials.rb
|
|
115
|
+
- lib/sandbox/adapter/layout.rb
|
|
116
|
+
- lib/sandbox/adapter/pages.rb
|
|
117
|
+
- lib/sandbox/adapter/prices.rb
|
|
118
|
+
- lib/sandbox/adapter/provider.rb
|
|
119
|
+
- lib/sandbox/adapter/sandbox_vm.rb
|
|
120
|
+
- lib/sandbox/adapter/ssh.rb
|
|
121
|
+
- lib/sandbox/adapter/steps.rb
|
|
122
|
+
- lib/sandbox/adapter/version.rb
|
|
123
|
+
- lib/sandbox/adapter/vm.rb
|
|
124
|
+
homepage: https://rubygems.org/gems/sandbox-adapter
|
|
125
|
+
licenses:
|
|
126
|
+
- MIT
|
|
127
|
+
metadata:
|
|
128
|
+
rubygems_mfa_required: 'true'
|
|
129
|
+
rdoc_options: []
|
|
130
|
+
require_paths:
|
|
131
|
+
- lib
|
|
132
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
133
|
+
requirements:
|
|
134
|
+
- - ">="
|
|
135
|
+
- !ruby/object:Gem::Version
|
|
136
|
+
version: '3.4'
|
|
137
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
138
|
+
requirements:
|
|
139
|
+
- - ">="
|
|
140
|
+
- !ruby/object:Gem::Version
|
|
141
|
+
version: '0'
|
|
142
|
+
requirements: []
|
|
143
|
+
rubygems_version: 3.6.7
|
|
144
|
+
specification_version: 4
|
|
145
|
+
summary: Sandbox provider contract, command transport over SSH or HTTP, and box setup
|
|
146
|
+
steps.
|
|
147
|
+
test_files: []
|