class authentik {
  include docker

  contain authentik::install
}

class authentik::install {
  package { 'docker-compose':
    ensure => installed
  }

  file { '/opt/authentik':
    ensure => directory
  }

  file { '/opt/authentik/compose.yml':
    ensure => file,
    source => 'puppet:///modules/authentik/compose.yml'
  }

  file { '/opt/authentik/.env':
    ensure => file,
    content => template('authentik/.env.erb')
  }

  docker_compose { 'authentik':
    compose_files => ['/opt/authentik/compose.yml'],
    ensure        => present,
  }
}
