Skip to content

Commit f2e6cf3

Browse files
committed
Fleshed out parameters, added contributing docs
1 parent 33c655c commit f2e6cf3

File tree

2 files changed

+147
-52
lines changed

2 files changed

+147
-52
lines changed

CONTRIBUTING.d

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Contributions Welcome!
2+
3+
Pull Requests and Community Contributions are the bread and butter of open
4+
source software. Every contribution- from bug reports to feature requests, typos
5+
to full new features- are greatly appreciated.
6+
7+
8+
## Important Guidelines
9+
10+
* One Item Per Pull Request or Issue. This makes it much easier to review code
11+
and merge it back in, and prevents issues with one request from blocking
12+
another.
13+
14+
* Read the LICENSE document and make sure you understand it, because your code
15+
is going to be released under it.
16+
17+
* Be prepared to make revisions. Don't be discouraged if you're asked to make
18+
changes, as that is just another step towards refining the code and getting it
19+
merged back in.
20+
21+
* Remember to add the relevant documentation, both inline and in the README.
22+
23+
24+
## Code Styling
25+
26+
This project follows the PSR standards set forth by
27+
[The Puppet Language Style Guide](https://docs.puppetlabs.com/guides/style_guide.html).
28+
29+
All code most follow these standards to be accepted. The easiest way to confirm
30+
this is to run `puppet-lind` once the new changes are finished.
31+
32+
gem install puppet-lint
33+
puppet-lint --fix ./
34+

README.md

Lines changed: 113 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -272,11 +272,8 @@ rsnapshot::server::config { 'backupclient.example.com':
272272
one_fs => undef,
273273
rsync_short_args => '-a',
274274
rsync_long_args => '--delete --numeric-ids --relative --delete-excluded'
275-
ssh_args => undef,
276-
wrapper_path => '/opt/rsnapshot_wrappers/',
277-
ssh_args => undef,
278275
du_args => '-csh',
279-
use_sudo => true,
276+
use_sudo => false,
280277
}
281278
```
282279

@@ -317,9 +314,9 @@ included in the rsnapshot configuration.
317314

318315
##### Parameters
319316

320-
* `source_path`: Description
321-
* `host`: Description
322-
* `options`: Description
317+
* `source_path`: The path to backup.
318+
* `host`: The host being backed up. Defaults to $::fqdn.
319+
* `options`: Options to be passed to rsnapshot.
323320

324321

325322
### Class: `rsnapshot::client`
@@ -330,30 +327,41 @@ resource to the backup server.
330327

331328
##### Parameters
332329

333-
* `server`: Description
334-
* `directories`: Description
335-
* `user`: Description
336-
* `remote_user`: Description
337-
* `backup_time_cron`: Description
338-
* `backup_time_minute`: Description
339-
* `backup_time_hour`: Description
340-
* `backup_time_weekday`: Description
341-
* `backup_time_dom`: Description
342-
* `cmd_preexec`: Description
343-
* `cmd_postexec`: Description
344-
* `cmd_client_rsync`: Description
345-
* `cmd_client_sudo`: Description
346-
* `retain_hourly`: Description
347-
* `retain_daily`: Description
348-
* `retain_weekly`: Description
349-
* `retain_monthly`: Description
350-
* `one_fs`: Description
351-
* `rsync_short_args`: Description
352-
* `rsync_long_args`: Description
353-
* `ssh_args`: Description
354-
* `use_sudo`: Description
355-
* `push_ssh_key`: Description
356-
* `wrapper_path`: Description
330+
* `server`: The server to backup to.
331+
* `directories`: The directories that should be backed up.
332+
* `includes`: An array of rsync "include" arguements.
333+
* `excludes`: An array of rsync "exclude" arguements.
334+
* `includes_files`: An array of rsync "include-files" arguements.
335+
* `excludes_files`: An array of rsync "exclude-files" arguements.
336+
* `user`: The client side user that handles backing up.
337+
* `remote_user`: The server side user that runs backups.
338+
* `backup_time_cron`: The cron descriptor (\*/2) to drive the hourly backup
339+
script.
340+
* `backup_time_minute`: The minute that backups (of all intervals) should start.
341+
This defaults to fqdn_rand, giving each host a unique start time.
342+
* `backup_time_hour`: The hour that daily backups should occur. This defaults to
343+
fqdn_rand, giving each host a unique start time.
344+
* `backup_time_weekday`: The day that weekly backups should occur. This defaults
345+
to fqdn_rand, giving each host a random weekday for backups.
346+
* `backup_time_dom`: The day of the month that monthly backups should occur.
347+
This defaults to fqdn_rand, giving each host a random day of the month.
348+
* `cmd_preexec`: The path to any script that should run before backups.
349+
* `cmd_postexec`: The path to any script that should run after backups.
350+
* `cmd_client_rsync`: The path to the client side rsync binary.
351+
* `cmd_client_sudo`: The path to the client side sudo binary.
352+
* `retain_hourly`: The number of hourly backups to retain.
353+
* `retain_daily`: The number of daily backups to retain.
354+
* `retain_weekly`: The number of weekly backups to retain.
355+
* `retain_monthly`: The number of monthly backups to retain.
356+
* `one_fs`: Whether rsync should cross filesystem boundaries or not.
357+
* `rsync_short_args`: A list of short arguments to pass to rsync.
358+
* `rsync_long_args`: A list of long arguments to pass to rsync.
359+
* `ssh_args`: A list of arguments to pass to ssh.
360+
* `use_sudo`: If enabled sudo will be used instead of direct root access for
361+
rsync.
362+
* `push_ssh_key`: If enabled the server's ssh key will be passed to this client.
363+
* `wrapper_path`: The path to store the various wrapper script in.
364+
357365

358366
### Class: `rsnapshot::server`
359367

@@ -362,20 +370,25 @@ packages and collecting the exported configurations from the client machines.
362370

363371
##### Parameters
364372

365-
* `config_path`: Description
366-
* `backup_path`: Description
367-
* `log_path`: Description
368-
* `user`: Description
369-
* `no_create_root`: Description
370-
* `verbose`: Description
371-
* `log_level`: Description
372-
* `link_dest`: Description
373-
* `sync_first`: Description
374-
* `use_lazy_deletes`: Description
375-
* `rsync_numtries`: Description
376-
* `stop_on_stale_lockfile`: Description
377-
* `du_args`: Description
378-
373+
* `config_path`: Directory to place the configuration files in.
374+
* `backup_path`: Directory to store all the backups in.
375+
* `log_path`: Directory to place the configuration files in.
376+
* `lock_path`: Directory to place the lock files in.
377+
* `user`: The server side user running the backup scripts.
378+
* `no_create_root`: Whether or not to create the rsnapshot backup directories.
379+
* `verbose`: A level, one through five, describing the level of information
380+
outputted.
381+
* `log_level`: A level, one through five, describing the level of information
382+
logged.
383+
* `link_dest`: Whether rsync supports the --link-dest flag or not.
384+
* `sync_first`: This requires syncing to occur with a seperate call to
385+
rsnapshot. This is not recommended.
386+
* `use_lazy_deletes`: When enabled rsnapshot will move the oldest directory to
387+
[interval].delete and remove it after syncing new backups
388+
* `rsync_numtries`: How many times to retry rsync after a failure.
389+
* `stop_on_stale_lockfile`: Enabling this stop rsnapshot if PID in lockfile is
390+
not running
391+
* `du_args`: Arguments for the du program. GNU is preferred.
379392

380393

381394
### Define: `rsnapshot::server::config`
@@ -387,14 +400,62 @@ an rsnapshot server to backup clients that are not controlled by puppet.
387400

388401
##### Parameters
389402

390-
* `parameter`: Description
391-
392-
393-
## Limitations
403+
* `config_path`: Directory to place the configuration files in.
404+
* `backup_path`: Directory to store all the backups in.
405+
* `log_path`: Directory to place the configuration files in.
406+
* `lock_path`: Directory to place the lock files in.
407+
* `backup_user`: The server side user running the backup scripts.
408+
* `remote_user`: The client side user the server uses to log in.
409+
* `directories`: The directories that should be backed up.
410+
* `lock_path`: Directory to place the lock files in.
411+
* `includes`: An array of rsync "include" arguements.
412+
* `excludes`: An array of rsync "exclude" arguements.
413+
* `includes_files`: An array of rsync "include-files" arguements.
414+
* `excludes_files`: An array of rsync "exclude-files" arguements.
415+
* `no_create_root`: Whether or not to create the rsnapshot backup directories.
416+
* `verbose`: A level, one through five, describing the level of information
417+
outputted.
418+
* `log_level`: A level, one through five, describing the level of information
419+
logged.
420+
* `link_dest`: Whether rsync supports the --link-dest flag or not.
421+
* `sync_first`: This requires syncing to occur with a seperate call to
422+
rsnapshot. This is not recommended.
423+
* `use_lazy_deletes`: When enabled rsnapshot will move the oldest directory to
424+
[interval].delete and remove it after syncing new backups
425+
* `rsync_numtries`: How many times to retry rsync after a failure.
426+
* `stop_on_stale_lockfile`: Enabling this stop rsnapshot if PID in lockfile is
427+
not running
428+
* `server`: The server to backup to. Defaults to the current $::fqdn.
429+
* `backup_time_cron`: The cron descriptor (\*/2) to drive the hourly backup
430+
script.
431+
* `backup_time_minute`: The minute that backups (of all intervals) should start.
432+
This defaults to fqdn_rand, giving each host a unique start time.
433+
* `backup_time_hour`: The hour that daily backups should occur. This defaults to
434+
fqdn_rand, giving each host a unique start time.
435+
* `backup_time_weekday`: The day that weekly backups should occur. This defaults
436+
to fqdn_rand, giving each host a random weekday for backups.
437+
* `backup_time_dom`: The day of the month that monthly backups should occur.
438+
This defaults to fqdn_rand, giving each host a random day of the month.
439+
* `cmd_preexec`: The path to any script that should run before backups.
440+
* `cmd_postexec`: The path to any script that should run after backups.
441+
* `retain_hourly`: The number of hourly backups to retain.
442+
* `retain_daily`: The number of daily backups to retain.
443+
* `retain_weekly`: The number of weekly backups to retain.
444+
* `retain_monthly`: The number of monthly backups to retain.
445+
* `one_fs`: Whether rsync should cross filesystem boundaries or not.
446+
* `rsync_short_args`: A list of short arguments to pass to rsync.
447+
* `rsync_long_args`: A list of long arguments to pass to rsync.
448+
* `ssh_args`: A list of arguments to pass to ssh.
449+
* `du_args`: Arguments for the du program. GNU is preferred.
450+
* `use_sudo`: If enabled sudo will be used instead of direct root access for
451+
rsync.
452+
* `wrapper_path`: The path to store the various wrapper script in.
453+
* `wrapper_sudo`: The name of the sudo wrapper script.
454+
* `wrapper_rsync_sender`: The name of the rsync sender wrapper script.
455+
* `wrapper_rsync_ssh`: The name of the rsync ssh wrapper script.
394456

395-
This is where you list OS compatibility, version compatibility, etc.
396457

397458
## Development
398459

399-
Since your module is awesome, other users will want to play with it. Let them
400-
know what the ground rules for contributing are.
460+
Contributions are always welcome. Please read the [Contributing Guide](CONTRIBUTING.md)
461+
to get started.

0 commit comments

Comments
 (0)