mirror of
				https://git.lapiole.org/dani/ansible-roles.git
				synced 2025-10-31 10:51:27 +01:00 
			
		
		
		
	Update to 2022-01-28 00:00
This commit is contained in:
		
							
								
								
									
										19
									
								
								roles/taiga/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								roles/taiga/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| # Taiga | ||||
| [Taiga](https://www.taiga.io/) is the project management tool for multi-functional agile teams | ||||
|  | ||||
| # Description | ||||
| This role will install and configure taiga on a server. It'll install and configure the following components | ||||
| * RabbitMQ (unless an external AMQP server is specified) | ||||
| * PostgreSQL (unless an external database server is specified) | ||||
| * The taiga stack (back, events, async, protected) | ||||
| * nginx to expose the web interface | ||||
|  | ||||
| # Compatibility | ||||
| The role is tested on the following distributions | ||||
| * AlmaLinux 8 | ||||
|  | ||||
| # Settings | ||||
|  | ||||
| # Installation | ||||
|  | ||||
| # Upgrades | ||||
| @@ -2,6 +2,8 @@ | ||||
|  | ||||
| # Version to deploy | ||||
| taiga_version: 6.5.0 | ||||
| # Should ansible handle upgrades ? If False, only the initial install will be done | ||||
| taiga_manage_upgrade: True | ||||
| # Where taiga will be installed | ||||
| taiga_root_dir: /opt/taiga | ||||
| # User under which taiga will run (will be created) | ||||
| @@ -62,6 +64,8 @@ taiga_public_url: https://{{ inventory_hostname }}/ | ||||
|  | ||||
| # Registration enabled ? | ||||
| taiga_user_registration: False | ||||
| # If registration is enabled (or if oidc auth is enabled), you can restrict email domains accepted by taiga | ||||
| taiga_user_registration_allowed_domains: [] | ||||
| # Max upload file size (in MB) | ||||
| taiga_max_upload_file_size: 20 | ||||
|  | ||||
| @@ -74,3 +78,18 @@ taiga_smtp_ssl: "{{ (taiga_smtp_port == 465) | ternary(True, False) }}" | ||||
| # If your SMTP server requires an authentication, set the following variables | ||||
| #taiga_smtp_user: taiga@example.org | ||||
| #taiga_smtp_pass: p@ssw0rd | ||||
|  | ||||
| # OIDC authentication | ||||
| taiga_oidc_auth: False | ||||
| taiga_oidc_auth_url: https://sso.{{ ansible_domain }}/oauth2/authorize | ||||
| taiga_oidc_user_url: https://sso.{{ ansible_domain }}/oauth2/userinfo | ||||
| taiga_oidc_token_url: https://sso.{{ ansible_domain }}/oauth2/token | ||||
| taiga_oidc_scope: openid email profile | ||||
| taiga_oidc_name: SSO ({{ ansible_domain }}) | ||||
| taiga_oidc_client_id: taiga | ||||
| # taiga_oidc_client_secret must be provided | ||||
| # taiga_oidc_client_secret: S3cr3t. | ||||
| taiga_oidc_id_field: sub | ||||
| taiga_oidc_user_field: sub | ||||
| taiga_oidc_fullname_field: name | ||||
| taiga_oidc_email_field: email | ||||
|   | ||||
| @@ -10,6 +10,16 @@ | ||||
|       - postgresql14 | ||||
|   tags: taiga | ||||
|  | ||||
| - name: Stop services during upgrade | ||||
|   service: name={{ item }} state=stopped | ||||
|   loop: | ||||
|     - taiga-back | ||||
|     - taiga-async | ||||
|     - taiga-events | ||||
|     - taiga-protected | ||||
|   when: taiga_install_mode == 'upgrade' | ||||
|   tags: taiga | ||||
|  | ||||
| - name: Archive previous version | ||||
|   synchronize: | ||||
|     src: "{{ taiga_root_dir }}/{{ item }}" | ||||
|   | ||||
| @@ -72,6 +72,8 @@ | ||||
|         command: createsuperuser --noinput --username admin --email admin@{{ ansible_domain }} | ||||
|         app_path: "{{ taiga_root_dir }}/app/back" | ||||
|         virtualenv: "{{ taiga_root_dir }}/venv" | ||||
|       environment: | ||||
|         DJANGO_SUPERUSER_PASSWORD: '{{ taiga_admin_pass }}' | ||||
|  | ||||
|     - name: load initial data | ||||
|       django_manage: | ||||
| @@ -80,9 +82,7 @@ | ||||
|         virtualenv: "{{ taiga_root_dir }}/venv" | ||||
|  | ||||
|   environment: | ||||
|     DJANGO_SUPERUSER_PASSWORD: '{{ taiga_admin_pass }}' | ||||
|     DJANGO_SETTINGS_MODULE: settings.config | ||||
|     CELERY_ENABLED: False | ||||
|   become_user: "{{ taiga_user }}" | ||||
|   when: taiga_install_mode == 'install' | ||||
|   tags: taiga | ||||
|   | ||||
| @@ -4,15 +4,9 @@ | ||||
|   package: name={{ taiga_packages }} | ||||
|   tags: taiga | ||||
|  | ||||
| - name: Stop services during upgrade | ||||
|   service: name={{ item }} state=stopped | ||||
|   loop: | ||||
|     - taiga-back | ||||
|     - taiga-async | ||||
|     - taiga-events | ||||
|     - taiga-protected | ||||
| - name: Wipe the venv during upgrades | ||||
|   file: path={{ taiga_root_dir }}/venv state=absent | ||||
|   when: taiga_install_mode == 'upgrade' | ||||
|   tags: taiga | ||||
|  | ||||
| - when: taiga_install_mode != 'none' | ||||
|   block: | ||||
| @@ -53,8 +47,6 @@ | ||||
|         state: "{{ (taiga_install_mode == 'upgrade') | ternary('latest', 'present') }}" | ||||
|         virtualenv: "{{ taiga_root_dir }}/venv" | ||||
|         virtualenv_command: /bin/python3.9 -m venv | ||||
|       #environment: | ||||
|       #  PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/pgsql-14/bin/ | ||||
|      | ||||
|     - name: Install the contrib-protected plugin | ||||
|       pip: | ||||
| @@ -62,6 +54,22 @@ | ||||
|         virtualenv: "{{ taiga_root_dir }}/venv" | ||||
|         virtualenv_command: /bin/python3.9 -m venv | ||||
|  | ||||
|     - name: Clone the openid-auth plugin | ||||
|       git: | ||||
|         repo: https://github.com/robrotheram/taiga-contrib-openid-auth.git | ||||
|         dest: "{{ taiga_root_dir }}/app/back/taiga-contrib-openid-auth" | ||||
|  | ||||
|     - name: Install the openid-auth backend plugin | ||||
|       command: "{{ taiga_root_dir }}/venv/bin/pip3 install -e ." | ||||
|       args: | ||||
|         chdir: "{{ taiga_root_dir }}/app/back/taiga-contrib-openid-auth/back" | ||||
|  | ||||
|     - name: Create the front plugin dir | ||||
|       file: path={{ taiga_root_dir }}/app/front/dist/plugins/ state=directory | ||||
|        | ||||
|     - name: Install the openid-auth front plugin | ||||
|       copy: src={{ taiga_root_dir }}/tmp/taiga-contrib-openid-auth/front/dist/ dest={{ taiga_root_dir }}/app/front/dist/plugins/openid-auth/ remote_src=True | ||||
|  | ||||
|     - name: Install dependencies for taiga-events | ||||
|       npm: | ||||
|         path: "{{ taiga_root_dir }}/app/events/" | ||||
|   | ||||
| @@ -9,9 +9,9 @@ from .common import * | ||||
|  | ||||
| DEBUG = False | ||||
|  | ||||
| #ADMINS = ( | ||||
| #    ("Admin", "example@example.com"), | ||||
| #) | ||||
| ADMINS = ( | ||||
|     ("Admin", "{{ system_admin_email | default('admin@' ~ ansible_domain) }}"), | ||||
| ) | ||||
|  | ||||
| DATABASES = { | ||||
|   'default': { | ||||
| @@ -128,7 +128,7 @@ ENABLE_TELEMETRY = False | ||||
| ##  REGISTRATION | ||||
| ######################################### | ||||
|  | ||||
| PUBLIC_REGISTER_ENABLED = False | ||||
| PUBLIC_REGISTER_ENABLED = {{ (taiga_user_registration or taiga_oidc_auth) | ternary('True', 'False') }} | ||||
|  | ||||
| ######################################### | ||||
| ## THROTTLING | ||||
| @@ -156,6 +156,15 @@ PUBLIC_REGISTER_ENABLED = False | ||||
| # LIMIT ALLOWED DOMAINS FOR REGISTER AND INVITE | ||||
| # None or [] values in USER_EMAIL_ALLOWED_DOMAINS means allow any domain | ||||
| #USER_EMAIL_ALLOWED_DOMAINS = None | ||||
| {% if taiga_user_registration_allowed_domains | length > 0 %} | ||||
| USER_EMAIL_ALLOWED_DOMAINS=[ | ||||
| {% for domain in taiga_user_registration_allowed_domains %} | ||||
|   '{{ domain }}' | ||||
| {% endfor %} | ||||
| ] | ||||
| {% else %} | ||||
| USER_EMAIL_ALLOWED_DOMAINS = None | ||||
| {% endif %} | ||||
|  | ||||
| # PUCLIC OR PRIVATE NUMBER OF PROJECT PER USER | ||||
| #MAX_PRIVATE_PROJECTS_PER_USER = None # None == no limit | ||||
| @@ -218,3 +227,16 @@ FEEDBACK_ENABLED = False | ||||
| #    "cert": "XXXXXX_get_a_valid_cert_from_jira_XXXXXX", | ||||
| #    "pub_cert": "XXXXXX_get_a_valid_pub_cert_from_jira_XXXXXX" | ||||
| #} | ||||
|  | ||||
| {% if taiga_oidc_auth %} | ||||
| INSTALLED_APPS += ["taiga_contrib_openid_auth"] | ||||
| OPENID_USER_URL = "{{ taiga_oidc_user_url }}" | ||||
| OPENID_TOKEN_URL = "{{ taiga_oidc_token_url }}" | ||||
| OPENID_CLIENT_ID = "{{ taiga_oidc_client_id }}" | ||||
| OPENID_CLIENT_SECRET = "{{ taiga_oidc_client_secret }}" | ||||
| OPENID_SCOPE = "{{ taiga_oidc_scope }}" | ||||
| OPENID_ID_FIELD = "{{ taiga_oidc_id_field }}" | ||||
| OPENID_USERNAME_FIELD = "{{ taiga_oidc_user_field }}" | ||||
| OPENID_FULLNAME_FIELD = "{{ taiga_oidc_fullname_field }}" | ||||
| OPENID_EMAIL_FIELD = "{{ taiga_oidc_email_field }}" | ||||
| {% endif %} | ||||
|   | ||||
| @@ -16,7 +16,7 @@ | ||||
|     "supportUrl": "https://resources.taiga.io", | ||||
|     "privacyPolicyUrl": null, | ||||
|     "termsOfServiceUrl": null, | ||||
|     "maxUploadFileSize": {{ taiga_max_upload_file_size }}, | ||||
|     "maxUploadFileSize": {{ taiga_max_upload_file_size * 1024 * 1024 }}, | ||||
|     "contribPlugins": [], | ||||
|     "tagManager": { "accountId": null }, | ||||
|     "tribeHost": null, | ||||
| @@ -25,5 +25,14 @@ | ||||
|     "enableJiraImporter": false, | ||||
|     "enableTrelloImporter": false, | ||||
|     "gravatar": false, | ||||
| {% if taiga_oidc_auth %} | ||||
|     "openidAuth" : "{{ taiga_oidc_auth_url }}", | ||||
|     "openidScope": "{{ taiga_oidc_scope }}", | ||||
|     "openidName" : "{{ taiga_oidc_name }}", | ||||
|     "openidClientId": "{{ taiga_oidc_client_id }}", | ||||
|     "contribPlugins": [ | ||||
|       "/plugins/openid-auth/openid-auth.json" | ||||
|     ], | ||||
| {% endif %} | ||||
|     "rtlLanguages": ["ar", "fa", "he"] | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Daniel Berteaud
					Daniel Berteaud