Skip to content

Latest commit

 

History

History
498 lines (278 loc) · 11.9 KB

REFERENCE.md

File metadata and controls

498 lines (278 loc) · 11.9 KB

Reference

Table of Contents

Classes

Public Classes

Private Classes

  • pxe_install::apache: Configure webserver for install server
  • pxe_install::dhcp: Setup DHCP server
  • pxe_install::params: Default parameters
  • pxe_install::syslinux: Download syslinux archive
  • pxe_install::tftp: Setup ftp server
  • pxe_install::winipxe: Install windows ipxe files

Defined types

Public Defined types

Private Defined types

  • pxe_install::kickstart: Create kickstart file
  • pxe_install::partitioning::debian: Create a partion table for Debian systems
  • pxe_install::partitioning::redhat: ACreate partitioning for redhat/CentOPS systems
  • pxe_install::partitioning::ubuntu: Create a partion table for Ubuntu systems
  • pxe_install::partitioning::ubuntu_autoinstall: Create a partion table for Ubuntu systems using autoinstall
  • pxe_install::samba::host: Create a host entry for a Windows node
  • pxe_install::samba::unattend: create unattended boot file
  • pxe_install::tftp::host: Create a tftp server entry for a host.

Functions

Public Functions

Private Functions

  • pxe_install::hash_key: Check if a hash contains a particular key

Tasks

Classes

pxe_install

Set up an PXE install server with dhcp, tftp and webserver for serving files

Examples

include pxe_install

Parameters

The following parameters are available in the pxe_install class:

installserverip

Data type: String

The ip of the install server

installserver

Data type: String

Hostname of the install server

repo_server

Data type: String

Hostname of the server hosting the package repositories

repo_server_ip

Data type: String

IP of the server hosting the package repositories

repos_dir

Data type: Stdlib::Unixpath

Directory location of the package repositories

repos_url

Data type: String

URI where the pacjaqges can be found on the repo server

scriptdir

Data type: Stdlib::Unixpath

Directory location where to cfreate scripts and prepared files

scripturl

Data type: String

URL where to find the scripts

kickstart_dir

Data type: Stdlib::Unixpath

Directory location for the kickstart/preseed files

kickstart_url

Data type: String

Url where to download the kickstart/preseed files

puppetmaster

Data type: Optional[String]

The hostname of the Puppet master server

Default value: undef

puppetmasterip

Data type: Optional[String]

The ip of the Puppet master server

Default value: undef

services

Data type: Optional[Hash]

Hash with services to configure. Valid are dhcp and tftp. Each service is a hash of how to configure that service.

Default value: undef

machines

Data type: Optional[Hash]

Hash with all machines to get installed. Each entry i a whole description of a machine with ips, partitions and so on.

Default value: undef

status_allow_from

Data type: Array

Allow Apache status URLs from these ips

Default value: ['127.0.0.1']

enabled

Data type: Boolean

Installserver is enbaled or not

Default value: true

ssl_cert

Data type: String

Location of the SSL certificate for the webserver to use. he file has to exist on the install server.

Default value: '/etc/pki/httpd/repos.example.com/repos.example.com.cer'

ssl_key

Data type: String

Location of the SSL key for the webserver to use. he file has to exist on the install server.

Default value: '/etc/pki/httpd/repos.example.com/repos.example.com.key'

ssl_chain

Data type: String

Location of the SSL certificate chain for the webserver to use. he file has to exist on the install server.

Default value: '/etc/pki/httpd/repos.example.com/fullchain.cer'

ssl_certs_dir

Data type: String

Directory where all files for the cdertificates reside.

Default value: '/etc/pki/httpd/repos.example.com/'

documentroot

Data type: String

Document root for the webserver.

Default value: '/var/www/html'

create_aliases

Data type: Boolean

Create webserver aliases

Default value: true

challenge_password

Data type: Sensitive[String]

Sensitive challenge password for auto signing cert requests.

add_hosts_entries

Data type: Boolean

Add install server and puppet server to /etc/hosts file.

Default value: false

install_curl

Data type: Boolean

Install curl package

Default value: $pxe_install::params::install_curl

install_unzip

Data type: Boolean

Install unzip package

Default value: $pxe_install::params::install_unzip

syslinux_url

Data type: Stdlib::HTTPSUrl

The url where to download the syslinux archive.

Default value: $pxe_install::params::syslinux_url

syslinux_name

Data type: String

Ther name of the archive.

Default value: $pxe_install::params::syslinux_name

syslinux_version

Data type: String

The version of the archive.

Default value: $pxe_install::params::syslinux_version

ipxefile

Data type: Stdlib::HTTPUrl

The url to download the ipxe file.

Default value: $pxe_install::params::ipxefile

mirrors

Data type: Hash

Hash with mirror definitions.

Default value: $pxe_install::params::mirrors

defaults

Data type: Hash

Default values.

Default value: $pxe_install::params::defaults

purge_apache_configs

Data type: Boolean

Boolean to indicate that all Apache configurations not maintained by the Apache Puppet module should be deleted.

Default value: false

Defined types

pxe_install::parent_dirs

Create all missing directories

}

Examples

pxe_installarent_dirs{ 'create script dir':
 dir_path => '/var/www/scripts',

Parameters

The following parameters are available in the pxe_install::parent_dirs defined type:

dir_path

Data type: Stdlib::Unixpath

The directories to be created.

Functions

get_partition_devices

Type: Ruby 4.x API

get_partition_devices.rb Examin partitioning information of Debian/Ubuntu hosts and get all used disk devices

get_partition_devices(Hash $partitioning)

get_partition_devices.rb Examin partitioning information of Debian/Ubuntu hosts and get all used disk devices

Returns: String

partitioning

Data type: Hash

get_partition_devices_autoinstall

Type: Ruby 4.x API

get_partition_devices_autoinstall.rb Examin partitioning information of Debian/Ubuntu hosts and get all used disk devices

get_partition_devices_autoinstall(Array $partitioning)

get_partition_devices_autoinstall.rb Examin partitioning information of Debian/Ubuntu hosts and get all used disk devices

Returns: Array

partitioning

Data type: Array

pxe_install::hex_ip

Type: Puppet Language

Convert a ip from digits into hex.

pxe_install::hex_ip(String $ip)

The pxe_install::hex_ip function.

Returns: String IP in hey format

ip

Data type: String

The ip to convert, e. g. 10.0.0.1

Tasks

create_password

Outputs a SHA512 encrypted password for use with node installation.

Supports noop? false

Parameters

password

Data type: String[1]

The password to encrypt

maintain_netinstaller

Maintain CentOS/Ubuntu/Debian net installer files

Supports noop? false

Parameters

tftp_basedir

Data type: String[1]

The base directory of the tftpd server where the net installer files go to.

archive_url

Data type: String[1]

Where to download he net installer from.

os

Data type: Enum[centos,ubuntu,debian,fedora,alma,rocky,redhat]

The operating system.

os_version

Data type: String[1]

The operting system version, depending on the OS.

os_subversion

Data type: Optional[String[1]]

The operating system subversion for CentOS like 'u9'.