Skip to content

Instantly share code, notes, and snippets.

@ahmedbodi
Created March 23, 2022 15:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ahmedbodi/5f60b439b79ff69cec86d1fe5e0d6833 to your computer and use it in GitHub Desktop.
Save ahmedbodi/5f60b439b79ff69cec86d1fe5e0d6833 to your computer and use it in GitHub Desktop.
PLAY [all] ********************************************************************************
TASK [Gathering Facts] ********************************************************************
ok: [deb11.transcoder.staging.radio.co]
ok: [staging-transcoder.radio.co]
TASK [Create deploy user group] ***********************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [user] *******************************************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [file] *******************************************************************************
--- before
+++ after
@@ -1,4 +1,4 @@
{
"path": "/var/run/deploy",
- "state": "absent"
+ "state": "directory"
}
changed: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [Install Sudo] ***********************************************************************
The following packages will be upgraded:
sudo
1 upgraded, 0 newly installed, 0 to remove and 205 not upgraded.
changed: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [include_tasks] **********************************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/tasks/ssh.yml for staging-transcoder.radio.co, deb11.transcoder.staging.radio.co
TASK [Create the SSH directory.] **********************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [Ensure known hosts.] ****************************************************************
--- before: /home/deploy/.ssh/known_hosts
+++ after: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/files/ssh/known_hosts
@@ -1,4 +1,2 @@
|1|6ZREpn4aZZj01MKQ1E8TTQliADI=|a0ghR1qOgpJbBt61CypYIGklBiE= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|1|8M/shpSD6sLiab65zxdAEGjPoXg=|o1o78ktpN6Oy0LZhFJ9E6gxo9aQ= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
-|1|MczgpVhNHKX4ydl7pIv66ZJnqf8=|VuKayJXbJq36DJoZlgUlyFlDXKw= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
-|1|e8k1YTRNPYpvCu0c+iZl2t9Gf9E=|Fa5ID2P6fH2b63IQAwVtzFGvKsk= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
changed: [staging-transcoder.radio.co]
--- before: /home/deploy/.ssh/known_hosts
+++ after: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/files/ssh/known_hosts
@@ -1,8 +1,2 @@
|1|6ZREpn4aZZj01MKQ1E8TTQliADI=|a0ghR1qOgpJbBt61CypYIGklBiE= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|1|8M/shpSD6sLiab65zxdAEGjPoXg=|o1o78ktpN6Oy0LZhFJ9E6gxo9aQ= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
-|1|EpIng8tJaq96YdqPQSy3xi2LUp4=|z/optFzQYZ/MTuIbPPuKCsmI7IE= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
-|1|8daDomZ+spFohqAfP8w8JlM8kMs=|eCTk9nuftESPpL7wR/Rn1ylldn0= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
-|1|km/t//MwY87qCxAYpakUyIQ5shE=|kSvpYhlh0RNXepqI3/7Pf9MzmfY= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
-|1|scuLwvaEBh6neeL0ZRmao7J/tH0=|xDfMMrjH69YH8jLW7FDZz6gUlMo= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
-|1|LhJHGM7iU/9DhfsXseDrsg7oE2U=|cy7Vs2FhoPQArGD+G6JS7E11tc4= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
-|1|39Fmmwx/uJQlGGjQIiZV+5+0PIE=|6RWulAjOyQBeFH1V/SKNlCVBlj8= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
changed: [deb11.transcoder.staging.radio.co]
TASK [Upload SSH key.] ********************************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [Upload SSH public key.] *************************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [include_tasks] **********************************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/tasks/system/ssl.yml for staging-transcoder.radio.co, deb11.transcoder.staging.radio.co
TASK [Ensure local certs directory exists] ************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [Remove expired CA certs from ca-certificates config] ********************************
TASK [Update Certificate store] ***********************************************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [Download & install new CA certs] ****************************************************
TASK [Update Certificate store] ***********************************************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [include_tasks] **********************************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/tasks/system/apt.yml for staging-transcoder.radio.co, deb11.transcoder.staging.radio.co
TASK [Install Apt Keys] *******************************************************************
TASK [Write Apt Repositories] *************************************************************
TASK [Installing System Packages with Apt] ************************************************
The following packages were automatically installed and are no longer required:
libhiredis0.13 libluajit-5.1-2 libluajit-5.1-common
libnginx-mod-http-cache-purge libnginx-mod-http-fancyindex
libnginx-mod-http-headers-more-filter libnginx-mod-http-lua
libnginx-mod-http-ndk libnginx-mod-http-perl
libnginx-mod-http-uploadprogress libnginx-mod-nchan
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
libnginx-mod-http-auth-pam libnginx-mod-http-cache-purge
libnginx-mod-http-dav-ext libnginx-mod-http-echo
libnginx-mod-http-fancyindex libnginx-mod-http-geoip
libnginx-mod-http-headers-more-filter libnginx-mod-http-image-filter
libnginx-mod-http-lua libnginx-mod-http-ndk libnginx-mod-http-perl
libnginx-mod-http-subs-filter libnginx-mod-http-uploadprogress
libnginx-mod-http-upstream-fair libnginx-mod-http-xslt-filter
libnginx-mod-mail libnginx-mod-nchan libnginx-mod-stream libperl5.24
libsdl1.2debian libssl1.1 libvorbis0a libvorbisenc2 libvorbisfile3
nginx-common nginx-full perl perl-base perl-modules-5.24 redis-tools
vim-common vim-runtime vim-tiny
Suggested packages:
sysvinit-core fcgiwrap nginx-doc ssl-cert perl-doc libterm-readline-gnu-perl
| libterm-readline-perl-perl ruby-redis ctags vim-doc vim-scripts indent
The following packages will be REMOVED:
nginx-extras
The following NEW packages will be installed:
nginx-full
The following packages will be upgraded:
libnginx-mod-http-auth-pam libnginx-mod-http-cache-purge
libnginx-mod-http-dav-ext libnginx-mod-http-echo
libnginx-mod-http-fancyindex libnginx-mod-http-geoip
libnginx-mod-http-headers-more-filter libnginx-mod-http-image-filter
libnginx-mod-http-lua libnginx-mod-http-ndk libnginx-mod-http-perl
libnginx-mod-http-subs-filter libnginx-mod-http-uploadprogress
libnginx-mod-http-upstream-fair libnginx-mod-http-xslt-filter
libnginx-mod-mail libnginx-mod-nchan libnginx-mod-stream libperl5.24
libsdl1.2-dev libsdl1.2debian libssl-dev libssl1.1 libvorbis-dev libvorbis0a
libvorbisenc2 libvorbisfile3 monit nginx nginx-common perl perl-base
perl-modules-5.24 redis-server redis-tools vim vim-common vim-runtime
vim-tiny
39 upgraded, 1 newly installed, 1 to remove and 166 not upgraded.
changed: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [Installing OS-Specific System Packages with Apt] ************************************
The following additional packages will be installed:
php7.0-common php7.0-json php7.0-opcache php7.0-readline
Suggested packages:
php-pear
The following packages will be upgraded:
libav-tools php7.0-cli php7.0-common php7.0-json php7.0-opcache
php7.0-readline
6 upgraded, 0 newly installed, 0 to remove and 200 not upgraded.
changed: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [Installing Extra .deb Packages] *****************************************************
TASK [Symlinking binaries] ****************************************************************
ok: [deb11.transcoder.staging.radio.co] => (item={'originalName': '/usr/bin/ffmpeg', 'destinationName': '/usr/bin/avconv'})
ok: [deb11.transcoder.staging.radio.co] => (item={'originalName': '/usr/bin/ffplay', 'destinationName': '/usr/bin/avplay'})
ok: [deb11.transcoder.staging.radio.co] => (item={'originalName': '/usr/bin/ffprobe', 'destinationName': '/usr/bin/avprobe'})
PLAY [all] ********************************************************************************
TASK [Gathering Facts] ********************************************************************
ok: [deb11.transcoder.staging.radio.co]
ok: [staging-transcoder.radio.co]
TASK [Create renewcert group] *************************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [Add deploy user to renewcert group] *************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [Create directory for post deploy script] ********************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [include_tasks] **********************************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/tasks/nginx.yml for staging-transcoder.radio.co, deb11.transcoder.staging.radio.co
TASK [apt] ********************************************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [apt] ********************************************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [file] *******************************************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [template] ***************************************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [template] ***************************************************************************
ok: [staging-transcoder.radio.co] => (item={'file': 'preview.conf', 'path': 'templates/vhosts/preview.conf.j2'})
ok: [deb11.transcoder.staging.radio.co] => (item={'file': 'preview.conf', 'path': 'templates/vhosts/preview.conf.j2'})
--- before: /etc/nginx/sites-enabled/netdata.conf
+++ after: /home/ahmedbodi/.ansible/tmp/ansible-local-12233682lq9752m/tmpb5tfgk77/netdata.conf.j2
@@ -31,4 +31,4 @@
ssl_certificate /etc/letsencrypt/live/staging-transcoder.radio.co/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/staging-transcoder.radio.co/privkey.pem;
- }
\ No newline at end of file
+ }
changed: [staging-transcoder.radio.co] => (item={'file': 'netdata.conf', 'path': 'templates/vhosts/netdata.conf.j2'})
ok: [deb11.transcoder.staging.radio.co] => (item={'file': 'netdata.conf', 'path': 'templates/vhosts/netdata.conf.j2'})
TASK [copy] *******************************************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [service] ****************************************************************************
skipping: [deb11.transcoder.staging.radio.co]
changed: [staging-transcoder.radio.co]
TASK [Create post deploy script for certbot] **********************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [Create directories for deploy certificates] *****************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.certbot : Load a variable file based on the OS type, or a default if not found.] ***
ok: [staging-transcoder.radio.co] => (item=/home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.certbot/vars/default.yml)
ok: [deb11.transcoder.staging.radio.co] => (item=/home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.certbot/vars/default.yml)
TASK [geerlingguy.certbot : Install Certbot.] *********************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.certbot : Set Certbot script variable.] *********************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.certbot : Clone Certbot into configured directory.] *********************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.certbot : Set Certbot script variable.] *********************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.certbot : Ensure certbot-auto is executable.] ***************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.certbot : include_tasks] ************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.certbot/tasks/create-cert-standalone.yml for staging-transcoder.radio.co
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.certbot/tasks/create-cert-standalone.yml for deb11.transcoder.staging.radio.co
TASK [geerlingguy.certbot : Check if certificate already exists.] *************************
ok: [staging-transcoder.radio.co]
TASK [geerlingguy.certbot : Stop services to allow certbot to generate a cert.] ***********
skipping: [staging-transcoder.radio.co] => (item=nginx)
TASK [geerlingguy.certbot : Generate new certificate if one doesn't exist.] ***************
skipping: [staging-transcoder.radio.co]
TASK [geerlingguy.certbot : Start services after cert has been generated.] ****************
skipping: [staging-transcoder.radio.co] => (item=nginx)
TASK [geerlingguy.certbot : Check if certificate already exists.] *************************
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.certbot : Stop services to allow certbot to generate a cert.] ***********
skipping: [deb11.transcoder.staging.radio.co] => (item=nginx)
TASK [geerlingguy.certbot : Generate new certificate if one doesn't exist.] ***************
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.certbot : Start services after cert has been generated.] ****************
skipping: [deb11.transcoder.staging.radio.co] => (item=nginx)
TASK [geerlingguy.certbot : Add cron job for certbot renewal (if configured).] ************
--- before: crontab for user "root"
+++ after: crontab for user "root"
@@ -1,4 +1,4 @@
#Ansible: Restart pull worker 10 minutes after schedule pulled
33 * * * * /usr/bin/monit restart pull_schedule_worker
#Ansible: Certbot automatic renewal.
-34 5 * * * certbot renew --quiet --no-self-upgrade
+48 5 * * * certbot renew --quiet --no-self-upgrade
changed: [staging-transcoder.radio.co]
--- before: crontab for user "root"
+++ after: crontab for user "root"
@@ -1,4 +1,4 @@
#Ansible: Certbot automatic renewal.
-51 3 * * * certbot renew --quiet --no-self-upgrade
+6 6 * * * certbot renew --quiet --no-self-upgrade
#Ansible: Restart pull worker 10 minutes after schedule pulled
#22 * * * * /usr/bin/monit restart pull_schedule_worker
changed: [deb11.transcoder.staging.radio.co]
TASK [Give renew certificates group sudo privilidges to run certbot] **********************
--- before: /etc/sudoers (content)
+++ after: /etc/sudoers (content)
@@ -26,3 +26,4 @@
#includedir /etc/sudoers.d
%renewcert ALL= NOPASSWD:SETENV: /opt/certbot/certbot-auto, /usr/bin/monit restart *
+%renewcert ALL= NOPASSWD:SETENV: /usr/bin/certbot, /usr/bin/monit restart *
changed: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
PLAY [all] ********************************************************************************
TASK [Gathering Facts] ********************************************************************
ok: [deb11.transcoder.staging.radio.co]
ok: [staging-transcoder.radio.co]
TASK [nickdtodd.system-limits : Template limits.conf] *************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [nickdtodd.system-limits : Template sysctl.conf] *************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [nickdtodd.system-limits : Reload sysctl settings] ***********************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [nickdtodd.system-limits : Reload sysctl settings with system flag] ******************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [nickdtodd.system-limits : Ensure PAM entries] ***************************************
ok: [staging-transcoder.radio.co] => (item=cron)
ok: [staging-transcoder.radio.co] => (item=su)
ok: [staging-transcoder.radio.co] => (item=sudo)
ok: [deb11.transcoder.staging.radio.co] => (item=cron)
ok: [staging-transcoder.radio.co] => (item=sshd)
ok: [staging-transcoder.radio.co] => (item=login)
ok: [deb11.transcoder.staging.radio.co] => (item=su)
ok: [deb11.transcoder.staging.radio.co] => (item=sudo)
ok: [deb11.transcoder.staging.radio.co] => (item=sshd)
ok: [deb11.transcoder.staging.radio.co] => (item=login)
TASK [tersmitten.timezone : configure /etc/localtime] *************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [tersmitten.timezone : configure /etc/timezone] **************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [nickhammond.logrotate | Install logrotate] ******************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [nickhammond.logrotate | Setup logrotate.d scripts] **********************************
ok: [staging-transcoder.radio.co] => (item={'name': 'liquidsoap', 'path': '/home/transcoder/stations/*/liquidsoap.log', 'options': ['daily', 'missingok', 'rotate 7', 'notifempty', 'create 0640 deploy deploy'], 'scripts': {'postrotate': '/home/transcoder/provisioning/files/logrotate/liquidsoap_post_rotate.sh $1'}})
ok: [staging-transcoder.radio.co] => (item={'name': 'icecast_access', 'path': '/home/transcoder/logs/access.log', 'options': ['daily', 'missingok', 'rotate 3', 'notifempty', 'create 0640 deploy deploy'], 'scripts': {'postrotate': 'kill -HUP `cat /home/transcoder/run/icecast.pid`'}})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'liquidsoap', 'path': '/home/transcoder/stations/*/liquidsoap.log', 'options': ['daily', 'missingok', 'rotate 7', 'notifempty', 'create 0640 deploy deploy'], 'scripts': {'postrotate': '/home/transcoder/provisioning/files/logrotate/liquidsoap_post_rotate.sh $1'}})
ok: [staging-transcoder.radio.co] => (item={'name': 'icecast_error', 'path': '/home/transcoder/logs/error.log', 'options': ['daily', 'missingok', 'rotate 3', 'notifempty', 'create 0640 deploy deploy'], 'scripts': {'postrotate': 'kill -HUP `cat /home/transcoder/run/icecast.pid`'}})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'icecast_access', 'path': '/home/transcoder/logs/access.log', 'options': ['daily', 'missingok', 'rotate 3', 'notifempty', 'create 0640 deploy deploy'], 'scripts': {'postrotate': 'kill -HUP `cat /home/transcoder/run/icecast.pid`'}})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'icecast_error', 'path': '/home/transcoder/logs/error.log', 'options': ['daily', 'missingok', 'rotate 3', 'notifempty', 'create 0640 deploy deploy'], 'scripts': {'postrotate': 'kill -HUP `cat /home/transcoder/run/icecast.pid`'}})
TASK [liquidsoap : debug] *****************************************************************
ok: [staging-transcoder.radio.co] => {
"deploy": "VARIABLE IS NOT DEFINED!"
}
ok: [deb11.transcoder.staging.radio.co] => {
"deploy": "VARIABLE IS NOT DEFINED!"
}
TASK [liquidsoap : user] ******************************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [liquidsoap : include_tasks] *********************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/liquidsoap/tasks/system-dependencies.yml for staging-transcoder.radio.co, deb11.transcoder.staging.radio.co
TASK [liquidsoap : Install system dependencies] *******************************************
The following additional packages will be installed:
libvorbis0a libvorbisenc2 libvorbisfile3
The following packages will be upgraded:
libfaad-dev libfaad2 libvorbis-dev libvorbis0a libvorbisenc2 libvorbisfile3
6 upgraded, 0 newly installed, 0 to remove and 200 not upgraded.
changed: [staging-transcoder.radio.co] => (item=['git', 'automake', 'build-essential', 'pkg-config', 'ocaml', 'unzip', 'libpcre3-dev', 'libfaad2', 'libfaad-dev', 'libmad0-dev', 'libtag1-dev', 'libmp3lame-dev', 'libvorbis-dev', 'libtool', 'bubblewrap', 'ocaml', 'libtool-bin'])
ok: [deb11.transcoder.staging.radio.co] => (item=['git', 'automake', 'build-essential', 'pkg-config', 'ocaml', 'unzip', 'libpcre3-dev', 'libfaad2', 'libfaad-dev', 'libmad0-dev', 'libtag1-dev', 'libmp3lame-dev', 'libvorbis-dev', 'libtool', 'bubblewrap', 'ocaml', 'libtool-bin'])
TASK [liquidsoap : shell] *****************************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [liquidsoap : shell] *****************************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [liquidsoap : shell] *****************************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [liquidsoap : include_tasks] *********************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/liquidsoap/tasks/ocaml-opam.yml for staging-transcoder.radio.co, deb11.transcoder.staging.radio.co
TASK [liquidsoap : Install opam] **********************************************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [liquidsoap : Ensure opam is installed] **********************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [liquidsoap : Setup opam] ************************************************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [liquidsoap : Update opam] ***********************************************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [liquidsoap : Ensure we have an opam env for current versions of ocaml and LS] *******
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [liquidsoap : Ensure required ocaml version is installed] ****************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [liquidsoap : debug] *****************************************************************
ok: [staging-transcoder.radio.co] => {
"msg": "ocamlfind faad fdkaac mad lame vorbis.0.7.1 ogg.0.5.2 cry.0.6.2 taglib.0.3.3 dtools.0.4.1 pcre duppy.0.8.0 mm camomile.1.0.1"
}
ok: [deb11.transcoder.staging.radio.co] => {
"msg": "ocamlfind faad fdkaac mad lame vorbis.0.7.1 ogg.0.5.2 cry.0.6.2 taglib.0.3.3 dtools.0.4.1 pcre duppy.0.8.0 mm camomile.1.0.1"
}
TASK [Install liquidsoap dependencies] ****************************************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [Install liquidsoap] *****************************************************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [Symlink liquidsoap globally] ********************************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [radiodotco.authorized-keys : Add default keys] **************************************
ok: [staging-transcoder.radio.co] => (item={'name': 'management-deploy', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDZb+w0J+wcP//Qi113d2H8udNZ+5xQrQ6tskgL7wPkWKXHSAkWZyGQu6D7KM9TG5xXcMEvh9mxM5QQppehwtajpvLZ7m4sCyntDQLtLvlAiH1pYi0Utl8u1MgFsATlOhDG6TVBpkbzGHJlNAtisVx4spnkvcu3jMYy33wyphM9N9qCuUzH80Tb88L+h8LIkjGuCqrgTlfD31DLQAxjWv45eiofHlsIdS2bXBIpMFhmMg3Mkke7Tk6mD32dxyO7JHdkeRviqAYAAEGVoH8gH+h0s+F2x4gNZozPcJx8dFWPbM1U3PVbF0ae+7p6rbpUm7+eLhL76jB4e7aBxjE5TxX0wZV2cUETV2CjLBWXbRTyvN7sX6Td+O+kE3PSwfZLZ3ICxi1DVo7b6Ey5ry2Rw+fQnOSm3/ifkeWlMji6raP6GjowyWSFHoPfR/U34Vo4mx7dcfOAIr3Xi1czG1BoPXBHLZfJJIzGYdxzrm0u1dO3B4CpvSGtbUR+zZ3MrfJlXM5qxsWnMEjShQMQp1CVK0TFmWy8VtuBDIT+rAlYFBz7Fvung7fptFaM2AhH6UbGU2ZF8uu+1Cf34AN856sl0ySh7G4bz7F/eexHc+klP4MANA3GuNz039xtByKh4Glc1YOEzdDaqJ/QCMfCcPlVN84ROStF8o6SmUfanYXo21lBVw==', 'state': 'present'})
ok: [staging-transcoder.radio.co] => (item={'name': 'john-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDEC/lUDCLqpS2O1D53uk1blpOdAanN8kRzxqifGdNzuLZp13IBD4VhPL82SUagIBFuvFNOpMJ4oY3YKTJy2+8YRJwr/2tNDpEqBzdDLwhPHcEIYQz9X25SbVowwsJzyYt4SGBbB+wD1KU3ZUOWA1qt5LTI6WzBeDcLvTmMwf4VdOTo/Ci56S1q36AYUXYOvScmG9dJauhIuz0PrfoWltPnzn9zkf2yWsMtgr2To3ctpmhv09aQiEeLxWMW6QDag4E66daWM/TD2B480CHtAlqT3EQCC28+xtkwVS1Av1MdWWeQIYvb+w7E2kowL5oBdesFcV/PCzxquVQg8VAZ18Z john@Johns-iMac.local'})
ok: [staging-transcoder.radio.co] => (item={'name': 'aaron-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvahARH31nVf+GZE7nI2c1sEmmAcY86Iduy/6UbHBcmJ0/DVtXDdAM4QfZqb4iOZ9znlygxKuGdAEsOcr4qfYrCbDRo28Wes1ERNe1tKxBN354LUbQchzmHkcl2w5FXVdIPiJnVylWMj1BDxNlkAHbFpq9bYSIn/CFIifdNztdKMTnnR94ioCjhI3soZkcgWTFKgrU//tF3sqq+14EgiS9ZmPe1MgwzT00usGly5x66siQJSF1blDqUI239S2ZaDqVnbtoBhazikGrlayUIzE5rcwlsJfHOI5EXGmZIMZ2hauuiGph/37+oB0vFB6dQ1s+D1jUM+7PbUCCURcsTEdp aaron@igniso.com'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'management-deploy', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDZb+w0J+wcP//Qi113d2H8udNZ+5xQrQ6tskgL7wPkWKXHSAkWZyGQu6D7KM9TG5xXcMEvh9mxM5QQppehwtajpvLZ7m4sCyntDQLtLvlAiH1pYi0Utl8u1MgFsATlOhDG6TVBpkbzGHJlNAtisVx4spnkvcu3jMYy33wyphM9N9qCuUzH80Tb88L+h8LIkjGuCqrgTlfD31DLQAxjWv45eiofHlsIdS2bXBIpMFhmMg3Mkke7Tk6mD32dxyO7JHdkeRviqAYAAEGVoH8gH+h0s+F2x4gNZozPcJx8dFWPbM1U3PVbF0ae+7p6rbpUm7+eLhL76jB4e7aBxjE5TxX0wZV2cUETV2CjLBWXbRTyvN7sX6Td+O+kE3PSwfZLZ3ICxi1DVo7b6Ey5ry2Rw+fQnOSm3/ifkeWlMji6raP6GjowyWSFHoPfR/U34Vo4mx7dcfOAIr3Xi1czG1BoPXBHLZfJJIzGYdxzrm0u1dO3B4CpvSGtbUR+zZ3MrfJlXM5qxsWnMEjShQMQp1CVK0TFmWy8VtuBDIT+rAlYFBz7Fvung7fptFaM2AhH6UbGU2ZF8uu+1Cf34AN856sl0ySh7G4bz7F/eexHc+klP4MANA3GuNz039xtByKh4Glc1YOEzdDaqJ/QCMfCcPlVN84ROStF8o6SmUfanYXo21lBVw==', 'state': 'present'})
ok: [staging-transcoder.radio.co] => (item={'name': 'dave-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwKgF86Zq98xXYWceMyO7nAqYYg5t9zLDka1R5oFv3QwKcKRCsn9ZZd/CflFSdH3hSLmjtBhv7pZzQRNljcywKyoiGcymHNNXuGDSXmV6dxPphEuNlwXiSsDMY7iFJJsO4ZVon6DbDeRMMKNRWimvO2XX6b5WRa7Y2Vx97X+zMDs1mfNJiI8MkMgJ0PkprhXlG9fL8mdVNbeBwO0Y95/WWNhelPlzSoKif37vXaITFR0VDHNisXbuGmLNTr6eNkDlRuEFwdmp2yfRGlewOK8wI9oLGLlpYYrJHKeMT8cR1CUG18t+QHPjsx8fvM6lpHRZ+HmPgnsK+VUxMtT61RpgD dave@Daves-Support-iMac.local', 'state': 'present'})
ok: [staging-transcoder.radio.co] => (item={'name': 'ahmed-laptop', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCz20Wx7YmtdLDFHbmilJjkd3sGzvzChln4k20kG++ZUvzTidjJqiMilIZmEeToiRizbJbu0zfnuCgehFQ/srLLG6NVzOkuqCnO9S17gy7bYFz7Mey3gQw7FDv1wvaPcs9FPOPw05EBf5w4N/7+9ptJiv0e9VkBXtj67FHGA4BePg6ytn5MmYOY0AmlZAAScbBfZsN0HITeIipb1BVd7EfpbkYIWLUztRZYKwR7k4kE/xDuBr5ygPhpoBuElZZ/UwvGGckFHZ2M5hsgX+THKTVewXtT5PwWtjCCUOvEDeUjIRvgS0x2erFrDxSIHZmGtv6FYQHs42XWxCWMrqnAiPHT ahmedbodiwala@ahmeds-MacBook-Pro.local', 'state': 'present'})
ok: [staging-transcoder.radio.co] => (item={'name': 'dave-laptop', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz1D732YvecJRYwk4BhiVfBkU6paO9xZsRQHxMhjBdzqhgYr0jA08yVc2wbCVUyB7OCsOULB8a797nqWHMIvp2iPaCgQVHMzyqXtOAzlzl9lOwekBa0I0/cFKISLWlEm1AVu7vEDy2GzJe8Is9cUtjSaPn47pkDYGOK0MO/45aQg6giFdMUYrMqLF4/OFKd1sgE1yaaSnwSi7BPYWDwbQlkggHDM2CSHXFkJCankpIxb794pvmTaoPhRDa7Na3kOrnnE6LlfJqQ32HOkM3QLhPmx9eZYeGNOgknqElhGHv9lUNmBsCFIfqjduapDtEUNkXk1pMSRd2ovN0B0yzUUq6sSE7xETq/ePZzZVizsnxq0b6kxPYIK8E7ZiS2JJaOW4AhuNen7Lm0p9E1LtKCevtHHsMjEYL1cqrHN3mGakiXsJqyR2J0b6vnrh0B6NznP4qNrgzUboeDpFJr5PwDBcBFIubYS8xh2lcxb60uDElwdiB/9aBz/kqix4S792PZ8c= david_4fohl5n@DESKTOP-1SQJR32', 'state': 'present'})
ok: [staging-transcoder.radio.co] => (item={'name': 'james-b-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDcK4fiLKZgLuLkFqiMnHxogyvkRczw9Z3CFKCWl7DpDkPg6k1upH8HnSqSd0IKuGwcbonIFqZFAAfT4XBzFxadtHJLddMKXMJaWC5SZUFvDrjtqf5saqYn39fsLZWu8iR2QQDmPCfuFl0T629VLXkw3co4A4Vu+JK9/WYGShtH0Z09whksrS/NjbrhCXfrdXvOv+7Yv/v7sd/5OslFsba0FB84EuHc4WHfyIIeLIdhdt5kMHd7f5mqfE0NSYvrodMQk95ZlIJhs4pQsgyX22yfO73RVGK/I3RjNwSkACP2SFMtzZBrWWypLPkGRbscEXEsbIRdeHN1JMhnvNIqqXEQ7Uzo0N/0QCiRI03SL4BrCG1F6RzoK8zy8scrRPI57V+kYKHKp7ZbdPs+IW5JsG+QeFMWbCmYWsd9OIyZRsCXeDtpmEULxQ9x1+qxbhOT51vSCasR350qqB23eQ+bXNUHpMIf8zqGpJWTZsshfK5unQ+24tk4XITBcfBdUPFV63LYpYbf3ga/jyP4WuyXjrZkZpQgi9lX34BAMP9n8Nnspq2c4j+jRmczDSz+5y7nXoRwPP7zK/17P9jYNzGT5RiQ0h7lWGmAzJtdrYdszHs0yvJbcI3+eKsE3EA37AufEKfDMZaDG6i9Ymb6YNxPp53vkCE6BkJjTJTRERpCZD8Y0w== james@Jamess-iMac.local', 'state': 'present'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'john-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDEC/lUDCLqpS2O1D53uk1blpOdAanN8kRzxqifGdNzuLZp13IBD4VhPL82SUagIBFuvFNOpMJ4oY3YKTJy2+8YRJwr/2tNDpEqBzdDLwhPHcEIYQz9X25SbVowwsJzyYt4SGBbB+wD1KU3ZUOWA1qt5LTI6WzBeDcLvTmMwf4VdOTo/Ci56S1q36AYUXYOvScmG9dJauhIuz0PrfoWltPnzn9zkf2yWsMtgr2To3ctpmhv09aQiEeLxWMW6QDag4E66daWM/TD2B480CHtAlqT3EQCC28+xtkwVS1Av1MdWWeQIYvb+w7E2kowL5oBdesFcV/PCzxquVQg8VAZ18Z john@Johns-iMac.local'})
ok: [staging-transcoder.radio.co] => (item={'name': 'james-b-home-laptop', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8mfu3/5cW9atBEJNxH/0FCyG1E8XMCkv0NH9Of1xWTno4csnP4pAm7sAOUynYygIY9f84aO2VCQtwQ6WS01W3OMK6UEQgKpZzgs3Rug/HQ2uZmC8DkCmeWWllYo89OMhQVsg8lvvisQn8x0nmnw7ra8ua+B9wynbwaGhHw7jIQqU6jtEszZI0Drmi5A0xx5ED1QOvjIi2lOluQzb1oiV+v41JWSGKmLnVVTowo9UeplK+UXj7I41kUclafmdJ2YkhDO7BdqZ4GJzRwMEC01OCxGqrSwVF12tF//Rv6Ck4KIxO9rDh18gPAixljoTNM+qZkqoU6ZDiShtyclJzNZCd james@DESKTOP-QBE4OFE', 'state': 'present'})
ok: [staging-transcoder.radio.co] => (item={'name': 'nick-mackbook', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDJ8keDxlbG5CAZzpdTqUP4uvO4Wxxa7esiZrtXSA/BxDUUUd59dwSYAumPKefIN3SUJjAARovqxfcHJupwAQCqU6bQ2MPOE8zCJvuIvOpwo5PMPdHU8wGRHtOQjV2cjHNAMZbdi5pEHSABsI//I70qdNh7iI+YngCdYk4TvR+JBfQl613X4orPlnh1P7danyP7dJcH8s8StMAhygt5LTHpNGshc7TWOi4GSmEsksyt6fmfwSA+cpDo+6W3p+2OW0BWoL91+HoU3RD7dGwGtN2/twO5PaMTXPLqApcwz1WgV9bG95axIW8DCoHk6yPmua0U5jwPN15Anv+dRI0L9wg1DMuHDDHNTNJjVT5H/NrVF7wO619tpIptPKenGb3FNlpfiLE/hyn+Ox9LMmWCyu57cQi8xdqe2+LlTyTn3tznehjOwS56BTZvxDAtZSPgkf5PldGX/1rFM4GPJolshmEubYHfJIFaNpt9V9dPn7qdAgSJIVBqYGeX0axqM/u6sEU= nick@Nicks-MBP', 'state': 'present'})
ok: [staging-transcoder.radio.co] => (item={'name': 'pete-support', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDMa1vm5x0LNaFs3qmPE8CaUXYl2Y3kQhdsekcarHFd0ZXfJ8wCe8T1FqVsjgNC7/VP7mCf+WlxoU5lZ0HoHdKBrefGrFYYnDc7ByM2nETGDGXoY0rULSmLFTCUywh5ezAHgf0wxipHIgmYrj8KLqHnUSjAYYS/Tivb6CHhScKS2Ar/mvtl/7IiSYzuZZt9v5hr6A0nvQ9hSDDNbs1Fso7gPJxNGOF1rI2G9ilLlM6OzAFRwIbSoYd1JCLsKD1FG2pr0/TZQaONMyMNkxcRAzJvT35KeU0hLdXTU++KVfnluYXhltu2I3wCzCHO0wYPC6Gm5yejGlBOfQ5VuIhbjI//HdpPqqHbsxdHXoFiIllpzlEEWND9n7J1Fg8+Q/Zk4OSDrPVVJS8bl8MjdWfqG7svy5ye12bMcW1vN8TLffcVuMDu6sjYmYxv6m7MKxOci7qdWeYA+Mqz7lCLJVFuJhoFv3nM51fd4M6z9+AcvOyiRfYwSf47BXeWfbEYXAIYiB0= petehelmore@Petes-MacBook-Pro.local', 'state': 'present'})
ok: [staging-transcoder.radio.co] => (item={'name': 'reece-support', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDxBFXHXzECxTVuwgU12lSlnQB1n3pY5I3blbJniJvPASzFeubQB63BPifF1/hLI/L9x5KVs/HV0WByEUqT+1F4CMlZKqP5mIfe79yQmbeARmWumuB/+znuZMCpdiNfLb5Jk2CnvXg5abTQMMaSPPdGDit2P7YCSYonVzotaxP9IY7T3wjjmiv0OZn0D4QJeJSqTttA+Ff3JB0/o677eJvFtzlSJfViR/zhAghPctmzSTb4ngZJJ41uJ9SqZxC3pLgLA3k+Og7QEizQQtR/shBNjQXMAe6H3qUo7IO4HGVoVXVpXRa3UranuDkUJDIPjkAnYGSI3ayyrwWUuwVg3TZceELeI0zMAF6rmW8pBaV1qpWHOYLNbAd446D9tRqAe9bLNvWk+cIJgEP3q2F67yrljRodcCJXPuAyU5ndlT8xJUihL5rnxm7q1Q9hRkW/qTSWwB2ml8sisY/pYuyXYHs/gIgQnxKPDltTaVqQvHOU6FVfebT2LVVIpptAIO8HQmM= reece@Reeces-MacBook-Air.local', 'state': 'present'})
--- before: /root/.ssh/authorized_keys
+++ after: /root/.ssh/authorized_keys
@@ -13,5 +13,5 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDMa1vm5x0LNaFs3qmPE8CaUXYl2Y3kQhdsekcarHFd0ZXfJ8wCe8T1FqVsjgNC7/VP7mCf+WlxoU5lZ0HoHdKBrefGrFYYnDc7ByM2nETGDGXoY0rULSmLFTCUywh5ezAHgf0wxipHIgmYrj8KLqHnUSjAYYS/Tivb6CHhScKS2Ar/mvtl/7IiSYzuZZt9v5hr6A0nvQ9hSDDNbs1Fso7gPJxNGOF1rI2G9ilLlM6OzAFRwIbSoYd1JCLsKD1FG2pr0/TZQaONMyMNkxcRAzJvT35KeU0hLdXTU++KVfnluYXhltu2I3wCzCHO0wYPC6Gm5yejGlBOfQ5VuIhbjI//HdpPqqHbsxdHXoFiIllpzlEEWND9n7J1Fg8+Q/Zk4OSDrPVVJS8bl8MjdWfqG7svy5ye12bMcW1vN8TLffcVuMDu6sjYmYxv6m7MKxOci7qdWeYA+Mqz7lCLJVFuJhoFv3nM51fd4M6z9+AcvOyiRfYwSf47BXeWfbEYXAIYiB0= pete-support
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCZ7B9tM1YUVH3bXYox7a1WSA1oDi8rhaNynrSLg94t0JrcErtWFZNdG3dZZTuaJP4AIJ8+kadHQaKqlgfpxr9QcnniIuoIOYpRUEvMWofkT/GeYUihSW2/e32w8OIn3PBNTkfNy8I/xL6UaYaZZ3m3RTzXhhAB5aLTuacwv+AyHtW17XUSjNFnKXtX0u+Ya0CRMCxkD+FwnJRinDWj9PC7PujEiMQ8A7s6kCWT/Z6bnf2jfRD4tOqcrNN3gZ3V8u8cF1XAHEA6rU9WhLxXEbaN5QHEtNuMWeQnZ/sHu5AvkkRgqiWL1IGtliv8p9U5clYjxHuoOdl8Ib+Z3QS1uLUmStJ1yMOQSd09vLhZB1dAxN4dKEtEfZY3WgsKtM19ZuoTdK79n1o7Bn1jAVbwPDmF/20nqgTS66IgNfYCExuITDOqTjXexvKwdZH+2bJWUhT42ENSfrbH6fFvyxm51Boqr1s78uOCflE2MdGnHg2u2Z2oV0P10tLxrNCT5HCSD4E= tom-mackbook
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC4/UxRyCq+9yww7nECgrQPUoF/hVSZiWZD+k88/yuNmBCoMGxwWeYLVNQTnlm1TJLUGrzPSsh86XdWZhQHbwrs+JcokMGbI7gMZ9v9RoiaG6p2sUzi/SJgFR0FHH+9U7Uv9EXDUZu+/l7qkKPYg15M6F31p0DPHXNQWpW2QirDliOEiQO3pNRR06v6OLfJmlUjENX/5oL8qVXVBQjIYxR7oEGiaSERA+aBVNjdK922fZ3TvN2rk6gmL5nxdHddM3OipivBn+tjJ7zn0Do2ryJF+QoYBAbmr05LFRdkjaQwjOWea9aOwxHW06jbiJE9Zew1XL357flH2iMCILWZ5CyvInh2iXHFX5EB09wxODa7QyX4Q81rqArg7ucpkT/Dk6/Kf31yIXpsplnSJOwSIZxjO+AAuGzlRvaFgoFUia/ewEliYfLRm1jQzXHo34mmkmArIbRz0GtS7KiqxoBtS3pfhDfrwGaQqN/25AB1TsFQE86+5c/+ef/761Ed9dMd7s8Y9emVrPTvHChhdwWri5qQxGQBtDFZQzeZcpiJgg1dmRIsnBY4JagMMLB81NDOxw/A/RUYUngtTzNV/38/kH57Zx10Nj+q33RTIixNt6ZXbdBrXGsqu6fVDVLkUfY54+bFL4rCAgnmfMGDFvKcHguK00PbpdbyQuAghTFf5S8zuw== tfox2@hotmail.co.uk
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDHJlzOr32QJZdkbI39aF3pA+2oUqMW983Ogg63suUbwnDJgC43brtiwGs52uN3/kRIm3uEsgvYmSCgq4aOhcp7RFs+qDQQg08aNIk86V0y9/kXuPJO4XSsUPbl4Oz9ZKZplF0th9oQmbAdBWs3ug0GFhNpf9mwOTkxJe3uBW3Lv/BlItu8QrR+rBddClWyDMPd7qIHLOzou+ZBNJd8sdw+kDOwXrxq7d9A1/7l9egLZpgrnYVXAs3QTCe5NpsDN44p1VSL1ZZsfkSadUtb/QPxtIeNe/Yucvu0OJA6zaz7SogTyRlmuhPSEBM25fcc4gvwQPYAYy5lBHiqCVEC+6A5gwflZ/a0iORN8HK2u7e2/Nhq/pg70fxafOk3WLX88DoorHzcu/i789MN/73vILWF8Q+r1Co1FNY8A6pafcPxrL1BGU5rXjc9wG3ZhBVtSXxXCiEWqg1PnYe1q85c+W5uVL+kcHV1Ib2NIUXJOL4gGOc+PQLbOU0CEcTr7qvSX2q+B/6lzuQwom9jU5zLY3WlKmjiC94X7oNGSaGpprXhhjhyh2z8isebdw2NovzVTdz2uO7JfeIkbVJ1kk1BGiGVUUGMpF2HLwxinbNN3v8kiklwX8AiCBxv6KWBrKAvY9ISZP9a5K4+WWKyj+m45mqSn0GaNzm8G3XOiXWLdj390w== tfox2@hotmail.co.uk
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDxBFXHXzECxTVuwgU12lSlnQB1n3pY5I3blbJniJvPASzFeubQB63BPifF1/hLI/L9x5KVs/HV0WByEUqT+1F4CMlZKqP5mIfe79yQmbeARmWumuB/+znuZMCpdiNfLb5Jk2CnvXg5abTQMMaSPPdGDit2P7YCSYonVzotaxP9IY7T3wjjmiv0OZn0D4QJeJSqTttA+Ff3JB0/o677eJvFtzlSJfViR/zhAghPctmzSTb4ngZJJ41uJ9SqZxC3pLgLA3k+Og7QEizQQtR/shBNjQXMAe6H3qUo7IO4HGVoVXVpXRa3UranuDkUJDIPjkAnYGSI3ayyrwWUuwVg3TZceELeI0zMAF6rmW8pBaV1qpWHOYLNbAd446D9tRqAe9bLNvWk+cIJgEP3q2F67yrljRodcCJXPuAyU5ndlT8xJUihL5rnxm7q1Q9hRkW/qTSWwB2ml8sisY/pYuyXYHs/gIgQnxKPDltTaVqQvHOU6FVfebT2LVVIpptAIO8HQmM= reece-support
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDHJlzOr32QJZdkbI39aF3pA+2oUqMW983Ogg63suUbwnDJgC43brtiwGs52uN3/kRIm3uEsgvYmSCgq4aOhcp7RFs+qDQQg08aNIk86V0y9/kXuPJO4XSsUPbl4Oz9ZKZplF0th9oQmbAdBWs3ug0GFhNpf9mwOTkxJe3uBW3Lv/BlItu8QrR+rBddClWyDMPd7qIHLOzou+ZBNJd8sdw+kDOwXrxq7d9A1/7l9egLZpgrnYVXAs3QTCe5NpsDN44p1VSL1ZZsfkSadUtb/QPxtIeNe/Yucvu0OJA6zaz7SogTyRlmuhPSEBM25fcc4gvwQPYAYy5lBHiqCVEC+6A5gwflZ/a0iORN8HK2u7e2/Nhq/pg70fxafOk3WLX88DoorHzcu/i789MN/73vILWF8Q+r1Co1FNY8A6pafcPxrL1BGU5rXjc9wG3ZhBVtSXxXCiEWqg1PnYe1q85c+W5uVL+kcHV1Ib2NIUXJOL4gGOc+PQLbOU0CEcTr7qvSX2q+B/6lzuQwom9jU5zLY3WlKmjiC94X7oNGSaGpprXhhjhyh2z8isebdw2NovzVTdz2uO7JfeIkbVJ1kk1BGiGVUUGMpF2HLwxinbNN3v8kiklwX8AiCBxv6KWBrKAvY9ISZP9a5K4+WWKyj+m45mqSn0GaNzm8G3XOiXWLdj390w== toms-new-mackbook
changed: [staging-transcoder.radio.co] => (item={'name': 'toms-new-mackbook', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDHJlzOr32QJZdkbI39aF3pA+2oUqMW983Ogg63suUbwnDJgC43brtiwGs52uN3/kRIm3uEsgvYmSCgq4aOhcp7RFs+qDQQg08aNIk86V0y9/kXuPJO4XSsUPbl4Oz9ZKZplF0th9oQmbAdBWs3ug0GFhNpf9mwOTkxJe3uBW3Lv/BlItu8QrR+rBddClWyDMPd7qIHLOzou+ZBNJd8sdw+kDOwXrxq7d9A1/7l9egLZpgrnYVXAs3QTCe5NpsDN44p1VSL1ZZsfkSadUtb/QPxtIeNe/Yucvu0OJA6zaz7SogTyRlmuhPSEBM25fcc4gvwQPYAYy5lBHiqCVEC+6A5gwflZ/a0iORN8HK2u7e2/Nhq/pg70fxafOk3WLX88DoorHzcu/i789MN/73vILWF8Q+r1Co1FNY8A6pafcPxrL1BGU5rXjc9wG3ZhBVtSXxXCiEWqg1PnYe1q85c+W5uVL+kcHV1Ib2NIUXJOL4gGOc+PQLbOU0CEcTr7qvSX2q+B/6lzuQwom9jU5zLY3WlKmjiC94X7oNGSaGpprXhhjhyh2z8isebdw2NovzVTdz2uO7JfeIkbVJ1kk1BGiGVUUGMpF2HLwxinbNN3v8kiklwX8AiCBxv6KWBrKAvY9ISZP9a5K4+WWKyj+m45mqSn0GaNzm8G3XOiXWLdj390w== tfox2@hotmail.co.uk', 'state': 'present'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'aaron-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvahARH31nVf+GZE7nI2c1sEmmAcY86Iduy/6UbHBcmJ0/DVtXDdAM4QfZqb4iOZ9znlygxKuGdAEsOcr4qfYrCbDRo28Wes1ERNe1tKxBN354LUbQchzmHkcl2w5FXVdIPiJnVylWMj1BDxNlkAHbFpq9bYSIn/CFIifdNztdKMTnnR94ioCjhI3soZkcgWTFKgrU//tF3sqq+14EgiS9ZmPe1MgwzT00usGly5x66siQJSF1blDqUI239S2ZaDqVnbtoBhazikGrlayUIzE5rcwlsJfHOI5EXGmZIMZ2hauuiGph/37+oB0vFB6dQ1s+D1jUM+7PbUCCURcsTEdp aaron@igniso.com'})
ok: [staging-transcoder.radio.co] => (item={'name': 'jim-home-laptop-ubuntu', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Nv1onUSykLMRa21bV2wlIm28AWEXfC2iqwOWJ1tLF29aG0ORjMEG8L0G51bRoITzgLzwKH4F/TxSM3aORz6AyHqzGIwYPFZC1rMpepkhdu6L/GGYb5YiN9vhZ516hS1LH4XactwCxVh9RxoLOAYD92gZ7xGUHChGhDDnwpVUp6N9sHHmZKrld0I5uf6gdbo1dk3acrrSv7wg6CDcKgK7jz+rwvIw5lkOfVRhGAAO7pL+BDv42nhlqmdEMYprFNMhhVb+TOmh7NMpLwfvpJHBgh9NPlSuL8NHzPJgrUhS8BqrGg21UfF0cQPmRbJPtOZkXfNp45Jw8lBoza4aprhJ jim@jim-hp', 'state': 'absent'})
ok: [staging-transcoder.radio.co] => (item={'name': 'jim-office-laptop', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwqnNLWxplbdVp4Qexv5kypUaHm88xLIpH5CfYeSy0CoFVjvV06cr/tw8GU916Pu9Nt3dz7w9ZYNlK8dT9JgISS5rFvIFMgSq0rXqo25M/yh02eTr836IxafTGCVaLnNEVQSIN72UiFx1yBsI3C/E3wRks+nt4aT9ohbTfPH0HhKHkENBr/iug0XstLjb7XMPN2NDTXlBReTpNHZ1GJHN6RoygGR8DtVm+XHvM/MUYQar0IZHfjlGBOvgmkhF9Ra5VR/dRiLtGObBHS8+yjV56dr8wFxx78TS2YDXd90JPNcik/wZr2Z21+2x2TYbktji49CK7kEBqIpyBWCRWT2iX jim@Jims-MacBook-Pro.local', 'state': 'absent'})
ok: [staging-transcoder.radio.co] => (item={'name': 'jim-dev-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOHs+Vkn1+tGbXU9jpZDKLNeJjkaDXT4t9H/GN5LifHpjKoRp3Ju9tZ3wEj/acHKErTL0l7oLWIc+Ok+zz4TebJ2J4Dsq9mHtm0DYuXDM89R1C2p2R9z71D1t7fWHZx4Z7faw/v/cWmcXGgI8liFWfT76M5VUgI3N1H3DO1tthD6zepenVb38jxKIGgN+PfqJ8onBOUr1bnSXWBsxF3BEAjx4Ns7OLLUP9N4nQdeVALiTXs5Sih0EtDdXcUSL8d2KqZCvlKTvqFde80N4YyQOzNJqs+0E+FU2jOpue81jRnn9w12A+CNfI3OtKj9Ifs0674KlboC/ieYPaNRyi7nSV', 'state': 'absent'})
ok: [staging-transcoder.radio.co] => (item={'name': 'james-d-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBNZzMmgdxtyE9X2CPvCxxZFxVO0oNtcJ78Mm3WexZ6IQvXvtnIfXLr9h1WOzQckXs3pbbAuI0MXl1VYWnVh/cpXj8zCSSZ1QDmgV3kguODDmQh+4YKAUiWGYbvF/ftiv4C5APB51jsX0i1dquJyDM9Sl013UzYk6/4uSwidElxiYJa/cjlMV/UUycHCaKXr/D4ixAFCwDlqn8J+mQzntyHF5UYaZwbvd2plsDJ5RBwYz0uwixUEGj7+8cfTrN1zZJvsqN7KVTMa+PESmUec+hKvof6pPHGLVUf1H3YnHmofJwQvfixgK/diPDJzk5ORBFJzx88+WfpblU+p/RVrCZ', 'state': 'absent'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'dave-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwKgF86Zq98xXYWceMyO7nAqYYg5t9zLDka1R5oFv3QwKcKRCsn9ZZd/CflFSdH3hSLmjtBhv7pZzQRNljcywKyoiGcymHNNXuGDSXmV6dxPphEuNlwXiSsDMY7iFJJsO4ZVon6DbDeRMMKNRWimvO2XX6b5WRa7Y2Vx97X+zMDs1mfNJiI8MkMgJ0PkprhXlG9fL8mdVNbeBwO0Y95/WWNhelPlzSoKif37vXaITFR0VDHNisXbuGmLNTr6eNkDlRuEFwdmp2yfRGlewOK8wI9oLGLlpYYrJHKeMT8cR1CUG18t+QHPjsx8fvM6lpHRZ+HmPgnsK+VUxMtT61RpgD dave@Daves-Support-iMac.local', 'state': 'present'})
ok: [staging-transcoder.radio.co] => (item={'name': 'james-d-laptop', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCevSYNcZeqSuwDwD2Qb396zam12q1UgF5rM04u/nE7MeMZ3ZG6pAst4tjfvCccOrtaq7bZlPTK/huZMw7gspE7pidQ2ZfwiYfoccloor4lSjZ0mH+3vIcbPXsemZ9CwIwQvIImQ1QZ0Bm3MwmoSb4Whpr9/Z8Qut57uQH9MyjSFZX5gKWAbndvKnJ/dCtUKCO46bC3zdazQqva+Bm7a2huxEw4SUtZ5c8fvNNbwQS1SglzVlKAyXfL3zoYyb8jAmt/vO48+U9uBEVFqynay3v0xODWtDNBnKcHt4bUPQpXQ4R1pEt4aNMG96XfoxUH7Gx/tuChpSoa59kmfJ+FTj9F', 'state': 'absent'})
ok: [staging-transcoder.radio.co] => (item={'name': 'ed-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDLjStOowRzYTHGML/wQHaL+lLJUEMQBfrDtkdYgKJ+oflWVgnUoBkdXOsqUibBBKn1sg2cJetyzuALqdG72uCbt4KMnqRIxjZ80Jq31/UnwcvTorh5EJvVjwxliWWnFNvLlf37MTVoP1gOnhnVTdTzeat8qjrBaOXUhw6rtRlobAtZjZVLYrhFMxk54R9Y2HxY7UTKATCe8eIu72eBEBkL6q0k7AQqykqTs6/UrZTCr6V+jczocC3p0SGzZouS1X71litR1Y2Md8ZsGe8mhqhaVmyeoFEujXPQRgWJ4XRY+kSVUiWPNClqh2Y0XLTnSF90EOstNODCOOT49X096erYLjqaOdhiA7PdshmZ50FYCLvcH7Ip4I1bB/ZRn2/+8TW/aPTdRrCbKg2ZofCHwv+7uG/acQTN22aGUFpOhxBRuhhMWQrU8qLRmkBk2KWhPvnCys2MigrmfDB7CKCkvvbgiECLy1grJyXtkqi+5nfU/7TMIjj76dseRmHlTkZSn5rpaaISB+0paAJoY7iv9H2XsrsS6o5dLYbOES0u+DWwW5SxCgLuHpSN+uHzzf/knB5lBKgh6PFscMnk4ENqVoD1kM8wpCH4+gvf4QUQx1c7/80Z9Ol6dijanj9TpfdhC0JaBgq/98IgEHpyC8G7GH9Vmpds90sQIATMERvkoVJdYw==', 'state': 'absent'})
ok: [staging-transcoder.radio.co] => (item={'name': 'jim-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDb428TMLqcC9FS+luaWWBQYJZbjoRZc0sM6y8jDlVtAZrL9/qBAPFyjPZtSlfmmwhItPYAkDTOdflPkEy7O9pJszXDVicQc//h7sjOBIFD/DwmWWbzSocnoNYrBL3qNCkVn5O2nev5zZg3p3egUhynDWbegwj82HBLw1cgOT3sOAwZMPg1mNy6YWssUtHodRLvRqvsCdx8jOLGRV/Wjv8NP2bJS4uPNg9oU7kmUsrb53UIHp9EoK1dc9AM8U7HEQpF/aHtieNtdD8Dg8N5nzjfL3tt4nVxWZQdNgTxlqUTK+pVB6zG6pG2fbSjW/P3o96FMWj7LE2AculAUutjZXxR user@App-Dev-iMac.home', 'state': 'absent'})
ok: [staging-transcoder.radio.co] => (item={'name': 'nick-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDg3Xp2JAWm2614cKUhjhuSDK9RrJspflNsYxlKFKfr4kdD8KJvWpUgkPqeHa0q/gy+Dwk/mhBDd4f0B3C3mXGcp/5DVvaDa5Fyc32H38IwnJ7SGfogePj9egYACoWwAS02Ar4j5nw/A833v4wx2YV8kHkM5UHRcWGqNAIZKOKgg43hsp3FKeJ/ZM8XfAYEVL4Cb7+uoeK7TvIpAuuajQ/3rlC+PS0S6z10a1PS6zqnNKNOj5Y3o98Cz6rKQTWDmR72+I2Eu7MtvuS3ukOxbcf/tsXkhl9fi/BZteiseIedbEBe6nKb+PIn4aiW13AUdozl1RxDxyuupPaKgADTI/2p nicktodd@Dev-Nick-2.local', 'state': 'absent'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'ahmed-laptop', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCz20Wx7YmtdLDFHbmilJjkd3sGzvzChln4k20kG++ZUvzTidjJqiMilIZmEeToiRizbJbu0zfnuCgehFQ/srLLG6NVzOkuqCnO9S17gy7bYFz7Mey3gQw7FDv1wvaPcs9FPOPw05EBf5w4N/7+9ptJiv0e9VkBXtj67FHGA4BePg6ytn5MmYOY0AmlZAAScbBfZsN0HITeIipb1BVd7EfpbkYIWLUztRZYKwR7k4kE/xDuBr5ygPhpoBuElZZ/UwvGGckFHZ2M5hsgX+THKTVewXtT5PwWtjCCUOvEDeUjIRvgS0x2erFrDxSIHZmGtv6FYQHs42XWxCWMrqnAiPHT ahmedbodiwala@ahmeds-MacBook-Pro.local', 'state': 'present'})
ok: [staging-transcoder.radio.co] => (item={'name': 'rashid-macbook', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDI1ALCaZaXElLQmRLkYKuz8fCNBdCbs34CW0RdLbfrG6imYJedQtoLdlBvZUupHGbK4tng2Yyr0sctYSjVlMl2vBMVGIh54OgMJFUqBTVlJlvla1LPp84OR6s9UePEFiVf3dxf13SIQRnMr7ZULTZ+cala0Srgc2xYF1pMPRGbkLlEKFwVMLzHRJ6r4LuglRFasoRYeFnEyEp7j9kOi9ElqGDP4rmBvvIqqMIdn8GDaDlukNih+aPEyjUKU2DJ4P2BeUxcI+Dxk3c5l6facB2Cm3CFwdVAbIT0TYYT+etU4mkqU78GJvD4keZ9+DhIhXxzUlLihLUznEKWbmMW6wtlcP2n8Up8iT61IhXgN91BLsOGVcOi/hcLW3WOtrPWtYA2yZ+867nq+VgZghhRO3L/NtRmb1du587E2vDF9l/JSZI0JQ9/hVynKS7eyIJdrp4gs9aXyORfWLOqHitmhs22wdEpLaDrgBnZYqjc6UisqnUWWflzWbUx+3X0bYYtfU6ThV8YA4zy20y4KdEI9N23MgN4QIXI+ul4QmvE2+sT8nIp0v2wJfZlt0GcWsJTEA4W/SxJM7GXS7vfjfRgDZKAS3mIr0713bbCngBd1xjdQXs3GhRVr71CW4VCHfCvCekXLda2g5VbdZOvH2pNIq8zRbW2jF0ZmZHa6FspA4AAIw== rboyko@Users-MacBook-Pro.local', 'state': 'absent'})
--- before: /root/.ssh/authorized_keys
+++ after: /root/.ssh/authorized_keys
@@ -11,7 +11,6 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8mfu3/5cW9atBEJNxH/0FCyG1E8XMCkv0NH9Of1xWTno4csnP4pAm7sAOUynYygIY9f84aO2VCQtwQ6WS01W3OMK6UEQgKpZzgs3Rug/HQ2uZmC8DkCmeWWllYo89OMhQVsg8lvvisQn8x0nmnw7ra8ua+B9wynbwaGhHw7jIQqU6jtEszZI0Drmi5A0xx5ED1QOvjIi2lOluQzb1oiV+v41JWSGKmLnVVTowo9UeplK+UXj7I41kUclafmdJ2YkhDO7BdqZ4GJzRwMEC01OCxGqrSwVF12tF//Rv6Ck4KIxO9rDh18gPAixljoTNM+qZkqoU6ZDiShtyclJzNZCd james-b-home-laptop
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDJ8keDxlbG5CAZzpdTqUP4uvO4Wxxa7esiZrtXSA/BxDUUUd59dwSYAumPKefIN3SUJjAARovqxfcHJupwAQCqU6bQ2MPOE8zCJvuIvOpwo5PMPdHU8wGRHtOQjV2cjHNAMZbdi5pEHSABsI//I70qdNh7iI+YngCdYk4TvR+JBfQl613X4orPlnh1P7danyP7dJcH8s8StMAhygt5LTHpNGshc7TWOi4GSmEsksyt6fmfwSA+cpDo+6W3p+2OW0BWoL91+HoU3RD7dGwGtN2/twO5PaMTXPLqApcwz1WgV9bG95axIW8DCoHk6yPmua0U5jwPN15Anv+dRI0L9wg1DMuHDDHNTNJjVT5H/NrVF7wO619tpIptPKenGb3FNlpfiLE/hyn+Ox9LMmWCyu57cQi8xdqe2+LlTyTn3tznehjOwS56BTZvxDAtZSPgkf5PldGX/1rFM4GPJolshmEubYHfJIFaNpt9V9dPn7qdAgSJIVBqYGeX0axqM/u6sEU= nick-mackbook
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDMa1vm5x0LNaFs3qmPE8CaUXYl2Y3kQhdsekcarHFd0ZXfJ8wCe8T1FqVsjgNC7/VP7mCf+WlxoU5lZ0HoHdKBrefGrFYYnDc7ByM2nETGDGXoY0rULSmLFTCUywh5ezAHgf0wxipHIgmYrj8KLqHnUSjAYYS/Tivb6CHhScKS2Ar/mvtl/7IiSYzuZZt9v5hr6A0nvQ9hSDDNbs1Fso7gPJxNGOF1rI2G9ilLlM6OzAFRwIbSoYd1JCLsKD1FG2pr0/TZQaONMyMNkxcRAzJvT35KeU0hLdXTU++KVfnluYXhltu2I3wCzCHO0wYPC6Gm5yejGlBOfQ5VuIhbjI//HdpPqqHbsxdHXoFiIllpzlEEWND9n7J1Fg8+Q/Zk4OSDrPVVJS8bl8MjdWfqG7svy5ye12bMcW1vN8TLffcVuMDu6sjYmYxv6m7MKxOci7qdWeYA+Mqz7lCLJVFuJhoFv3nM51fd4M6z9+AcvOyiRfYwSf47BXeWfbEYXAIYiB0= pete-support
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCZ7B9tM1YUVH3bXYox7a1WSA1oDi8rhaNynrSLg94t0JrcErtWFZNdG3dZZTuaJP4AIJ8+kadHQaKqlgfpxr9QcnniIuoIOYpRUEvMWofkT/GeYUihSW2/e32w8OIn3PBNTkfNy8I/xL6UaYaZZ3m3RTzXhhAB5aLTuacwv+AyHtW17XUSjNFnKXtX0u+Ya0CRMCxkD+FwnJRinDWj9PC7PujEiMQ8A7s6kCWT/Z6bnf2jfRD4tOqcrNN3gZ3V8u8cF1XAHEA6rU9WhLxXEbaN5QHEtNuMWeQnZ/sHu5AvkkRgqiWL1IGtliv8p9U5clYjxHuoOdl8Ib+Z3QS1uLUmStJ1yMOQSd09vLhZB1dAxN4dKEtEfZY3WgsKtM19ZuoTdK79n1o7Bn1jAVbwPDmF/20nqgTS66IgNfYCExuITDOqTjXexvKwdZH+2bJWUhT42ENSfrbH6fFvyxm51Boqr1s78uOCflE2MdGnHg2u2Z2oV0P10tLxrNCT5HCSD4E= tom-mackbook
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC4/UxRyCq+9yww7nECgrQPUoF/hVSZiWZD+k88/yuNmBCoMGxwWeYLVNQTnlm1TJLUGrzPSsh86XdWZhQHbwrs+JcokMGbI7gMZ9v9RoiaG6p2sUzi/SJgFR0FHH+9U7Uv9EXDUZu+/l7qkKPYg15M6F31p0DPHXNQWpW2QirDliOEiQO3pNRR06v6OLfJmlUjENX/5oL8qVXVBQjIYxR7oEGiaSERA+aBVNjdK922fZ3TvN2rk6gmL5nxdHddM3OipivBn+tjJ7zn0Do2ryJF+QoYBAbmr05LFRdkjaQwjOWea9aOwxHW06jbiJE9Zew1XL357flH2iMCILWZ5CyvInh2iXHFX5EB09wxODa7QyX4Q81rqArg7ucpkT/Dk6/Kf31yIXpsplnSJOwSIZxjO+AAuGzlRvaFgoFUia/ewEliYfLRm1jQzXHo34mmkmArIbRz0GtS7KiqxoBtS3pfhDfrwGaQqN/25AB1TsFQE86+5c/+ef/761Ed9dMd7s8Y9emVrPTvHChhdwWri5qQxGQBtDFZQzeZcpiJgg1dmRIsnBY4JagMMLB81NDOxw/A/RUYUngtTzNV/38/kH57Zx10Nj+q33RTIixNt6ZXbdBrXGsqu6fVDVLkUfY54+bFL4rCAgnmfMGDFvKcHguK00PbpdbyQuAghTFf5S8zuw== tfox2@hotmail.co.uk
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDHJlzOr32QJZdkbI39aF3pA+2oUqMW983Ogg63suUbwnDJgC43brtiwGs52uN3/kRIm3uEsgvYmSCgq4aOhcp7RFs+qDQQg08aNIk86V0y9/kXuPJO4XSsUPbl4Oz9ZKZplF0th9oQmbAdBWs3ug0GFhNpf9mwOTkxJe3uBW3Lv/BlItu8QrR+rBddClWyDMPd7qIHLOzou+ZBNJd8sdw+kDOwXrxq7d9A1/7l9egLZpgrnYVXAs3QTCe5NpsDN44p1VSL1ZZsfkSadUtb/QPxtIeNe/Yucvu0OJA6zaz7SogTyRlmuhPSEBM25fcc4gvwQPYAYy5lBHiqCVEC+6A5gwflZ/a0iORN8HK2u7e2/Nhq/pg70fxafOk3WLX88DoorHzcu/i789MN/73vILWF8Q+r1Co1FNY8A6pafcPxrL1BGU5rXjc9wG3ZhBVtSXxXCiEWqg1PnYe1q85c+W5uVL+kcHV1Ib2NIUXJOL4gGOc+PQLbOU0CEcTr7qvSX2q+B/6lzuQwom9jU5zLY3WlKmjiC94X7oNGSaGpprXhhjhyh2z8isebdw2NovzVTdz2uO7JfeIkbVJ1kk1BGiGVUUGMpF2HLwxinbNN3v8kiklwX8AiCBxv6KWBrKAvY9ISZP9a5K4+WWKyj+m45mqSn0GaNzm8G3XOiXWLdj390w== tfox2@hotmail.co.uk
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDxBFXHXzECxTVuwgU12lSlnQB1n3pY5I3blbJniJvPASzFeubQB63BPifF1/hLI/L9x5KVs/HV0WByEUqT+1F4CMlZKqP5mIfe79yQmbeARmWumuB/+znuZMCpdiNfLb5Jk2CnvXg5abTQMMaSPPdGDit2P7YCSYonVzotaxP9IY7T3wjjmiv0OZn0D4QJeJSqTttA+Ff3JB0/o677eJvFtzlSJfViR/zhAghPctmzSTb4ngZJJ41uJ9SqZxC3pLgLA3k+Og7QEizQQtR/shBNjQXMAe6H3qUo7IO4HGVoVXVpXRa3UranuDkUJDIPjkAnYGSI3ayyrwWUuwVg3TZceELeI0zMAF6rmW8pBaV1qpWHOYLNbAd446D9tRqAe9bLNvWk+cIJgEP3q2F67yrljRodcCJXPuAyU5ndlT8xJUihL5rnxm7q1Q9hRkW/qTSWwB2ml8sisY/pYuyXYHs/gIgQnxKPDltTaVqQvHOU6FVfebT2LVVIpptAIO8HQmM= reece-support
changed: [staging-transcoder.radio.co] => (item={'name': 'tom-mackbook', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCZ7B9tM1YUVH3bXYox7a1WSA1oDi8rhaNynrSLg94t0JrcErtWFZNdG3dZZTuaJP4AIJ8+kadHQaKqlgfpxr9QcnniIuoIOYpRUEvMWofkT/GeYUihSW2/e32w8OIn3PBNTkfNy8I/xL6UaYaZZ3m3RTzXhhAB5aLTuacwv+AyHtW17XUSjNFnKXtX0u+Ya0CRMCxkD+FwnJRinDWj9PC7PujEiMQ8A7s6kCWT/Z6bnf2jfRD4tOqcrNN3gZ3V8u8cF1XAHEA6rU9WhLxXEbaN5QHEtNuMWeQnZ/sHu5AvkkRgqiWL1IGtliv8p9U5clYjxHuoOdl8Ib+Z3QS1uLUmStJ1yMOQSd09vLhZB1dAxN4dKEtEfZY3WgsKtM19ZuoTdK79n1o7Bn1jAVbwPDmF/20nqgTS66IgNfYCExuITDOqTjXexvKwdZH+2bJWUhT42ENSfrbH6fFvyxm51Boqr1s78uOCflE2MdGnHg2u2Z2oV0P10tLxrNCT5HCSD4E= tomfox@Toms-MBP.broadband', 'state': 'absent'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'dave-laptop', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz1D732YvecJRYwk4BhiVfBkU6paO9xZsRQHxMhjBdzqhgYr0jA08yVc2wbCVUyB7OCsOULB8a797nqWHMIvp2iPaCgQVHMzyqXtOAzlzl9lOwekBa0I0/cFKISLWlEm1AVu7vEDy2GzJe8Is9cUtjSaPn47pkDYGOK0MO/45aQg6giFdMUYrMqLF4/OFKd1sgE1yaaSnwSi7BPYWDwbQlkggHDM2CSHXFkJCankpIxb794pvmTaoPhRDa7Na3kOrnnE6LlfJqQ32HOkM3QLhPmx9eZYeGNOgknqElhGHv9lUNmBsCFIfqjduapDtEUNkXk1pMSRd2ovN0B0yzUUq6sSE7xETq/ePZzZVizsnxq0b6kxPYIK8E7ZiS2JJaOW4AhuNen7Lm0p9E1LtKCevtHHsMjEYL1cqrHN3mGakiXsJqyR2J0b6vnrh0B6NznP4qNrgzUboeDpFJr5PwDBcBFIubYS8xh2lcxb60uDElwdiB/9aBz/kqix4S792PZ8c= david_4fohl5n@DESKTOP-1SQJR32', 'state': 'present'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'james-b-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDcK4fiLKZgLuLkFqiMnHxogyvkRczw9Z3CFKCWl7DpDkPg6k1upH8HnSqSd0IKuGwcbonIFqZFAAfT4XBzFxadtHJLddMKXMJaWC5SZUFvDrjtqf5saqYn39fsLZWu8iR2QQDmPCfuFl0T629VLXkw3co4A4Vu+JK9/WYGShtH0Z09whksrS/NjbrhCXfrdXvOv+7Yv/v7sd/5OslFsba0FB84EuHc4WHfyIIeLIdhdt5kMHd7f5mqfE0NSYvrodMQk95ZlIJhs4pQsgyX22yfO73RVGK/I3RjNwSkACP2SFMtzZBrWWypLPkGRbscEXEsbIRdeHN1JMhnvNIqqXEQ7Uzo0N/0QCiRI03SL4BrCG1F6RzoK8zy8scrRPI57V+kYKHKp7ZbdPs+IW5JsG+QeFMWbCmYWsd9OIyZRsCXeDtpmEULxQ9x1+qxbhOT51vSCasR350qqB23eQ+bXNUHpMIf8zqGpJWTZsshfK5unQ+24tk4XITBcfBdUPFV63LYpYbf3ga/jyP4WuyXjrZkZpQgi9lX34BAMP9n8Nnspq2c4j+jRmczDSz+5y7nXoRwPP7zK/17P9jYNzGT5RiQ0h7lWGmAzJtdrYdszHs0yvJbcI3+eKsE3EA37AufEKfDMZaDG6i9Ymb6YNxPp53vkCE6BkJjTJTRERpCZD8Y0w== james@Jamess-iMac.local', 'state': 'present'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'james-b-home-laptop', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8mfu3/5cW9atBEJNxH/0FCyG1E8XMCkv0NH9Of1xWTno4csnP4pAm7sAOUynYygIY9f84aO2VCQtwQ6WS01W3OMK6UEQgKpZzgs3Rug/HQ2uZmC8DkCmeWWllYo89OMhQVsg8lvvisQn8x0nmnw7ra8ua+B9wynbwaGhHw7jIQqU6jtEszZI0Drmi5A0xx5ED1QOvjIi2lOluQzb1oiV+v41JWSGKmLnVVTowo9UeplK+UXj7I41kUclafmdJ2YkhDO7BdqZ4GJzRwMEC01OCxGqrSwVF12tF//Rv6Ck4KIxO9rDh18gPAixljoTNM+qZkqoU6ZDiShtyclJzNZCd james@DESKTOP-QBE4OFE', 'state': 'present'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'nick-mackbook', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDJ8keDxlbG5CAZzpdTqUP4uvO4Wxxa7esiZrtXSA/BxDUUUd59dwSYAumPKefIN3SUJjAARovqxfcHJupwAQCqU6bQ2MPOE8zCJvuIvOpwo5PMPdHU8wGRHtOQjV2cjHNAMZbdi5pEHSABsI//I70qdNh7iI+YngCdYk4TvR+JBfQl613X4orPlnh1P7danyP7dJcH8s8StMAhygt5LTHpNGshc7TWOi4GSmEsksyt6fmfwSA+cpDo+6W3p+2OW0BWoL91+HoU3RD7dGwGtN2/twO5PaMTXPLqApcwz1WgV9bG95axIW8DCoHk6yPmua0U5jwPN15Anv+dRI0L9wg1DMuHDDHNTNJjVT5H/NrVF7wO619tpIptPKenGb3FNlpfiLE/hyn+Ox9LMmWCyu57cQi8xdqe2+LlTyTn3tznehjOwS56BTZvxDAtZSPgkf5PldGX/1rFM4GPJolshmEubYHfJIFaNpt9V9dPn7qdAgSJIVBqYGeX0axqM/u6sEU= nick@Nicks-MBP', 'state': 'present'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'pete-support', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDMa1vm5x0LNaFs3qmPE8CaUXYl2Y3kQhdsekcarHFd0ZXfJ8wCe8T1FqVsjgNC7/VP7mCf+WlxoU5lZ0HoHdKBrefGrFYYnDc7ByM2nETGDGXoY0rULSmLFTCUywh5ezAHgf0wxipHIgmYrj8KLqHnUSjAYYS/Tivb6CHhScKS2Ar/mvtl/7IiSYzuZZt9v5hr6A0nvQ9hSDDNbs1Fso7gPJxNGOF1rI2G9ilLlM6OzAFRwIbSoYd1JCLsKD1FG2pr0/TZQaONMyMNkxcRAzJvT35KeU0hLdXTU++KVfnluYXhltu2I3wCzCHO0wYPC6Gm5yejGlBOfQ5VuIhbjI//HdpPqqHbsxdHXoFiIllpzlEEWND9n7J1Fg8+Q/Zk4OSDrPVVJS8bl8MjdWfqG7svy5ye12bMcW1vN8TLffcVuMDu6sjYmYxv6m7MKxOci7qdWeYA+Mqz7lCLJVFuJhoFv3nM51fd4M6z9+AcvOyiRfYwSf47BXeWfbEYXAIYiB0= petehelmore@Petes-MacBook-Pro.local', 'state': 'present'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'reece-support', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDxBFXHXzECxTVuwgU12lSlnQB1n3pY5I3blbJniJvPASzFeubQB63BPifF1/hLI/L9x5KVs/HV0WByEUqT+1F4CMlZKqP5mIfe79yQmbeARmWumuB/+znuZMCpdiNfLb5Jk2CnvXg5abTQMMaSPPdGDit2P7YCSYonVzotaxP9IY7T3wjjmiv0OZn0D4QJeJSqTttA+Ff3JB0/o677eJvFtzlSJfViR/zhAghPctmzSTb4ngZJJ41uJ9SqZxC3pLgLA3k+Og7QEizQQtR/shBNjQXMAe6H3qUo7IO4HGVoVXVpXRa3UranuDkUJDIPjkAnYGSI3ayyrwWUuwVg3TZceELeI0zMAF6rmW8pBaV1qpWHOYLNbAd446D9tRqAe9bLNvWk+cIJgEP3q2F67yrljRodcCJXPuAyU5ndlT8xJUihL5rnxm7q1Q9hRkW/qTSWwB2ml8sisY/pYuyXYHs/gIgQnxKPDltTaVqQvHOU6FVfebT2LVVIpptAIO8HQmM= reece@Reeces-MacBook-Air.local', 'state': 'present'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'toms-new-mackbook', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDHJlzOr32QJZdkbI39aF3pA+2oUqMW983Ogg63suUbwnDJgC43brtiwGs52uN3/kRIm3uEsgvYmSCgq4aOhcp7RFs+qDQQg08aNIk86V0y9/kXuPJO4XSsUPbl4Oz9ZKZplF0th9oQmbAdBWs3ug0GFhNpf9mwOTkxJe3uBW3Lv/BlItu8QrR+rBddClWyDMPd7qIHLOzou+ZBNJd8sdw+kDOwXrxq7d9A1/7l9egLZpgrnYVXAs3QTCe5NpsDN44p1VSL1ZZsfkSadUtb/QPxtIeNe/Yucvu0OJA6zaz7SogTyRlmuhPSEBM25fcc4gvwQPYAYy5lBHiqCVEC+6A5gwflZ/a0iORN8HK2u7e2/Nhq/pg70fxafOk3WLX88DoorHzcu/i789MN/73vILWF8Q+r1Co1FNY8A6pafcPxrL1BGU5rXjc9wG3ZhBVtSXxXCiEWqg1PnYe1q85c+W5uVL+kcHV1Ib2NIUXJOL4gGOc+PQLbOU0CEcTr7qvSX2q+B/6lzuQwom9jU5zLY3WlKmjiC94X7oNGSaGpprXhhjhyh2z8isebdw2NovzVTdz2uO7JfeIkbVJ1kk1BGiGVUUGMpF2HLwxinbNN3v8kiklwX8AiCBxv6KWBrKAvY9ISZP9a5K4+WWKyj+m45mqSn0GaNzm8G3XOiXWLdj390w== tfox2@hotmail.co.uk', 'state': 'present'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'jim-home-laptop-ubuntu', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Nv1onUSykLMRa21bV2wlIm28AWEXfC2iqwOWJ1tLF29aG0ORjMEG8L0G51bRoITzgLzwKH4F/TxSM3aORz6AyHqzGIwYPFZC1rMpepkhdu6L/GGYb5YiN9vhZ516hS1LH4XactwCxVh9RxoLOAYD92gZ7xGUHChGhDDnwpVUp6N9sHHmZKrld0I5uf6gdbo1dk3acrrSv7wg6CDcKgK7jz+rwvIw5lkOfVRhGAAO7pL+BDv42nhlqmdEMYprFNMhhVb+TOmh7NMpLwfvpJHBgh9NPlSuL8NHzPJgrUhS8BqrGg21UfF0cQPmRbJPtOZkXfNp45Jw8lBoza4aprhJ jim@jim-hp', 'state': 'absent'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'jim-office-laptop', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwqnNLWxplbdVp4Qexv5kypUaHm88xLIpH5CfYeSy0CoFVjvV06cr/tw8GU916Pu9Nt3dz7w9ZYNlK8dT9JgISS5rFvIFMgSq0rXqo25M/yh02eTr836IxafTGCVaLnNEVQSIN72UiFx1yBsI3C/E3wRks+nt4aT9ohbTfPH0HhKHkENBr/iug0XstLjb7XMPN2NDTXlBReTpNHZ1GJHN6RoygGR8DtVm+XHvM/MUYQar0IZHfjlGBOvgmkhF9Ra5VR/dRiLtGObBHS8+yjV56dr8wFxx78TS2YDXd90JPNcik/wZr2Z21+2x2TYbktji49CK7kEBqIpyBWCRWT2iX jim@Jims-MacBook-Pro.local', 'state': 'absent'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'jim-dev-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOHs+Vkn1+tGbXU9jpZDKLNeJjkaDXT4t9H/GN5LifHpjKoRp3Ju9tZ3wEj/acHKErTL0l7oLWIc+Ok+zz4TebJ2J4Dsq9mHtm0DYuXDM89R1C2p2R9z71D1t7fWHZx4Z7faw/v/cWmcXGgI8liFWfT76M5VUgI3N1H3DO1tthD6zepenVb38jxKIGgN+PfqJ8onBOUr1bnSXWBsxF3BEAjx4Ns7OLLUP9N4nQdeVALiTXs5Sih0EtDdXcUSL8d2KqZCvlKTvqFde80N4YyQOzNJqs+0E+FU2jOpue81jRnn9w12A+CNfI3OtKj9Ifs0674KlboC/ieYPaNRyi7nSV', 'state': 'absent'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'james-d-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBNZzMmgdxtyE9X2CPvCxxZFxVO0oNtcJ78Mm3WexZ6IQvXvtnIfXLr9h1WOzQckXs3pbbAuI0MXl1VYWnVh/cpXj8zCSSZ1QDmgV3kguODDmQh+4YKAUiWGYbvF/ftiv4C5APB51jsX0i1dquJyDM9Sl013UzYk6/4uSwidElxiYJa/cjlMV/UUycHCaKXr/D4ixAFCwDlqn8J+mQzntyHF5UYaZwbvd2plsDJ5RBwYz0uwixUEGj7+8cfTrN1zZJvsqN7KVTMa+PESmUec+hKvof6pPHGLVUf1H3YnHmofJwQvfixgK/diPDJzk5ORBFJzx88+WfpblU+p/RVrCZ', 'state': 'absent'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'james-d-laptop', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCevSYNcZeqSuwDwD2Qb396zam12q1UgF5rM04u/nE7MeMZ3ZG6pAst4tjfvCccOrtaq7bZlPTK/huZMw7gspE7pidQ2ZfwiYfoccloor4lSjZ0mH+3vIcbPXsemZ9CwIwQvIImQ1QZ0Bm3MwmoSb4Whpr9/Z8Qut57uQH9MyjSFZX5gKWAbndvKnJ/dCtUKCO46bC3zdazQqva+Bm7a2huxEw4SUtZ5c8fvNNbwQS1SglzVlKAyXfL3zoYyb8jAmt/vO48+U9uBEVFqynay3v0xODWtDNBnKcHt4bUPQpXQ4R1pEt4aNMG96XfoxUH7Gx/tuChpSoa59kmfJ+FTj9F', 'state': 'absent'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'ed-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDLjStOowRzYTHGML/wQHaL+lLJUEMQBfrDtkdYgKJ+oflWVgnUoBkdXOsqUibBBKn1sg2cJetyzuALqdG72uCbt4KMnqRIxjZ80Jq31/UnwcvTorh5EJvVjwxliWWnFNvLlf37MTVoP1gOnhnVTdTzeat8qjrBaOXUhw6rtRlobAtZjZVLYrhFMxk54R9Y2HxY7UTKATCe8eIu72eBEBkL6q0k7AQqykqTs6/UrZTCr6V+jczocC3p0SGzZouS1X71litR1Y2Md8ZsGe8mhqhaVmyeoFEujXPQRgWJ4XRY+kSVUiWPNClqh2Y0XLTnSF90EOstNODCOOT49X096erYLjqaOdhiA7PdshmZ50FYCLvcH7Ip4I1bB/ZRn2/+8TW/aPTdRrCbKg2ZofCHwv+7uG/acQTN22aGUFpOhxBRuhhMWQrU8qLRmkBk2KWhPvnCys2MigrmfDB7CKCkvvbgiECLy1grJyXtkqi+5nfU/7TMIjj76dseRmHlTkZSn5rpaaISB+0paAJoY7iv9H2XsrsS6o5dLYbOES0u+DWwW5SxCgLuHpSN+uHzzf/knB5lBKgh6PFscMnk4ENqVoD1kM8wpCH4+gvf4QUQx1c7/80Z9Ol6dijanj9TpfdhC0JaBgq/98IgEHpyC8G7GH9Vmpds90sQIATMERvkoVJdYw==', 'state': 'absent'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'jim-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDb428TMLqcC9FS+luaWWBQYJZbjoRZc0sM6y8jDlVtAZrL9/qBAPFyjPZtSlfmmwhItPYAkDTOdflPkEy7O9pJszXDVicQc//h7sjOBIFD/DwmWWbzSocnoNYrBL3qNCkVn5O2nev5zZg3p3egUhynDWbegwj82HBLw1cgOT3sOAwZMPg1mNy6YWssUtHodRLvRqvsCdx8jOLGRV/Wjv8NP2bJS4uPNg9oU7kmUsrb53UIHp9EoK1dc9AM8U7HEQpF/aHtieNtdD8Dg8N5nzjfL3tt4nVxWZQdNgTxlqUTK+pVB6zG6pG2fbSjW/P3o96FMWj7LE2AculAUutjZXxR user@App-Dev-iMac.home', 'state': 'absent'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'nick-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDg3Xp2JAWm2614cKUhjhuSDK9RrJspflNsYxlKFKfr4kdD8KJvWpUgkPqeHa0q/gy+Dwk/mhBDd4f0B3C3mXGcp/5DVvaDa5Fyc32H38IwnJ7SGfogePj9egYACoWwAS02Ar4j5nw/A833v4wx2YV8kHkM5UHRcWGqNAIZKOKgg43hsp3FKeJ/ZM8XfAYEVL4Cb7+uoeK7TvIpAuuajQ/3rlC+PS0S6z10a1PS6zqnNKNOj5Y3o98Cz6rKQTWDmR72+I2Eu7MtvuS3ukOxbcf/tsXkhl9fi/BZteiseIedbEBe6nKb+PIn4aiW13AUdozl1RxDxyuupPaKgADTI/2p nicktodd@Dev-Nick-2.local', 'state': 'absent'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'rashid-macbook', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDI1ALCaZaXElLQmRLkYKuz8fCNBdCbs34CW0RdLbfrG6imYJedQtoLdlBvZUupHGbK4tng2Yyr0sctYSjVlMl2vBMVGIh54OgMJFUqBTVlJlvla1LPp84OR6s9UePEFiVf3dxf13SIQRnMr7ZULTZ+cala0Srgc2xYF1pMPRGbkLlEKFwVMLzHRJ6r4LuglRFasoRYeFnEyEp7j9kOi9ElqGDP4rmBvvIqqMIdn8GDaDlukNih+aPEyjUKU2DJ4P2BeUxcI+Dxk3c5l6facB2Cm3CFwdVAbIT0TYYT+etU4mkqU78GJvD4keZ9+DhIhXxzUlLihLUznEKWbmMW6wtlcP2n8Up8iT61IhXgN91BLsOGVcOi/hcLW3WOtrPWtYA2yZ+867nq+VgZghhRO3L/NtRmb1du587E2vDF9l/JSZI0JQ9/hVynKS7eyIJdrp4gs9aXyORfWLOqHitmhs22wdEpLaDrgBnZYqjc6UisqnUWWflzWbUx+3X0bYYtfU6ThV8YA4zy20y4KdEI9N23MgN4QIXI+ul4QmvE2+sT8nIp0v2wJfZlt0GcWsJTEA4W/SxJM7GXS7vfjfRgDZKAS3mIr0713bbCngBd1xjdQXs3GhRVr71CW4VCHfCvCekXLda2g5VbdZOvH2pNIq8zRbW2jF0ZmZHa6FspA4AAIw== rboyko@Users-MacBook-Pro.local', 'state': 'absent'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'tom-mackbook', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCZ7B9tM1YUVH3bXYox7a1WSA1oDi8rhaNynrSLg94t0JrcErtWFZNdG3dZZTuaJP4AIJ8+kadHQaKqlgfpxr9QcnniIuoIOYpRUEvMWofkT/GeYUihSW2/e32w8OIn3PBNTkfNy8I/xL6UaYaZZ3m3RTzXhhAB5aLTuacwv+AyHtW17XUSjNFnKXtX0u+Ya0CRMCxkD+FwnJRinDWj9PC7PujEiMQ8A7s6kCWT/Z6bnf2jfRD4tOqcrNN3gZ3V8u8cF1XAHEA6rU9WhLxXEbaN5QHEtNuMWeQnZ/sHu5AvkkRgqiWL1IGtliv8p9U5clYjxHuoOdl8Ib+Z3QS1uLUmStJ1yMOQSd09vLhZB1dAxN4dKEtEfZY3WgsKtM19ZuoTdK79n1o7Bn1jAVbwPDmF/20nqgTS66IgNfYCExuITDOqTjXexvKwdZH+2bJWUhT42ENSfrbH6fFvyxm51Boqr1s78uOCflE2MdGnHg2u2Z2oV0P10tLxrNCT5HCSD4E= tomfox@Toms-MBP.broadband', 'state': 'absent'})
TASK [radiodotco.authorized-keys : Add authorized keys] ***********************************
ok: [staging-transcoder.radio.co] => (item={'name': 'raul-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAktRQNvPDmnvGZmikaV7LTmEy2+aPdfRYFqo1ydn6KoilXD24a8jd2yvykx+TRJyl2IgIcnr3Hare1rGbXc3FcUdRfKa2sESWi5ddSQW8K+nVczetPiOwgXlWWSUUQgGNWA+98yXNVjoXH+uqWgil0QpjgEWenHH3Rwbqx+PoDQ09bc533LCegtuH7oWBSHdv72C3A1Jc+A6uuHiK0HSlPGJ08fw2/0+PslGzuBTEDLsqsxf/+V+Zd24+jEhyrxb58WmGlQBUGzWJ5Tzt3eRaUPxJyjmEs5unL7vJIQ/RYcjqR3WRqdA8Wi7QFEgdbll7+Mfr9YKBdOWeNZQT6cjBYw=='})
ok: [staging-transcoder.radio.co] => (item={'name': 'circleci-transcoder', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTWBALVJ1MgkVNEYbDRlqVOIMRigQRmPgunpOBashxPYgxfFho8eIHEHVqc+9GassXVoBxLtDpkYjvJw7q9hwIo2HEyUz2Y8NnRcb9EIcnYpYSTEr1t140PqqNv21NgYt0KIqzwj/DkXSF8lLbwBdqi2ZolGxbQIAU3ZYMBNIBlH+hexidgtBIUe/8KaOEIuw5+g6GmQicyLaq9Ua5vAXGDuK8eIRMk16juv9Tiqh+/ZhKg0G86dwlniyci/pRQtD2VZOlgSpjSJnsevu1Odg/82wEGugUMcLsBjx5oIuwxtlPFTWML72Ukc5TSFguhmf40PtFcasEQyxACAdouwVmUVa6so+urNiBf9nucgUgu7OYOYcaNgeRw9y7NpBEtU2M/xuzxML0onzCQJSrLe+8NoGsGnJ4n3vUnVteIqw/sFk0aRExWkRIIiK0uXnbcG+Vd6a25/CU7h4JCsnW2GvtprJs+Hj9GKrX0QxM6Xn/0GOGLjhsGnyicWQToGf2+3x/FXjEnxrjHVkphxKlqVxwwk5Ctxb88HvC9rxVSm1jk7yYvZ4HQ1myJ24jPK7HV63fkJSSB9BML+A3q3n69uoKJVCYwiZ+JGz2dgNc8/TsAQWWsC5RXyWBUHLEzKmf4uVtwCzwk3Osqq7AX8tBMwFiOuTKwcH7HpN0YJ/xK75rkQ=='})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'raul-office', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAktRQNvPDmnvGZmikaV7LTmEy2+aPdfRYFqo1ydn6KoilXD24a8jd2yvykx+TRJyl2IgIcnr3Hare1rGbXc3FcUdRfKa2sESWi5ddSQW8K+nVczetPiOwgXlWWSUUQgGNWA+98yXNVjoXH+uqWgil0QpjgEWenHH3Rwbqx+PoDQ09bc533LCegtuH7oWBSHdv72C3A1Jc+A6uuHiK0HSlPGJ08fw2/0+PslGzuBTEDLsqsxf/+V+Zd24+jEhyrxb58WmGlQBUGzWJ5Tzt3eRaUPxJyjmEs5unL7vJIQ/RYcjqR3WRqdA8Wi7QFEgdbll7+Mfr9YKBdOWeNZQT6cjBYw=='})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'circleci-transcoder', 'key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTWBALVJ1MgkVNEYbDRlqVOIMRigQRmPgunpOBashxPYgxfFho8eIHEHVqc+9GassXVoBxLtDpkYjvJw7q9hwIo2HEyUz2Y8NnRcb9EIcnYpYSTEr1t140PqqNv21NgYt0KIqzwj/DkXSF8lLbwBdqi2ZolGxbQIAU3ZYMBNIBlH+hexidgtBIUe/8KaOEIuw5+g6GmQicyLaq9Ua5vAXGDuK8eIRMk16juv9Tiqh+/ZhKg0G86dwlniyci/pRQtD2VZOlgSpjSJnsevu1Odg/82wEGugUMcLsBjx5oIuwxtlPFTWML72Ukc5TSFguhmf40PtFcasEQyxACAdouwVmUVa6so+urNiBf9nucgUgu7OYOYcaNgeRw9y7NpBEtU2M/xuzxML0onzCQJSrLe+8NoGsGnJ4n3vUnVteIqw/sFk0aRExWkRIIiK0uXnbcG+Vd6a25/CU7h4JCsnW2GvtprJs+Hj9GKrX0QxM6Xn/0GOGLjhsGnyicWQToGf2+3x/FXjEnxrjHVkphxKlqVxwwk5Ctxb88HvC9rxVSm1jk7yYvZ4HQ1myJ24jPK7HV63fkJSSB9BML+A3q3n69uoKJVCYwiZ+JGz2dgNc8/TsAQWWsC5RXyWBUHLEzKmf4uVtwCzwk3Osqq7AX8tBMwFiOuTKwcH7HpN0YJ/xK75rkQ=='})
TASK [mrlesmithjr.netdata : include_tasks] ************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/mrlesmithjr.netdata/tasks/set_facts.yml for staging-transcoder.radio.co, deb11.transcoder.staging.radio.co
TASK [mrlesmithjr.netdata : set_facts | Defining Debian Packages] *************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : set_facts | Defining Debian Packages] *************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : debian | Installing git] **************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : debian | Installing iproute Package] **************************
skipping: [deb11.transcoder.staging.radio.co]
ok: [staging-transcoder.radio.co]
TASK [mrlesmithjr.netdata : redhat | Install git] *****************************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : redhat | Check if EPEL repo is already configured.] ***********
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : redhat | Install EPEL repo.] **********************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : redhat | Import EPEL GPG key.] ********************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : redhat | install okay repo] ***********************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : install | Defining Auto Update CLI Option] ********************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : install | Cloning https://github.com/netdata/netdata.git to /usr/local/src/netdata] ***
ok: [deb11.transcoder.staging.radio.co]
ok: [staging-transcoder.radio.co]
TASK [mrlesmithjr.netdata : use Netdata dependencies installation] ************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : install | Installing Netdata (./netdata-installer.sh) From /usr/local/src/netdata] ***
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : config | Configuring Netdata] *********************************
diff skipped: destination file size is greater than 104448
diff skipped: source file size is greater than 104448
changed: [staging-transcoder.radio.co]
diff skipped: destination file size is greater than 104448
diff skipped: source file size is greater than 104448
changed: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : config | Configuring Netdata Alarm Notifications] *************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : config | Configuring Netdata streaming] ***********************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : config | Configuring Netdata Service (systemd)] ***************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : config | Configuring Netdata Service (upstart|sysvinit) - Debian] ***
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : config | Configuring Netdata Service (upstart|sysvinit) - RedHat] ***
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : update | Updating Netdata (./netdata-updater.sh) From /usr/local/src/netdata] ***
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : update | Force Updating Netdata (./netdata-updater.sh) From /usr/local/src/netdata] ***
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : auto_updates | Setting Up Cron Job For Auto Updates] **********
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : uninstall | Prepping For Uninstalling Netdata] ****************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : uninstall | Prepping For Uninstalling Netdata] ****************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : uninstall | Uninstalling Netdata] *****************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : uninstall | Cleaning Up After Uninstalling Netdata] ***********
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [mrlesmithjr.netdata : uninstall | Cleaning Up After Uninstalling Netdata] ***********
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [radiodotco.netdata : Radioco Netdata | Apply netdata.conf template] *****************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [radiodotco.netdata : Radioco Netdata | Restarting netdataNetdata] Radio.co specific application metrics] ***
--- before: /etc/netdata/apps_groups.conf (content)
+++ after: /etc/netdata/apps_groups.conf (content)
@@ -232,3 +232,12 @@
# -----------------------------------------------------------------------------
# Radio.co specific application metrics - liquidsoap
+
+# -----------------------------------------------------------------------------
+# Radio.co specific application metrics - icecast
+
+icecast: *icecast*
+
+# -----------------------------------------------------------------------------
+# Radio.co specific application metrics - icecast
+
changed: [staging-transcoder.radio.co] => (item={'name': 'icecast', 'process': '*icecast*'})
--- before: /etc/netdata/apps_groups.conf (content)
+++ after: /etc/netdata/apps_groups.conf (content)
@@ -232,3 +232,12 @@
# -----------------------------------------------------------------------------
# Radio.co specific application metrics - liquidsoap
+
+# -----------------------------------------------------------------------------
+# Radio.co specific application metrics - liquidsoap
+
+liquidsoap: *liquidsoap*
+
+# -----------------------------------------------------------------------------
+# Radio.co specific application metrics - liquidsoap
+
changed: [staging-transcoder.radio.co] => (item={'name': 'liquidsoap', 'process': '*liquidsoap*'})
--- before: /etc/netdata/apps_groups.conf (content)
+++ after: /etc/netdata/apps_groups.conf (content)
@@ -106,3 +106,12 @@
# -----------------------------------------------------------------------------
# Radio.co specific application metrics - liquidsoap
+
+# -----------------------------------------------------------------------------
+# Radio.co specific application metrics - icecast
+
+icecast: *icecast*
+
+# -----------------------------------------------------------------------------
+# Radio.co specific application metrics - icecast
+
changed: [deb11.transcoder.staging.radio.co] => (item={'name': 'icecast', 'process': '*icecast*'})
--- before: /etc/netdata/apps_groups.conf (content)
+++ after: /etc/netdata/apps_groups.conf (content)
@@ -106,3 +106,12 @@
# -----------------------------------------------------------------------------
# Radio.co specific application metrics - liquidsoap
+
+# -----------------------------------------------------------------------------
+# Radio.co specific application metrics - liquidsoap
+
+liquidsoap: *liquidsoap*
+
+# -----------------------------------------------------------------------------
+# Radio.co specific application metrics - liquidsoap
+
changed: [deb11.transcoder.staging.radio.co] => (item={'name': 'liquidsoap', 'process': '*liquidsoap*'})
TASK [geerlingguy.certbot : Load a variable file based on the OS type, or a default if not found.] ***
ok: [staging-transcoder.radio.co] => (item=/home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.certbot/vars/default.yml)
ok: [deb11.transcoder.staging.radio.co] => (item=/home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.certbot/vars/default.yml)
TASK [geerlingguy.certbot : Install Certbot.] *********************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.certbot : Set Certbot script variable.] *********************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.certbot : Clone Certbot into configured directory.] *********************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.certbot : Set Certbot script variable.] *********************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.certbot : Ensure certbot-auto is executable.] ***************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.certbot : include_tasks] ************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.certbot/tasks/create-cert-standalone.yml for staging-transcoder.radio.co
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.certbot/tasks/create-cert-standalone.yml for deb11.transcoder.staging.radio.co
TASK [geerlingguy.certbot : Check if certificate already exists.] *************************
ok: [staging-transcoder.radio.co]
TASK [geerlingguy.certbot : Stop services to allow certbot to generate a cert.] ***********
skipping: [staging-transcoder.radio.co] => (item=nginx)
TASK [geerlingguy.certbot : Generate new certificate if one doesn't exist.] ***************
skipping: [staging-transcoder.radio.co]
TASK [geerlingguy.certbot : Start services after cert has been generated.] ****************
skipping: [staging-transcoder.radio.co] => (item=nginx)
TASK [geerlingguy.certbot : Check if certificate already exists.] *************************
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.certbot : Stop services to allow certbot to generate a cert.] ***********
skipping: [deb11.transcoder.staging.radio.co] => (item=nginx)
TASK [geerlingguy.certbot : Generate new certificate if one doesn't exist.] ***************
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.certbot : Start services after cert has been generated.] ****************
skipping: [deb11.transcoder.staging.radio.co] => (item=nginx)
TASK [geerlingguy.certbot : Add cron job for certbot renewal (if configured).] ************
--- before: crontab for user "root"
+++ after: crontab for user "root"
@@ -1,4 +1,4 @@
#Ansible: Restart pull worker 10 minutes after schedule pulled
33 * * * * /usr/bin/monit restart pull_schedule_worker
#Ansible: Certbot automatic renewal.
-34 5 * * * certbot renew --quiet --no-self-upgrade
+41 6 * * * certbot renew --quiet --no-self-upgrade
changed: [staging-transcoder.radio.co]
--- before: crontab for user "root"
+++ after: crontab for user "root"
@@ -1,4 +1,4 @@
#Ansible: Certbot automatic renewal.
-51 3 * * * certbot renew --quiet --no-self-upgrade
+11 4 * * * certbot renew --quiet --no-self-upgrade
#Ansible: Restart pull worker 10 minutes after schedule pulled
#22 * * * * /usr/bin/monit restart pull_schedule_worker
changed: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.pip : Ensure Pip is installed.] *****************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.pip : Ensure pip_install_packages are installed.] ***********************
ok: [staging-transcoder.radio.co] => (item={'name': 'requests', 'state': 'present'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'requests', 'state': 'present'})
TASK [geerlingguy.mysql : include_tasks] **************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.mysql/tasks/variables.yml for staging-transcoder.radio.co, deb11.transcoder.staging.radio.co
TASK [geerlingguy.mysql : Include OS-specific variables.] *********************************
ok: [staging-transcoder.radio.co] => (item=/home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.mysql/vars/Debian.yml)
ok: [deb11.transcoder.staging.radio.co] => (item=/home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.mysql/vars/Debian.yml)
TASK [geerlingguy.mysql : Define mysql_packages.] *****************************************
ok: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Define mysql_daemon.] *******************************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Define mysql_slow_query_log_file.] ******************************
ok: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Define mysql_log_error.] ****************************************
ok: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Define mysql_syslog_tag.] ***************************************
ok: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Define mysql_pid_file.] *****************************************
ok: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Define mysql_config_file.] **************************************
ok: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Define mysql_config_include_dir.] *******************************
ok: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Define mysql_socket.] *******************************************
ok: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Define mysql_supports_innodb_large_prefix.] *********************
ok: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : include_tasks] **************************************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : include_tasks] **************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.mysql/tasks/setup-Debian.yml for staging-transcoder.radio.co, deb11.transcoder.staging.radio.co
TASK [geerlingguy.mysql : Check if MySQL is already installed.] ***************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Update apt cache if MySQL is not yet installed.] ****************
skipping: [staging-transcoder.radio.co]
changed: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Ensure MySQL Python libraries are installed.] *******************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Ensure MySQL packages are installed.] ***************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Ensure MySQL is stopped after initial install.] *****************
skipping: [staging-transcoder.radio.co]
changed: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Delete innodb log files created by apt package after initial install.] ***
skipping: [staging-transcoder.radio.co] => (item=ib_logfile0)
skipping: [staging-transcoder.radio.co] => (item=ib_logfile1)
--- before
+++ after
@@ -1,4 +1,4 @@
{
"path": "/var/lib/mysql/ib_logfile0",
- "state": "file"
+ "state": "absent"
}
changed: [deb11.transcoder.staging.radio.co] => (item=ib_logfile0)
ok: [deb11.transcoder.staging.radio.co] => (item=ib_logfile1)
TASK [geerlingguy.mysql : include_tasks] **************************************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Check if MySQL packages were installed.] ************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : include_tasks] **************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.mysql/tasks/configure.yml for staging-transcoder.radio.co, deb11.transcoder.staging.radio.co
TASK [geerlingguy.mysql : Get MySQL version.] *********************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Copy my.cnf global MySQL configuration.] ************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Verify mysql include directory exists.] *************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Copy my.cnf override files into include directory.] *************
ok: [staging-transcoder.radio.co] => (item={'src': 'templates/mysql_charset_config.cnf', 'force': True})
ok: [deb11.transcoder.staging.radio.co] => (item={'src': 'templates/mysql_charset_config.cnf', 'force': True})
TASK [geerlingguy.mysql : Create slow query log file (if configured).] ********************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Create datadir if it does not exist] ****************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Set ownership on slow query log file (if configured).] **********
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Create error log file (if configured).] *************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Set ownership on error log file (if configured).] ***************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Ensure MySQL is started and enabled on boot.] *******************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : include_tasks] **************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.mysql/tasks/secure-installation.yml for staging-transcoder.radio.co, deb11.transcoder.staging.radio.co
TASK [geerlingguy.mysql : Ensure default user is present.] ********************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Copy user-my.cnf file with password credentials.] ***************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Disallow root login remotely] ***********************************
skipping: [staging-transcoder.radio.co] => (item=DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'))
skipping: [deb11.transcoder.staging.radio.co] => (item=DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'))
TASK [geerlingguy.mysql : Get list of hosts for the root user.] ***************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Update MySQL root password for localhost root account (5.7.x).] ***
TASK [geerlingguy.mysql : Update MySQL root password for localhost root account (< 5.7.x).] ***
TASK [geerlingguy.mysql : Copy .my.cnf file with root password credentials.] **************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Get list of hosts for the anonymous user.] **********************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Remove anonymous MySQL users.] **********************************
TASK [geerlingguy.mysql : Remove MySQL test database.] ************************************
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : include_tasks] **************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.mysql/tasks/databases.yml for staging-transcoder.radio.co, deb11.transcoder.staging.radio.co
TASK [geerlingguy.mysql : Ensure MySQL databases are present.] ****************************
ok: [staging-transcoder.radio.co] => (item={'name': 'transcoder', 'encoding': 'utf8', 'collation': 'utf8_general_ci'})
ok: [staging-transcoder.radio.co] => (item={'name': 'transcoder_test', 'encoding': 'utf8', 'collation': 'utf8_general_ci'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'transcoder', 'encoding': 'utf8', 'collation': 'utf8_general_ci'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'transcoder_test', 'encoding': 'utf8', 'collation': 'utf8_general_ci'})
TASK [geerlingguy.mysql : include_tasks] **************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.mysql/tasks/users.yml for staging-transcoder.radio.co, deb11.transcoder.staging.radio.co
TASK [geerlingguy.mysql : Ensure MySQL users are present.] ********************************
ok: [staging-transcoder.radio.co] => (item=None)
ok: [staging-transcoder.radio.co] => (item=None)
ok: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co] => (item=None)
ok: [deb11.transcoder.staging.radio.co] => (item=None)
ok: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : include_tasks] **************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/geerlingguy.mysql/tasks/replication.yml for staging-transcoder.radio.co, deb11.transcoder.staging.radio.co
TASK [geerlingguy.mysql : Ensure replication user exists on master.] **********************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Check slave replication status.] ********************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Check master replication status.] *******************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Configure replication on the slave.] ****************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [geerlingguy.mysql : Start replication.] *********************************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [ansible-rclone : Gather OS specific variables] **************************************
ok: [staging-transcoder.radio.co] => (item=/home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/ansible-rclone/vars/Debian.yml)
ok: [deb11.transcoder.staging.radio.co] => (item=/home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/ansible-rclone/vars/Debian.yml)
TASK [ansible-rclone : Update repositories cache on Ubuntu] *******************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [ansible-rclone : Install required packages] *****************************************
ok: [staging-transcoder.radio.co] => (item=unzip)
ok: [staging-transcoder.radio.co] => (item=man-db)
ok: [deb11.transcoder.staging.radio.co] => (item=unzip)
ok: [deb11.transcoder.staging.radio.co] => (item=man-db)
TASK [ansible-rclone : Create temporary working directory] ********************************
--- before
+++ after
@@ -1,4 +1,4 @@
{
"path": "/tmp/rclone_setup",
- "state": "absent"
+ "state": "directory"
}
changed: [staging-transcoder.radio.co]
ok: [deb11.transcoder.staging.radio.co]
TASK [ansible-rclone : Do stable install] *************************************************
included: /home/ahmedbodi/work/radio.co/Transcoder.deb8/provisioning/roles/vendor/ansible-rclone/tasks/stable.yml for staging-transcoder.radio.co, deb11.transcoder.staging.radio.co
TASK [ansible-rclone : Check latest stable rclone version number] *************************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [ansible-rclone : Set variable to latest stable version number] **********************
skipping: [staging-transcoder.radio.co]
skipping: [deb11.transcoder.staging.radio.co]
TASK [ansible-rclone : Get rclone stable version 1.51.0] **********************************
fatal: [staging-transcoder.radio.co]: FAILED! => {"changed": false, "msg": "dest '/tmp/rclone_setup' must be an existing dir"}
skipping: [deb11.transcoder.staging.radio.co]
TASK [ansible-rclone : Do beta install] ***************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [ansible-rclone : Copy rclone binary] ************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [ansible-rclone : Create config directory] *******************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [ansible-rclone : Set up rclone config] **********************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [ansible-rclone : Make dir for local manpages] ***************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [ansible-rclone : Copy rclone manpage] ***********************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [ansible-rclone : Update mandb] ******************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [Download mkcert] ********************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [Install Dev Certificates] ***********************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [shell] ******************************************************************************
changed: [deb11.transcoder.staging.radio.co]
TASK [apt] ********************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [add nodesource.list] ****************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [add nodesource key] *****************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [apt] ********************************************************************************
The following packages will be upgraded:
nodejs
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
changed: [deb11.transcoder.staging.radio.co]
TASK [Install Yarn] ***********************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [command] ****************************************************************************
changed: [deb11.transcoder.staging.radio.co]
TASK [[LibSodium] Downloading Source] *****************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [[LibSodium] Extracting Source] ******************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [[LibSodium] Setting up AutoMake] ****************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [[LibSodium] Configuring Build] ******************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [[LibSodium] Building] ***************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [[LibSodium] Install] ****************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [[LibSodium] Link] *******************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [command] ****************************************************************************
changed: [deb11.transcoder.staging.radio.co]
TASK [[Taglib] Clone] *********************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [[TagLib] CMake] *********************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [[TagLib] Installing] ****************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [slack] ******************************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [file] *******************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [get code] ***************************************************************************
diff --git a/Vagrantfile b/Vagrantfile
index d42de2cd..981ecf74 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -7,8 +7,10 @@ Vagrant.configure("2") do |config|
# please see the online documentation at vagrantup.com.
config.vm.define "vagrant-transcoder.radio.co", autostart: true, primary: true do |t|
- t.vm.box = "generic/debian9"
+ # We support the latest release and 3 previous versions
#t.vm.box = "generic/debian8"
+ #t.vm.box = "generic/debian9"
+ t.vm.box = "generic/debian11"
t.vm.synced_folder "./", "/home/transcoder"
diff --git a/command/jobWorkerCommand.js b/command/jobWorkerCommand.js
index a204670f..a6545949 100644
--- a/command/jobWorkerCommand.js
+++ b/command/jobWorkerCommand.js
@@ -10,7 +10,6 @@ module.exports = function (commander) {
* @return {Promise}
*/
async function deletePidFileAndExit() {
- let e;
try {
await Promise.all(
Object.keys(jobs.queues).map(async (queueName) => {
@@ -19,11 +18,10 @@ module.exports = function (commander) {
}),
);
} catch (err) {
- e = err;
captureException(err, 'jobWorkerCommandShutdown', 'Command');
err && console.log('Kue err', err);
+ safeExit(err ? 1 : 0);
}
- safeExit(e ? 1 : 0);
}
function ensurePidFile() {
diff --git a/command/scheduleCommand.js b/command/scheduleCommand.js
index a5b277d0..4dead321 100644
--- a/command/scheduleCommand.js
+++ b/command/scheduleCommand.js
@@ -217,7 +217,7 @@ module.exports = function (commander) {
return s.remove(id);
})
- .then(
+ .done(
() => safeExit(),
(err) => {
captureException(err, 'schedule:remove <station> <id>', 'Command');
diff --git a/command/stationCommand.js b/command/stationCommand.js
index 78f5edaf..86241a9d 100644
--- a/command/stationCommand.js
+++ b/command/stationCommand.js
@@ -159,7 +159,7 @@ module.exports = function (commander) {
.then(function () {
console.log(response);
})
- .then(
+ .done(
() => safeExit(),
() => safeExit(1),
);
@@ -244,7 +244,7 @@ module.exports = function (commander) {
.then(function () {
console.log('Skipping track...');
})
- .then(
+ .done(
() => safeExit(),
(err) => {
captureException(
diff --git a/lib/common/utils.js b/lib/common/utils.js
index 9aefbc01..298c9637 100644
--- a/lib/common/utils.js
+++ b/lib/common/utils.js
@@ -18,20 +18,13 @@ exports.delay = function (ms) {
* @param {number} code The error code to exit with
*/
exports.safeExit = async (code) => {
- let result;
-
- try {
- result = await getCurrentHub().getClient().close(2000);
- if (!result) {
- console.error(
- 'We reached the timeout for emptying the request buffer, still exiting now!',
- );
- }
- }catch (err) {
- console.error('Sentry didnt exit cleanly');
- console.error(err);
- }
+ const result = await getCurrentHub().getClient().close(2000);
+ if (!result) {
+ console.log(
+ 'We reached the timeout for emptying the request buffer, still exiting now!',
+ );
+ }
if (isNaN(code)) {
process.exit();
}
diff --git a/lib/jobs/metadata.js b/lib/jobs/metadata.js
index fa8a241c..63574d88 100644
--- a/lib/jobs/metadata.js
+++ b/lib/jobs/metadata.js
@@ -16,7 +16,7 @@ function Metadata(
this.jobs = jobs;
this.logger = logger;
this.name = jobs.queues.metadata;
- this.workers = 5;
+ this.workers = 2;
}
Metadata.prototype = new Job();
diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json
index b0d8cfd4..8c901c37 100644
--- a/npm-shrinkwrap.json
+++ b/npm-shrinkwrap.json
@@ -9,13 +9,13 @@
"@bull-board/express": "^3.10.0",
"@sentry/node": "^6.18.2",
"amqplib": "0.8.0",
- "aws-sdk": "2.1096.*",
+ "aws-sdk": "2.1094.*",
"axios": "^0.26.1",
"axios-cache-adapter": "^2.4.1",
"body-parser": "1.19.2",
- "bull": "^4.8.1",
+ "bull": "^4.7.0",
"busboy": "1.5.0",
- "commander": "9.1.*",
+ "commander": "9.0.*",
"console.table": "0.10.0",
"dateformat": "4.x",
"express": "4.17.3",
@@ -55,7 +55,7 @@
"mocha": "9.x",
"mock-fs": "^5.1.2",
"nock": "~13.2.4",
- "prettier": "^2.6.0",
+ "prettier": "^2.5.1",
"sinon": "~13.0.1",
"supertest": "^6.2.2"
},
@@ -785,9 +785,9 @@
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"node_modules/aws-sdk": {
- "version": "2.1096.0",
- "resolved": "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1096.0.tgz",
- "integrity": "sha512-q+hotU57U8bGpz1pf5CkO4z630ay0xGJ9HedahKPZ0Xk3/X0GH+QFYPBWJ5IMTtO30bjfPH0zTaL2vJmMXLBrQ==",
+ "version": "2.1094.0",
+ "resolved": "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1094.0.tgz",
+ "integrity": "sha512-g/pjEl1JKs8+UZSdfdTMwUh7oNSWy6LXkjd0WfI3TBVgU5+yE5bd1VtAiJxJ/kIOFwcWyGPy0fNkGjAqL6NAGw==",
"dependencies": {
"buffer": "4.9.2",
"events": "1.1.1",
@@ -990,9 +990,9 @@
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"node_modules/bull": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/bull/-/bull-4.8.1.tgz",
- "integrity": "sha512-ojH5AfOchKQsQwwE+thViS1pMpvREGC+Ov1+3HXsQqn5Q27ZSGkgMriMqc6c9J9rvQ/+D732pZE+TN1+2LRWVg==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/bull/-/bull-4.7.0.tgz",
+ "integrity": "sha512-rnJIsuXrDjDlz3HMHz6xobiRZAWe3o4MJBkzx7FdUjO+K2nSYrhR2KpcL+ZCNUMPKtONxL4DqmRjat5SBHFlAw==",
"dependencies": {
"cron-parser": "^4.2.1",
"debuglog": "^1.0.0",
@@ -1177,9 +1177,9 @@
}
},
"node_modules/commander": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-9.1.0.tgz",
- "integrity": "sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-9.0.0.tgz",
+ "integrity": "sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw==",
"engines": {
"node": "^12.20.0 || >=14"
}
@@ -4171,18 +4171,15 @@
}
},
"node_modules/prettier": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz",
- "integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==",
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz",
+ "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==",
"dev": true,
"bin": {
"prettier": "bin-prettier.js"
},
"engines": {
"node": ">=10.13.0"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/progress": {
@@ -6623,9 +6620,9 @@
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"aws-sdk": {
- "version": "2.1096.0",
- "resolved": "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1096.0.tgz",
- "integrity": "sha512-q+hotU57U8bGpz1pf5CkO4z630ay0xGJ9HedahKPZ0Xk3/X0GH+QFYPBWJ5IMTtO30bjfPH0zTaL2vJmMXLBrQ==",
+ "version": "2.1094.0",
+ "resolved": "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1094.0.tgz",
+ "integrity": "sha512-g/pjEl1JKs8+UZSdfdTMwUh7oNSWy6LXkjd0WfI3TBVgU5+yE5bd1VtAiJxJ/kIOFwcWyGPy0fNkGjAqL6NAGw==",
"requires": {
"buffer": "4.9.2",
"events": "1.1.1",
@@ -6796,9 +6793,9 @@
"integrity": "sha512-EMetuGFz5SLsT0QTnXzINh4Ksr+oo4i+UGTXEshiGCQWnsgSs7ZhJ8fzlwQ+OzEMs0MpDAMr1hxnblp5a4vcHg=="
},
"bull": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/bull/-/bull-4.8.1.tgz",
- "integrity": "sha512-ojH5AfOchKQsQwwE+thViS1pMpvREGC+Ov1+3HXsQqn5Q27ZSGkgMriMqc6c9J9rvQ/+D732pZE+TN1+2LRWVg==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/bull/-/bull-4.7.0.tgz",
+ "integrity": "sha512-rnJIsuXrDjDlz3HMHz6xobiRZAWe3o4MJBkzx7FdUjO+K2nSYrhR2KpcL+ZCNUMPKtONxL4DqmRjat5SBHFlAw==",
"requires": {
"cron-parser": "^4.2.1",
"debuglog": "^1.0.0",
@@ -6941,9 +6938,9 @@
}
},
"commander": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-9.1.0.tgz",
- "integrity": "sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w=="
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-9.0.0.tgz",
+ "integrity": "sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw=="
},
"component-emitter": {
"version": "1.3.0",
@@ -9185,9 +9182,9 @@
"dev": true
},
"prettier": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz",
- "integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==",
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz",
+ "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==",
"dev": true
},
"progress": {
diff --git a/package.json b/package.json
index 9db41821..07406c9c 100644
--- a/package.json
+++ b/package.json
@@ -8,13 +8,13 @@
"@bull-board/express": "^3.10.0",
"@sentry/node": "^6.18.2",
"amqplib": "0.8.0",
- "aws-sdk": "2.1096.*",
+ "aws-sdk": "2.1094.*",
"axios": "^0.26.1",
"axios-cache-adapter": "^2.4.1",
"body-parser": "1.19.2",
- "bull": "^4.8.1",
+ "bull": "^4.7.0",
"busboy": "1.5.0",
- "commander": "9.1.*",
+ "commander": "9.0.*",
"console.table": "0.10.0",
"dateformat": "4.x",
"express": "4.17.3",
@@ -54,7 +54,7 @@
"mocha": "9.x",
"mock-fs": "^5.1.2",
"nock": "~13.2.4",
- "prettier": "^2.6.0",
+ "prettier": "^2.5.1",
"sinon": "~13.0.1",
"supertest": "^6.2.2"
},
diff --git a/provisioning/bootstrap_playbook.yml b/provisioning/bootstrap_playbook.yml
index 441449d8..3ba9ce44 100644
--- a/provisioning/bootstrap_playbook.yml
+++ b/provisioning/bootstrap_playbook.yml
@@ -3,6 +3,7 @@
- all
vars_files:
- vars.yml
+ - "vars/{{ ansible_facts['distribution'] }}/{{ ansible_facts['distribution_major_version'] }}.yml"
become: true
tasks:
@@ -20,13 +21,11 @@
group={{ deploy_user }}
tags: [user]
+ - name: Install Sudo
+ apt: pkg=sudo state=latest update-cache=yes
+
- include_tasks: tasks/ssh.yml
- - template:
- src=templates/packages_dotdeb_org.list
- dest=/etc/apt/sources.list.d/packages_dotdeb_org.list owner=root
- - apt_key: url=http://www.dotdeb.org/dotdeb.gpg state=present
+ - include_tasks: tasks/system/ssl.yml
+ - include_tasks: tasks/system/apt.yml
- #packages
- - apt: pkg={{ item }} state=latest update-cache=yes
- with_items: '{{ system_packages }}'
diff --git a/provisioning/certbot_playbook.yml b/provisioning/certbot_playbook.yml
index ae0e0f0e..f5cbe646 100644
--- a/provisioning/certbot_playbook.yml
+++ b/provisioning/certbot_playbook.yml
@@ -4,6 +4,7 @@
- staging
vars_files:
- vars.yml
+ - "vars/{{ ansible_facts['distribution'] }}/{{ ansible_facts['distribution_major_version'] }}.yml"
become: true
pre_tasks:
diff --git a/provisioning/group_vars/all.yml b/provisioning/group_vars/all.yml
index 1c821edf..96c3cae2 100644
--- a/provisioning/group_vars/all.yml
+++ b/provisioning/group_vars/all.yml
@@ -135,7 +135,7 @@ rclone_password: backups
pip_package: python3-pip
pip_install_packages:
- name: requests
- state: latest
+ state: present
signalfx_enabled: false
signalfx_token: "..."
diff --git a/provisioning/playbook.yml b/provisioning/playbook.yml
index d78205f6..60224956 100644
--- a/provisioning/playbook.yml
+++ b/provisioning/playbook.yml
@@ -9,6 +9,7 @@
- hosts: all
vars_files:
- vars.yml
+ - "vars/{{ ansible_facts['distribution'] }}/{{ ansible_facts['distribution_major_version'] }}.yml"
become: true
handlers:
@@ -17,19 +18,19 @@
- import_tasks: handlers.yml
roles:
- - { role: 'nickdtodd.system-limits', tags: setSocketLimits }
- - { role: tersmitten.timezone, tags: timezone }
- - { role: nickhammond.logrotate, tags: logrotate }
+ - { role: 'nickdtodd.system-limits', tags: [setSocketLimits] }
+ - { role: tersmitten.timezone, tags: [timezone] }
+ - { role: nickhammond.logrotate, tags: [logrotate] }
- {
role: liquidsoap,
liquidsoap_user: '{{ deploy_user }}',
- tags: liquidsoap,
+ tags: [liquidsoap],
}
- - { role: radiodotco.authorized-keys, tags: authorized-keys }
+ - { role: radiodotco.authorized-keys, tags: [authorized-keys] }
- { role: radiodotco.netdata, tags: [netdata], when: env != "dev" }
- { role: geerlingguy.certbot, tags: [certbot], when: env != 'dev' }
- - { role: geerlingguy.mysql, tags: mysql }
- - { role: geerlingguy.pip, tags: [backups] }
+ - { role: geerlingguy.pip, tags: [backups, mysql] }
+ - { role: geerlingguy.mysql, tags: [mysql] }
- { role: ansible-rclone, tags: [backups] }
tasks:
diff --git a/provisioning/post_restore_playbook.yml b/provisioning/post_restore_playbook.yml
index 24edc82b..ba75b4bb 100644
--- a/provisioning/post_restore_playbook.yml
+++ b/provisioning/post_restore_playbook.yml
@@ -3,6 +3,7 @@
- all
vars_files:
- vars.yml
+ - "vars/{{ ansible_facts['distribution'] }}/{{ ansible_facts['distribution_major_version'] }}.yml"
vars:
backups_enabled: yes
become: true
diff --git a/provisioning/requirements.yml b/provisioning/requirements.yml
index ab14ba4c..02c14317 100644
--- a/provisioning/requirements.yml
+++ b/provisioning/requirements.yml
@@ -14,7 +14,7 @@
- name: radiodotco.netdata
scm: git
src: git@github.com:Radiodotco/ansible-role-netdata.git
- version: v1.3
+ version: v1.4.1
- name: geerlingguy.certbot
version: "3.0.2"
diff --git a/provisioning/restore_playbook.yml b/provisioning/restore_playbook.yml
index 728a2098..194cdcda 100644
--- a/provisioning/restore_playbook.yml
+++ b/provisioning/restore_playbook.yml
@@ -3,6 +3,7 @@
- all
vars_files:
- vars.yml
+ - "vars/{{ ansible_facts['distribution'] }}/{{ ansible_facts['distribution_major_version'] }}.yml"
vars:
backups_enabled: yes
become: true
diff --git a/provisioning/roles/liquidsoap/tasks/system-dependencies.yml b/provisioning/roles/liquidsoap/tasks/system-dependencies.yml
index 97f2eda9..3f58ac09 100644
--- a/provisioning/roles/liquidsoap/tasks/system-dependencies.yml
+++ b/provisioning/roles/liquidsoap/tasks/system-dependencies.yml
@@ -1,16 +1,4 @@
---
-- name: Disable Apt check-valid-until
- when: ansible_distribution_release == 'jessie'
- shell:
- echo 'Acquire::Check-Valid-Until no;' >
- /etc/apt/apt.conf.d/99no-check-valid-until
-
-- name: Ensure Bubblewrap repository
- when: ansible_distribution_release == 'jessie'
- apt_repository:
- repo: deb http://archive.debian.org/debian jessie-backports main
- state: latest
-
- name: Install system dependencies
apt: pkg={{ item }} state=latest
with_items:
@@ -30,18 +18,16 @@
- libtool
- bubblewrap # required for environment isolation
- ocaml # required for opam
-
-- apt: pkg=libtool-bin state=latest
- when: ansible_distribution_release >= "8"
+ - libtool-bin
# Install fdk-aac
- shell:
wget
- https://sourceforge.net/projects/opencore-amr/files/fdk-aac/fdk-aac-0.1.6.tar.gz/download
+ https://github.com/mstorsjo/fdk-aac/archive/refs/tags/v0.1.6.tar.gz
-O fdk-aac-0.1.6.tar.gz creates=/usr/lib/libfdk-aac.so
- shell:
tar -xzf fdk-aac-0.1.6.tar.gz && rm fdk-aac-0.1.6.tar.gz
creates=/usr/lib/libfdk-aac.so
- shell:
- cd fdk-aac-0.1.6 && ./configure --prefix /usr && make && sudo make install
+ cd fdk-aac-0.1.6 && ./autogen.sh && ./configure --prefix /usr && make && sudo make install
creates=/usr/lib/libfdk-aac.so
diff --git a/provisioning/tasks/icecast.yml b/provisioning/tasks/icecast.yml
index 134c98d9..71499276 100644
--- a/provisioning/tasks/icecast.yml
+++ b/provisioning/tasks/icecast.yml
@@ -16,4 +16,4 @@
- name: Create initial icecast config
shell: '{{ project_root }}/console icecast:config:write'
- become_user: '{{ deploy_user }}'
+ become_user: '{{ deploy_user }}'
\ No newline at end of file
diff --git a/provisioning/tasks/libtag.yml b/provisioning/tasks/libtag.yml
index e0816e82..91f81752 100644
--- a/provisioning/tasks/libtag.yml
+++ b/provisioning/tasks/libtag.yml
@@ -1,6 +1,6 @@
---
- git:
- repo=git://github.com/taglib/taglib.git dest=~/taglib version={{
+ repo=https://github.com/taglib/taglib.git dest=~/taglib version={{
taglib_version }} accept_hostkey=true
- shell:
cd ~/taglib/ && cmake -DCMAKE_INSTALL_PREFIX=/usr/local
diff --git a/provisioning/tasks/nodejs.yml b/provisioning/tasks/nodejs.yml
index d7cb3c8f..d487f0c0 100644
--- a/provisioning/tasks/nodejs.yml
+++ b/provisioning/tasks/nodejs.yml
@@ -3,18 +3,15 @@
- name: add nodesource.list
template:
- src=templates/nodesource.list dest=/etc/apt/sources.list.d/ owner=root
+ src: templates/nodesource.list
+ dest: /etc/apt/sources.list.d/
+ owner: root
-- name: add nodesource key (with python 2.9+)
+- name: add nodesource key
apt_key:
- url=https://deb.nodesource.com/gpgkey/nodesource.gpg.key state=present
- when: "{{ ansible_distribution_release != 'wheezy' }}"
-
-- name: add nodesource key (with python < 2.9)
- shell:
- curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
- when: "{{ ansible_distribution_release == 'wheezy' }}"
-
+ url: https://deb.nodesource.com/gpgkey/nodesource.gpg.key
+ state: present
+
- apt: pkg=nodejs state=latest update-cache=yes
notify:
- restart node processes
diff --git a/provisioning/tasks/proftpd.yml b/provisioning/tasks/proftpd.yml
index c8068a5c..bd1a0b72 100644
--- a/provisioning/tasks/proftpd.yml
+++ b/provisioning/tasks/proftpd.yml
@@ -1,14 +1,29 @@
---
-- apt: name=proftpd state=present
+- apt:
+ name: proftpd
+ state: present
- copy:
- content="" dest=/etc/ftp.passwd group={{ deploy_user }} owner={{ deploy_user
- }} mode=640 force=no
+ content: ""
+ dest: /etc/ftp.passwd
+ group: "{{ deploy_user }}"
+ owner: "{{ deploy_user }}"
+ mode: 640
+ force: no
- file:
- state=directory path=/var/log/proftpd group={{ deploy_user }} owner={{
- deploy_user }} recurse=yes
+ state: directory
+ path: /var/log/proftpd
+ group: "{{ deploy_user }}"
+ owner: "{{ deploy_user }}"
+ recurse: yes
+- file:
+ state: directory
+ path: /var/run/proftpd
+ recurse: yes
+
+
- shell: touch /var/log/proftpd/access.log creates=/var/log/proftpd/access.log
become_user: '{{ deploy_user }}'
diff --git a/provisioning/tasks/system/apt.yml b/provisioning/tasks/system/apt.yml
new file mode 100644
index 00000000..8da96c8e
--- /dev/null
+++ b/provisioning/tasks/system/apt.yml
@@ -0,0 +1,39 @@
+---
+- name: Install Apt Keys
+ apt_key:
+ url: "{{ item.url }}"
+ state: "{{ item.state }}"
+ with_items: "{{ apt_keys }}"
+
+- name: Write Apt Repositories
+ ansible.builtin.apt_repository:
+ repo: "{{ item.repo }}"
+ state: "{{ item.state }}"
+ filename: "{{ item.filename }}"
+ with_items: "{{ apt_repositories }}"
+
+- name: Installing System Packages with Apt
+ apt:
+ pkg: "{{ general_system_packages }}"
+ state: latest
+ update-cache: yes
+
+- name: Installing OS-Specific System Packages with Apt
+ apt:
+ pkg: "{{ extra_system_packages }}"
+ state: latest
+ update-cache: yes
+
+- name: Installing Extra .deb Packages
+ apt:
+ deb: "{{ item }}"
+ with_items: "{{ apt_packages }}"
+
+- name: Symlinking binaries
+ ansible.builtin.file:
+ src: "{{ item.originalName }}"
+ dest: "{{ item.destinationName }}"
+ owner: root
+ group: root
+ state: link
+ with_items: "{{ binary_symlinks }}"
\ No newline at end of file
diff --git a/provisioning/tasks/system/ssl.yml b/provisioning/tasks/system/ssl.yml
new file mode 100644
index 00000000..810815cf
--- /dev/null
+++ b/provisioning/tasks/system/ssl.yml
@@ -0,0 +1,44 @@
+---
+- name: Ensure local certs directory exists
+ become: yes
+ file:
+ state: 'directory'
+ path: '/usr/local/share/ca-certificates'
+ owner: 'root'
+ group: 'staff'
+ mode: '02775'
+ tags:
+ - fix_ca_certs
+
+# regex target is lines not starting with a ! (! invalidates a cert in ca-certificates.conf)
+# and containing de invalidated cert filename, whichever the path
+# an invalidator ! will be added at line beginning
+# we chose not to remove the line, to prevent the invalidated cert to pop again if it is reloaded later on the server
+- name: Remove expired CA certs from ca-certificates config
+ become: yes
+ lineinfile:
+ path: /etc/ca-certificates.conf
+ regexp: "^(?!!)(.*/{{ item }})"
+ line: '!\1'
+ backrefs: yes
+ loop: "{{ removed_ca_certificates }}"
+ tags:
+ - fix_ca_certs
+
+- name: Update Certificate store
+ shell: /usr/sbin/update-ca-certificates --fresh
+ become: yes
+
+- name: Download & install new CA certs
+ become: yes
+ get_url:
+ url: "{{ item.url }}"
+ dest: "/usr/local/share/ca-certificates/{{ item.name }}"
+ mode: 0644
+ loop: "{{ added_ca_certificates }}"
+ tags:
+ - fix_ca_certs
+
+- name: Update Certificate store
+ shell: /usr/sbin/update-ca-certificates --fresh
+ become: yes
\ No newline at end of file
diff --git a/provisioning/templates/monit.cfg b/provisioning/templates/monit.cfg
index cda82ed9..bcaf1bb6 100644
--- a/provisioning/templates/monit.cfg
+++ b/provisioning/templates/monit.cfg
@@ -1,7 +1,7 @@
{% set extra_args = [] %}
{% if env == 'dev' %}
- {% set flags = {'NODE_EXTRA_CA_CERTS': project_root + '/rootCA.pem', 'SSL_KEY_PATH': project_root + '/privatekey.pem', 'SSL_CERT_PATH': project_root + '/certificate.pem'} %}
+ {% set flags = {'NODE_EXTRA_CA_CERTS': project_root + '/ssl/rootCA.pem', 'SSL_KEY_PATH': project_root + '/ssl/privatekey.pem', 'SSL_CERT_PATH': project_root + '/ssl/certificate.pem'} %}
{% for flagName, file in flags.items() %}
{{ extra_args.append(flagName + '=' + file) }}
@@ -13,8 +13,8 @@ check process nginx with pidfile /var/run/nginx.pid
stop program = "/etc/init.d/nginx stop"
check process mysql with pidfile /var/run/mysqld/mysqld.pid
- start program = "/etc/init.d/mysql start"
- stop program = "/etc/init.d/mysql stop"
+ start program = "/etc/init.d/{{ mysql_daemon }} start"
+ stop program = "/etc/init.d/{{ mysql_daemon }} stop"
# Transcoder API
check process transcoder_api
diff --git a/provisioning/templates/packages_dotdeb_org.list b/provisioning/templates/packages_dotdeb_org.list
deleted file mode 100644
index 647ba9d3..00000000
--- a/provisioning/templates/packages_dotdeb_org.list
+++ /dev/null
@@ -1,2 +0,0 @@
-deb http://packages.dotdeb.org {{ ansible_distribution_release }} all
-deb-src http://packages.dotdeb.org {{ ansible_distribution_release }} all
diff --git a/provisioning/templates/proftpd.conf b/provisioning/templates/proftpd.conf
index 4955d392..52719e51 100644
--- a/provisioning/templates/proftpd.conf
+++ b/provisioning/templates/proftpd.conf
@@ -14,7 +14,7 @@ TransferLog /var/log/proftpd/xferlog.legacy
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
{% raw %}
-LogFormat write "{ \"event\": \"%m\", \"user\": \"%u\", \"path\": \"%F\", \"size\": \"%b\", \"time\": \"%{%Y-%m-%d %H:%M:%S}t\" }" #DO NOT MODIFY THIS FORMAT, it is used for autosync
+LogFormat write "{ \"event\": \"%m\", \"user\": \"%u\", \"path\": \"%F\", \"size\": %b, \"time\": \"%{%Y-%m-%d %H:%M:%S}t\" }" #DO NOT MODIFY THIS FORMAT, it is used for autosync
{% endraw %}
AuthUserFile /etc/ftp.passwd
DefaultServer on
@@ -41,7 +41,9 @@ AuthOrder mod_auth_file.c
Umask 022
DisplayLogin welcome.msg
AllowOverwrite yes
+ {% if proftpd_supports_mod_ident %}
IdentLookups off
+ {% endif %}
ExtendedLog /var/log/proftpd/access.log WRITE,READ write
ExtendedLog /var/log/proftpd/auth.log AUTH auth
</Global>
diff --git a/provisioning/templates/vhosts/netdata.conf.j2 b/provisioning/templates/vhosts/netdata.conf.j2
index b6430302..6a04f28f 100644
--- a/provisioning/templates/vhosts/netdata.conf.j2
+++ b/provisioning/templates/vhosts/netdata.conf.j2
@@ -30,10 +30,10 @@ server {
}
{% if env == 'dev' %}
- ssl_certificate {{ project_root }}/certificate.pem;
- ssl_certificate_key {{ project_root }}/privatekey.pem;
+ ssl_certificate {{ project_root }}/ssl/certificate.pem;
+ ssl_certificate_key {{ project_root }}/ssl/privatekey.pem;
{% else %}
ssl_certificate /etc/letsencrypt/live/{{ inventory_hostname }}/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/{{ inventory_hostname }}/privkey.pem;
{% endif %}
-}
\ No newline at end of file
+}
diff --git a/provisioning/templates/vhosts/preview.conf.j2 b/provisioning/templates/vhosts/preview.conf.j2
index 4fb6320d..cb2117ba 100644
--- a/provisioning/templates/vhosts/preview.conf.j2
+++ b/provisioning/templates/vhosts/preview.conf.j2
@@ -5,8 +5,8 @@ server {
listen 8000 ssl default;
{% if env == 'dev' %}
- ssl_certificate {{ project_root }}/certificate.pem;
- ssl_certificate_key {{ project_root }}/privatekey.pem;
+ ssl_certificate {{ project_root }}/ssl/certificate.pem;
+ ssl_certificate_key {{ project_root }}/ssl/privatekey.pem;
{% else %}
ssl_certificate /etc/letsencrypt/live/{{ inventory_hostname }}/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/{{ inventory_hostname }}/privkey.pem;
diff --git a/provisioning/templates/worker_systemd.conf.j2 b/provisioning/templates/worker_systemd.conf.j2
index 45210a3f..1ffdc3a0 100644
--- a/provisioning/templates/worker_systemd.conf.j2
+++ b/provisioning/templates/worker_systemd.conf.j2
@@ -10,9 +10,9 @@ WantedBy=multi-user.target
[Service]
WorkingDirectory={{ project_root }}
{% if env == 'dev' %}
-Environment="NODE_EXTRA_CA_CERTS={{ project_root }}/rootCA.pem"
-Environment="SSL_KEY_PATH={{ project_root }}/privatekey.pem"
-Environment="SSL_CERT_PATH={{ project_root }}/certificate.pem"
+Environment="NODE_EXTRA_CA_CERTS={{ project_root }}/ssl/rootCA.pem"
+Environment="SSL_KEY_PATH={{ project_root }}/ssl/privatekey.pem"
+Environment="SSL_CERT_PATH={{ project_root }}/ssl/certificate.pem"
{% endif %}
Environment="PIDFILE={{ project_root }}/run/radioco_{{ item.name }}_worker.pid"
PIDFile={{ project_root }}/run/radioco_{{ item.name }}_worker.pid
diff --git a/provisioning/vagrant_pre_provision.sh b/provisioning/vagrant_pre_provision.sh
index 74067f05..c8d30585 100755
--- a/provisioning/vagrant_pre_provision.sh
+++ b/provisioning/vagrant_pre_provision.sh
@@ -5,4 +5,9 @@ sudo debconf-set-selections <<< "postfix postfix/main_mailer_type string 'No con
sudo debconf-set-selections <<< "postfix postfix/mailname string vagrant-transcoder.radio.co"
apt-get install --assume-yes postfix
sudo apt-get upgrade -y
-sudo apt-get install nfs-common python python-apt python-pycurl -y
+
+sudo apt-get install nfs-common
+if sudo apt-get --simulate install python-apt python-pycurl
+then sudo apt-get install python-apt python-pycurl -y
+else sudo apt-get install python3-apt python3-pycurl -y
+fi
diff --git a/provisioning/vars.yml b/provisioning/vars.yml
index f753a1ed..08a01fed 100644
--- a/provisioning/vars.yml
+++ b/provisioning/vars.yml
@@ -2,13 +2,13 @@
project_name: RadiocoTranscoder
project_root: /home/transcoder
project_repo: ssh://git@github.com/Radiodotco/Transcoder.git
-project_branch: 2022.1.10.1412
+project_branch: build/deb-11-upgrade
audiowaveform_repo: https://github.com/bbcrd/audiowaveform.git
audiowaveform_version: 1.4.0
audiowaveform_clone_directory: /home/audiowaveform
-system_packages:
+general_system_packages:
- tree
- curl
- git
@@ -27,7 +27,6 @@ system_packages:
- automake
- libc6
- monit
- - php7.0-cli
- redis-server
- cmake
- libtag1-dev
@@ -47,16 +46,15 @@ system_packages:
- gcc
- libmad0-dev
- libsndfile1-dev
- - libgd2-xpm-dev
- libboost-filesystem-dev
- libboost-regex-dev
- - libav-tools
- libid3tag0-dev
- libgd-dev
- - python3-pip
- - python-mysqldb
- jq
- - python-setuptools
+ - python3-setuptools
+ - python3-pip
+
+extra_system_packages: []
node_version: 14.x
@@ -93,3 +91,14 @@ pam_files_to_check:
# Packages to run npm uninstall on
obsolete_npm_packages: []
+
+added_ca_certificates: []
+removed_ca_certificates: []
+
+mysql_daemon: mysql
+apt_repositories: []
+apt_packages: []
+apt_keys: []
+binary_symlinks: []
+netdata_git_version_tag: v1.19.0
+proftpd_supports_mod_ident: true
\ No newline at end of file
diff --git a/provisioning/vars/Debian/10.yml b/provisioning/vars/Debian/10.yml
new file mode 100644
index 00000000..2866c490
--- /dev/null
+++ b/provisioning/vars/Debian/10.yml
@@ -0,0 +1,21 @@
+---
+extra_system_packages:
+ - php7.3-cli
+ - ffmpeg
+ - python-setuptools
+ - python3-pip
+ - python3-setuptools
+ - python-mysqldb
+
+icecast_release: e06f7b43f927a997c445b97dd81776b02d921cfb
+
+apt_repositories:
+ - { repo: "deb http://deb.debian.org/debian buster-backports main", filename: 'packages_debian_org.list', state: present}
+
+binary_symlinks:
+ - {originalName: '/usr/bin/ffmpeg', destinationName: '/usr/bin/avconv'}
+ - {originalName: '/usr/bin/ffplay', destinationName: '/usr/bin/avplay'}
+ - {originalName: '/usr/bin/ffprobe', destinationName: '/usr/bin/avprobe'}
+
+netdata_git_version_tag: v1.25.0
+proftpd_supports_mod_ident: false
\ No newline at end of file
diff --git a/provisioning/vars/Debian/11.yml b/provisioning/vars/Debian/11.yml
new file mode 100644
index 00000000..8033595f
--- /dev/null
+++ b/provisioning/vars/Debian/11.yml
@@ -0,0 +1,29 @@
+---
+extra_system_packages:
+ - php7.4-cli
+ - ffmpeg
+ - python3-mysqldb
+
+icecast_release: e06f7b43f927a997c445b97dd81776b02d921cfb
+
+binary_symlinks:
+ - {originalName: '/usr/bin/ffmpeg', destinationName: '/usr/bin/avconv'}
+ - {originalName: '/usr/bin/ffplay', destinationName: '/usr/bin/avplay'}
+ - {originalName: '/usr/bin/ffprobe', destinationName: '/usr/bin/avprobe'}
+
+mysql_daemon: mariadb
+mysql_packages:
+ - default-mysql-server
+
+mysql_log_file_group: adm
+mysql_slow_query_log_file: /var/log/mysql/mariadb-slow.log
+mysql_log_error: /var/log/mysql/mysql.log
+mysql_syslog_tag: mysqld
+mysql_pid_file: /run/mysqld/mysqld.pid
+mysql_config_file: /etc/mysql/my.cnf
+mysql_config_include_dir: /etc/mysql/conf.d
+mysql_socket: /run/mysqld/mysqld.sock
+mysql_supports_innodb_large_prefix: true
+
+netdata_git_version_tag: v1.25.0
+proftpd_supports_mod_ident: false
\ No newline at end of file
diff --git a/provisioning/vars/Debian/8.yml b/provisioning/vars/Debian/8.yml
new file mode 100644
index 00000000..a27af08a
--- /dev/null
+++ b/provisioning/vars/Debian/8.yml
@@ -0,0 +1,24 @@
+---
+extra_system_packages:
+ - php7.0-cli
+ - libgd2-xpm-dev
+ - libav-tools
+ - python-mysqldb
+
+added_ca_certificates:
+ - name: 'ISRG_Root_X1.crt'
+ url: 'https://letsencrypt.org/certs/isrgrootx1.pem'
+ - name: 'ISRG_Root_X2.crt'
+ url: 'https://letsencrypt.org/certs/isrg-root-x2.pem'
+ - name: 'Lets_Encrypt_R3.crt'
+ url: 'https://letsencrypt.org/certs/lets-encrypt-r3.pem'
+
+removed_ca_certificates:
+ - 'DST_Root_CA_X3.crt'
+
+apt_repositories:
+ - { repo: "deb http://packages.dotdeb.org jessie all", filename: 'packages_dotdeb_org.list', state: present}
+ - { repo: "deb-src http://packages.dotdeb.org jessie all", filename: 'packages_dotdeb_org.list', state: present}
+
+apt_keys:
+ - { url: http://www.dotdeb.org/dotdeb.gpg, state: present}
diff --git a/provisioning/vars/Debian/9.yml b/provisioning/vars/Debian/9.yml
new file mode 100644
index 00000000..ea82fd3d
--- /dev/null
+++ b/provisioning/vars/Debian/9.yml
@@ -0,0 +1,13 @@
+---
+extra_system_packages:
+ - php7.0-cli
+ - libgd2-xpm-dev
+ - libav-tools
+ - python-mysqldb
+
+apt_repositories:
+ - { repo: "deb http://packages.dotdeb.org stretch all", filename: 'packages_dotdeb_org.list', state: present}
+ - { repo: "deb-src http://packages.dotdeb.org stretch all", filename: 'packages_dotdeb_org.list', state: present}
+
+apt_keys:
+ - { url: http://www.dotdeb.org/dotdeb.gpg, state: present}
diff --git a/readme.md b/readme.md
index c472bf55..4480c768 100644
--- a/readme.md
+++ b/readme.md
@@ -1,4 +1,4 @@
### Provisioning with vagrant
-1. Edit Vagrantfile and uncomment the box-image you want. Debian Stretch is the default.
+1. Edit Vagrantfile and uncomment the box-image you want. Debian Bullseye is the default.
2. `vagrant up`
diff --git a/yarn.lock b/yarn.lock
index 70bb6616..de364464 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -411,10 +411,10 @@ asynckit@^0.4.0:
resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
-aws-sdk@2.1096.*:
- version "2.1096.0"
- resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1096.0.tgz#d41d6c6afe44b00977d4fe4c68e9450941d72931"
- integrity sha512-q+hotU57U8bGpz1pf5CkO4z630ay0xGJ9HedahKPZ0Xk3/X0GH+QFYPBWJ5IMTtO30bjfPH0zTaL2vJmMXLBrQ==
+aws-sdk@2.1094.*:
+ version "2.1094.0"
+ resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1094.0.tgz#85cc5fb416ce7af356f1dd1b14fbb714cd923800"
+ integrity sha512-g/pjEl1JKs8+UZSdfdTMwUh7oNSWy6LXkjd0WfI3TBVgU5+yE5bd1VtAiJxJ/kIOFwcWyGPy0fNkGjAqL6NAGw==
dependencies:
buffer "4.9.2"
events "1.1.1"
@@ -567,10 +567,10 @@ buffer@4.9.2:
ieee754 "^1.1.4"
isarray "^1.0.0"
-bull@^4.8.1:
- version "4.8.1"
- resolved "https://registry.yarnpkg.com/bull/-/bull-4.8.1.tgz#83daaefc3118876450b21d7a02bc11ea28a2440e"
- integrity sha512-ojH5AfOchKQsQwwE+thViS1pMpvREGC+Ov1+3HXsQqn5Q27ZSGkgMriMqc6c9J9rvQ/+D732pZE+TN1+2LRWVg==
+bull@^4.7.0:
+ version "4.7.0"
+ resolved "https://registry.yarnpkg.com/bull/-/bull-4.7.0.tgz#89442d4676117edd9f9a1359bb0edfb489595e70"
+ integrity sha512-rnJIsuXrDjDlz3HMHz6xobiRZAWe3o4MJBkzx7FdUjO+K2nSYrhR2KpcL+ZCNUMPKtONxL4DqmRjat5SBHFlAw==
dependencies:
cron-parser "^4.2.1"
debuglog "^1.0.0"
@@ -738,10 +738,10 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
dependencies:
delayed-stream "~1.0.0"
-commander@9.1.*:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-9.1.0.tgz#a6b263b2327f2e188c6402c42623327909f2dbec"
- integrity sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w==
+commander@9.0.*:
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-9.0.0.tgz#86d58f24ee98126568936bd1d3574e0308a99a40"
+ integrity sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw==
component-emitter@^1.3.0:
version "1.3.0"
@@ -2682,10 +2682,10 @@ prelude-ls@^1.2.1:
resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
-prettier@^2.6.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.0.tgz#12f8f504c4d8ddb76475f441337542fa799207d4"
- integrity sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==
+prettier@^2.5.1:
+ version "2.5.1"
+ resolved "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz"
+ integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==
progress@^2.0.0:
version "2.0.3"
changed: [deb11.transcoder.staging.radio.co]
TASK [file] *******************************************************************************
ok: [deb11.transcoder.staging.radio.co] => (item=/home/transcoder/stations)
TASK [Setup config.json] ******************************************************************
--- before: /home/transcoder/config.json
+++ after: /home/ahmedbodi/.ansible/tmp/ansible-local-12233682lq9752m/tmpkjkgqa58/config.json
@@ -2,7 +2,7 @@
"user": "deploy",
"name": "deb11.transcoder.staging.radio.co",
"key" : "aa61fabd163ece4bcdbf0384110b0bc19cdd9971",
- "version": "2022.03.21.1538",
+ "version": "build/deb-11-upgrade",
"server_ip" : "51.222.25.165",
"env" : "stage",
changed: [deb11.transcoder.staging.radio.co]
TASK [file] *******************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [copy] *******************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [shell] ******************************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [remove obsolete npm packages] *******************************************************
TASK [Add devplatform hostname] ***********************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [Copy over bulletin] *****************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [Import Test DB Schema] **************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [Import DB Schema] *******************************************************************
changed: [deb11.transcoder.staging.radio.co]
TASK [Get icecast] ************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [shell] ******************************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [Create Logs Folder] *****************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [Create initial icecast config] ******************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [apt] ********************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [apt] ********************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [file] *******************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [template] ***************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [template] ***************************************************************************
ok: [deb11.transcoder.staging.radio.co] => (item={'file': 'preview.conf', 'path': 'templates/vhosts/preview.conf.j2'})
ok: [deb11.transcoder.staging.radio.co] => (item={'file': 'netdata.conf', 'path': 'templates/vhosts/netdata.conf.j2'})
TASK [copy] *******************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [service] ****************************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [apt] ********************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [copy] *******************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [file] *******************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [file] *******************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [shell] ******************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [template] ***************************************************************************
--- before: /etc/proftpd/proftpd.conf
+++ after: /home/ahmedbodi/.ansible/tmp/ansible-local-12233682lq9752m/tmpt9yt69f0/proftpd.conf
@@ -14,7 +14,7 @@
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
-LogFormat write "{ \"event\": \"%m\", \"user\": \"%u\", \"path\": \"%F\", \"size\": \"%b\", \"time\": \"%{%Y-%m-%d %H:%M:%S}t\" }" #DO NOT MODIFY THIS FORMAT, it is used for autosync
+LogFormat write "{ \"event\": \"%m\", \"user\": \"%u\", \"path\": \"%F\", \"size\": %b, \"time\": \"%{%Y-%m-%d %H:%M:%S}t\" }" #DO NOT MODIFY THIS FORMAT, it is used for autosync
AuthUserFile /etc/ftp.passwd
DefaultServer on
@@ -40,7 +40,6 @@
Umask 022
DisplayLogin welcome.msg
AllowOverwrite yes
- IdentLookups off
- ExtendedLog /var/log/proftpd/access.log WRITE,READ write
+ ExtendedLog /var/log/proftpd/access.log WRITE,READ write
ExtendedLog /var/log/proftpd/auth.log AUTH auth
</Global>
changed: [deb11.transcoder.staging.radio.co]
TASK [[AudioWaveForm] Clone] **************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [[AudioWaveForm] Set Repository Permissions] *****************************************
changed: [deb11.transcoder.staging.radio.co]
TASK [[AudioWaveForm] Make Build Directory] ***********************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [[AudioWaveForm] CMake] **************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [[AudioWaveForm] Building] ***********************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [[AudioWaveForm] Installing] *********************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [[AudioWaveForm] Verifying binary is on path] ****************************************
changed: [deb11.transcoder.staging.radio.co]
TASK [[AudioWaveForm] Is Executable on path?] *********************************************
ok: [deb11.transcoder.staging.radio.co] => {
"audiowaveform_cmd": {
"changed": true,
"cmd": "audiowaveform --help",
"delta": "0:00:00.016159",
"end": "2022-03-23 14:59:25.776639",
"failed": false,
"rc": 0,
"start": "2022-03-23 14:59:25.760480",
"stderr": "",
"stderr_lines": [],
"stdout": "AudioWaveform v1.4.0\n\nUsage:\n audiowaveform [options]\n\nOptions:\n --help show help message\n -v [ --version ] show version information\n -i [ --input-filename ] arg input file name (.mp3, .wav, .flac, .ogg, \n .oga, .dat)\n -o [ --output-filename ] arg output file name (.wav, .dat, .png, .json)\n --split-channels output multi-channel waveform data or image \n files\n --input-format arg input file format (mp3, wav, flac, ogg, dat)\n --output-format arg output file format (wav, dat, png, json)\n -z [ --zoom ] arg (=256) zoom level (samples per pixel)\n --pixels-per-second arg (=100) zoom level (pixels per second)\n -b [ --bits ] arg (=16) bits (8 or 16)\n -s [ --start ] arg (=0) start time (seconds)\n -e [ --end ] arg (=0) end time (seconds)\n -w [ --width ] arg (=800) image width (pixels)\n -h [ --height ] arg (=250) image height (pixels)\n -c [ --colors ] arg (=audacity) color scheme (audition or audacity)\n --border-color arg border color (rrggbb[aa])\n --background-color arg background color (rrggbb[aa])\n --waveform-color arg wave color (rrggbb[aa])\n --axis-label-color arg axis label color (rrggbb[aa])\n --no-axis-labels render waveform image without axis labels\n --with-axis-labels render waveform image with axis labels \n (default)\n --amplitude-scale arg (=1.0) amplitude scale\n --compression arg (=-1) PNG compression level: 0 (none) to 9 (best), \n or -1 (default)\n\nSee audiowaveform(1) for usage examples",
"stdout_lines": [
"AudioWaveform v1.4.0",
"",
"Usage:",
" audiowaveform [options]",
"",
"Options:",
" --help show help message",
" -v [ --version ] show version information",
" -i [ --input-filename ] arg input file name (.mp3, .wav, .flac, .ogg, ",
" .oga, .dat)",
" -o [ --output-filename ] arg output file name (.wav, .dat, .png, .json)",
" --split-channels output multi-channel waveform data or image ",
" files",
" --input-format arg input file format (mp3, wav, flac, ogg, dat)",
" --output-format arg output file format (wav, dat, png, json)",
" -z [ --zoom ] arg (=256) zoom level (samples per pixel)",
" --pixels-per-second arg (=100) zoom level (pixels per second)",
" -b [ --bits ] arg (=16) bits (8 or 16)",
" -s [ --start ] arg (=0) start time (seconds)",
" -e [ --end ] arg (=0) end time (seconds)",
" -w [ --width ] arg (=800) image width (pixels)",
" -h [ --height ] arg (=250) image height (pixels)",
" -c [ --colors ] arg (=audacity) color scheme (audition or audacity)",
" --border-color arg border color (rrggbb[aa])",
" --background-color arg background color (rrggbb[aa])",
" --waveform-color arg wave color (rrggbb[aa])",
" --axis-label-color arg axis label color (rrggbb[aa])",
" --no-axis-labels render waveform image without axis labels",
" --with-axis-labels render waveform image with axis labels ",
" (default)",
" --amplitude-scale arg (=1.0) amplitude scale",
" --compression arg (=-1) PNG compression level: 0 (none) to 9 (best), ",
" or -1 (default)",
"",
"See audiowaveform(1) for usage examples"
]
}
}
TASK [[AudioWaveForm] Checking Executable Return Code] ************************************
ok: [deb11.transcoder.staging.radio.co] => {
"changed": false,
"msg": "All assertions passed"
}
TASK [Ensure systemd is installed] ********************************************************
changed: [deb11.transcoder.staging.radio.co]
TASK [Ensure systemd directory] ***********************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [Template worker systemd files] ******************************************************
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'metadata', 'jobs': ['silenceDetection', 'metadata'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'waveforms', 'jobs': ['generateWaveform', 'generateM4AWaveform'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'radioco', 'jobs': ['radiocoAddTrack', 'radiocoRemoveTrack'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'migrations', 'jobs': ['migrations/addTempTrack', 'migrations/addTempTracks', 'migrations/pullTempTrack', 'migrations/createManifest', 'migrations/receiveManifest'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'general', 'jobs': ['buildFTPPassword'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'pull_schedule', 'jobs': ['pullSchedule'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'bakery', 'jobs': ['bakery/startBake'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'download', 'jobs': ['downloadFile'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'background', 'jobs': [], 'command': 'backgroundJobWorker.js'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'schedule', 'jobs': [], 'command': 'scheduleWorker.js'})
TASK [Link To main systemd directory] *****************************************************
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'metadata', 'jobs': ['silenceDetection', 'metadata'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'waveforms', 'jobs': ['generateWaveform', 'generateM4AWaveform'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'radioco', 'jobs': ['radiocoAddTrack', 'radiocoRemoveTrack'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'migrations', 'jobs': ['migrations/addTempTrack', 'migrations/addTempTracks', 'migrations/pullTempTrack', 'migrations/createManifest', 'migrations/receiveManifest'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'general', 'jobs': ['buildFTPPassword'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'pull_schedule', 'jobs': ['pullSchedule'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'bakery', 'jobs': ['bakery/startBake'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'download', 'jobs': ['downloadFile'], 'command': False})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'background', 'jobs': [], 'command': 'backgroundJobWorker.js'})
ok: [deb11.transcoder.staging.radio.co] => (item={'name': 'schedule', 'jobs': [], 'command': 'scheduleWorker.js'})
TASK [Reload systemd] *********************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [Enable all workers now and always on reboot] ****************************************
skipping: [deb11.transcoder.staging.radio.co] => (item={'name': 'metadata', 'jobs': ['silenceDetection', 'metadata'], 'command': False})
skipping: [deb11.transcoder.staging.radio.co] => (item={'name': 'waveforms', 'jobs': ['generateWaveform', 'generateM4AWaveform'], 'command': False})
skipping: [deb11.transcoder.staging.radio.co] => (item={'name': 'radioco', 'jobs': ['radiocoAddTrack', 'radiocoRemoveTrack'], 'command': False})
skipping: [deb11.transcoder.staging.radio.co] => (item={'name': 'migrations', 'jobs': ['migrations/addTempTrack', 'migrations/addTempTracks', 'migrations/pullTempTrack', 'migrations/createManifest', 'migrations/receiveManifest'], 'command': False})
skipping: [deb11.transcoder.staging.radio.co] => (item={'name': 'general', 'jobs': ['buildFTPPassword'], 'command': False})
skipping: [deb11.transcoder.staging.radio.co] => (item={'name': 'pull_schedule', 'jobs': ['pullSchedule'], 'command': False})
skipping: [deb11.transcoder.staging.radio.co] => (item={'name': 'bakery', 'jobs': ['bakery/startBake'], 'command': False})
skipping: [deb11.transcoder.staging.radio.co] => (item={'name': 'download', 'jobs': ['downloadFile'], 'command': False})
skipping: [deb11.transcoder.staging.radio.co] => (item={'name': 'background', 'jobs': [], 'command': 'backgroundJobWorker.js'})
skipping: [deb11.transcoder.staging.radio.co] => (item={'name': 'schedule', 'jobs': [], 'command': 'scheduleWorker.js'})
TASK [Create Config File] *****************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [Ensure systemd directory] ***********************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [Template rclone systemd files] ******************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [Link To main systemd directory] *****************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [Reload systemd] *********************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [Enable rclone service] **************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [Restart rclone service] *************************************************************
changed: [deb11.transcoder.staging.radio.co]
TASK [ensure monit can start] *************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [setup base monit configuration] *****************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [file] *******************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [file] *******************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [template] ***************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [ensure monit is running] ************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [shell] ******************************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [cron] *******************************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [Run bakery:start 10 minutes to the hour.] *******************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [Set pull schedule cron fact] ********************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [Set restart pull schedule worker cron fact] *****************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [cron - Pull Schedule] ***************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [Restart pull schedule worker 10 minutes after pull schedule is performed] ***********
ok: [deb11.transcoder.staging.radio.co]
TASK [cron - Purge Schedule] **************************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [cron - Send Kue metrics] ************************************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [cron - Send transcoder event queue metrics] *****************************************
skipping: [deb11.transcoder.staging.radio.co]
TASK [cron - Dump the mysql database] *****************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [cron - Backup Files] ****************************************************************
--- before: /etc/cron.d/RadiocoTranscoder
+++ after: /etc/cron.d/RadiocoTranscoder
@@ -7,7 +7,7 @@
#Ansible: Dump the MySQL Database
*/10 * * * * deploy /home/transcoder/bin/dumpDB
#Ansible: Backup Files
-47 * * * * deploy /home/transcoder/bin/runSync backup_stations
+39 * * * * deploy /home/transcoder/bin/runSync backup_stations
#Ansible: Backup DB
14 * * * * deploy /home/transcoder/bin/runSync backup_db
#Ansible: Backup FTP Passwords
changed: [deb11.transcoder.staging.radio.co]
TASK [cron - Backup DB] *******************************************************************
--- before: /etc/cron.d/RadiocoTranscoder
+++ after: /etc/cron.d/RadiocoTranscoder
@@ -9,7 +9,7 @@
#Ansible: Backup Files
47 * * * * deploy /home/transcoder/bin/runSync backup_stations
#Ansible: Backup DB
-14 * * * * deploy /home/transcoder/bin/runSync backup_db
+25 * * * * deploy /home/transcoder/bin/runSync backup_db
#Ansible: Backup FTP Passwords
22 * * * * deploy /home/transcoder/bin/runSync backup_ftpasswd
#Ansible: Cleanup logfiles
changed: [deb11.transcoder.staging.radio.co]
TASK [cron - Backup FTPasswd] *************************************************************
--- before: /etc/cron.d/RadiocoTranscoder
+++ after: /etc/cron.d/RadiocoTranscoder
@@ -11,7 +11,7 @@
#Ansible: Backup DB
14 * * * * deploy /home/transcoder/bin/runSync backup_db
#Ansible: Backup FTP Passwords
-22 * * * * deploy /home/transcoder/bin/runSync backup_ftpasswd
+16 * * * * deploy /home/transcoder/bin/runSync backup_ftpasswd
#Ansible: Cleanup logfiles
* 1 * * * deploy find /home/transcoder/logs/ -type f -mtime +7 -exec rm {} \;
#Ansible: Remove old events from history
changed: [deb11.transcoder.staging.radio.co]
TASK [cron - remove old logfiles] *********************************************************
ok: [deb11.transcoder.staging.radio.co]
TASK [Cron - Remove old events from history] **********************************************
ok: [deb11.transcoder.staging.radio.co]
RUNNING HANDLER [mrlesmithjr.netdata : reload systemd netdata] ****************************
ok: [deb11.transcoder.staging.radio.co]
RUNNING HANDLER [restart netdata] *********************************************************
skipping: [deb11.transcoder.staging.radio.co]
RUNNING HANDLER [Restart proftpd] *********************************************************
changed: [deb11.transcoder.staging.radio.co]
RUNNING HANDLER [restart node processes] **************************************************
skipping: [deb11.transcoder.staging.radio.co]
PLAY RECAP ********************************************************************************
deb11.transcoder.staging.radio.co : ok=172 changed=24 unreachable=0 failed=0 skipped=119 rescued=0 ignored=0
staging-transcoder.radio.co : ok=112 changed=15 unreachable=0 failed=1 skipped=73 rescued=0 ignored=0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment