Job for SSL Certs.

master
Kaitlyn Parkhurst 3 years ago
parent 7c12a58d12
commit df78564eea
  1. 7
      Web/lib/MJB/Web.pm
  2. 18
      Web/lib/MJB/Web/Task/CreateSSLCert.pm

@ -24,9 +24,10 @@ sub startup ($self) {
# Minion Plugin & Tasks # Minion Plugin & Tasks
$self->plugin( Minion => { Pg => $self->config->{database}->{minion} } ); $self->plugin( Minion => { Pg => $self->config->{database}->{minion} } );
$self->minion->add_task( create_blog => 'MJB::Web::Task::CreateBlog' ); $self->minion->add_task( create_blog => 'MJB::Web::Task::CreateBlog' );
$self->minion->add_task( purge_blog => 'MJB::Web::Task::PurgeBlog' ); $self->minion->add_task( purge_blog => 'MJB::Web::Task::PurgeBlog' );
$self->minion->add_task( deploy_blog => 'MJB::Web::Task::DeployBlog' ); $self->minion->add_task( deploy_blog => 'MJB::Web::Task::DeployBlog' );
$self->minion->add_task( create_ssl_cert => 'MJB::Web::Task::CreateSSLCert' );
# Standard router. # Standard router.
my $r = $self->routes->under( '/' => sub ($c) { my $r = $self->routes->under( '/' => sub ($c) {

@ -0,0 +1,18 @@
package MJB::Web::Task::CreateSSLCert;
use Mojo::Base 'MJB::Web::Task', -signatures;
use IPC::Run3;
sub run ( $job, $blog_id ) {
$job->note( _mds_template => 'build_static' );
my $blog = $job->app->db->blog( $blog_id );
# Get the SSL Certificate
my $result = $job->system_command( [
qw(sudo certbot certonly --standalone -d), $blog->domain->name, qw(--agree-tos --register-unsafely-without-email)
]);
$job->finish();
}
1;
Loading…
Cancel
Save