Project

General

Profile

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>