{"id":15014010,"url":"https://github.com/ulhpc/puppet-backupninja","last_synced_at":"2025-07-23T23:33:41.978Z","repository":{"id":31719040,"uuid":"35284878","full_name":"ULHPC/puppet-backupninja","owner":"ULHPC","description":"Puppet module to configure and manage backupninja","archived":false,"fork":false,"pushed_at":"2025-07-21T23:48:15.000Z","size":160,"stargazers_count":2,"open_issues_count":1,"forks_count":2,"subscribers_count":8,"default_branch":"devel","last_synced_at":"2025-07-22T11:16:39.090Z","etag":null,"topics":["backup","backupninja","puppet","rsync","ssh"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ULHPC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing/index.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-05-08T14:48:40.000Z","updated_at":"2024-11-04T20:41:32.000Z","dependencies_parsed_at":"2024-04-17T12:52:36.717Z","dependency_job_id":"a956e8ef-78ae-43b9-b2ae-0c382a750213","html_url":"https://github.com/ULHPC/puppet-backupninja","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/ULHPC/puppet-backupninja","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ULHPC%2Fpuppet-backupninja","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ULHPC%2Fpuppet-backupninja/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ULHPC%2Fpuppet-backupninja/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ULHPC%2Fpuppet-backupninja/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ULHPC","download_url":"https://codeload.github.com/ULHPC/puppet-backupninja/tar.gz/refs/heads/devel","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ULHPC%2Fpuppet-backupninja/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266768366,"owners_count":23981355,"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-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["backup","backupninja","puppet","rsync","ssh"],"created_at":"2024-09-24T19:45:03.502Z","updated_at":"2025-07-23T23:33:41.958Z","avatar_url":"https://github.com/ULHPC.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"-*- mode: markdown; mode: visual-line;  -*-\n\n# Backupninja Puppet Module \n\n[![Puppet Forge](http://img.shields.io/puppetforge/v/ULHPC/backupninja.svg)](https://forge.puppetlabs.com/ULHPC/backupninja)\n[![License](http://img.shields.io/:license-GPL3.0-blue.svg)](LICENSE)\n![Supported Platforms](http://img.shields.io/badge/platform-debian|centos-lightgrey.svg)\n[![Documentation Status](https://readthedocs.org/projects/ulhpc-backupninja/badge/?version=latest)](https://readthedocs.org/projects/ulhpc-backupninja/?badge=latest)\n\nInstall and configure backupninja\n\n      Copyright (c) 2017 UL HPC Team \u003chpc-sysadmins@uni.lu\u003e\n      \n\n| [Project Page](https://github.com/ULHPC/puppet-backupninja) | [Sources](https://github.com/ULHPC/puppet-backupninja) | [Documentation](https://ulhpc-backupninja.readthedocs.org/en/latest/) | [Issues](https://github.com/ULHPC/puppet-backupninja/issues) |\n\n## Synopsis\n\nInstall and configure backupninja.\n\nThis module implements the following elements: \n\n* __Puppet classes__:\n    - `backupninja` \n    - `backupninja::common` \n    - `backupninja::common::debian` \n    - `backupninja::common::redhat` \n    - `backupninja::params` \n\n* __Puppet definitions__: \n    - `backupninja::distantlvm` \n    - `backupninja::ldap` \n    - `backupninja::mysql` \n    - `backupninja::pgsql` \n    - `backupninja::rsync` \n\nAll these components are configured through a set of variables you will find in\n[`manifests/params.pp`](manifests/params.pp). \n\n_Note_: the various operations that can be conducted from this repository are piloted from a [`Rakefile`](https://github.com/ruby/rake) and assumes you have a running [Ruby](https://www.ruby-lang.org/en/) installation.\nSee `docs/contributing.md` for more details on the steps you shall follow to have this `Rakefile` working properly. \n\n## Dependencies\n\nSee [`metadata.json`](metadata.json). In particular, this module depends on \n\n* [puppetlabs/stdlib](https://forge.puppetlabs.com/puppetlabs/stdlib)\n\n## Overview and Usage\n\n### Class `backupninja`\n\nThis is the main class defined in this module.\nIt accepts the following parameters: \n\n* `$ensure`: default to 'present', can be 'absent'\n\nUse it as follows:\n\n     include ' backupninja'\n\nSee also [`tests/init.pp`](tests/init.pp)\n\n### Class `backupninja::common`\n\nSee [`tests/common.pp`](tests/common.pp)\n\n### Class `backupninja::common::debian`\n\nSee [`tests/common/debian.pp`](tests/common/debian.pp)\n\n### Class `backupninja::common::redhat`\n\nSee [`tests/common/redhat.pp`](tests/common/redhat.pp)\n\n### Class `backupninja::params`\n\nSee [`tests/params.pp`](tests/params.pp)\n\n### Definition `backupninja::distantlvm`\n\nThe definition `backupninja::distantlvm` provides a way to configure our own `distantlvm`\nbackup action. It creates LVM logical volume snapshot, and retrieves them via ssh. \nIt is of your responsibility to set-up sudo and authorize ssh connections from \nthe backup server to the remote server. \n\nThis definition accepts the following parameters:\n\n* `$ensure`: default to 'present', can be 'absent'\n* `$vg`: lvm volume group name on the remote server\n* `$lv`: space separated list of logical volumes to be backed up\n* `$backupdir`: backup target directory (local)\n* `$ssh_host`: remote server hostname\n* `$ssh_user`: remote ssh server user\n* `$ssh_port`: remote ssh server port\n* `$when`: execution time, using backupninja format\n* `$keep`: if specified, keep the last $keep backups\n\nExample:\n\n\n    backupninja::distantlvm { \"backup_dom0_${name}\":\n        ensure     =\u003e 'present',\n        backupdir  =\u003e '/data/backup_dom0',\n        ssh_host   =\u003e 'dom0-server.uni.lu',\n        ssh_user   =\u003e 'localuser',\n        ssh_port   =\u003e '22',\n        vg         =\u003e vg_domU,\n        lv         =\u003e 'domu1-disk domu2-disk domu3-disk',\n        keep       =\u003e 5,\n        when       =\u003e 'mondays at 03:00'\n    }\n\n\n### Definitions `backupninja::ldap`, `backupninja::rsync`, `backupninja::pgsql`, `backupninja::mysql`\n\nThese definitions implements the standard handlers provided by backupninja.\nAll the parameters are derived from the handlers and are documented [online](https://labs.riseup.net/code/projects/backupninja)\n\n\n## Librarian-Puppet / R10K Setup\n\nYou can of course configure the backupninja module in your `Puppetfile` to make it available with [Librarian puppet](http://librarian-puppet.com/) or\n[r10k](https://github.com/adrienthebo/r10k) by adding the following entry:\n\n     # Modules from the Puppet Forge\n     mod \"ulhpc-backupninja\"\n\nor, if you prefer to work on the git version: \n\n     mod \"ulhpc-backupninja\", \n         :git =\u003e https://github.com/ULHPC/puppet-backupninja,\n         :ref =\u003e production \n\n## Issues / Feature request\n\nYou can submit bug / issues / feature request using the [ulhpc-backupninja Puppet Module Tracker](https://github.com/ULHPC/puppet-backupninja/issues). \n\n## Developments / Contributing to the code \n\nIf you want to contribute to the code, you shall be aware of the way this module is organized. \nThese elements are detailed on [`docs/contributing.md`](contributing/index.md).\n\nYou are more than welcome to contribute to its development by [sending a pull request](https://help.github.com/articles/using-pull-requests). \n\n## Puppet modules tests within a Vagrant box\n\nThe best way to test this module in a non-intrusive way is to rely on [Vagrant](http://www.vagrantup.com/).\nThe `Vagrantfile` at the root of the repository pilot the provisioning various vagrant boxes available on [Vagrant cloud](https://atlas.hashicorp.com/boxes/search?utf8=%E2%9C%93\u0026sort=\u0026provider=virtualbox\u0026q=svarrette) you can use to test this module.\n\nSee [`docs/vagrant.md`](vagrant.md) for more details. \n\n## Online Documentation\n\n[Read the Docs](https://readthedocs.org/) aka RTFD hosts documentation for the open source community and the [ULHPC-backupninja](https://github.com/ULHPC/puppet-backupninja) puppet module has its documentation (see the `docs/` directly) hosted on [readthedocs](http://ulhpc-backupninja.rtfd.org).\n\nSee [`docs/rtfd.md`](rtfd.md) for more details.\n\n## Licence\n\nThis project and the sources proposed within this repository are released under the terms of the [GPL-3.0](LICENCE) licence.\n\n\n[![Licence](https://www.gnu.org/graphics/gplv3-88x31.png)](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fulhpc%2Fpuppet-backupninja","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fulhpc%2Fpuppet-backupninja","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fulhpc%2Fpuppet-backupninja/lists"}