Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
configuration
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
configuration
Commits
18ddd445
Commit
18ddd445
authored
Oct 26, 2013
by
John Jarvis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
formatting updates, upstart bash wrapper for forum
parent
f6a7e2b5
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
201 additions
and
291 deletions
+201
-291
playbooks/edx-east/edx_continuous_integration.yml
+20
-23
playbooks/group_vars/all
+0
-1
playbooks/roles/common/tasks/main.yml
+9
-10
playbooks/roles/discern/tasks/main.yml
+8
-6
playbooks/roles/edxapp/tasks/main.yml
+18
-25
playbooks/roles/forum/tasks/main.yml
+21
-12
playbooks/roles/forum/templates/forum-supervisor.sh.j2
+4
-0
playbooks/roles/forum/templates/forum.conf.j2
+0
-1
playbooks/roles/gh_users/tasks/main.yml
+3
-7
playbooks/roles/mongo/tasks/main.yml
+10
-9
playbooks/roles/nginx/tasks/main.yml
+27
-42
playbooks/roles/nginx/templates/basic-auth.j2
+0
-1
playbooks/roles/notifier/tasks/main.yml
+22
-91
playbooks/roles/ora/tasks/main.yml
+5
-10
playbooks/roles/oraclejdk/tasks/main.yml
+8
-20
playbooks/roles/rabbitmq/tasks/main.yml
+23
-18
playbooks/roles/rbenv/tasks/main.yml
+5
-10
playbooks/roles/supervisor/defaults/main.yml
+1
-1
playbooks/roles/supervisor/handlers/main.yml
+3
-0
playbooks/roles/supervisor/tasks/main.yml
+14
-4
No files found.
playbooks/edx-east/edx_continuous_integration.yml
View file @
18ddd445
...
@@ -8,27 +8,24 @@
...
@@ -8,27 +8,24 @@
openid_workaround
:
True
openid_workaround
:
True
roles
:
roles
:
-
common
-
common
# - role: nginx
-
role
:
nginx
# nginx_sites:
nginx_sites
:
# - cms
-
cms
# - lms
-
lms
# - lms-preview
-
lms-preview
# - ora
-
ora
# - xqueue
-
xqueue
# - xserver
-
xserver
# - edxlocal
-
edxlocal
# - role: supervisor
-
supervisor
# supervisor_servers:
-
mongo
# - forum
-
edxapp
# - lms
-
{
role
:
'
rabbitmq'
,
rabbitmq_ip
:
'
127.0.0.1'
}
# - mongo
-
{
role
:
'
edxapp'
,
celery_worker
:
True
}
# - edxapp
-
oraclejdk
# - { role: 'rabbitmq', rabbitmq_ip: '127.0.0.1' }
-
elasticsearch
# - { role: 'edxapp', celery_worker: True }
-
forum
# - oraclejdk
-
{
role
:
"
xqueue"
,
update_users
:
True
}
# - elasticsearch
-
xserver
# - forum
-
ora
# - { role: "xqueue", update_users: True }
# - xserver
# - ora
-
discern
-
discern
playbooks/group_vars/all
View file @
18ddd445
...
@@ -5,7 +5,6 @@
...
@@ -5,7 +5,6 @@
data_dir: /edx/var
data_dir: /edx/var
app_dir: /edx/app
app_dir: /edx/app
log_dir: "{{ data_dir }}/log"
log_dir: "{{ data_dir }}/log"
venvs_dir: "{{ app_dir }}/venvs"
bin_dir: /edx/bin
bin_dir: /edx/bin
cfg_dir: /edx/etc
cfg_dir: /edx/etc
...
...
playbooks/roles/common/tasks/main.yml
View file @
18ddd445
...
@@ -7,30 +7,29 @@
...
@@ -7,30 +7,29 @@
-
name
:
common | Create common directories
-
name
:
common | Create common directories
file
:
>
file
:
>
path={{ item }}
path={{ item }} state=directory owner=root
state=directory
group=root mode=0755
owner=root
group=root
mode=0755
with_items
:
with_items
:
-
"
{{
data_dir
}}"
-
"
{{
data_dir
}}"
-
"
{{
app_dir
}}"
-
"
{{
app_dir
}}"
-
"
{{
log_dir
}}"
-
"
{{
log_dir
}}"
-
"
{{
venvs_dir
}}"
-
"
{{
bin_dir
}}"
-
"
{{
bin_dir
}}"
-
"
{{
cfg_dir
}}"
-
"
{{
cfg_dir
}}"
-
name
:
common | Install role-independent useful system packages
-
name
:
common | Install role-independent useful system packages
# do this before log dir setup; rsyslog package guarantees syslog user present
# do this before log dir setup; rsyslog package guarantees syslog user present
apt
:
pkg={{','.join(common_debian_pkgs)}} install_recommends=yes state=present update_cache=yes
apt
:
>
pkg={{','.join(common_debian_pkgs)}} install_recommends=yes
state=present update_cache=yes
-
name
:
common | upload sudo config for key forwarding as root
-
name
:
common | upload sudo config for key forwarding as root
copy
:
src=ssh_key_forward dest=/etc/sudoers.d/ssh_key_forward validate='visudo -c -f %s' owner=root group=root mode=0440
copy
:
>
src=ssh_key_forward dest=/etc/sudoers.d/ssh_key_forward
validate='visudo -c -f %s' owner=root group=root mode=0440
-
name
:
common | pip install virtualenv
-
name
:
common | pip install virtualenv
pip
:
>
pip
:
>
name="{{ item }}"
name="{{ item }}" state=present
state=present
extra_args="-i {{ PYPI_MIRROR_URL }}"
extra_args="-i {{ PYPI_MIRROR_URL }}"
with_items
:
common_pip_pkgs
with_items
:
common_pip_pkgs
...
...
playbooks/roles/discern/tasks/main.yml
View file @
18ddd445
...
@@ -26,19 +26,21 @@
...
@@ -26,19 +26,21 @@
with_items
:
discern_ease_debian_pkgs
with_items
:
discern_ease_debian_pkgs
-
name
:
discern | render celery service from template
-
name
:
discern | render celery service from template
template
:
src=celery.conf.j2 dest=/etc/init/celery.conf
template
:
>
src=celery.conf.j2 dest=/etc/init/celery.conf
owner=root group=root
notify
:
discern | restart celery
notify
:
discern | restart celery
-
name
:
discern | render discern service from template
-
name
:
discern | render discern service from template
template
:
src=discern.conf.j2 dest=/etc/init/discern.conf
template
:
>
src=discern.conf.j2 dest=/etc/init/discern.conf
owner=root group=root
notify
:
discern | restart discern
notify
:
discern | restart discern
-
name
:
discern | copy sudoers file for discern
-
name
:
discern | copy sudoers file for discern
copy
:
>
copy
:
>
src=sudoers-discern
src=sudoers-discern dest=/etc/sudoers.d/discern
dest=/etc/sudoers.d/discern
mode=0440 validate='visudo -cf %s' owner=root group=root
mode=0440
validate='visudo -cf %s'
#Needed if using redis to prevent memory issues
#Needed if using redis to prevent memory issues
-
name
:
discern | change memory commit settings -- needed for redis
-
name
:
discern | change memory commit settings -- needed for redis
...
...
playbooks/roles/edxapp/tasks/main.yml
View file @
18ddd445
...
@@ -9,33 +9,26 @@
...
@@ -9,33 +9,26 @@
-
name
:
edxapp | create application user
-
name
:
edxapp | create application user
user
:
>
user
:
>
name="{{ edxapp_user }}"
name="{{ edxapp_user }}" home="{{ edxapp_app_dir }}"
home="{{ edxapp_app_dir }}"
createhome=no shell=/bin/false
createhome=no
shell=/bin/false
-
name
:
edxapp | create edxapp app dir
-
name
:
edxapp | create edxapp app dir
file
:
>
file
:
>
path="{{ item }}"
path="{{ item }}" state=directory
state=directory
owner="{{ edxapp_user }}" group="{{ common_web_group }}"
owner="{{ edxapp_user }}"
group="{{ common_web_group }}"
with_items
:
with_items
:
-
"
{{
edxapp_app_dir
}}"
-
"
{{
edxapp_app_dir
}}"
-
"
{{
edxapp_venvs_dir
}}"
-
"
{{
edxapp_venvs_dir
}}"
-
name
:
edxapp | create edxapp log dir
-
name
:
edxapp | create edxapp log dir
file
:
>
file
:
>
path="{{ edxapp_log_dir }}"
path="{{ edxapp_log_dir }}" state=directory
state=directory
owner="{{ common_log_user }}" group="{{ common_log_user }}"
owner="{{ common_log_user }}"
group="{{ common_log_user }}"
-
name
:
edxapp | create edxapp writable dirs
-
name
:
edxapp | create edxapp writable dirs
file
:
>
file
:
>
path="{{ item }}"
path="{{ item }}" state=directory
state=directory
owner="{{ edxapp_user }}" group="{{ edxapp_user }}"
owner="{{ edxapp_user }}"
with_items
:
with_items
:
-
"
{{
edxapp_staticfile_dir
}}"
-
"
{{
edxapp_staticfile_dir
}}"
-
"
{{
edxapp_theme_dir
}}"
-
"
{{
edxapp_theme_dir
}}"
...
@@ -43,10 +36,8 @@
...
@@ -43,10 +36,8 @@
-
name
:
edxapp | create web-writable edxapp data dirs
-
name
:
edxapp | create web-writable edxapp data dirs
file
:
>
file
:
>
path="{{ item }}"
path="{{ item }}" state=directory
state=directory
owner="{{ common_web_user }}" group="{{ edxapp_user }}"
owner="{{ common_web_user }}"
group="{{ edxapp_user }}"
mode="0775"
mode="0775"
with_items
:
with_items
:
-
"
{{
edxapp_course_data_dir
}}"
-
"
{{
edxapp_course_data_dir
}}"
...
@@ -57,19 +48,21 @@
...
@@ -57,19 +48,21 @@
-
name
:
edxapp | creating edxapp upstart script
-
name
:
edxapp | creating edxapp upstart script
sudo
:
True
sudo
:
True
template
:
src=edxapp.conf.j2 dest=/etc/init/edxapp.conf owner=root group=root
template
:
>
src=edxapp.conf.j2 dest=/etc/init/edxapp.conf
owner=root group=root
when
:
"
celery_worker
is
not
defined"
when
:
"
celery_worker
is
not
defined"
-
name
:
edxapp | create edx-workers upstart script
-
name
:
edxapp | create edx-workers upstart script
template
:
src=edx-workers.conf.j2 dest=/etc/init/edx-workers.conf owner=root group=root
template
:
>
src=edx-workers.conf.j2 dest=/etc/init/edx-workers.conf
owner=root group=root
when
:
"
celery_worker
is
defined"
when
:
"
celery_worker
is
defined"
-
name
:
edxapp | create log directories for service variants
-
name
:
edxapp | create log directories for service variants
file
:
>
file
:
>
path={{ edxapp_log_dir }}/{{ item }}
path={{ edxapp_log_dir }}/{{ item }} state=directory
state=directory
owner={{ common_log_user }} group={{ common_log_user }}
owner={{ common_log_user }}
group={{ common_log_user }}
mode=0750
mode=0750
with_items
:
with_items
:
-
lms
-
lms
...
...
playbooks/roles/forum/tasks/main.yml
View file @
18ddd445
...
@@ -23,28 +23,37 @@
...
@@ -23,28 +23,37 @@
-
name
:
forum | create application user
-
name
:
forum | create application user
user
:
>
user
:
>
name="{{ forum_user }}"
name="{{ forum_user }}" home="{{ forum_app_dir }}"
home="{{ forum_app_dir }}"
createhome=no
createhome=no
shell=/bin/false
shell=/bin/false
-
name
:
forum | create forum app dir
-
name
:
forum | create forum app dir
file
:
>
file
:
>
path="{{ forum_app_dir }}"
path="{{ forum_app_dir }}" state=directory
state=directory
owner="{{ forum_user }}" group="{{ common_web_group }}"
owner="{{ forum_user }}"
group="{{ common_web_group }}"
-
name
:
forum | setup the forum env
-
name
:
forum | setup the forum env
template
:
src=forum_env.j2 dest={{ forum_app_dir }}/forum_env
template
:
>
sudo_user
:
"
{{
forum_user
}}"
src=forum_env.j2 dest={{ forum_app_dir }}/forum_env
owner={{ forum_user }} group={{ forum_user }}
notify
:
notify
:
-
forum | restart the forum service
-
forum | restart the forum service
-
name
:
forum | create the supervisor config
template
:
>
src=forum.conf.j2 dest={{ supervisor_cfg_dir }}/forum.conf
owner={{ common_web_user }} group={{ supervisor_user }}
register
:
forum_supervisor
-
include
:
deploy.yml
-
include
:
deploy.yml
-
name
:
forum | create the supervisor config
# Reload supervisor right away when the configuration
template
:
src=forum.conf.j2 dest={{ supervisor_cfg_dir }}/forum.conf
# changes, this happens after deploy.yml tasks so
notify
:
# that the application is installed
-
forum | restart the forum service
-
name
:
forum | reload supervisor
shell
:
"
{{
supervisor_ctl
}}
-c
{{
supervisor_cfg
}}
reload"
when
:
forum_supervisor.changed
-
include
:
test.yml
-
include
:
test.yml
playbooks/roles/forum/templates/forum-supervisor.sh.j2
0 → 100644
View file @
18ddd445
#!/bin/bash
source
{{
forum_app_dir
}}
/forum_env
cd
{{
forum_code_dir
}}
{{
forum_rbenv_shims
}}
/ruby app.rb
playbooks/roles/forum/templates/forum.conf.j2
View file @
18ddd445
...
@@ -5,6 +5,5 @@ user={{ common_web_user }}
...
@@ -5,6 +5,5 @@ user={{ common_web_user }}
startsecs=10
startsecs=10
stdout_logfile={{ supervisor_log_dir }}/%(program_name)-stdout.log
stdout_logfile={{ supervisor_log_dir }}/%(program_name)-stdout.log
stderr_logfile={{ supervisor_log_dir }}/%(program_name)-stderr.log
stderr_logfile={{ supervisor_log_dir }}/%(program_name)-stderr.log
stderr_logfile_maxbytes=1MB
killasgroup=true
killasgroup=true
stopasgroup=true
stopasgroup=true
playbooks/roles/gh_users/tasks/main.yml
View file @
18ddd445
...
@@ -22,16 +22,12 @@
...
@@ -22,16 +22,12 @@
-
name
:
gh_users | grant full sudo access to gh group
-
name
:
gh_users | grant full sudo access to gh group
copy
:
>
copy
:
>
content="%adm ALL=(ALL) NOPASSWD:ALL"
content="%adm ALL=(ALL) NOPASSWD:ALL"
dest=/etc/sudoers.d/gh
dest=/etc/sudoers.d/gh owner=root group=root
owner=root
mode=0440 validate='visudo -cf %s'
group=root
mode=0440
validate='visudo -cf %s'
-
name
:
gh_users | create github users
-
name
:
gh_users | create github users
user
:
user
:
name={{ item }}
name={{ item }} group=gh
group=gh
shell=/bin/bash
shell=/bin/bash
with_items
:
gh_users
with_items
:
gh_users
...
...
playbooks/roles/mongo/tasks/main.yml
View file @
18ddd445
...
@@ -3,10 +3,8 @@
...
@@ -3,10 +3,8 @@
-
name
:
mongo | install python pymongo for mongo_user ansible module
-
name
:
mongo | install python pymongo for mongo_user ansible module
pip
:
>
pip
:
>
name=pymongo
name=pymongo state=present
state=present
version=2.6.3 extra_args="-i {{ PYPI_MIRROR_URL }}"
version=2.6.3
extra_args="-i {{ PYPI_MIRROR_URL }}"
-
name
:
mongo | add the mongodb signing key
-
name
:
mongo | add the mongodb signing key
apt_key
:
>
apt_key
:
>
...
@@ -22,15 +20,18 @@
...
@@ -22,15 +20,18 @@
-
name
:
mongo | install mongo server and recommends
-
name
:
mongo | install mongo server and recommends
apt
:
>
apt
:
>
pkg=mongodb-10gen={{ mongo_version }}
pkg=mongodb-10gen={{ mongo_version }}
state=present
state=present install_recommends=yes
install_recommends=yes
update_cache=yes
update_cache=yes
-
name
:
mongo | create mongo d
ata dir
-
name
:
mongo | create mongo d
irs
file
:
>
file
:
>
path="{{ mongo_data_dir }}"
path="{{ item }}" state=directory
state=directory
owner="{{ mongo_user }}"
owner="{{ mongo_user }}"
group="{{ mongo_user }}"
with_items
:
-
"
{{
mongo_data_dir
}}"
-
"
{{
mongo_dbpath
}}"
-
"
{{
mongo_app_dir
}}"
-
name
:
mongo | stop mongo service
-
name
:
mongo | stop mongo service
service
:
name=mongodb state=stopped
service
:
name=mongodb state=stopped
...
...
playbooks/roles/nginx/tasks/main.yml
View file @
18ddd445
...
@@ -4,85 +4,70 @@
...
@@ -4,85 +4,70 @@
-
name
:
nginx | Install nginx
-
name
:
nginx | Install nginx
apt
:
pkg=nginx state={{ pkgs.nginx.state }}
apt
:
pkg=nginx state={{ pkgs.nginx.state }}
notify
:
nginx | restart nginx
notify
:
nginx | restart nginx
tags
:
-
nginx
-
install
-
name
:
nginx | Server configuration file
-
name
:
nginx | Server configuration file
copy
:
src={{secure_dir}}/files/nginx.conf dest=/etc/nginx/nginx.conf owner=root group=root mode=0644
copy
:
>
src={{secure_dir}}/files/nginx.conf dest=/etc/nginx/nginx.conf
owner=root group=root mode=0644
when
:
nginx_conf is defined
when
:
nginx_conf is defined
notify
:
nginx | reload nginx
notify
:
nginx | reload nginx
tags
:
-
nginx
-
install
-
name
:
nginx | Creating common nginx configuration
-
name
:
nginx | Creating common nginx configuration
template
:
src=edx-release.j2 dest=/etc/nginx/sites-available/edx-release owner=root group=root mode=0600
template
:
>
src=edx-release.j2 dest=/etc/nginx/sites-available/edx-release
owner=root group=root mode=0600
notify
:
nginx | reload nginx
notify
:
nginx | reload nginx
tags
:
-
nginx
-
name
:
nginx | Creating link for common nginx configuration
-
name
:
nginx | Creating link for common nginx configuration
file
:
src=/etc/nginx/sites-available/edx-release dest=/etc/nginx/sites-enabled/edx-release state=link owner=root group=root
file
:
>
src=/etc/nginx/sites-available/edx-release dest=/etc/nginx/sites-enabled/edx-release
state=link owner=root group=root
notify
:
nginx | reload nginx
notify
:
nginx | reload nginx
tags
:
-
nginx
-
name
:
nginx | Copying nginx configs for {{ nginx_sites }}
-
name
:
nginx | Copying nginx configs for {{ nginx_sites }}
template
:
src={{ item }}.j2 dest=/etc/nginx/sites-available/{{ item }} owner=root group=root mode=0600
template
:
>
src={{ item }}.j2 dest=/etc/nginx/sites-available/{{ item }}
owner=root group=root mode=0600
notify
:
nginx | reload nginx
notify
:
nginx | reload nginx
with_items
:
nginx_sites
with_items
:
nginx_sites
tags
:
-
nginx
-
name
:
nginx | Creating nginx config links for {{ nginx_sites }}
-
name
:
nginx | Creating nginx config links for {{ nginx_sites }}
file
:
src=/etc/nginx/sites-available/{{ item }} dest=/etc/nginx/sites-enabled/{{ item }} state=link owner=root group=root
file
:
>
src=/etc/nginx/sites-available/{{ item }}
dest=/etc/nginx/sites-enabled/{{ item }} state=link owner=root group=root
notify
:
nginx | reload nginx
notify
:
nginx | reload nginx
with_items
:
nginx_sites
with_items
:
nginx_sites
tags
:
-
nginx
-
name
:
nginx | Write out default htpasswd file
-
name
:
nginx | Write out default htpasswd file
copy
:
content={{ nginx_cfg.htpasswd }} dest=/etc/nginx/nginx.htpasswd owner=www-data group=www-data mode=0600
copy
:
>
tags
:
content={{ nginx_cfg.htpasswd }} dest=/etc/nginx/nginx.htpasswd
-
nginx
owner=www-data group=www-data mode=0600
-
update
-
name
:
nginx | Create nginx log file location (just in case)
-
name
:
nginx | Create nginx log file location (just in case)
file
:
path={{log_dir}}/nginx state=directory owner=syslog group=syslog mode=2770 recurse=yes
file
:
>
tags
:
path={{log_dir}}/nginx state=directory
-
nginx
owner=syslog group=syslog mode=2770 recurse=yes
-
logging
-
update
# removing default link
# removing default link
-
name
:
nginx | Removing default nginx config and restart (enabled)
-
name
:
nginx | Removing default nginx config and restart (enabled)
file
:
path=/etc/nginx/sites-enabled/default state=absent
file
:
path=/etc/nginx/sites-enabled/default state=absent
notify
:
nginx | reload nginx
notify
:
nginx | reload nginx
tags
:
-
nginx
-
update
# Note that nginx logs to /var/log until it reads its configuration, so /etc/logrotate.d/nginx is still good
# Note that nginx logs to /var/log until it reads its configuration, so /etc/logrotate.d/nginx is still good
-
name
:
nginx | Set up nginx access log rotation
-
name
:
nginx | Set up nginx access log rotation
template
:
dest=/etc/logrotate.d/nginx-access src=edx_logrotate_nginx_access.j2 owner=root group=root mode=644
template
:
>
tags
:
dest=/etc/logrotate.d/nginx-access src=edx_logrotate_nginx_access.j2
-
logging
owner=root group=root mode=644
-
update
-
name
:
nginx | Set up nginx access log rotation
-
name
:
nginx | Set up nginx access log rotation
template
:
dest=/etc/logrotate.d/nginx-error src=edx_logrotate_nginx_error.j2 owner=root group=root mode=644
template
:
>
tags
:
dest=/etc/logrotate.d/nginx-error src=edx_logrotate_nginx_error.j2
-
logging
owner=root group=root mode=644
-
update
-
name
:
nginx | Removing default nginx config (available)
-
name
:
nginx | Removing default nginx config (available)
file
:
path=/etc/nginx/sites-available/default state=absent
file
:
path=/etc/nginx/sites-available/default state=absent
notify
:
nginx | reload nginx
notify
:
nginx | reload nginx
tags
:
-
nginx
-
update
# If tasks that notify restart nginx don't change the state of the remote system
# If tasks that notify restart nginx don't change the state of the remote system
# their corresponding notifications don't get run. If nginx has been stopped for
# their corresponding notifications don't get run. If nginx has been stopped for
...
...
playbooks/roles/nginx/templates/basic-auth.j2
View file @
18ddd445
auth_basic "Restricted";
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/nginx.htpasswd;
auth_basic_user_file /etc/nginx/nginx.htpasswd;
root {{ nginx_app_dir }}/main_static;
index index.html
index index.html
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Proto https;
playbooks/roles/notifier/tasks/main.yml
View file @
18ddd445
...
@@ -2,16 +2,16 @@
...
@@ -2,16 +2,16 @@
#
#
# notifier
# notifier
#
#
# Overview:
# Overview:
#
#
# Provides the edX notifier service, a service for sending
# Provides the edX notifier service, a service for sending
# notifications over messaging protocols.
# notifications over messaging protocols.
#
#
# Dependencies:
# Dependencies:
#
#
# * common
# * common
#
#
# Example play:
# Example play:
# roles:
# roles:
# - common
# - common
...
@@ -19,153 +19,84 @@
...
@@ -19,153 +19,84 @@
#
#
-
name
:
notifier | install notifier specific system packages
-
name
:
notifier | install notifier specific system packages
apt
:
pkg={{','.join(notifier_debian_pkgs)}} state=present
apt
:
pkg={{','.join(notifier_debian_pkgs)}} state=present
tags
:
-
notifier
-
install
-
update
-
name
:
notifier | check if incommon ca is installed
-
name
:
notifier | check if incommon ca is installed
command
:
test -e /usr/share/ca-certificates/incommon/InCommonServerCA.crt
command
:
test -e /usr/share/ca-certificates/incommon/InCommonServerCA.crt
register
:
incommon_present
register
:
incommon_present
ignore_errors
:
yes
ignore_errors
:
yes
tags
:
-
notifier
-
install
-
update
-
name
:
common | create incommon ca directory
-
name
:
common | create incommon ca directory
file
:
file
:
path="/usr/share/ca-certificates/incommon" mode=2775 state=directory
path="/usr/share/ca-certificates/incommon" mode=2775 state=directory
when
:
incommon_present|failed
when
:
incommon_present|failed
tags
:
-
notifier
-
install
-
update
-
ubuntu
-
name
:
common | retrieve incommon server CA
-
name
:
common | retrieve incommon server CA
shell
:
curl https://www.incommon.org/cert/repository/InCommonServerCA.txt -o /usr/share/ca-certificates/incommon/InCommonServerCA.crt
shell
:
curl https://www.incommon.org/cert/repository/InCommonServerCA.txt -o /usr/share/ca-certificates/incommon/InCommonServerCA.crt
when
:
incommon_present|failed
when
:
incommon_present|failed
tags
:
-
notifier
-
install
-
update
-
ubuntu
-
name
:
common | add InCommon ca cert
-
name
:
common | add InCommon ca cert
lineinfile
:
lineinfile
:
dest=/etc/ca-certificates.conf
dest=/etc/ca-certificates.conf
regexp='incommon/InCommonServerCA.crt'
regexp='incommon/InCommonServerCA.crt'
line='incommon/InCommonServerCA.crt'
line='incommon/InCommonServerCA.crt'
tags
:
-
notifier
-
install
-
update
-
ubuntu
-
name
:
common | update ca certs globally
-
name
:
common | update ca certs globally
shell
:
update-ca-certificates
shell
:
update-ca-certificates
tags
:
-
notifier
-
install
-
update
-
ubuntu
-
name
:
notifier | create notifier user {{ NOTIFIER_USER }}
-
name
:
notifier | create notifier user {{ NOTIFIER_USER }}
user
:
user
:
name={{ NOTIFIER_USER }} state=present shell=/bin/bash
name={{ NOTIFIER_USER }} state=present shell=/bin/bash
home={{ NOTIFIER_HOME }} createhome=yes
home={{ NOTIFIER_HOME }} createhome=yes
tags
:
-
notifier
-
install
-
update
-
name
:
notifier | setup the notifier env
-
name
:
notifier | setup the notifier env
template
:
template
:
src=notifier_env.j2 dest={{ NOTIFIER_HOME }}/notifier_env
src=notifier_env.j2 dest={{ NOTIFIER_HOME }}/notifier_env
owner="{{ NOTIFIER_USER }}" group="{{ NOTIFIER_USER }}"
owner="{{ NOTIFIER_USER }}" group="{{ NOTIFIER_USER }}"
tags
:
-
notifier
-
install
-
update
-
name
:
notifier | drop a bash_profile
-
name
:
notifier | drop a bash_profile
copy
:
>
copy
:
>
src=../../common/files/bash_profile
src=../../common/files/bash_profile
dest={{ NOTIFIER_HOME }}/.bash_profile
dest={{ NOTIFIER_HOME }}/.bash_profile
owner={{ NOTIFIER_USER }}
owner={{ NOTIFIER_USER }}
group={{ NOTIFIER_USER }}
group={{ NOTIFIER_USER }}
-
name
:
notifier | ensure .bashrc exists
-
name
:
notifier | ensure .bashrc exists
shell
:
touch {{ NOTIFIER_HOME }}/.bashrc
shell
:
touch {{ NOTIFIER_HOME }}/.bashrc
sudo
:
true
sudo
:
true
sudo_user
:
"
{{
NOTIFIER_USER
}}"
sudo_user
:
"
{{
NOTIFIER_USER
}}"
tags
:
-
notifier
-
install
-
update
-
name
:
notifier | add source of notifier_env to .bashrc
-
name
:
notifier | add source of notifier_env to .bashrc
lineinfile
:
lineinfile
:
dest={{ NOTIFIER_HOME }}/.bashrc
dest={{ NOTIFIER_HOME }}/.bashrc
regexp='. {{ NOTIFIER_HOME }}/notifier_env'
regexp='. {{ NOTIFIER_HOME }}/notifier_env'
line='. {{ NOTIFIER_HOME }}/notifier_env'
line='. {{ NOTIFIER_HOME }}/notifier_env'
tags
:
-
notifier
-
install
-
update
-
name
:
notifier | add source venv to .bashrc
-
name
:
notifier | add source venv to .bashrc
lineinfile
:
lineinfile
:
dest={{ NOTIFIER_HOME }}/.bashrc
dest={{ NOTIFIER_HOME }}/.bashrc
regexp='. {{ NOTIFIER_VENV_DIR }}/bin/activate'
regexp='. {{ NOTIFIER_VENV_DIR }}/bin/activate'
line='. {{ NOTIFIER_VENV_DIR }}/bin/activate'
line='. {{ NOTIFIER_VENV_DIR }}/bin/activate'
tags
:
-
notifier
-
install
-
update
-
name
:
notifier | create notifier DB directory
-
name
:
notifier | create notifier DB directory
file
:
file
:
path="{{ NOTIFIER_DB_DIR }}" mode=2775 state=directory
path="{{ NOTIFIER_DB_DIR }}" mode=2775 state=directory
tags
:
-
notifier
-
install
-
update
-
name
:
notifier | create notifier/bin directory
-
name
:
notifier | create notifier/bin directory
file
:
file
:
path="{{ NOTIFIER_HOME }}/bin" mode=2775 state=directory
path="{{ NOTIFIER_HOME }}/bin" mode=2775 state=directory
tags
:
-
notifier
-
install
-
update
-
name
:
common | create supervisor log directoy
-
name
:
common | create supervisor log directoy
file
:
file
:
path={{NOTIFIER_SUPERVISOR_LOG_DEST }} mode=2750 state=directory
path={{NOTIFIER_SUPERVISOR_LOG_DEST }} mode=2750 state=directory
tags
:
-
notifier
-
install
-
update
-
ubuntu
-
name
:
notifier | supervisord config for celery workers
-
name
:
notifier | supervisord config for celery workers
template
:
template
:
src=etc/supervisor/conf.d/notifier-celery-workers.conf.j2 dest=/etc/supervisor/conf.d/notifier-celery-workers.conf
src=etc/supervisor/conf.d/notifier-celery-workers.conf.j2 dest=/etc/supervisor/conf.d/notifier-celery-workers.conf
notify
:
notifier | restart notifier-celery-workers
notify
:
notifier | restart notifier-celery-workers
tags
:
-
notifier
-
install
-
update
-
name
:
notifier | supervisord config for scheduler
-
name
:
notifier | supervisord config for scheduler
template
:
template
:
src=etc/supervisor/conf.d/notifier-scheduler.conf.j2 dest=/etc/supervisor/conf.d/notifier-scheduler.conf
src=etc/supervisor/conf.d/notifier-scheduler.conf.j2 dest=/etc/supervisor/conf.d/notifier-scheduler.conf
notify
:
notifier | restart notifier-scheduler
notify
:
notifier | restart notifier-scheduler
tags
:
-
notifier
-
install
-
update
-
include
:
deploy.yml
-
include
:
deploy.yml
playbooks/roles/ora/tasks/main.yml
View file @
18ddd445
...
@@ -5,17 +5,13 @@
...
@@ -5,17 +5,13 @@
-
name
:
ora | create application user
-
name
:
ora | create application user
user
:
>
user
:
>
name="{{ ora_user }}"
name="{{ ora_user }}" home="{{ ora_app_dir }}"
home="{{ ora_app_dir }}"
createhome=no shell=/bin/false
createhome=no
shell=/bin/false
-
name
:
ora | create ora app and data dir
-
name
:
ora | create ora app and data dir
file
:
>
file
:
>
path="{{ item }}"
path="{{ item }}" state=directory
state=directory
owner="{{ ora_user }}" group="{{ common_web_group }}"
owner="{{ ora_user }}"
group="{{ common_web_group }}"
with_items
:
with_items
:
-
"
{{
ora_venvs_dir
}}"
-
"
{{
ora_venvs_dir
}}"
-
"
{{
ora_app_dir
}}"
-
"
{{
ora_app_dir
}}"
...
@@ -35,5 +31,4 @@
...
@@ -35,5 +31,4 @@
-
name
:
ora | create a symlink for venv python
-
name
:
ora | create a symlink for venv python
file
:
>
file
:
>
src="{{ ora_venv_bin }}/python"
src="{{ ora_venv_bin }}/python"
dest={{ cfg_dir }}/python.ora
dest={{ cfg_dir }}/python.ora state=link
state=link
playbooks/roles/oraclejdk/tasks/main.yml
View file @
18ddd445
---
---
# oraclejdk
# oraclejdk
#
#
# Dependencies:
# Dependencies:
#
#
# * common
# * common
#
#
# Example play:
# Example play:
#
#
# roles:
# roles:
...
@@ -16,40 +16,28 @@
...
@@ -16,40 +16,28 @@
command
:
test -d /usr/lib/jvm/{{ oraclejdk_base }}
command
:
test -d /usr/lib/jvm/{{ oraclejdk_base }}
ignore_errors
:
true
ignore_errors
:
true
register
:
oraclejdk_present
register
:
oraclejdk_present
tags
:
-
oraclejdk
-
install
-
name
:
oraclejdk | download Oracle Java
-
name
:
oraclejdk | download Oracle Java
shell
:
>
shell
:
>
curl -b gpw_e24=http%3A%2F%2Fwww.oracle.com -O -L {{ oraclejdk_url }}
curl -b gpw_e24=http%3A%2F%2Fwww.oracle.com -O -L {{ oraclejdk_url }}
executable=/bin/bash
executable=/bin/bash
chdir=/var/tmp
chdir=/var/tmp
creates=/var/tmp/{{ oraclejdk_file }}
creates=/var/tmp/{{ oraclejdk_file }}
when
:
oraclejdk_present|failed
when
:
oraclejdk_present|failed
-
name
:
oraclejdk | install Oracle Java
-
name
:
oraclejdk | install Oracle Java
shell
:
>
shell
:
>
mkdir -p /usr/lib/jvm && tar -C /usr/lib/jvm -zxvf /var/tmp/{{ oraclejdk_file }}
mkdir -p /usr/lib/jvm && tar -C /usr/lib/jvm -zxvf /var/tmp/{{ oraclejdk_file }}
creates=/usr/lib/jvm/{{ oraclejdk_base }}
creates=/usr/lib/jvm/{{ oraclejdk_base }}
executable=/bin/bash
executable=/bin/bash
sudo
:
true
sudo
:
true
when
:
oraclejdk_present|failed
when
:
oraclejdk_present|failed
tags
:
-
oraclejdk
-
install
-
name
:
oraclejdk | create symlink expected by elasticsearch
-
name
:
oraclejdk | create symlink expected by elasticsearch
file
:
src=/usr/lib/jvm/{{ oraclejdk_base }} dest={{ oraclejdk_link }} state=link
file
:
src=/usr/lib/jvm/{{ oraclejdk_base }} dest={{ oraclejdk_link }} state=link
when
:
oraclejdk_present|failed
when
:
oraclejdk_present|failed
tags
:
-
oraclejdk
-
install
-
name
:
oraclejdk | add JAVA_HOME for Oracle Java
-
name
:
oraclejdk | add JAVA_HOME for Oracle Java
template
:
src=java.sh.j2 dest=/etc/profile.d/java.sh owner=root group=root mode=0755
template
:
src=java.sh.j2 dest=/etc/profile.d/java.sh owner=root group=root mode=0755
when
:
oraclejdk_present|failed
when
:
oraclejdk_present|failed
tags
:
-
oraclejdk
-
install
playbooks/roles/rabbitmq/tasks/main.yml
View file @
18ddd445
...
@@ -20,26 +20,35 @@
...
@@ -20,26 +20,35 @@
# Defaulting to /var/lib/rabbitmq
# Defaulting to /var/lib/rabbitmq
-
name
:
rabbitmq | create cookie directory
-
name
:
rabbitmq | create cookie directory
file
:
path={{rabbitmq_cookie_dir}} owner=rabbitmq group=rabbitmq mode=0755 state=directory
file
:
>
path={{rabbitmq_cookie_dir}}
owner=rabbitmq group=rabbitmq mode=0755 state=directory
-
name
:
rabbitmq | add rabbitmq erlang cookie
-
name
:
rabbitmq | add rabbitmq erlang cookie
template
:
src=erlang.cookie.j2 dest={{rabbitmq_cookie_location}} owner=rabbitmq group=rabbitmq mode=0400
template
:
>
src=erlang.cookie.j2 dest={{rabbitmq_cookie_location}}
owner=rabbitmq group=rabbitmq mode=0400
register
:
erlang_cookie
register
:
erlang_cookie
# Defaulting to /etc/rabbitmq
# Defaulting to /etc/rabbitmq
-
name
:
rabbitmq | create rabbitmq config directory
-
name
:
rabbitmq | create rabbitmq config directory
file
:
path={{rabbitmq_config_dir}} owner=root group=root mode=0755 state=directory
file
:
>
path={{rabbitmq_config_dir}}
owner=root group=root mode=0755 state=directory
-
name
:
rabbitmq | add rabbitmq environment configuration
-
name
:
rabbitmq | add rabbitmq environment configuration
template
:
src=rabbitmq-env.conf.j2 dest={{rabbitmq_config_dir}}/rabbitmq-env.conf owner=root group=root mode=0644
template
:
>
src=rabbitmq-env.conf.j2 dest={{rabbitmq_config_dir}}/rabbitmq-env.conf
owner=root group=root mode=0644
-
name
:
rabbitmq | add rabbitmq cluster configuration
-
name
:
rabbitmq | add rabbitmq cluster configuration
template
:
src=rabbitmq.config.j2 dest={{rabbitmq_config_dir}}/rabbitmq.config owner=root group=root mode=0644
template
:
>
src=rabbitmq.config.j2 dest={{rabbitmq_config_dir}}/rabbitmq.config
owner=root group=root mode=0644
register
:
cluster_configuration
register
:
cluster_configuration
-
name
:
rabbitmq | install plugins
-
name
:
rabbitmq | install plugins
rabbitmq_plugin
:
rabbitmq_plugin
:
names={{",".join(rabbitmq_plugins)}} state=enabled
names={{",".join(rabbitmq_plugins)}} state=enabled
# When rabbitmq starts up it creates a folder of metadata at '/var/lib/rabbitmq/mnesia'.
# When rabbitmq starts up it creates a folder of metadata at '/var/lib/rabbitmq/mnesia'.
...
@@ -60,13 +69,9 @@
...
@@ -60,13 +69,9 @@
-
name
:
rabbitmq | add admin users
-
name
:
rabbitmq | add admin users
rabbitmq_user
:
>
rabbitmq_user
:
>
user='{{item.name}}'
user='{{item.name}}' password='{{item.password}}'
password='{{item.password}}'
read_priv='.*' write_priv='.*'
read_priv='.*'
configure_priv='.*' tags="administrator" state=present
write_priv='.*'
configure_priv='.*'
tags="administrator"
state=present
with_items
:
rabbitmq_auth_config.admins
with_items
:
rabbitmq_auth_config.admins
when
:
"
'admins'
in
rabbitmq_auth_config"
when
:
"
'admins'
in
rabbitmq_auth_config"
...
@@ -74,11 +79,11 @@
...
@@ -74,11 +79,11 @@
# Depends upon the management plugin
# Depends upon the management plugin
#
#
-
name
:
rabbitmq | install admin tools
-
name
:
rabbitmq | install admin tools
get_url
:
get_url
:
>
url=http://localhost:{{ rabbitmq_management_port }}/cli/rabbitmqadmin
url=http://localhost:{{ rabbitmq_management_port }}/cli/rabbitmqadmin
dest=/usr/local/bin/rabbitmqadmin
dest=/usr/local/bin/rabbitmqadmin
-
name
:
rabbitmq | ensure rabbitmqadmin attributes
-
name
:
rabbitmq | ensure rabbitmqadmin attributes
file
:
file
:
>
path=/usr/local/bin/rabbitmqadmin owner=root
path=/usr/local/bin/rabbitmqadmin owner=root
group=root mode=0655
group=root mode=0655
playbooks/roles/rbenv/tasks/main.yml
View file @
18ddd445
...
@@ -36,16 +36,13 @@
...
@@ -36,16 +36,13 @@
-
name
:
rbenv | create rbenv user {{ rbenv_user }}
-
name
:
rbenv | create rbenv user {{ rbenv_user }}
user
:
>
user
:
>
name={{ rbenv_user }}
name={{ rbenv_user }} home={{ rbenv_dir }}
home={{ rbenv_dir }}
shell=/bin/false createhome=no
shell=/bin/false
createhome=no
when
:
rbenv_user != common_web_user
when
:
rbenv_user != common_web_user
-
name
:
rbenv | create rbenv dir if it does not exist
-
name
:
rbenv | create rbenv dir if it does not exist
file
:
>
file
:
>
path="{{ rbenv_dir }}"
path="{{ rbenv_dir }}" owner="{{ rbenv_user }}"
owner="{{ rbenv_user }}"
state=directory
state=directory
-
name
:
rbenv | install build depends
-
name
:
rbenv | install build depends
...
@@ -55,14 +52,12 @@
...
@@ -55,14 +52,12 @@
-
name
:
rbenv | update rbenv repo
-
name
:
rbenv | update rbenv repo
git
:
>
git
:
>
repo=https://github.com/sstephenson/rbenv.git
repo=https://github.com/sstephenson/rbenv.git
dest={{ rbenv_dir }}/.rbenv
dest={{ rbenv_dir }}/.rbenv version={{ rbenv_version }}
version={{ rbenv_version }}
sudo_user
:
"
{{
rbenv_user
}}"
sudo_user
:
"
{{
rbenv_user
}}"
-
name
:
rbenv | ensure ruby_env exists
-
name
:
rbenv | ensure ruby_env exists
template
:
>
template
:
>
src=ruby_env.j2
src=ruby_env.j2 dest={{ rbenv_dir }}/ruby_env
dest={{ rbenv_dir }}/ruby_env
sudo_user
:
"
{{
rbenv_user
}}"
sudo_user
:
"
{{
rbenv_user
}}"
-
name
:
rbenv | check ruby-build installed
-
name
:
rbenv | check ruby-build installed
...
...
playbooks/roles/supervisor/defaults/main.yml
View file @
18ddd445
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
supervisor_app_dir
:
"
{{
app_dir
}}/supervisor"
supervisor_app_dir
:
"
{{
app_dir
}}/supervisor"
supervisor_cfg_dir
:
"
{{
supervisor_app_dir
}}/conf.d"
supervisor_cfg_dir
:
"
{{
supervisor_app_dir
}}/conf.d"
supervisor_data_dir
:
"
{{
data_dir
}}/supervisor"
supervisor_data_dir
:
"
{{
data_dir
}}/supervisor"
supervisor_venvs_dir
:
"
{{
venvs_dir
}}/supervisor
"
supervisor_venvs_dir
:
"
{{
supervisor_app_dir
}}/venvs
"
supervisor_venv_dir
:
"
{{
supervisor_venvs_dir
}}/supervisor"
supervisor_venv_dir
:
"
{{
supervisor_venvs_dir
}}/supervisor"
supervisor_venv_bin
:
"
{{
supervisor_venv_dir
}}/bin"
supervisor_venv_bin
:
"
{{
supervisor_venv_dir
}}/bin"
supervisor_ctl
:
"
{{
supervisor_venv_bin
}}/supervisorctl"
supervisor_ctl
:
"
{{
supervisor_venv_bin
}}/supervisorctl"
...
...
playbooks/roles/supervisor/handlers/main.yml
View file @
18ddd445
...
@@ -2,3 +2,6 @@
...
@@ -2,3 +2,6 @@
service
:
>
service
:
>
name=supervisor
name=supervisor
state=restarted
state=restarted
-
name
:
supervisor | reload supervisor
shell
:
"
{{
supervisor_ctl
}}
-c
{{
supervisor_cfg
}}
reload"
playbooks/roles/supervisor/tasks/main.yml
View file @
18ddd445
...
@@ -38,7 +38,6 @@
...
@@ -38,7 +38,6 @@
group={{ common_web_user }}
group={{ common_web_user }}
with_items
:
with_items
:
-
"
{{
supervisor_app_dir
}}"
-
"
{{
supervisor_app_dir
}}"
-
"
{{
supervisor_cfg_dir
}}"
-
"
{{
supervisor_venvs_dir
}}"
-
"
{{
supervisor_venvs_dir
}}"
-
name
:
supervisor | create supervisor directories
-
name
:
supervisor | create supervisor directories
...
@@ -48,6 +47,7 @@
...
@@ -48,6 +47,7 @@
owner={{ common_web_user }}
owner={{ common_web_user }}
group={{ supervisor_user }}
group={{ supervisor_user }}
with_items
:
with_items
:
-
"
{{
supervisor_cfg_dir
}}"
-
"
{{
supervisor_data_dir
}}"
-
"
{{
supervisor_data_dir
}}"
-
"
{{
supervisor_log_dir
}}"
-
"
{{
supervisor_log_dir
}}"
...
@@ -58,12 +58,15 @@
...
@@ -58,12 +58,15 @@
notify
:
supervisor | restart supervisor
notify
:
supervisor | restart supervisor
-
name
:
supervisor | create supervisor upstart job
-
name
:
supervisor | create supervisor upstart job
template
:
src=supervisor-upstart.conf.j2 dest=/etc/init/supervisor.conf
template
:
>
src=supervisor-upstart.conf.j2 dest=/etc/init/supervisor.conf
owner=root group=root
notify
:
supervisor | restart supervisor
notify
:
supervisor | restart supervisor
-
name
:
supervisor | create supervisor master config
-
name
:
supervisor | create supervisor master config
template
:
src=supervisord.conf.j2 dest={{ supervisor_cfg }}
template
:
>
sudo_user
:
"
{{
supervisor_user
}}"
src=supervisord.conf.j2 dest={{ supervisor_cfg }}
owner={{ supervisor_user }}
notify
:
supervisor | restart supervisor
notify
:
supervisor | restart supervisor
-
name
:
supervisor | create a symlink for supervisortctl
-
name
:
supervisor | create a symlink for supervisortctl
...
@@ -78,5 +81,12 @@
...
@@ -78,5 +81,12 @@
dest={{ cfg_dir }}/{{ supervisor_cfg|basename }}
dest={{ cfg_dir }}/{{ supervisor_cfg|basename }}
state=link
state=link
-
name
:
supervisor | create a symlink for supervisor cfg
file
:
>
src={{ supervisor_cfg_dir }}
dest={{ cfg_dir }}/supervisor.{{ supervisor_cfg_dir|basename }}
state=link
-
name
:
supervisor | ensure supervisor is started
-
name
:
supervisor | ensure supervisor is started
service
:
name=supervisor state=started
service
:
name=supervisor state=started
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment