128 lines
3.1 KiB
YAML
128 lines
3.1 KiB
YAML
---
|
|
- name: Create group
|
|
ansible.builtin.group:
|
|
name: ipsilon
|
|
|
|
- name: Create user
|
|
ansible.builtin.user:
|
|
name: ipsilon
|
|
comment: Podman Ipsilon
|
|
group: ipsilon
|
|
shell: /sbin/nologin
|
|
|
|
- name: Enable user lingering
|
|
ansible.builtin.command:
|
|
argv:
|
|
- loginctl
|
|
- enable-linger
|
|
- ipsilon
|
|
creates: /var/lib/systemd/linger/ipsilon
|
|
|
|
- name: Copy host key
|
|
ansible.builtin.copy:
|
|
dest: "{{ tls_private }}/ipsilon.key"
|
|
src: "{{ tls_private }}/{{ inventory_hostname }}.key"
|
|
mode: "0640"
|
|
owner: root
|
|
group: ipsilon
|
|
remote_src: true
|
|
|
|
- name: Copy OIDC key
|
|
ansible.builtin.copy:
|
|
dest: "{{ tls_private }}/openidc.key"
|
|
src: "{{ ansible_private }}/files/ipsilon/openidc.key"
|
|
mode: "0640"
|
|
owner: root
|
|
group: ipsilon
|
|
notify: Restart ipsilon-container
|
|
|
|
- name: Fix SELinux contexts from config directory
|
|
community.general.sefcontext:
|
|
path: /etc/ipsilon(/.*)?
|
|
setype: container_file_t
|
|
when: ansible_selinux_python_present
|
|
|
|
- name: Get subuid number
|
|
ansible.builtin.command:
|
|
argv:
|
|
- awk
|
|
- "-F:"
|
|
- '{ if ($1 == "ipsilon") print $2 + 899 }'
|
|
- /etc/subuid
|
|
changed_when: false
|
|
register: subuid
|
|
|
|
- name: Get subgid number
|
|
ansible.builtin.command:
|
|
argv:
|
|
- awk
|
|
- "-F:"
|
|
- '{ if ($1 == "ipsilon") print $2 + 899 }'
|
|
- /etc/subgid
|
|
changed_when: false
|
|
register: subgid
|
|
|
|
- name: Create config directory
|
|
ansible.builtin.file:
|
|
path: /etc/ipsilon
|
|
state: directory
|
|
mode: "0750"
|
|
owner: root
|
|
group: ipsilon
|
|
setype: _default
|
|
|
|
- name: Create OIDC static config
|
|
ansible.builtin.template:
|
|
dest: /etc/ipsilon/openidc-static.conf
|
|
src: openidc-static.conf.j2
|
|
mode: "0600"
|
|
owner: "{{ subuid.stdout }}"
|
|
group: "{{ subgid.stdout }}"
|
|
setype: _default
|
|
notify: Restart ipsilon-container
|
|
|
|
- name: Get container source
|
|
ansible.builtin.git:
|
|
dest: /usr/local/src/docker-ipsilon
|
|
repo: https://github.com/foo-sh/docker-ipsilon.git
|
|
update: true
|
|
version: master
|
|
notify: Rebuild ipsilon-container
|
|
|
|
- name: Create service file
|
|
ansible.builtin.template:
|
|
dest: /etc/systemd/system/ipsilon-container.service
|
|
src: ipsilon-container.service.j2
|
|
mode: "0644"
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
notify: Restart ipsilon-container
|
|
|
|
- name: Create service config
|
|
ansible.builtin.template:
|
|
dest: /etc/sysconfig/ipsilon-container
|
|
src: ipsilon-container.sysconfig.j2
|
|
mode: "0600"
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
notify: Restart ipsilon-container
|
|
|
|
- name: Enable service
|
|
ansible.builtin.service:
|
|
name: ipsilon-container
|
|
state: started
|
|
enabled: true
|
|
|
|
- name: Copy nginx config
|
|
ansible.builtin.copy:
|
|
dest: "/etc/nginx/conf.d/{{ inventory_hostname }}/ipsilon-container.conf"
|
|
content: |
|
|
location /ipsilon {
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Host idp.foo.sh;
|
|
proxy_pass http://127.0.0.1:8011/;
|
|
}
|
|
mode: "0644"
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
notify: Restart nginx
|