Puppet Class: jasper

Defined in:
manifests/init.pp

Overview

Install and configure jasper.

Parameters:

  • home (Any)
  • email_address (Any)
  • email_password (Any)
  • first_name (Any)
  • last_name (Any)
  • phone (Any)
  • carrier (Any)
  • location (Any)
  • timezone (Any)


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
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'manifests/init.pp', line 2

class jasper(
  $home, $email_address, $email_password, $first_name, $last_name, $phone,
  $carrier, $location, $timezone
) {

  require ::jasper::cmuclmtk
  require ::jasper::pocketsphinx
  require ::git

  ensure_resource(file, "${home}/.config", { ensure => directory })

  vcsrepo { '/opt/jasper':
    ensure   => present,
    source   => 'https://github.com/jasperproject/jasper-client.git',
    revision => master,
    provider => git,
    force    => true,
  } ~>
  exec { 'jasper_requirements':
    command     => '/usr/bin/pip install -r /opt/jasper/client/requirements.txt',
    refreshonly => true,
  }

  file { "${home}/.config/jasper":
    ensure  => directory,
    require => File["${home}/.config"],
  } ->
  file { "${home}/.config/jasper/profile.yml":
    ensure  => file,
    content => template('jasper/profile.erb'),
    mode    => '0644',
  }

  # TODO: set JASPER_HOME to XDG directory
  file { "${home}/.jasper":
    ensure => link,
    target => File["${home}/.config/jasper"],
  }

}