Left: | ||
Right: |
OLD | NEW |
---|---|
1 Adblock Plus infrastructure | 1 Adblock Plus infrastructure |
2 =========================== | 2 =========================== |
3 | 3 |
4 The Adblock Plus infrastructure uses [Puppet](http://puppetlabs.com/) | 4 The Adblock Plus infrastructure uses [Puppet](http://puppetlabs.com/) |
5 to set up servers, and to have a realistic development environment. | 5 to set up servers, and to have a realistic development environment. |
6 | 6 |
7 Our Puppet manifests are only tested with Ubuntu 12.04 right now. | 7 Our Puppet manifests are only tested with Ubuntu 12.04 right now. |
8 | 8 |
9 Private files | 9 Host specific setup |
10 ------------- | 10 ------------------- |
11 | 11 |
12 Some parts of our infrastructure are, obviously, confidential. We have | 12 Some infrastructure parts are specific to the environment (such as e.g. |
13 htpasswd files, SSH keys and SSL certificates that we need to be | 13 *development*, *test* and *production*), whilst others are confidential. |
Wladimir Palant
2014/11/17 16:43:36
Explicitly mention passwords as example of "confid
mathias
2014/11/27 00:30:18
Done.
| |
14 careful with. | 14 In order to allow for specific configuration, the repository requires a |
15 set of manual operations during the initial setup: | |
15 | 16 |
16 That's why _modules/private_ is missing, and needs to be placed there | 17 ### `modules/private` |
17 manually. We provide stub versions of all those files in | 18 |
18 _modules/private-stub_, so just linking or copying that to | 19 The `private` module is destined to store confidential information such as |
19 _modules/private_ will make everything work locally. | 20 [RSA](http://en.wikipedia.org/wiki/RSA_%28cryptosystem%29) keys, `htpasswd` |
21 files and so on. The repository provides a `private-stub` module containing | |
22 defaults suitable for development and testing purpose. One can create a | |
23 symbolic link to start using the resource: | |
24 | |
25 # UNIX-oid | |
26 user@host:~/infrastructure$ ln -s private-stub modules/private | |
27 | |
28 # Windows | |
29 C:\infrastructure\> MKLINK /D modules\private private-stub | |
30 | |
31 When creating a custom version, one may inspect the `modules/private-stub` | |
32 directory to determine which resources have to be provided. | |
33 | |
34 ### `hiera/environment` | |
35 | |
36 [Hiera](https://docs.puppetlabs.com/hiera/1/) configuration files specific | |
37 to the current environment are expected to be found in `hiera/environment`. | |
38 Default resources for development (and testing) purpose are provided within | |
39 `hiera/development`: | |
40 | |
41 # UNIX-oid | |
42 user@host:~/infrastructure$ ln -s development hiera/environment | |
43 | |
44 # Windows | |
45 C:\infrastructure\> MKLINK /D hiera\environment development | |
46 | |
47 Note that custom versions are recommended to be tracked together with the | |
48 custom `private` module, if any. | |
20 | 49 |
21 Development environment | 50 Development environment |
22 ----------------------- | 51 ----------------------- |
23 | 52 |
24 As with our other projects, all changes to our infrastructure should | 53 As with our other projects, all changes to our infrastructure should |
25 be made in a local development environment, and reviewed before | 54 be made in a local development environment, and reviewed before |
26 deployment. Thanks to Puppet, we can easily set up local VMs that | 55 deployment. Thanks to Puppet, we can easily set up local VMs that |
27 mirror our production environment. | 56 mirror our production environment. |
28 | 57 |
29 The most convenient way to do this is to use Vagrant, as described | 58 The most convenient way to do this is to use Vagrant, as described |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
168 Monitoring is fully functional in any environment, including development. | 197 Monitoring is fully functional in any environment, including development. |
169 Here, after bootstrapping the `server4` box, one can access the Nagios GUI | 198 Here, after bootstrapping the `server4` box, one can access the Nagios GUI |
170 from the host machine via <https://nagiosadmin:nagiosadmin@10.8.0.99/>. | 199 from the host machine via <https://nagiosadmin:nagiosadmin@10.8.0.99/>. |
171 | 200 |
172 The monitoring service of our production environment, however, is accessible | 201 The monitoring service of our production environment, however, is accessible |
173 via <https://monitoring.adblockplus.org/>. | 202 via <https://monitoring.adblockplus.org/>. |
174 Add yourself to _files/nagios-htpasswd_ in the _private_ module used on the | 203 Add yourself to _files/nagios-htpasswd_ in the _private_ module used on the |
175 server, or have someone add you if you don't have access. | 204 server, or have someone add you if you don't have access. |
176 | 205 |
177 | 206 |
OLD | NEW |