Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
This repository helps you to set up a minimum YADT installation.
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
images
.gitignore
README.md
yadt-7.repo
yadt.repo

README.md

try it yourself ...

YADT - an Augmented Deployment Tool

  • It's easy to start and stop services on clients
  • Install operating system updates on multiple machines
  • Reboot client after kernel updates

concept yadtshell and yadtminion

In this guide we want to show you how to set up a minimal YADT system, on two hosts with real world services to play with. The yadtshell on the first server is the "remote control", the yadt-minion is the client component.

prerequisites

  • Two RHEL based system version 6.x or 7.x
  • Python >= 2.6
  • A user with sufficient rights to:
    • Install/remove packages via sudo yum
    • Start and stop services via sudo service ...
  • All hosts to be controlled are accessible passwordless via ssh from the yadtshell server
  • EPEL has to be installed. You will find the rpm on The newest version of 'epel-release' for EL6, for example

install the rpms

this adds our repository to your RHEL based system: (yum-config-manager is part of yum-utils)

sudo yum-config-manager --add-repo https://raw.githubusercontent.com/yadt/try-it-yourself/master/yadt.repo

or this on RedHat 7 machines:

sudo yum-config-manager --add-repo https://raw.githubusercontent.com/yadt/try-it-yourself/master/yadt-7.repo

let's have a look into the file:

cat /etc/yum.repos.d/yadt.repo
[yadt]
name=yadt repo
baseurl=http://dl.bintray.com/yadt/rpm
gpgcheck=0

check the repository with:

$ sudo yum repolist

you will see something like this:

...
extras                      CentOS-6 - Extras       14
updates                     CentOS-6 - Updates      1.104
yadt                        yadt repo               4
repolist: 18.467

installation

Now you can use yum to install the yadt components on your servers

on the "master" server:

[vagrant@yadtshell-testmachine ~]$ sudo yum install yadtshell

on the client server:

[vagrant@minion-testmachine ~]$ sudo yum install yadt-minion

configuration of the yadt-minion

tl;dr

save this snipplet as /etc/yadt.conf.d/10_postfix.yaml (4 blanks no tabs)

services:
    postfix:

Please check if the postfix process is up and running on minion side. sudo service postfix status. You can use any process you want but avoid using the sshd process :-) .

long version

The yadt-minion gets configured via *.yaml files in the /etc/yadt.conf.d/ directory; they get merged in alphanumeric order. Please note Indented blocks have to start with 4 blanks.

The yadt-minion rpm provides its default configuration as 00_defaults.yaml. Please check the wiki or cheatsheet for further information about service configuration.

configuration of the yadtshell

You can run yadtshell commands on targets, a target is a set of hosts which belong together. Check the wiki or the cheatsheet for further information.

save this snipplet as a file named target (e.g in your home folder)

hosts:
- minion-testmachine

please note "minion-testmachine" ist the hostname of the minion server.

using the yadtshell

change your directory to the folder with the target file and enter

init-yadtshell

you will see something like this:

starting yadt session

yadt | home      target hosts: *unknown, call status first*

yadtshell status

now call status

yadtshell_status

yadtshell service start/stop

Now try to start and stop your service on the machine, please check the wiki and the cheatsheet for further commands and usefull information.

stop service://minion-testmachine/postfix

start service://minion-testmachine/postfix

yadtshell update

As you can see we found an update of postfix, we can update the machine by calling update. yadtshell_status

YADT Project

yadt-minion on github

yadtshell on github

follow us on twitter

YADT - an Augmented Deployment Tool

Something went wrong with that request. Please try again.