How to configure servers with cdist » History » Version 4
Timothée Floure, 02/16/2021 04:24 PM
| 1 | 1 | Nico Schottelius | h1. How to configure servers with cdist |
|---|---|---|---|
| 2 | |||
| 3 | h2. Introduction |
||
| 4 | |||
| 5 | 2 | Timothée Floure | We are using "cdist":https://www.nico.schottelius.org/software/cdist/ to manage our system configurations. This software has originally been developped by ungleich-folk, but now has a much broader community. |
| 6 | |||
| 7 | h2. The ungleich cdist environment |
||
| 8 | |||
| 9 | Our environment is composed of 4 repositories: |
||
| 10 | |||
| 11 | 3 | Timothée Floure | * "ungleich-intern/cdist-workdir":https://code.ungleich.ch/ungleich-intern/cdist-workdir: meta-repository used as convenience helper to run access types across our 3 type repositories. |
| 12 | * "ungleich-intern/dot-cdist":https://code.ungleich.ch/ungleich-intern/dot-cdist: internal (= private) and historic cdist repository. Contains our manifests. |
||
| 13 | * "ungleich-public/cdist-ungleich":https://code.ungleich.ch/ungleich-public/cdist-ungleich: public (infrastructure transparency, sharing with the community) ungleich types that are too specific to be upstream to core cdist or cdist-contrib. |
||
| 14 | * "ungleich-public/cdist-contrib":https://code.ungleich.ch/ungleich-public/cdist-contrib: community-managed repository for types that do not fit into core-cdist. |
||
| 15 | 1 | Nico Schottelius | |
| 16 | h2. Applying changes to servers |
||
| 17 | |||
| 18 | 3 | Timothée Floure | Initial setup: |
| 19 | 1 | Nico Schottelius | |
| 20 | 3 | Timothée Floure | * Clone "ungleich-intern/cdist-workdir":https://code.ungleich.ch/ungleich-intern/cdist-workdir |
| 21 | 4 | Timothée Floure | * Install _myrepos_ and - within cdist-workdir - run _mr update_. |
| 22 | * Set your _CDIST_PATH_, using - for example - the _cdist.cfg_ file in cdist-workdir. |
||
| 23 | 3 | Timothée Floure | |
| 24 | Day-to-day workflow, within cdist-workdir: |
||
| 25 | |||
| 26 | 4 | Timothée Floure | * Make sure you have the latest configuration/types with _mr update_. |
| 27 | * Configure the target host with _cdist config -vv <hostname>_. |
||
| 28 | 3 | Timothée Floure | |
| 29 | h3. Using the control node |
||
| 30 | |||
| 31 | 4 | Timothée Floure | You can use the control node to run cdist when you're using an unreliable connection (in a train, far away in Korea, etc.). Note that you will have to forward your SSH agent with the _-A_ ssh flag. |
| 32 | 3 | Timothée Floure | |
| 33 | 1 | Nico Schottelius | <pre> |
| 34 | # Login to configuration server |
||
| 35 | ssh -A ungleich@control.ungleich.ch |
||
| 36 | |||
| 37 | # Ensure cdist configuration is up-to-date |
||
| 38 | 3 | Timothée Floure | cd cdist-workdir |
| 39 | mr update |
||
| 40 | 1 | Nico Schottelius | |
| 41 | # Configure |
||
| 42 | cdist config -vv <hostname> |
||
| 43 | </pre> |