@ -0,0 +1,15 @@ | |||
--- | |||
- hosts: biff | |||
roles: | |||
- role: lxc_guest | |||
vm_name: login | |||
distro: stretch | |||
- role: ssh_server | |||
ansible_connection: lxc_ssh | |||
ansible_docker_extra_args: login | |||
- hosts: login | |||
roles: | |||
- role: dns_record | |||
- role: login | |||
- role: reverse_proxy | |||
hostname: login3 |
@ -0,0 +1,7 @@ | |||
--- | |||
dependencies: | |||
- role: nginx | |||
is_proxy: true | |||
config_name: "login" | |||
remote_host: "http://localhost:5000" | |||
server_name: "login.lilik.it" |
@ -0,0 +1,37 @@ | |||
- name: install login packages | |||
apt: | |||
name: "{{ item }}" | |||
state: present | |||
update_cache: yes | |||
cache_valid_time: 3600 | |||
install_recommends: '{{ install_recommends | default("no") }}' | |||
with_items: | |||
- git | |||
- python3 | |||
- python3-ldap3 | |||
- python3-flask | |||
- name: clone login repository | |||
git: | |||
repo: http://projects.lilik.it/lilik/lilik_users3.git | |||
dest: /srv/login | |||
notify: | |||
- restart login | |||
- name: add login init script | |||
template: src=login.j2 dest=/etc/init.d/login mode=755 | |||
register: add_login_startup_script | |||
notify: | |||
- restart login | |||
- name: reload systemd | |||
systemd: | |||
daemon_reload: yes | |||
name: login | |||
when: add_login_startup_script.changed | |||
- include_role: | |||
name: service | |||
vars: | |||
service_name: login | |||
service_packages: null |
@ -0,0 +1,28 @@ | |||
server { | |||
listen *:80; | |||
server_name login.lilik.it; | |||
client_max_body_size 0; | |||
location / { | |||
rewrite ^/$ /static/index.html permanent; | |||
proxy_http_version 1.1; | |||
proxy_set_header Host projects.leader.lilik.it; | |||
proxy_set_header X-Forwarded-Host ""; | |||
proxy_set_header X-Real-IP $remote_addr; | |||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |||
proxy_set_header X-Forwarded-Proto http; | |||
proxy_pass http://localhost:5000; | |||
proxy_hide_header Content-Security-Policy; | |||
proxy_hide_header X-Frame-Options; | |||
} | |||
} |
@ -0,0 +1,59 @@ | |||
#!/bin/sh | |||
### BEGIN INIT INFO | |||
# Provides: login | |||
# Required-Start: $remote_fs $syslog $networking | |||
# Required-Stop: $remote_fs $syslog $networking | |||
# Default-Start: 2 3 4 5 | |||
# Default-Stop: 0 1 6 | |||
# Short-Description: login | |||
# Description: LILiK user manager interface | |||
### END INIT INFO | |||
DIR=/srv/login | |||
DAEMON=$DIR/server.py | |||
DAEMON_NAME=login | |||
# Add any command line options for your daemon here | |||
DAEMON_OPTS="" | |||
# This next line determines what user the script runs as. | |||
DAEMON_USER=root | |||
# The process ID of the script when it runs is stored here: | |||
PIDFILE=/var/run/$DAEMON_NAME.pid | |||
. /lib/lsb/init-functions | |||
do_start () { | |||
log_daemon_msg "Starting system $DAEMON_NAME daemon" | |||
start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user $DAEMON_USER --chuid $DAEMON_USER --startas $DAEMON -- $DAEMON_OPTS | |||
log_end_msg $? | |||
} | |||
do_stop () { | |||
log_daemon_msg "Stopping system $DAEMON_NAME daemon" | |||
start-stop-daemon --stop --pidfile $PIDFILE --retry 10 | |||
log_end_msg $? | |||
} | |||
case "$1" in | |||
start|stop) | |||
do_${1} | |||
;; | |||
restart|reload|force-reload) | |||
do_stop | |||
do_start | |||
;; | |||
status) | |||
status_of_proc "$DAEMON_NAME" "$DAEMON" && exit 0 || exit $? | |||
;; | |||
*) | |||
echo "Usage: /etc/init.d/$DAEMON_NAME {start|stop|restart|status}" | |||
exit 1 | |||
;; | |||
esac | |||
exit 0 |