Changeset View
Changeset View
Standalone View
Standalone View
site-modules/profile/manifests/swh/deploy/webapp.pp
Show First 20 Lines • Show All 70 Lines • ▼ Show 20 Lines | class profile::swh::deploy::webapp { | ||||
file {$conf_log_dir: | file {$conf_log_dir: | ||||
ensure => directory, | ensure => directory, | ||||
owner => 'root', | owner => 'root', | ||||
group => $group, | group => $group, | ||||
mode => '0770', | mode => '0770', | ||||
} | } | ||||
file {"$conf_log_dir/swh-web.log": | file {"${conf_log_dir}/swh-web.log": | ||||
ensure => present, | ensure => present, | ||||
owner => $user, | owner => $user, | ||||
group => $group, | group => $group, | ||||
mode => '0770', | mode => '0770', | ||||
} | } | ||||
file {$vhost_docroot: | file {$vhost_docroot: | ||||
ensure => directory, | ensure => directory, | ||||
Show All 25 Lines | class profile::swh::deploy::webapp { | ||||
file {$production_db_file: | file {$production_db_file: | ||||
ensure => present, | ensure => present, | ||||
owner => $user, | owner => $user, | ||||
group => $group, | group => $group, | ||||
mode => '0664', | mode => '0664', | ||||
} | } | ||||
$sentry_dsn = lookup("swh::deploy::webapp::sentry_dsn", Optional[String], 'first', undef) | $sentry_dsn = lookup('swh::deploy::webapp::sentry_dsn', Optional[String], 'first', undef) | ||||
$sentry_environment = lookup("swh::deploy::webapp::sentry_environment", Optional[String], 'first', undef) | $sentry_environment = lookup('swh::deploy::webapp::sentry_environment', Optional[String], 'first', undef) | ||||
$sentry_swh_package = lookup("swh::deploy::webapp::sentry_swh_package", Optional[String], 'first', undef) | $sentry_swh_package = lookup('swh::deploy::webapp::sentry_swh_package', Optional[String], 'first', undef) | ||||
::gunicorn::instance {'swh-webapp': | ::gunicorn::instance {'swh-webapp': | ||||
ensure => enabled, | ensure => enabled, | ||||
user => $user, | user => $user, | ||||
group => $group, | group => $group, | ||||
executable => 'django.core.wsgi:get_wsgi_application()', | executable => 'django.core.wsgi:get_wsgi_application()', | ||||
config_base_module => 'swh.web.gunicorn_config', | config_base_module => 'swh.web.gunicorn_config', | ||||
settings => { | settings => { | ||||
bind => $backend_listen_address, | bind => $backend_listen_address, | ||||
workers => $backend_workers, | workers => $backend_workers, | ||||
worker_class => 'sync', | worker_class => 'sync', | ||||
timeout => $backend_http_timeout, | timeout => $backend_http_timeout, | ||||
graceful_timeout => $backend_reload_mercy, | graceful_timeout => $backend_reload_mercy, | ||||
keepalive => $backend_http_keepalive, | keepalive => $backend_http_keepalive, | ||||
}, | }, | ||||
environment => { | environment => { | ||||
'DJANGO_SETTINGS_MODULE' => 'swh.web.settings.production', | 'DJANGO_SETTINGS_MODULE' => 'swh.web.settings.production', | ||||
'SWH_SENTRY_DSN' => $sentry_dsn, | 'SWH_SENTRY_DSN' => $sentry_dsn, | ||||
'SWH_SENTRY_ENVIRONMENT' => $sentry_environment, | 'SWH_SENTRY_ENVIRONMENT' => $sentry_environment, | ||||
'SWH_MAIN_PACKAGE' => $sentry_swh_package, | 'SWH_MAIN_PACKAGE' => $sentry_swh_package, | ||||
}, | }, | ||||
} | } | ||||
▲ Show 20 Lines • Show All 53 Lines • ▼ Show 20 Lines | if $endpoint_directories { | ||||
file {$vhost_basic_auth_file: | file {$vhost_basic_auth_file: | ||||
ensure => absent, | ensure => absent, | ||||
} | } | ||||
} | } | ||||
include ::profile::swh::deploy::webapp::icinga_checks | include ::profile::swh::deploy::webapp::icinga_checks | ||||
profile::prometheus::export_scrape_config {"swh-webapp_${fqdn}": | profile::prometheus::export_scrape_config {"swh-webapp_${fqdn}": | ||||
job => "swh-webapp", | job => 'swh-webapp', | ||||
target => "${vhost_name}:${vhost_ssl_port}", | target => "${vhost_name}:${vhost_ssl_port}", | ||||
scheme => "https", | scheme => 'https', | ||||
metrics_path => '/metrics/prometheus', | metrics_path => '/metrics/prometheus', | ||||
labels => { | labels => { | ||||
vhost_name => $vhost_name, | vhost_name => $vhost_name, | ||||
}, | }, | ||||
} | } | ||||
include profile::filebeat | include profile::filebeat | ||||
profile::filebeat::log_input { 'webapp-non-ssl-access': | profile::filebeat::log_input { 'webapp-non-ssl-access': | ||||
paths => [ '/var/log/apache2/archive.softwareheritage.org_non-ssl_access.log' ], | paths => [ '/var/log/apache2/archive.softwareheritage.org_non-ssl_access.log' ], | ||||
fields => { 'apache_log_type' => 'access_log' }, | fields => { 'apache_log_type' => 'access_log' }, | ||||
} | } | ||||
} | } |