summaryrefslogtreecommitdiff
path: root/files/puppet/modules/pixelated/manifests
diff options
context:
space:
mode:
Diffstat (limited to 'files/puppet/modules/pixelated/manifests')
-rw-r--r--files/puppet/modules/pixelated/manifests/agent.pp7
-rw-r--r--files/puppet/modules/pixelated/manifests/apt.pp32
-rw-r--r--files/puppet/modules/pixelated/manifests/apt/install_packages_from_pixelated.pp20
-rw-r--r--files/puppet/modules/pixelated/manifests/apt/preferences.pp18
-rw-r--r--files/puppet/modules/pixelated/manifests/install.pp48
5 files changed, 60 insertions, 65 deletions
diff --git a/files/puppet/modules/pixelated/manifests/agent.pp b/files/puppet/modules/pixelated/manifests/agent.pp
index a57a22e..82a2ce0 100644
--- a/files/puppet/modules/pixelated/manifests/agent.pp
+++ b/files/puppet/modules/pixelated/manifests/agent.pp
@@ -1,7 +1,7 @@
# configure and install the pixelated user agent
class pixelated::agent {
- include ::pixelated::apt
include ::pixelated::apt::preferences
+ include ::pixelated::install
include ::pixelated::unattended_upgrades
include ::pixelated::syslog
include ::pixelated::check_mk
@@ -12,10 +12,6 @@ class pixelated::agent {
$services = hiera('services')
$default_file = '/etc/default/pixelated-server'
- package { 'pixelated-server':
- ensure => installed,
- }
-
service { 'pixelated-server':
ensure => running,
provider => 'systemd',
@@ -84,4 +80,3 @@ class pixelated::agent {
}
}
-
diff --git a/files/puppet/modules/pixelated/manifests/apt.pp b/files/puppet/modules/pixelated/manifests/apt.pp
deleted file mode 100644
index c6280f5..0000000
--- a/files/puppet/modules/pixelated/manifests/apt.pp
+++ /dev/null
@@ -1,32 +0,0 @@
-# add the pixelated sources and the signing key
-class pixelated::apt {
-
- include apt
-
- # Use latest packages from i.e. jessie-snapshots (possibly unstable) for
- # special domains
-
- $version = $::domain ? {
- /^(staging|dev|unstable)\.pixelated-project\.org$/ => '-snapshots',
- /^pixelated-project.local$/ => '-snapshots',
- default => '',
- }
-
- apt::sources_list { 'pixelated.list':
- content => "deb [arch=amd64] http://packages.pixelated-project.org/debian ${::lsbdistcodename}${version} main\n",
- require => Exec[add_pixelated_key],
- notify => Exec[refresh_apt],
- }
-
- file { '/srv/leap/0x287A1542472DC0E3_packages@pixelated-project.org.asc':
- source => 'puppet:///modules/pixelated/0x287A1542472DC0E3_packages@pixelated-project.org.asc',
- notify => Exec['add_pixelated_key']
- }
- exec{'add_pixelated_key':
- command => '/usr/bin/apt-key add /srv/leap/0x287A1542472DC0E3_packages@pixelated-project.org.asc',
- refreshonly => true,
- require => File['/srv/leap/0x287A1542472DC0E3_packages@pixelated-project.org.asc'],
- }
-
- include ::pixelated::apt::install_packages_from_pixelated
-}
diff --git a/files/puppet/modules/pixelated/manifests/apt/install_packages_from_pixelated.pp b/files/puppet/modules/pixelated/manifests/apt/install_packages_from_pixelated.pp
deleted file mode 100644
index a9d43af..0000000
--- a/files/puppet/modules/pixelated/manifests/apt/install_packages_from_pixelated.pp
+++ /dev/null
@@ -1,20 +0,0 @@
-# Prefer all installed packages from the pixelayed repo
-class pixelated::apt::install_packages_from_pixelated {
-
- file { '/usr/local/bin/prefer_package_repo.sh':
- source => 'puppet:///modules/pixelated/prefer_package_repo.sh',
- owner => 'root',
- group => 'root',
- mode => '0755',
- }
-
- exec { 'prefer_pixelated_packages':
- command => '/usr/local/bin/prefer_package_repo.sh',
- unless => '/usr/local/bin/prefer_package_repo.sh check',
- require => [
- Package[ 'leap-keymanager', 'leap-mx', 'soledad-client', 'soledad-server' ],
- File['/usr/local/bin/prefer_package_repo.sh']
- ]
- }
-
-}
diff --git a/files/puppet/modules/pixelated/manifests/apt/preferences.pp b/files/puppet/modules/pixelated/manifests/apt/preferences.pp
index 51e16c9..badada3 100644
--- a/files/puppet/modules/pixelated/manifests/apt/preferences.pp
+++ b/files/puppet/modules/pixelated/manifests/apt/preferences.pp
@@ -1,4 +1,4 @@
-# pin packages so they have precedence over those from the leap repo
+# pin packages
class pixelated::apt::preferences {
apt::preferences_snippet { ['python-urllib3', 'python-requests','python-six']:
@@ -6,12 +6,6 @@ class pixelated::apt::preferences {
priority => 999
}
- apt::preferences_snippet { 'pixelated':
- priority => 1000,
- package => '*',
- pin => 'origin "packages.pixelated-project.org"'
- }
-
file { [
'/etc/apt/preferences.d/soledad-client',
'/etc/apt/preferences.d/soledad-server',
@@ -21,4 +15,14 @@ class pixelated::apt::preferences {
ensure => absent
}
+
+ # Remove legacy apt repo resources
+ file { '/etc/apt/sources.list.d/pixelated.list':
+ ensure => absent,
+ notify => Exec[refresh_apt],
+ }
+ apt::preferences_snippet { 'pixelated':
+ ensure => absent,
+ }
+
}
diff --git a/files/puppet/modules/pixelated/manifests/install.pp b/files/puppet/modules/pixelated/manifests/install.pp
new file mode 100644
index 0000000..732e55f
--- /dev/null
+++ b/files/puppet/modules/pixelated/manifests/install.pp
@@ -0,0 +1,48 @@
+# Installs pixelated-server and pixelated-user-agent
+class pixelated::install (
+ $release = '1.0_beta1',
+ $pixelated_server_deb = 'pixelated-server_0.2.162.gbpba0081_all.deb',
+ $pixelated_user_agent_deb = 'pixelated-user-agent_0.6.699.gbpc8f588_all.deb'
+) {
+
+
+
+ exec { 'fetch_pixelated_user_agent':
+ command => "/usr/bin/wget https://github.com/pixelated/pixelated-user-agent/releases/download/${release}/${pixelated_user_agent_deb}",
+ cwd => '/var/tmp',
+ creates => "/var/tmp/${pixelated_user_agent_deb}"
+ }
+
+ exec { 'fetch_pixelated_server':
+ command => "/usr/bin/wget https://github.com/pixelated/pixelated-user-agent/releases/download/${release}/${pixelated_server_deb}",
+ cwd => '/var/tmp',
+ creates => "/var/tmp/${pixelated_server_deb}"
+ }
+
+ package {
+ # Dependencies of pixelated-user-agent
+ [ 'libffi6', 'libsqlcipher0', 'python' ]:
+ ensure => installed;
+ 'pixelated-user-agent':
+ ensure => latest,
+ provider => 'dpkg',
+ source => "/var/tmp/${pixelated_user_agent_deb}",
+ require => [
+ Exec['fetch_pixelated_user_agent'],
+ Package['libffi6'],
+ Package['libsqlcipher0'],
+ Package['libssl-dev'],
+ Package['python'],
+ ];
+ # Dependencies of pixelated-server
+ [ 'python-sqlcipher', 'systemd' ]:
+ ensure => installed;
+ 'pixelated-server':
+ ensure => latest,
+ provider => 'dpkg',
+ source => "/var/tmp/${pixelated_server_deb}",
+ require => [
+ Exec['fetch_pixelated_server'],
+ Package['pixelated-user-agent'] ]
+ }
+}