dev-lxc 2.5.0 → 2.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +13 -4
- data/docs/configuration.md +17 -7
- data/lib/dev-lxc/cli.rb +2 -2
- data/lib/dev-lxc/cluster.rb +5 -2
- data/lib/dev-lxc/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ae5600852b4374df914684ee67a4d57471f4140f
|
4
|
+
data.tar.gz: cb8a2dfd12ef0330d3d52414b63704fd75b152a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f408414657e710600d142565b9236c3f77037d0450fe564a77462fbec606289f9a48f2349afba3fb7698b14100b4454e485a32f3de32bade39cb51c73ab14ed4
|
7
|
+
data.tar.gz: 6fa526eb15c58413087b57d74809f62ac8832f92a6019964d94b79341a9fb3925bb45826dedbe7abeab9a91e8cf02b6bb2a74175672ccf57a93af4eca39cdcbe
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# dev-lxc Change Log
|
2
2
|
|
3
|
+
## 2.6.0 (2017-02-09)
|
4
|
+
|
5
|
+
* Make api_fqdn unique for chef-tier and chef-backend configs
|
6
|
+
* Add https_proxy to generated knife.rb and client.rb files
|
7
|
+
|
3
8
|
## 2.5.0 (2017-02-08)
|
4
9
|
|
5
10
|
* Add memory_per_server config option to limit memory per server
|
data/README.md
CHANGED
@@ -123,10 +123,11 @@ mkdir -p /root/work/clusters/automate
|
|
123
123
|
|
124
124
|
Then use the `init` subcommand to generate a sample configuration using the available options. Run `dl help init` to see what options are available.
|
125
125
|
|
126
|
-
The following command configures a standalone Chef Server,
|
126
|
+
The following command configures a standalone Chef Server, Supermarket server, Compliance server,
|
127
|
+
Chef Automate server, and a job dispatch runner.
|
127
128
|
|
128
129
|
```
|
129
|
-
dl init --chef --automate --runners -f /root/work/clusters/automate/dev-lxc.yml
|
130
|
+
dl init --chef --compliance --supermarket --automate --runners -f /root/work/clusters/automate/dev-lxc.yml
|
130
131
|
```
|
131
132
|
|
132
133
|
We can easily append additional configurations to this file. For example, the following command appends an infrastructure node.
|
@@ -190,7 +191,7 @@ This can be helpful when you don't want to start building the cluster yet but yo
|
|
190
191
|
|
191
192
|
At this point all of the cluster's servers should be running.
|
192
193
|
|
193
|
-
If you
|
194
|
+
If you enabled dynamic forwarding (SOCKS v5) in your workstation's SSH config file and configured a web browser to use the SOCKS v5 proxy as described in the dev-lxc-platform README.md then you should be able to browse from your workstation to any dev-lxc server that has a web interface using its FQDN.
|
194
195
|
|
195
196
|
Since the cluster has a Chef Server you can use the `chef-repo` subcommand to create a chef-repo directory in the host instance that contains a knife.rb and all of the keys for the users and org validator clients that are defined in dev-lxc.yml. This makes it very easy to use tools such as knife or berkshelf.
|
196
197
|
|
@@ -212,11 +213,19 @@ You can use the `attach` subcommand to login to the root user of a server.
|
|
212
213
|
For example, the following command should attach to the Chef Server.
|
213
214
|
|
214
215
|
```
|
215
|
-
dl
|
216
|
+
dl attach chef
|
216
217
|
```
|
217
218
|
|
218
219
|
Since the cluster has a Chef Server and an infrastructure node dev-lxc made sure it configured the node's chef-client for the Chef Server so it is easy to converge the node.
|
219
220
|
|
221
|
+
### Use mitmproxy to view HTTP traffic
|
222
|
+
|
223
|
+
Run `mitmproxy` in a terminal on the host instance.
|
224
|
+
|
225
|
+
Uncomment the `https_proxy` line in the `chef-repo/.chef/knife.rb` or in a node's `/etc/chef/client.rb` so traffic will be proxied through mitmproxy.
|
226
|
+
|
227
|
+
Run chef-client in the node or knife commands from the chef-repo and watch the HTTP requests appear in the mitmproxy console.
|
228
|
+
|
220
229
|
### Manage the Cluster
|
221
230
|
|
222
231
|
The right pane of the "cluster" window should show `dev-lxc status` output. This shows the status of each server including any existing snapshots.
|
data/docs/configuration.md
CHANGED
@@ -4,11 +4,11 @@ dev-lxc uses a YAML configuration file named `dev-lxc.yml` to define a cluster.
|
|
4
4
|
|
5
5
|
The `init` command generates sample config files for various server types.
|
6
6
|
|
7
|
-
Let's generate a config for a cluster with a standalone Chef Server,
|
8
|
-
|
7
|
+
Let's generate a config for a cluster with a standalone Chef Server, Supermarket server,
|
8
|
+
Compliance server, Chef Automate server, job dispatch runner and an infrastructure node.
|
9
9
|
|
10
10
|
```
|
11
|
-
dev-lxc init --chef --
|
11
|
+
dev-lxc init --chef --compliance --supermarket --automate --runners --nodes > dev-lxc.yml
|
12
12
|
```
|
13
13
|
|
14
14
|
The contents of `dev-lxc.yml` should look like this.
|
@@ -57,6 +57,14 @@ chef-server:
|
|
57
57
|
push-jobs-server:
|
58
58
|
reporting:
|
59
59
|
|
60
|
+
compliance:
|
61
|
+
admin_user: admin # the password will be the same as the username
|
62
|
+
servers:
|
63
|
+
compliance.lxc:
|
64
|
+
ipaddress: 10.0.3.205
|
65
|
+
products:
|
66
|
+
compliance:
|
67
|
+
|
60
68
|
supermarket:
|
61
69
|
servers:
|
62
70
|
supermarket.lxc:
|
@@ -94,12 +102,14 @@ nodes:
|
|
94
102
|
The dev-lxc.yml config file is very customizable. You can add or remove mounts, products or servers,
|
95
103
|
change ip addresses, server names, the base_container and more.
|
96
104
|
|
97
|
-
As you can see there are
|
105
|
+
As you can see there are six server types represented by six servers.
|
98
106
|
|
99
107
|
1. chef-server - chef.lxc
|
100
|
-
2.
|
108
|
+
2. compliance - compliance.lxc
|
101
109
|
3. supermarket - supermarket.lxc
|
102
|
-
4.
|
110
|
+
4. automate - automate.lxc
|
111
|
+
5. runners - runner-1.lxc
|
112
|
+
6. nodes - node-1.lxc
|
103
113
|
|
104
114
|
#### Global Settings
|
105
115
|
|
@@ -171,7 +181,7 @@ When defining a Chef Server you can include organizations and users that will be
|
|
171
181
|
dev-lxc knows how to automatically configure Chef Server standalone, Chef Server tier topology,
|
172
182
|
Chef Server HA 2.0 as well as Chef Automate, Chef Client, Analytics, Compliance and Supermarket.
|
173
183
|
|
174
|
-
If a Chef Automate, Analytics server or Supermarket server is defined in the same config file as
|
184
|
+
If a Chef Automate server, Compliance server, Analytics server or Supermarket server is defined in the same config file as
|
175
185
|
a Chef Server then each server will automatically be integrated with that Chef Server.
|
176
186
|
|
177
187
|
If a node server with Chef Client or Chef DK installed is defined in the same config file as
|
data/lib/dev-lxc/cli.rb
CHANGED
@@ -87,7 +87,7 @@ base_container: b-ubuntu-1404
|
|
87
87
|
chef_tier_config = %Q(
|
88
88
|
chef-server:
|
89
89
|
topology: tier
|
90
|
-
api_fqdn: chef.lxc
|
90
|
+
api_fqdn: chef-tier.lxc
|
91
91
|
users: # a user's password will be the same as its username
|
92
92
|
- mary-admin
|
93
93
|
- joe-user
|
@@ -193,7 +193,7 @@ adhoc:
|
|
193
193
|
)
|
194
194
|
chef_backend_config = %Q(
|
195
195
|
chef-backend:
|
196
|
-
api_fqdn: chef.lxc
|
196
|
+
api_fqdn: chef-ha.lxc
|
197
197
|
users: # a user's password will be the same as its username
|
198
198
|
- mary-admin
|
199
199
|
- joe-user
|
data/lib/dev-lxc/cluster.rb
CHANGED
@@ -803,7 +803,9 @@ module DevLXC
|
|
803
803
|
FileUtils.cp(validation_key, "#{server.container.config_item('lxc.rootfs')}/etc/chef/") if File.exists?(validation_key)
|
804
804
|
end
|
805
805
|
|
806
|
-
client_rb = %Q(
|
806
|
+
client_rb = %Q(#https_proxy 'https://10.0.3.1:8080'
|
807
|
+
|
808
|
+
chef_server_url '#{chef_server_url}'
|
807
809
|
validation_client_name '#{validation_client_name}'
|
808
810
|
validation_key '/etc/chef/#{validation_client_name}.pem'
|
809
811
|
ssl_verify_mode :verify_none
|
@@ -1027,7 +1029,8 @@ ssl_verify_mode :verify_none
|
|
1027
1029
|
end
|
1028
1030
|
|
1029
1031
|
def create_knife_config(fqdn, dot_chef_path)
|
1030
|
-
knife_rb = %Q(
|
1032
|
+
knife_rb = %Q(#https_proxy 'https://10.0.3.1:8080'
|
1033
|
+
|
1031
1034
|
username = "CHANGEME"
|
1032
1035
|
orgname = "CHANGEME"
|
1033
1036
|
|
data/lib/dev-lxc/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dev-lxc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremiah Snapp
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|