Puppet Class: inspircd::internal::certs

Inherits:
inspircd::params
Defined in:
manifests/internal/certs.pp

Overview

Parameters:

  • certfile (Any)
  • keyfile (Any)
  • user (Any) (defaults to: $::inspircd::config::user)
  • config_dir (Any) (defaults to: $inspircd::config::config_dir)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'manifests/internal/certs.pp', line 1

class inspircd::internal::certs (
  $certfile,
  $keyfile,
  $user = $::inspircd::config::user,
  $config_dir = $inspircd::config::config_dir,
) inherits inspircd::params {


  $subject = "/C=US/ST=NA/L=NA/O=NA/CN=${::fqdn}"
  $command = "${path_openssl} req -x509 -nodes -newkey rsa:1024 -keyout ${keyfile} -out ${certfile} -nodes -subj \"${subject}\""

  file{ "${config_dir}/ssl":
    ensure => 'directory',
    owner  => $user,
  }->

  exec {'generate inspircd ssl cert':
    command => $command,
    creates => $keyfile,
    user    => $user,
  }->

  file { $keyfile:
    ensure => 'present',
    mode   => '0600',
    owner  => $user
  }
}