forked from ungleich-public/cdist
cdist configuration management
Latest manual: https://www.cdi.st/manual/latest/
Home page: https://www.cdi.st
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.6 KiB
77 lines
2.6 KiB
Quickstart |
|
========== |
|
|
|
This tutorial is aimed at people learning cdist and shows |
|
typical approaches as well as gives an easy start into |
|
the world of configuration management. |
|
|
|
For those who just want to configure a system with the |
|
cdist configuration management and do not need (or want) |
|
to understand everything. |
|
|
|
This tutorial assumes you are configuring **localhost**, because |
|
it is always available. Just replace **localhost** with your target |
|
host for real life usage. |
|
|
|
Cdist uses **ssh** for communication and transportation |
|
and usually logs into the **target host** as the |
|
**root** user. So you need to configure the **ssh server** |
|
of the target host to allow root logins: Edit |
|
the file **/etc/ssh/sshd_config** and add one of the following |
|
lines:: |
|
|
|
# Allow login only via public key |
|
PermitRootLogin without-password |
|
|
|
# Allow login via password and public key |
|
PermitRootLogin yes |
|
|
|
As cdist uses ssh intensively, it is recommended to setup authentication |
|
with public keys:: |
|
|
|
# Generate pubkey pair as a normal user |
|
ssh-keygen |
|
|
|
# Copy pubkey over to target host |
|
ssh-copy-id root@localhost |
|
|
|
Have a look at ssh-agent(1) and ssh-add(1) on how to cache the password for |
|
your public key. Usually it looks like this:: |
|
|
|
# Start agent and export variables |
|
eval `ssh-agent` |
|
|
|
# Add keys (requires password for every identity file) |
|
ssh-add |
|
|
|
At this point you should be able to **ssh root@localhost** without |
|
re-entering the password. If something failed until here, ensure that |
|
all steps went successfully and you have read and understood the |
|
documentation. |
|
|
|
As soon as you are able to login without password to localhost, |
|
we can use cdist to configure it. You can copy and paste the following |
|
code into your shell to get started and configure localhost:: |
|
|
|
# Get cdist |
|
git clone git@code.ungleich.ch:ungleich-public/cdist.git |
|
|
|
# Create manifest (maps configuration to host(s) |
|
cd cdist |
|
echo '__file /etc/cdist-configured' > cdist/conf/manifest/init |
|
|
|
# Configure localhost in verbose mode |
|
./bin/cdist config -v localhost |
|
|
|
# Find out that cdist created /etc/cdist-configured |
|
ls -l /etc/cdist-configured |
|
|
|
Note: cdist/conf is configuration directory shipped with cdist distribution. |
|
If exists, ~/.cdist, is also automatically used as cdist configuration |
|
directory. So in the above example you could create ~/.cdist directory, |
|
then ~/.cdist/manifest sub-directory and create init manifest |
|
~/.cdist/manifest/init. |
|
|
|
That's it, you've successfully used cdist to configure your first host! |
|
Continue reading the next sections, to understand what you did and how |
|
to create a more sophisticated configuration.
|
|
|