summaryrefslogtreecommitdiffstats
path: root/doc/unsorted/annotated_examples.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/unsorted/annotated_examples.txt')
-rw-r--r--doc/unsorted/annotated_examples.txt191
1 files changed, 0 insertions, 191 deletions
diff --git a/doc/unsorted/annotated_examples.txt b/doc/unsorted/annotated_examples.txt
deleted file mode 100644
index b5b7e6b4e..000000000
--- a/doc/unsorted/annotated_examples.txt
+++ /dev/null
@@ -1,191 +0,0 @@
-.. -*- mode: rst -*-
-
-.. _unsorted-annotated_examples:
-
-==================
-Annotated Examples
-==================
-
-ntp example
-===========
-
-Author: Jason Pepas
-
-Here is a series of example configurations for bcfg2, each introducing
-another layer of functionality.
-
-* After each change, run 'bcfg-repo-validate -v'.
-* Run the server with 'bcfg2-server -v'.
-* Update the client with 'bcfg2 -v -d -n'. (will not actually make client changes)
-
-package only
-------------
-
-Our example starts with the bare minimum configuration setup. We have
-a client, a profile group, a list of packages, and a base configuration.
-
-::
-
- # cat Metadata/clients.xml
- <Clients version='3.0'>
- <Client profile='fedora' pingable='N' pingtime='0' name='foo.bar.com'/>
- </Clients>
-
- # cat Metadata/groups.xml
- <Groups version='3.0'>
- <Group profile='true' name='fedora' toolset='rh'/>
- </Groups>
-
- # cat Base/base.xml
- <Base>
- <Group name='fedora'>
- <Package name='ntp'/>
- </Group>
- </Base>
-
- # cat Pkgmgr/packages.xml
- <PackageList type='rpm' priority='0'>
- <Package name='ntp' version='4.2.0.a.20050816-11.FC5'/>
- </PackageList>
-
-add service
------------
-
-Configure the service, and add it to the base.::
-
- # cat Svcmgr/services.xml
- <Services priority='0'>
- <Service name='ntpd' status='on'/>
- </Services>
-
- # cat Base/base.xml
- <Base>
- <Group name='fedora'>
- <Package name='ntp'/>
- <Service name='ntpd'/>
- </Group>
- </Base>
-
-add config file
----------------
-
-Setup an etc directory structure, and add it to the base.::
-
- # cat Cfg/etc/ntp.conf/ntp.conf
- server ntp1.utexas.edu
-
- # cat Base/base.xml
- <Base>
- <Group name='fedora'>
- <Package name='ntp'/>
- <Service name='ntpd'/>
- <Path name='/etc/ntp.conf'/>
- </Group>
- </Base>
-
-create a bundle
----------------
-
-The above configuration layout works fine for a single service, but
-that method of organization would quickly become a nightmare as you
-approach the number of packages, services, and config files required to
-represent a fully configured host. Bundles allow the grouping of related
-configuration entries that are used to provide a single service. This
-is done for several reasons:
-
-* Grouping related things in one place makes it easier to add those
- entries for a multiple groups of clients
-* Grouping entries into bundles makes their validation occur
- collectively. This means that config files can override the
- contents of packages. Also, config files are rechecked after
- packages are upgraded, so that they can be repaired if the package
- install clobbered them.
-* Services associated with a bundle get restarted whenever any
- entity in that bundle is modified. This ensures that new
- configuration files and software are used after installation.
-
-The config file, package, and service are really all related components
-describing the idea of an ntp client, so they should be logically
-grouped together. We use a bundle to accomplish this.::
-
- # cat Bundler/ntp.xml
- <Bundle name='ntp' version='2.0'>
- <Package name='ntp'/>
- <Service name='ntpd'/>
- <Path name='/etc/ntp.conf'/>
- </Bundle>
-
-After this bundle is created, it must be associated with a group (or
-groups). Add a bundle child element to the group(s) which should install
-this bundle.::
-
-
- # cat Metadata/groups.xml
- <Groups>
- ...
- <Group name='fedora'>
- <Bundle name='ntp'/>
- </Group>
- ...
- </Groups>
-
-Once this bundle is created, a client reconfigure will install these
-entries. If any are modified, then the ntpd service will be
-restarted. If you only want ntp configurations to be updated (and
-nothing else), the bcfg2 client can be run with a -b <bundle name>
-option that will only update entries in the specified bundle.
-
-mysql example
-=============
-
-Author: Patrick Ruckstuhl
-
-I had some time ago to continue with putting my configuration into
-bcfg2 and maybe this helps someone else.
-
-I added a new bundle:
-
-.. code-block: xml
-
- <Bundle name="mysql-server" version="3.0">
- <Path name="/root/bcfg2-install/mysql/users.sh"/>
- <Path name="/root/bcfg2-install/mysql/users.sql"/>
- <PostInstall name="/root/bcfg2-install/mysql/users.sh"/>
- <Package name="mysql-server-4.1"/>
- <Service name="mysql"/>
- </Bundle>
-
-The `users.sh` script looks like this:
-
-.. code-block: sh
-
- #!/bin/sh
-
- mysql --defaults-extra-file=/etc/mysql/debian.cnf mysql \
- < /root/bcfg2-install/mysql/users.sql
-
-On debian there is a user account in ``/etc/mysql/debian.cnf``
-automatically created, but you could also (manually) create a user in
-the database that has enough permissions and add the login information
-in a file yourself. This file looks like this::
-
- [client]
- host = localhost
- user = debian-sys-maint
- password = XXXXXXXXXX
-
-The ``users.sql`` looks like this::
-
- DELETE FROM db;
- INSERT INTO db VALUES ('localhost', 'phpmyadmin', 'pma', 'Y', 'Y',
- 'Y', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N');
-
- DELETE FROM user WHERE User <> 'debian-sys-maint';
- INSERT INTO user VALUES ('localhost', 'root', 'XXXXXXXXXXX', 'Y', 'Y',
- 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y',
- 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0);
- INSERT INTO user VALUES ('localhost', 'pma', '', 'N', 'N', 'N', 'N',
- 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N',
- 'N', 'N', 'N', '', '', '', '', 0, 0, 0);
-
- FLUSH PRIVILEGES;