Ansible role to install and configure the Ansible UI Semaphore.
None. But for a production environment you should install a webserver as proxy for ssl termination (role is prepared for nginx).
- hosts: all
become: yes
roles:
- semaphore
vars:
semaphore_addn_config:
email_alert: true
email_sender: "[email protected]"
Just set semaphore_mysql_install: false
and provide the credentials semaphore_mysql_*
.
None of the variables below are required.
Variable | Default | Comment |
---|---|---|
semaphore_version |
latest available version | the version to download (example: 2.8.77), also see semaphore_download_url and semaphore_download_checksum |
semaphore_mysql_install |
true |
whether to install mysql on the host, installs with the password mysql_root_password |
semaphore_mysql_create_db |
true |
whether to create the mysql db and user |
semaphore_mysql_host :semaphore_mysql_port |
127.0.0.1 :3306 |
the mysql host |
semaphore_mysql_db |
semaphore | the mysql database |
semaphore_mysql_user |
semaphore | the mysql user |
semaphore_mysql_password |
semaphore | the mysql user password |
semaphore_user |
semaphore | the user and systemd identifier semaphore runs as |
semaphore_listenip |
127.0.0.1 |
the IP semaphore binds to |
semaphore_listenport |
3000 |
the port semaphore binds to |
semaphore_path |
/opt/semaphore | destination for the binary |
semaphore_addn_config |
{} |
for all options see the source |
semaphore_config_path |
/etc/semaphore/semaphore.json | config file |
semaphore_default_user |
admin | login name of the default user |
semaphore_default_user_make_admin |
true | make default user admin |
semaphore_default_user_name |
semaphore_default_user |
his human readable name |
semaphore_default_user_password |
admin | the password |
semaphore_default_user_mail |
[email protected] | and mail adress |
semaphore_default_user_password |
admin |
change to a secure value! |
:--- | :--- | :--- |
semaphore_nginx_deploy_reverseconfig |
false | set to true to enable nginx |
semaphore_nginx_config_filename |
semaphore |
filename of nginx vhost-config |
semaphore_nginx_ssl_certificate |
/etc/letsencrypt/live/{{ semaphore_hostname }}/fullchain.pem |
path to tls certificate |
semaphore_nginx_ssl_certificate_key |
/etc/letsencrypt/live/{{ semaphore_hostname }}/privkey.pem |
path to tls key |
For all options see defaults/main.yml
Molecule is used for testing, the webinterface of the centos machine will be exposed and can be used as demo.
- run
molecule converge
- open your browser at 127.0.0.1:3000
- and login with user and password
admin
.
MIT
Role forked from https://github.com/morbidick/ansible-role-semaphore
changes from forked roles are mostly on vars, added nginx reverse-config (see this commit or this comparison) for details. will backport upstream changes if useful.