{"id":32132691,"url":"https://github.com/intelligsystems/puppet-dhcp","last_synced_at":"2025-10-21T02:56:57.496Z","repository":{"id":57664733,"uuid":"100953216","full_name":"intelligsystems/puppet-dhcp","owner":"intelligsystems","description":"DHCP puppet module to preapare dhcp linux server with failover option.","archived":false,"fork":false,"pushed_at":"2017-08-23T16:29:36.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-09-20T17:35:38.703Z","etag":null,"topics":["dhcp-server","linux","puppet-module"],"latest_commit_sha":null,"homepage":"https://forge.puppet.com/intelligsystems/dhcp","language":"Puppet","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/intelligsystems.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2017-08-21T13:04:06.000Z","updated_at":"2017-08-22T21:08:40.000Z","dependencies_parsed_at":"2022-09-14T21:41:45.883Z","dependency_job_id":null,"html_url":"https://github.com/intelligsystems/puppet-dhcp","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/intelligsystems/puppet-dhcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intelligsystems%2Fpuppet-dhcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intelligsystems%2Fpuppet-dhcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intelligsystems%2Fpuppet-dhcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intelligsystems%2Fpuppet-dhcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/intelligsystems","download_url":"https://codeload.github.com/intelligsystems/puppet-dhcp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intelligsystems%2Fpuppet-dhcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280110590,"owners_count":26273803,"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":["dhcp-server","linux","puppet-module"],"created_at":"2025-10-21T02:56:56.830Z","updated_at":"2025-10-21T02:56:57.492Z","avatar_url":"https://github.com/intelligsystems.png","language":"Puppet","readme":"# dhcp\n\n#### Table of Contents\n\n1. [Description](#description)\n2. [Setup - The basics of getting started with dhcp](#setup)\n    * [What dhcp affects](#what-dhcp-affects)\n    * [Setup requirements](#setup-requirements)\n    * [Beginning with dhcp](#beginning-with-dhcp)\n3. [Usage - Configuration options and additional functionality](#usage)\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)\n\n## Description\n\nDHCP puppet module to preapare dhcp linux server with failover option.\nThis module has been prepared on Debian 8.8 (Jessie) and Puppet 4.10 environment. \n\n## Setup\n\n``` sh\npuppet module install intelligsystems-dhcp\n```\n\n### What dhcp affects\n\n* List of files and directories:\n``` sh\n.\n├── examples\n│   ├── failover.pp\n│   ├── hosts.pp\n│   ├── init.pp\n│   └── subnet.pp\n├── files\n├── Gemfile\n├── LICENSE\n├── manifests\n│   ├── config.pp\n│   ├── init.pp\n│   ├── install.pp\n│   ├── params.pp\n│   ├── service.pp\n│   └── tests.pp\n├── metadata.json\n├── Rakefile\n├── README.md\n├── spec\n│   ├── classes\n│   │   └── init_spec.rb\n│   └── spec_helper.rb\n└── templates\n    └── dhcpd_conf.erb\n```\n* It requires puppetlabs-stdlib, version_requirement: \u003e= 1.0.0.\n* Attention!!! This module broadcasts IP addresses.\n  It can provide a lot of changes in your network.\n  Please make sure that you know what DHCP server does.  \n\n### Setup Requirements\n\n* Puppet.\n* Linux system with root privileges.\n\n### Beginning with dhcp\n\nThe very basic steps needed for a user to get the module up and running.\n\n``` puppet\ninclude ::dhcp\n```\n\n## Usage\n\nSimple example how to use this module:\n\n``` puppet\nclass { 'dhcp':\n  domain_name         =\u003e 'example.org',\n  domain_name_servers =\u003e [ 'ns1.example.org', 'ns2.example.org' ],\n  subnet              =\u003e {\n    '10.10.10.0 netmask 255.255.255.0' =\u003e {\n      'range'                    =\u003e '10.10.10.5 10.10.10.10',\n      'option routers'           =\u003e '10.10.10.1',\n      'option broadcast-address' =\u003e '10.10.10.255'\n    }\n  },\n}\n```\nExample how to use this module with failover option:\n\n``` puppet\nnode 'node1.example.org' {\n  class { 'dhcp':\n    domain_name_servers =\u003e [ '192.168.50.249', '192.168.50.250' ],\n    failover            =\u003e [\n      {\n        'peer'         =\u003e 'primary',\n        'peer address' =\u003e '192.168.50.243'\n      }\n    ],\n    subnet              =\u003e {\n      '192.168.50.0 netmask 255.255.255.0' =\u003e {\n        'range'                    =\u003e '192.168.50.100 192.168.50.199',\n        'option routers'           =\u003e '192.168.50.1',\n        'option broadcast-address' =\u003e '192.168.50.255'\n      }\n    },\n  }\n}\nnode 'node2.example.org' {\n  class { 'dhcp':\n    domain_name_servers =\u003e [ '192.168.50.249', '192.168.50.250' ],\n    failover            =\u003e [\n      {\n        'peer'         =\u003e 'secondary',\n        'peer address' =\u003e '192.168.50.245'\n      }\n    ],\n    subnet              =\u003e {\n      '192.168.50.0 netmask 255.255.255.0' =\u003e {\n        'range'                    =\u003e '192.168.50.100 192.168.50.199',\n        'option routers'           =\u003e '192.168.50.1',\n        'option broadcast-address' =\u003e '192.168.50.255'\n      }\n    },\n  }\n}\n```\n\n## Reference\n\nClasses: \n  * dhcp::init \n  * dhcp::params \n  * dhcp::install \n  * dhcp::config \n  * dhcp::service\n\nFacts: \n  * osfamily \n  * ipaddress \n  * domain\n\n## Limitations\n\nThis module has been tested on Ubuntu 17.04, Debian 8 and CentOS 7 distribution already.\nIt will be testing soon on another systems. \n\n## Development\n\nSoon...\n\n## Release Notes.\n\ndhcp 0.1.0 version:\n  * base module\n\ndhcp 0.1.1 version: \n  * puppet-lint fix\n  * modified README\n\ndhcp 0.1.2 version:\n  * modified README\n  * replaced all scope variables $:: with the $facts[]\n  * added reverse compatibility for puppet 2.7.20\n  * replaced File[dhcp::dhcp_conf] to File[dhcp::dhcpd_conf] in manifest/service.pp\n  * modified templates/dhcpd_conf.erb to avoid add failover option to subnet without failover 'primary' or 'secondary' option (see changelog)\n\n* [Relaeases](https://github.com/intelligsystems/puppet-dhcp/releases)\n* [See changelog](https://github.com/intelligsystems/puppet-dhcp/commits/master)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintelligsystems%2Fpuppet-dhcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintelligsystems%2Fpuppet-dhcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintelligsystems%2Fpuppet-dhcp/lists"}