Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configure galaxy and postgres id and gid #8

Merged
merged 3 commits into from
Jan 18, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
language: python
python: 2.7

services:
- docker

script:
- docker build -t ansible-galaxy-os .
6 changes: 6 additions & 0 deletions defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ add_system_users: yes

galaxy_user_name: galaxy
galaxy_user_uid: 1001
galaxy_user_gid: 1001

postgres_user_name: postgres
postgres_user_home: /var/lib/postgresql
postgres_user_uid: 111
postgres_user_gid: 121

configure_docker: yes
docker_package: docker-engine
14 changes: 14 additions & 0 deletions tasks/docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
- name: Install Docker package
apt: pkg={{ item }} state={{ apt_package_state }}
with_items:
- "{{ docker_package }}"
when: install_packages

- name: Allow galaxy user to run docker with sudo
lineinfile: "dest=/etc/sudoers line='{{ galaxy_user_name }} ALL = (root) NOPASSWD: SETENV: /usr/bin/docker'"

- name: Add Galaxy user to docker group - allowing sudoless docker usage
user: name={{ galaxy_user_name }} groups=docker append=yes

- name: Set DOCKER_OPTS
lineinfile: dest=/etc/default/docker line='DOCKER_OPTS="--storage-driver=devicemapper"'
7 changes: 5 additions & 2 deletions tasks/main.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
---
# Install the base operating system requirements for running Galaxy

- include: system_users.yml
when: add_system_users

- include: packages.yml
when: install_packages

- include: system_users.yml
when: add_system_users
- include: docker.yml
when: configure_docker
6 changes: 0 additions & 6 deletions tasks/packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,3 @@
- postgresql-server-dev-9.4
- virtualenv
when: ansible_distribution_version == "15.10"

- name: Install Docker package
apt: pkg={{ item }} state={{ apt_package_state }}
with_items:
- "{{ docker_package }}"
when: configure_docker and install_packages
27 changes: 12 additions & 15 deletions tasks/system_users.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,22 @@
# Add system users

- name: Add system groups
group: name={{ item }} system=yes
group: name={{ item.name }} gid={{ item.gid }} system=yes
with_items:
- "{{ galaxy_user_name }}"
- shadow
- { name: "{{ galaxy_user_name }}", gid: "{{ galaxy_user_gid }}" }
- { name: "{{postgres_user_name}}", gid: "{{ postgres_user_gid }}" }

- name: Add galaxy user
user: name={{ galaxy_user_name }} uid={{ galaxy_user_uid }} shell=/bin/bash groups={{ galaxy_user_name }},shadow

- name: Allow galaxy user to run docker with sudo
lineinfile: "dest=/etc/sudoers line='{{ galaxy_user_name }} ALL = (root) NOPASSWD: SETENV: /usr/bin/docker'"
when: configure_docker
- name: Add shadow groups
group: name=shadow system=yes

- name: Add Galaxy user to docker group - allowing sudoless docker usage
user: name={{ galaxy_user_name }} groups=docker append=yes
when: configure_docker
- name: Add postgres user
user: name={{ postgres_user_name }} uid={{ postgres_user_uid }} system=yes home={{ postgres_user_home }}

- name: Set DOCKER_OPTS
lineinfile: dest=/etc/default/docker line='DOCKER_OPTS="--storage-driver=devicemapper"'
when: configure_docker
- name: Adjust postgresql permissions
file: path={{ postgres_user_home }} group={{ postgres_user_name }} owner={{ postgres_user_name }} recurse=yes

- name: Add galaxy user
user: name={{ galaxy_user_name }} uid={{ galaxy_user_uid }} shell=/bin/bash groups={{ galaxy_user_name }},shadow

- name: Add nobody user to shadow group
user: name=nobody groups=shadow