{"id":15227847,"url":"https://github.com/solution-libre/puppet-backupninja","last_synced_at":"2025-10-04T05:31:38.218Z","repository":{"id":57667014,"uuid":"117996600","full_name":"solution-libre/puppet-backupninja","owner":"solution-libre","description":"Puppet module to manage backupninja installation and configuration","archived":false,"fork":true,"pushed_at":"2018-01-19T17:06:18.000Z","size":181,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-30T11:46:50.974Z","etag":null,"topics":["backupninja","hacktoberfest","puppet"],"latest_commit_sha":null,"homepage":"https://forge.puppet.com/soli/backupninja","language":"Puppet","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"gnubila-france/puppet-backupninja","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/solution-libre.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-18T14:54:35.000Z","updated_at":"2020-10-05T21:13:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/solution-libre/puppet-backupninja","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/solution-libre/puppet-backupninja","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solution-libre%2Fpuppet-backupninja","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solution-libre%2Fpuppet-backupninja/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solution-libre%2Fpuppet-backupninja/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solution-libre%2Fpuppet-backupninja/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/solution-libre","download_url":"https://codeload.github.com/solution-libre/puppet-backupninja/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solution-libre%2Fpuppet-backupninja/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278267490,"owners_count":25958875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backupninja","hacktoberfest","puppet"],"created_at":"2024-09-28T23:06:25.652Z","updated_at":"2025-10-04T05:31:37.967Z","avatar_url":"https://github.com/solution-libre.png","language":"Puppet","readme":"# backupninja\n\n[![Puppet Forge Version](http://img.shields.io/puppetforge/v/soli/backupninja.svg)](https://forge.puppetlabs.com/soli/backupninja)\n[![Puppet Forge Downloads](http://img.shields.io/puppetforge/dt/soli/backupninja.svg)](https://forge.puppetlabs.com/soli/backupninja)\n[![Puppet Forge Score](http://img.shields.io/puppetforge/f/soli/backupninja.svg)](https://forge.puppetlabs.com/soli/backupninja)\n[![Build Status](https://travis-ci.org/solution-libre/puppet-backupninja.svg?branch=master)](https://travis-ci.org/solution-libre/puppet-backupninja)\n\n#### Table of Contents\n\n1. [Module Description - What the module does and why it is useful](#module-description)\n2. [Setup - The basics of getting started with backupninja](#setup)\n    * [Beginning with backupninja](#beginning-with-backupninja)\n3. [Usage - Configuration options and additional functionality](#usage)\n    * [Install header packages](#install-header-packages)\n    * [Install all headers packages and the documentation](#install-all-headers-packages-and-the-documentation)\n    * [Uninstall a backupninja library](#uninstall-a-backupninja-library)\n4. [Reference - An under-the-hood peek at what the module is doing and how](#reference)\n5. [Limitations - OS compatibility, etc.](#limitations)\n6. [Development - Guide for contributing to the module](#development)\n7. [Contributors](#contributors)\n\n## Module Description\n\nThis module installs and configures [backupninja](https://labs.riseup.net/code/projects/backupninja).\n\n## Setup\n\n### Beginning with backupninja\n\n@ToDo\n\n## Usage\n\n### Configure your backup server\n\nNow you will need to configure a backup server by adding the following\nto your node definition for that server:\n```puppet\ninclude backupninja::server\n```\n\nBy configuring a backupninja::server, this module will automatically\ncreate sandboxed users on the server for each client for their\nbackups.\n\nYou may also want to set some variables on your backup server, such as:\n```puppet\n$backupdir = \"/backups\"\n```\n\n### Configure your backup clients\n\nThe backupninja package and the necessary backup software will be\ninstalled automatically when you include any of the different handlers\n(as long as you are not handling it elsewhere in your manifests), for\nexample:\n\n```puppet\ninclude backupninja::client::rdiff_backup\n```\n\nIn this case, the module will make sure that the backupninja package\nand the required rdiff-backup package are 'installed'/'present' (using\npuppet's ensure parameter language). If you need to specify a specific\nversion of either backupninja itself, or the specific programs that\nthe handler class installs, you can specify the version you need\ninstalled by providing a variable, for example:\n```puppet\n$backupninja_ensure_version = \"0.9.7~bpo50+1\"\n$rdiff_backup_ensure_version = \"1.2.5-1~bpo40+1\"\n$rsync_ensure_version = \"3.0.6-1~bpo50+1\"\n$duplicity_ensure_version = \"0.6.04-1~bpo50+1\"\n$debconf_utils_ensure_version = \"1.5.28\"\n$hwinfo_ensure_version = \"16.0-2\"\n```\n\nIf you do not specify these variables the default 'installed/present'\nversion will be installed when you include this class.\n\n### Configuring handlers\n\nDepending on which backup method you want to use on your client, you\ncan simply specify some configuration options for that handler that are\nnecessary for your client.\n\nEach handler has its own configuration options necessary to make it\nwork, each of those are available as puppet parameters. You can see\nthe handler documentation, or look at the handler puppet files\nincluded in this module to see your different options.\n\nIncluded below are some configuration examples for different handlers.\n\n* An example mysql handler configuration:\n```puppet\nbackupninja::mysql { all_databases:\n\tuser =\u003e root,\n\tbackupdir =\u003e '/var/backups',\n\tcompress =\u003e true,\n\tsqldump =\u003e true\n}\n```\n\n* An example rdiff-backup handler configuration:\n```puppet\nbackupninja::rdiff { backup_all:\n\tdirectory =\u003e '/media/backupdisk',\n\tinclude =\u003e ['/var/backups', '/home', '/var/lib/dpkg/status'],\n\texclude =\u003e '/home/\\*/.gnupg'\n}\n```\n\n* A remote rdiff-backup handler:\n```puppet\nbackupninja::rdiff { \"main\":\n    host =\u003e \"backup.example.com\",\n    type =\u003e \"remote\",\n    directory =\u003e \"/backup/$fqdn\",\n    user =\u003e \"backup-$hostname\",\n}\n```\n\n### Configuring backupninja itself\n\nYou may wish to configure backupninja itself. You can do that by doing\nthe following, and the `/etc/backupninja.conf` will be managed by\npuppet, all the backupninja configuration options are available, you\ncan find them inside this module as well.\n\nFor example:\n\n```puppet\nbackupninja::config { conf:\n\tloglvl =\u003e 3,\n\tusecolors =\u003e false,\n\treportsuccess =\u003e false,\n\treportwarning =\u003e true;\n}\n```\n\n### Nagios alerts about backup freshness\n\nIf you set the $nagios_server variable to be the name of your nagios\nserver, then a passive nagios service gets setup so that the backup\nserver pushes checks, via a cronjob that calls\n`/usr/local/bin/checkbackups.pl`, to the nagios server to alert about\nrelative backup freshness.\n\nTo use this feature a few pre-requisites are necessary:\n* configure nsca on your backup server (not done via puppet yet)\n* configure nsca on your nagios server (not done via puppet yet)\n* server backup directories are named after their $fqdn\n* using nagios2 module, nagios/nagios3 modules/nativetypes not supported yet\n* using a nagios puppet module that can create passive service checks\n* backups must be under `$home/dup`, `$home/rdiff-backup` depending on method\n* `$nagios_server` must be set before the class is included\n\n\n ## Reference\n\n ### Classes\n\n #### Public Classes\n\n @ToDo\n\n ## Limitations\n\n RedHat and Debian family OSes are officially supported. Tested and built on Debian and CentOS.\n\n ## Development\n\n [Solution Libre](https://www.solution-libre.fr) modules on the Puppet Forge are open projects, and community contributions are essential for keeping them great.\n\n [Fork this module on GitHub](https://github.com/solution-libre/puppet-backupninja/fork)\n\n ## Contributors\n\n The list of contributors can be found at: https://github.com/solution-libre/puppet-backupninja/graphs/contributors\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolution-libre%2Fpuppet-backupninja","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolution-libre%2Fpuppet-backupninja","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolution-libre%2Fpuppet-backupninja/lists"}