{"id":32129868,"url":"https://github.com/nexcess/puppet-r1soft","last_synced_at":"2025-10-21T01:40:17.156Z","repository":{"id":56516742,"uuid":"41745072","full_name":"nexcess/puppet-r1soft","owner":"nexcess","description":null,"archived":false,"fork":false,"pushed_at":"2020-11-03T01:04:27.000Z","size":102,"stargazers_count":2,"open_issues_count":2,"forks_count":5,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-09-14T14:58:29.927Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nexcess.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":"2015-09-01T14:57:14.000Z","updated_at":"2020-03-04T21:26:37.000Z","dependencies_parsed_at":"2022-08-15T20:10:47.284Z","dependency_job_id":null,"html_url":"https://github.com/nexcess/puppet-r1soft","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/nexcess/puppet-r1soft","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexcess%2Fpuppet-r1soft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexcess%2Fpuppet-r1soft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexcess%2Fpuppet-r1soft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexcess%2Fpuppet-r1soft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nexcess","download_url":"https://codeload.github.com/nexcess/puppet-r1soft/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexcess%2Fpuppet-r1soft/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280189419,"owners_count":26287702,"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-20T02:00:06.978Z","response_time":62,"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":[],"created_at":"2025-10-21T01:40:15.996Z","updated_at":"2025-10-21T01:40:17.150Z","avatar_url":"https://github.com/nexcess.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# r1soft\n\n[![Build Status](https://travis-ci.org/nexcess/puppet-r1soft.svg?branch=master)](https://travis-ci.org/nexcess/puppet-r1soft)\n[![Puppet Forge](https://img.shields.io/puppetforge/v/nexcess/r1soft.svg)](https://forge.puppetlabs.com/nexcess/r1soft)\n\n#### Table of Contents\n\n1. [Overview](#overview)\n2. [Module Description](#module-description)\n3. [Usage - Configuration options and additional functionality](#usage)\n4. [Reference ](#reference)\n5. [Limitations](#limitations)\n6. [Development](#development)\n7. [Copyright](#copyright)\n\n## Overview\n\nThis module installs and configures the r1soft backup agent and the r1soft\nbackup server.\n\n## Module Description\n\nThis module installs and configures the r1soft backup agent and the r1soft\nbackup server.\n\nFor the agent, it will install the r1soft yum repository, the kernel-devel\npacakge, the cdp kernel module, install keys for r1soft backup servers, and\nstart the r1soft agent.\n\nFor the server, it will install the r1soft yum repository, manage the admin +\npassword, manage the http and https port, and manage the max-memory setting.\n\n## Usage\n\n### Beginning with r1soft::agent\n\nTo install the r1soft agent with keys for 198.51.100.2 and 198.51.100.3, and\nensuring a key is absent for 198.51.100.4:\n\n```\nclass {'::r1soft::agent':\n  keys =\u003e {'198.51.100.2' =\u003e {key =\u003e \"-----BEGIN PUBLIC KEY-----\\nDEADBEEF\\n-----END PUBLIC KEY-----\",},\n           '198.51.100.3' =\u003e {key =\u003e \"-----BEGIN PUBLIC KEY-----\\nCAFEFOOD\\n-----END PUBLIC KEY-----\",},\n           '198.51.100.4' =\u003e {ensure =\u003e 'absent'}}\n}\n```\n\nIt looks much better and is much easier to manage in hiera:\n\n```\n# in hiera.yaml\nr1soft::agent::keys:\n  198.51.100.2:\n    key: |\n      -----BEGIN PUBLIC KEY-----\n      DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF\n      FBADBEEFFBADBEEFFBADBEEFFBADBEEFFBADBEEF\n      BADDCAFEBADDCAFEBADDCAFEBADDCAFEBADDCAFE\n      -----END PUBLIC KEY-----\n  198.51.100.3:\n    key: |\n      -----BEGIN PUBLIC KEY-----\n      CAFEFOODCAFEFOODCAFEFOODCAFEFOODCAFEFOOD\n      B105F00DB105F00DB105F00DB105F00DB105F00D\n      C00010FFC00010FFC00010FFC00010FFC00010FF\n      -----END PUBLIC KEY-----\n  198.51.100.4:\n    ensure: absent\n\n\n# in your manifest.pp\nclass {'::r1soft::agent':}\n```\n\n### Beginning with r1soft::server\n\nTo install the r1soft server with the password 'insecure':\n\n```\nclass {'::r1soft::server':\n  admin_pass =\u003e 'insecure',\n}\n```\n\n## Reference\n\n### r1soft::agent parameters\n\n#### `repo_install`\nSpecify if you want the module to install the r1soft repository. Default value: true\n\n#### `package_version`\nSpecify the version of r1soft agent to install. Default value: 'present'\n\n#### `package_name`\nSpecify the name of the r1soft agent package. Default value: 'serverbackup-agent'\n\n#### `kernel_devel_install`\nSpecify if you want the module to install the kernel-devel package which is needed by r1soft agent. Default value: true\n\n#### `kernel_devel_package_names`\nSpecify the kernel-devel package name. Default value: kernel-devel-${::kernelrelease}\n\n#### `service_manage`\nSpecify if you want to the module to manage the r1soft agent service. Default value: true\n\n#### `service_name`\nSpecify the name of the r1soft agent service. Default value: 'cdp-agent'\n\n#### `service_ensure`\nSpecify the ensure value of the r1soft agent service. Default value: 'running'\n\n#### `service_enable`\nSpecify the enable value of the r1soft agent service. Default value: true\n\n#### `keys`\nSpecify a list of keys to place on the r1soft agent server. Default value: empty\n\n#### `keys_purge_unmanaged`\nSpecify if you want to purge all keys not managed by puppet: Default value: false\n\n#### `kmod_tool`\nSpecify the path to the hcp kmod build/retrieval tool: Default value: `/usr/bin/r1soft-setup`\n\n#### `kmod_manage`\nSpecify if you want puppet to trigger kmod builds (and service restarts): Default value: false\n\n#### `delay_factor`\nUptime (in seconds) a node should report before compiling the kernel module or starting the r1soft agent: Default value: 0\n\n### r1soft::server parameters\n\n#### `repo_install`\nSpecify if you want the module to install the r1soft repository. Default value: true\n\n#### `package_version`\nSpecify the version of r1soft server to install. Default value: 'present'\n\n#### `package_name`\nSpecify the name of the r1soft server package. Default value: 'serverbackup-agent'\n\n#### `service_manage`\nSpecify if you want to the module to manage the r1soft server service. Default value: true\n\n#### `service_name`\nSpecify the name of the r1soft server service. Default value: 'cdp-agent'\n\n#### `service_ensure`\nSpecify the ensure value of the r1soft server service. Default value: 'running'\n\n#### `service_enable`\nSpecify the enable value of the r1soft server service. Default value: true\n\n#### `admin_user`\nSpecify the admin user name. Default value: 'admin'\n\n#### `admin_pass`\nSpecify the admin user password. **This needs to be set for r1soft server to work** Default value: false\n\n#### `max_mem`\nSpecify max_mem for r1soft server. Default value: undef\n\n#### `http_port`\nSpecify http port for r1soft server. Default value: 80\n\n#### `https_port`\nSpecify https port for r1soft server. Default value: 443\n\n\n### r1osft::repo parameters\n\n#### `repo_baseurl`\nSpecify the baseurl for the yum repo. Default value: 'http://repo.r1soft.com/yum/stable/$basearch/'\n\nhttp is used instead of https because r1soft doesn't include the full chain for\ntheir certificate. CentOS has the root certificate but not the intermediate\ncertificate. It is\n[web server's responsibility to send intermediate certificates](https://wiki.mozilla.org/CA:FAQ#Why_does_SSL_handshake_fail_due_to_missing_intermediate_certificate.3F). Without\nthe intermediate certificate, the TLS connection and yum fail. See\n[ssllabs's test](https://www.ssllabs.com/ssltest/analyze.html?d=repo.r1soft.com)\nfor more info.\n\n#### `repo_enabled`\nSpecify the enable value for the yum repo. Default value: true\n\n#### `repo_gpgcheck`\nSpecify the gpgcheck value for the yum repo. Default value: false\n\nr1soft does not sign their RPMs. We have already opened a ticket with them about\nit.\n\n### Facts\n\n* `r1soft_agent_version`: r1soft version and build number. eg `5.12.0-21`\n* `r1soft_agent_version_short`: r1soft version number. eg `5.12.0`\n* `r1soft_agent_version_long`: r1soft version number, build number, and build date. eg `5.12.0 build 21 2015/08/26 20:31:22`\n* `hcpdriver_installed`: whether the hcp driver executable is available `true/false`\n* `hcpdriver`: a hash of info about the hcpdriver kmod\n\n## Development\n\nInstall necessary gems:\n```\nbundle install --path vendor/bundle\n```\n\nCheck syntax of all puppet manifests, erb templates, and ruby files:\n```\nbundle exec rake validate\n```\n\nRun puppetlint on all puppet files:\n```\nbundle exec rake lint\n```\n\nRun spec tests in a clean fixtures directory\n```\nbundle exec rake spec\n```\n\nRun acceptance tests:\n```\nBEAKER_set=centos-7-x64 bundle exec rake acceptance\n```\n\n## Copyright\n\nCopyright 2015 [Nexcess](https://www.nexcess.net/)\n\n```\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnexcess%2Fpuppet-r1soft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnexcess%2Fpuppet-r1soft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnexcess%2Fpuppet-r1soft/lists"}