help-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Suggestion for future release


From: christian pearce
Subject: Re: Suggestion for future release
Date: Fri, 10 Mar 2006 21:24:40 -0500

To me this is the only way to manage Cfengine.  I have been doing it
with SysNav for five years now.  Not that this adds much to the
thread, but it does confirm this approach is successful.  I wish I
could open the code up to the public.  Maybe one day.

On 3/10/06, Scott Lackey <scottlackey@gmail.com> wrote:
>     The granular per-host configuration solutions are always difficult with
> cfengine. I don't know that this should be a part of cfengine, as doing host
> configs does not scale any easier than system administration without
> cfengine at all.
>       I've been trying to up a system where groupfile data is stored in a
> database and pulled via cfengine at the time of execution in order to
> centralize group membership data and facilitate reporting, which really
> doesn't exist right now. If I have time to finish it, it might be useful in
> solving some of the problems of keeping up with individual host
> configurations.
>
>
>
> On 3/8/06, Marco van Beek < mvanbeek@supporting-role.co.uk> wrote:
> > Hi Everyone,
> >
> > I have a suggestion for CFengine. It would be nice to be able to have a
> > plain text config file with variables, which could be read by a client
> > on a host by host, and/or class by class basis.
> >
> > The data would be read in by CFEngine (probably set in cfagent.conf) and
> > would be available to all subsequent cf files being processed.
> >
> > I did something a while ago because I wanted to read the same data in
> > Perl as PHP for a project I have been dabbling with.
> >
> > Anyway, an example config plus working Perl code is below. It would save
> > me having to use complicated bash code to extract data from a plain text
> > file. I have a config file per host which means I can define each boxes
> > purpose outside of CFEngine, which makes it easier to maintain.
> >
> > Cheers,
> >
> > Marco
> >
> >
> >
> ==============================================================
> > EXAMPLE CONFIG FILE
> >
> ==============================================================
> >
> > #######################################
> > # Cross language config file for SSiS #
> > #######################################
> > # Comments are allowed    #
> > # White space is allowed  #
> > # syntax is 'key = value' #
> > ###########################
> >
> > ...
> >
> > #########
> > # MySQL #
> > #########
> >
> > mysql_server = localhost
> > mysql_datasource = dbi:mysql:ssis
> > mysql_database = ssis
> > mysql_username = ssis
> > mysql_password = ssis
> > mysql_palm_gluetable = PDA_Sync
> > mysql_ldap_gluetable = LDAP_Sync
> >
> > ########
> > # LDAP #
> > ########
> >
> > ou = ou=SSiS
> > dc = dc=supporting-role,dc=co,dc=uk
> > ldap_bindas =
> uid=ssis,ou=People,dc=supporting-role,dc=co,dc=uk
> > ldap_password = secret
> > ldap_server = localhost
> > ldap_port   = 389
> > ldap_version = 3
> >
> >
> ===============================================================
> > PERL CODE TO EXTRACT FROM CONFIG AND DUMP INTO ARRAY
> >
> ================================================================
> > my %settings;
> > open(CONFIG,"/etc/ssis-config");
> > while(<CONFIG>)
> >          {
> >          chomp;                  # no newline
> >          s/#.*//;                # no comments
> >          s/^\s+//;               # no leading whitespace
> >          s/\s+$//;               # no trailing whitespace
> >          next unless length;     # Anything left?
> >          my ($var, $value) = split(/\s*=\s*/,$_, 2);
> >          $settings{$var} = $value;
> >          }
> > close CONFIG;
> >
> > my $mysql_datasource            = $settings{"mysql_datasource"};
> > my $mysql_username              = $settings{"mysql_username"};
> > my $mysql_password              = $settings{"mysql_password"};
> > my $mysql_palm_gluetable        =
> $settings{"mysql_palm_gluetable"};
> > my $public_user                 = $settings{"public_user"};
> > my $Memo_user                   = $settings{"Memo_user"};
> > my $ToDo_user                   = $settings{"ToDo_user"};
> > my $Address_user                = $settings{"Address_user"};
> > my $Datebook_user               = $settings{"Datebook_user"};
> >
> ==================================================================
> >
> >
> > _______________________________________________
> > Help-cfengine mailing list
> > Help-cfengine@gnu.org
> > http://lists.gnu.org/mailman/listinfo/help-cfengine
> >
>
>
>
> --
> -Scott
> _______________________________________________
> Help-cfengine mailing list
> Help-cfengine@gnu.org
> http://lists.gnu.org/mailman/listinfo/help-cfengine
>
>
>


--
Christian Pearce




reply via email to

[Prev in Thread] Current Thread [Next in Thread]