summaryrefslogtreecommitdiffstats
path: root/lib/puppet/config.rb
Commit message (Collapse)AuthorAgeFilesLines
* Fixing #324. Mkusers was not specifically ignoring the root user, and it is ↵luke2006-11-091-0/+3
| | | | | | now. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1851 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding the ability to have hooks for configuration parameters. This will ↵luke2006-10-161-0/+9
| | | | | | simplify things like setting the shell path. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1783 980ebf18-57e1-0310-9a29-db15c13687c0
* Many, many, many performance improvements in the compiler (I hope). I did ↵luke2006-10-061-15/+20
| | | | | | not change functionality anywhere, but I did some profiling and significantly reduced the runtime of many methods, and especially focused on some key methods that run many times. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1739 980ebf18-57e1-0310-9a29-db15c13687c0
* + Puppet::SUIDManager - This replaces all calls to the built-in ruby ↵erikh2006-09-221-6/+6
| | | | | | | | | | | 'Process' library for uid/gid/euid/egid operations, including (not surprisingly) Puppet::Util#asuser and a method to run commands and capture output. This is due to many inconsistencies (through bugfixes) between ruby versions in the 1.8.x branch. This is included in the core puppet library and can be used by all puppet types and providers. ! Modified Puppet::Util#uid to check (and warn) if passed a nil value. ! Changes to use Puppet::SUIDManager instead of Process and relevant Puppet::Util calls. ! Removed Puppet::Util#asuser. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1666 980ebf18-57e1-0310-9a29-db15c13687c0
* Removing the no-longer-necessary type/nameservice info -- it is all in the ↵luke2006-09-191-6/+12
| | | | | | provider tree now git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1622 980ebf18-57e1-0310-9a29-db15c13687c0
* Using the "trace" configuration parameter to determine whether a stack trace ↵luke2006-09-151-0/+2
| | | | | | should be printed, rather than just using "debug". I added the param a little while ago and was using it internally in Puppet::DevError, but I just now went through the whole configuration and switched to using it. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1613 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding an "ignoretags" attribute to transaction, and setting it for ↵luke2006-09-051-0/+1
| | | | | | downloading plugins or facts, and for creating config directories git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1562 980ebf18-57e1-0310-9a29-db15c13687c0
* Renaming parsedfile to loadedfile, which makes much more sense and reduces ↵luke2006-09-031-2/+2
| | | | | | some naming conflicts git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1544 980ebf18-57e1-0310-9a29-db15c13687c0
* First round of bugfixes in preparation for 0.18.4luke2006-07-211-1/+3
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1421 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #77. As I feared, this was a pretty complicated fix; I had to add a ↵luke2006-07-211-25/+70
| | | | | | | | lot of infrastructure to both ParsedFile and Config. All config files now have a timer created for them, and by default they check for file changes every 15 seconds. If there is a change, they get rid of values set by the file (but not set on the cli) and set the new values, then the re-use all of the sections, so that any changed directories or whatever get recreated. This is still not a 100% solution, since things like open files could still be messed with, but I think this is about as close as we are going to get. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1420 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding timeout functionality to the ParsedFile class, in preparation to ↵luke2006-07-211-5/+6
| | | | | | adding config reloading to the Config class. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1419 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding tests for previous config bugfixes, and updating changelogluke2006-07-111-14/+25
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1391 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing weird case involving interpolating config params in a URLluke2006-07-111-1/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1388 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing weird cases where configs might think non-files could be filesluke2006-07-111-2/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1387 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding HUP and USR1 hooksluke2006-06-261-0/+4
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1308 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #169. Tags are ignored during config.luke2006-06-131-0/+8
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1259 980ebf18-57e1-0310-9a29-db15c13687c0
* A round of bug-fixing in preparation for the next release.luke2006-06-131-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1256 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #167. Started with the submitted patch and made a few more ↵luke2006-06-081-7/+14
| | | | | | modifications, and added a regression test. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1247 980ebf18-57e1-0310-9a29-db15c13687c0
* Did some work on making sure object removal actually works, thus stopping ↵luke2006-05-251-1/+3
| | | | | | some potential memory leaks. Also explicitly removed objects in more places, again hopefully forestalling memory leaks. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1224 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing puppetca so it does not call chuser; instead, it is configured to ↵luke2006-04-121-0/+36
| | | | | | create all of the files with the correct permissions and ownership (using Config#write and Config#writesub). git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1111 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing the class file to actually store class names, not object ids. Also ↵luke2006-04-041-1/+7
| | | | | | added tests to make sure it all stays that way. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1063 980ebf18-57e1-0310-9a29-db15c13687c0
* Added a test for Type#remove, and fixed the method so it actually works. I ↵luke2006-04-021-0/+5
| | | | | | was missing every other object, because i was iterating over the array being modified. This caused the Config stuff to often fail, because objects were not correctly being removed. All fixed now, though. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1053 980ebf18-57e1-0310-9a29-db15c13687c0
* adding mkdir equivalent of Config#writeluke2006-04-021-0/+17
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1052 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding a "write" method to config objects, so that files can be easily ↵luke2006-04-021-1/+27
| | | | | | written with the correct owner, group, and modes git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1051 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #100. I just added a bit of a hack to configuration parsing -- if a ↵luke2006-03-151-0/+8
| | | | | | group is specified in a section that matches the name of the process, then it is assumed to be the group that the process should run as. The problem is that we are reusing the term "group" here for both the run-group and the file-group. Oh well. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1036 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #82. You can now specify comma-separated tags to get run in puppet ↵luke2006-03-111-1/+1
| | | | | | or puppetd: puppetd --onetime --tags "enhost, facter" -v. You cannot specify classes explicitly, but tags map well to classes and have the benefit of being more generic. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1005 980ebf18-57e1-0310-9a29-db15c13687c0
* Only setting group or owner on config files when running as rootluke2006-03-031-3/+8
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@974 980ebf18-57e1-0310-9a29-db15c13687c0
* logging config changes at debug, instead of the normal log levelluke2006-03-031-0/+4
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@973 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing tests so they do not chmod /dev/null to 640 (stupid tests).luke2006-03-021-0/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@967 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #68. After tons and tons and tons of work, everything successfully ↵luke2006-03-021-8/+8
| | | | | | configures itself, and the --genmanifest argument should actually work. User and group creation will not necessarily work everywhere (in particular, Puppet uses dependencies to create the group first, but Fedora complains on user creation if the group already exists), but file and directory creation should. The only downside is that there is a decent amount of extra information printed on daemon startup, as the daemon checks its config; this could maybe be seen as a bonus, though, I guess. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@966 980ebf18-57e1-0310-9a29-db15c13687c0
* Okay, Puppet is now almost entirely capable of configuring itself. I have ↵luke2006-03-021-38/+109
| | | | | | not yet added the extra tests to puppetmasterd to make sure it can start as a normal user, and the executables still fail some simple tests because they are producing output when they start (I will get rid of the output), but overall things look pretty good. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@965 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding metadata to defaultsluke2006-03-011-18/+26
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@963 980ebf18-57e1-0310-9a29-db15c13687c0
* Changing the setdefaults input format somewhat. It is always a hash of some ↵luke2006-03-011-6/+6
| | | | | | kind now. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@962 980ebf18-57e1-0310-9a29-db15c13687c0
* Intermediate commit; setdefaults now accepts both hashes and arraysluke2006-03-011-43/+93
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@961 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing user and group management in the config handling.luke2006-02-281-18/+22
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@960 980ebf18-57e1-0310-9a29-db15c13687c0
* Removing all of the autoname codeluke2006-02-271-2/+0
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@953 980ebf18-57e1-0310-9a29-db15c13687c0
* There is now full support for configuration files, and the entire system has ↵luke2006-02-071-28/+194
| | | | | | been modified to expect their new behaviour. I have not yet run the test across all test hosts, though. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@873 980ebf18-57e1-0310-9a29-db15c13687c0
* Configuration parameters now require (and have) descriptions, and a set of ↵luke2006-02-071-98/+138
| | | | | | configuration parameters can be converted to a configuration file, a manifest, or a component. All I have to do now is integrate them into the executables. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@872 980ebf18-57e1-0310-9a29-db15c13687c0
* Committing both the finalization of the config code, plus all of the code ↵luke2006-02-071-18/+125
| | | | | | necessary to get basic isomorphism from code to transportables and back. Mostly keyword and autoname stuff. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@871 980ebf18-57e1-0310-9a29-db15c13687c0
* Temporary commit; configs now can be converted to manifestsluke2006-02-071-1/+68
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@869 980ebf18-57e1-0310-9a29-db15c13687c0
* Config files now seem to work, so I am ready to start incorporating them.luke2006-02-071-45/+164
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@868 980ebf18-57e1-0310-9a29-db15c13687c0
* RPM release is almost entirely there, it just needs to be integrated into ↵luke2006-01-251-1/+52
| | | | | | release management git-svn-id: https://reductivelabs.com/svn/puppet/trunk@850 980ebf18-57e1-0310-9a29-db15c13687c0
* Modifying docs, and adding scheduling hooksluke2006-01-201-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@846 980ebf18-57e1-0310-9a29-db15c13687c0
* adding config file stuff, but not using it yet. I have decided to release ↵luke2005-10-311-0/+49
the next version without them. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@738 980ebf18-57e1-0310-9a29-db15c13687c0