Puppet Class: odoo::wkhtmltox

Defined in:
manifests/wkhtmltox.pp

Summary

Manage wkhtmltox

Overview



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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'manifests/wkhtmltox.pp', line 4

class odoo::wkhtmltox {
  assert_private()

  $wkhtmltox_version = '0.12.5'
  $wkhtmltox_url = "https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/${wkhtmltox_version}/wkhtmltox_${wkhtmltox_version}-1.${facts.get('os.distro.codename')}_${facts.get('architecture')}.deb"

  $wkhtmltox_dependencies = $facts.get('os.name') ? {
    'Debian' => [
      'fontconfig',
      'libjpeg62-turbo',
      'libxrender1',
      'xfonts-75dpi',
      'xfonts-base',
    ],
    'Ubuntu' => [
      'fontconfig',
      'libjpeg-turbo8',
      'libxrender1',
      'xfonts-75dpi',
      'xfonts-base',
    ],
  }

  $wkhtmltox_filename = "/var/cache/wkhtmltox_${wkhtmltox_version}.${facts.get('os.distro.codename')}_${facts.get('architecture')}.deb"

  archive { $wkhtmltox_filename:
    ensure => present,
    user   => 'root',
    group  => 'root',
    source => $wkhtmltox_url,
  }

  ensure_packages($wkhtmltox_dependencies, { ensure => installed })

  package { 'wkhtmltox':
    ensure   => installed,
    provider => 'dpkg',
    source   => $wkhtmltox_filename,
    require  => [
      Archive[$wkhtmltox_filename],
      Package[$wkhtmltox_dependencies],
    ],
  }
}