Commit 6a356fb6 authored by Scotty Logan's avatar Scotty Logan
Browse files

added lego scripts

parent a2854bea
Loading
Loading
Loading
Loading

files/lego

0 → 100644
+21 −0
Original line number Diff line number Diff line
#! /bin/bash

DOMAIN=itlab.stanford.edu

ls /etc/apache2/sites-enabled |\
  sed 's/^[0-9][0-9]-\(.*\)-ssl.conf$/\1/' |\
  egrep -v '\.conf(\.disabled)?$' |\
  sort -u |\
  while read host; do

  lego -a \
       --pem \
       -m swl@stanford.edu \
       -d ${host}.${DOMAIN} \
       -k rsa4096 \
       --http \
       --http.webroot /var/www \
       --path /etc/apache2/lego \
       renew \
       --days 30 \
       --renew-hook "systemctl restart apache2"
 No newline at end of file

files/lego-init

0 → 100644
+21 −0
Original line number Diff line number Diff line
#! /bin/bash

DOMAIN=itlab.stanford.edu

ls /etc/apache2/sites-enabled |\
  sed 's/^[0-9][0-9]-\(.*\)-ssl.conf$/\1/' |\
  egrep -v '\.conf(\.disabled)?$' |\
  sort -u |\
  while read host; do

  lego -a \
       --pem \
       -m swl@stanford.edu \
       -d ${host}.${DOMAIN} \
       -k rsa4096 \
       --http \
       --http.webroot /var/www \
       --path /etc/apache2/lego \
       run \

systemctl restart apache2
 No newline at end of file
+51 −9
Original line number Diff line number Diff line
@@ -6,22 +6,54 @@ class webapp (
  Hash $vhosts,
  Array[String] $mods,
) {
  file {
    [
      '/usr/local/bin',
      '/etc/lego',
    ]:
      ensure => directory,
      owner  => 'root',
      group  => 'root',
      mode   => '0755',
  }

  file { '/usr/local/bin':
  file { '/etc/lego/accounts':
    ensure  => directory,
    owner   => 'root',
    group   => 'root',
    mode    => '0755',
    source  => '/efs/lego/accounts',
    require => Nfs::Client::Mount['/efs'],
    recurse => true,
  }

  file { '/usr/local/bin/dns-update':
    ensure  => present,
    ensure  => file,
    owner   => 'root',
    group   => 'root',
    mode    => '0755',
    source  => "puppet:///modules/${module_name}/dns-update",
    require => File['/usr/local/bin'],
  }

  file { '/usr/local/bin/lego':
    ensure  => file,
    owner   => 'root',
    group   => 'root',
    mode    => '0755',
    source  => "puppet::///modules/${module_name}/lego",
    require => File['/usr/local/bin'],
  }

  file { '/usr/local/bin/lego-init':
    ensure  => file,
    owner   => 'root',
    group   => 'root',
    mode    => '0755',
    source  => "puppet::///modules/${module_name}/lego-init",
    require => File['/usr/local/bin'],
  }

  systemd::unit_file { 'dns-update.service':
    content => file("${module_name}/dns-update.service"),
    enable  => true,
@@ -29,7 +61,7 @@ class webapp (
    require => File['/usr/local/bin/dns-update'],
  }

  class { '::nfs':
  class { 'nfs':
    server_enabled => false,
    client_enabled => true,
    nfs_v4_client => true,
@@ -53,7 +85,7 @@ class webapp (
      'php-opcache',
    ]:

    ensure => 'present'
      ensure => 'present',
  }

  class { 'apache':
@@ -76,4 +108,14 @@ class webapp (
  }

  create_resources(webapp::vhost, $vhosts)

  exec { 'lego-init':
    command     => '/usr/local/bin/lego-init',
    user        => 'root',
    refreshonly => true,
    require     => [
      File['/usr/local/bin/lego-init'],
      Apache::Vhost['localhost'],
    ],
  }
}