#Class for SUNET-Drive-portal-Server
class sunetdrive::jupyter_site (
  String $site_version = '0.0.1-1'
) {

  $domain = 'jupyter.sunet.dev'
  sunet::docker_compose { 'portal_compose':
    content          => template('sunetdrive/jupyter_site/docker-compose.erb.yaml'),
    service_name     => 'jupyter_site',
    compose_dir      => '/opt/',
    compose_filename => 'docker-compose.yml',
    description      => 'Web server',
  }

  exec { 'workaround_docker_compose_dir':
    command => 'mkdir -p /opt/jupyter_site/nginx',
    unless  => 'test -d /opt/jupyter_site/nginx',
  }

  $nginx_dirs = ['acme', 'certs', 'conf', 'dhparam', 'html', 'vhost']
  $nginx_dirs.each | $dir| {
    file { "/opt/jupyter_site/nginx/${dir}":
      ensure => directory,
      owner  => 'root',
      group  => 'root',
      mode   => '0751',
    }
  }
  sunet::misc::ufw_allow { 'https':
    from => '0.0.0.0/0',
    port => 443,
  }
  # For acme and redirect
  sunet::misc::ufw_allow { 'http':
    from => '0.0.0.0/0',
    port => 80,
  }
}