Sync certs through minion.

master
Kaitlyn Parkhurst 3 years ago
parent df78564eea
commit 4f09e4759b
  1. 17
      Web/lib/MJB/Web.pm
  2. 14
      Web/lib/MJB/Web/Task/SyncSSLCerts.pm

@ -21,13 +21,17 @@ sub startup ($self) {
return state $db = MJB::DB->connect($config->{database}->{mjb});
});
# Minion Plugin & Tasks
$self->plugin( Minion => { Pg => $self->config->{database}->{minion} } );
# Minion plugin & tasks
$self->plugin( Minion => { Pg => $self->config->{database}->{minion} } );
$self->minion->add_task( create_blog => 'MJB::Web::Task::CreateBlog' );
$self->minion->add_task( purge_blog => 'MJB::Web::Task::PurgeBlog' );
$self->minion->add_task( deploy_blog => 'MJB::Web::Task::DeployBlog' );
# Blog deployment related jobs.
$self->minion->add_task( create_blog => 'MJB::Web::Task::CreateBlog' );
$self->minion->add_task( purge_blog => 'MJB::Web::Task::PurgeBlog' );
$self->minion->add_task( deploy_blog => 'MJB::Web::Task::DeployBlog' );
# SSL cert related jobs.
$self->minion->add_task( create_ssl_cert => 'MJB::Web::Task::CreateSSLCert' );
$self->minion->add_task( sync_ssl_certs => 'MJB::Web::Task::SyncSSLCerts' );
# Standard router.
my $r = $self->routes->under( '/' => sub ($c) {
@ -105,9 +109,6 @@ sub startup ($self) {
# Blog Management
$auth->get ( '/blog/create' )->to('Blog#create' )->name('show_blog_create' );
$auth->post( '/blog/create' )->to('Blog#do_create' )->name('do_blog_create' );
}
1;

@ -0,0 +1,14 @@
package MJB::Web::Task::SyncSSLCerts;
use Mojo::Base 'MJB::Web::Task', -signatures;
use IPC::Run3;
sub run ( $job ) {
$job->note( _mds_template => 'build_static' );
# Push the SSL Certificates
my $result = $job->system_command( [ 'sudo', 'letsencrypt-cert-push' ] );
$job->finish();
}
1;
Loading…
Cancel
Save