Use nginx role with custom nginx.conf support
		
	This commit is contained in:
		
					parent
					
						
							
								64f9484b16
							
						
					
				
			
			
				commit
				
					
						65ac14c18b
					
				
			
		
					 23 changed files with 378 additions and 115 deletions
				
			
		
							
								
								
									
										64
									
								
								playbooks/roles/nginx/meta/argument_specs.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								playbooks/roles/nginx/meta/argument_specs.yaml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,64 @@ | |||
| argument_specs: | ||||
|   main: | ||||
|     options: | ||||
|       nginx__version_spec: | ||||
|         description: >- | ||||
|           The version specification to use for installing the `nginx` package. The | ||||
|           provided version specification will be used like the following: `nginx={{ | ||||
|           nginx__version_spec }}*`. This makes it possible to e.g. specify | ||||
|           until a minor version (like `1.3.`) and then have patch versions be | ||||
|           installed automatically (like `1.3.1` and so on). | ||||
|         type: str | ||||
|         required: true | ||||
|       nginx__deploy_redirect_conf: | ||||
|         description: >- | ||||
|           Whether or not to deploy a `redirect.conf` to | ||||
|           `/etc/nginx/conf.d/redirect.conf`. | ||||
|         type: bool | ||||
|         required: false | ||||
|         default: true | ||||
|       nginx__deploy_tls_conf: | ||||
|         description: >- | ||||
|           Whether or not to deploy a `tls.conf` to `/etc/nginx/conf.d/tls.conf`. | ||||
|         type: bool | ||||
|         required: false | ||||
|         default: true | ||||
|       nginx__configurations: | ||||
|         description: A list of nginx configurations. | ||||
|         type: list | ||||
|         elements: dict | ||||
|         required: false | ||||
|         default: [ ] | ||||
|         options: | ||||
|           name: | ||||
|             description: >- | ||||
|               The name of the configuration file, where the configuration should | ||||
|               be deployed to. The file will be placed under `/etc/nginx/conf.d/` | ||||
|               and `.conf` will be appended to the given name. So in the end the | ||||
|               path will be like this: `/etc/nginx/conf.d/\{\{ name \}\}.conf`. | ||||
|               Note that the names `tls` and `redirect` aren't allowed. | ||||
|             type: str | ||||
|             required: true | ||||
|           content: | ||||
|             description: The content of the configuration. | ||||
|             type: str | ||||
|             required: true | ||||
|       nginx__use_custom_nginx_conf: | ||||
|         description: >- | ||||
|           Whether or not to use a custom `/etc/nginx/nginx.conf`. If set to | ||||
|           true, you must provide a custom `nginx.conf` via | ||||
|           `nginx__custom_nginx_conf`. | ||||
|         type: bool | ||||
|         required: false | ||||
|         default: false | ||||
|       nginx__custom_nginx_conf: | ||||
|         description: >- | ||||
|           The value for a `nginx.conf` to be placed at `/etc/nginx/nginx.conf`. | ||||
|           You must set `nginx__use_custom_nginx_conf` to true for this value to | ||||
|           be used. | ||||
|           You should probably make sure that your custom `nginx.conf` still | ||||
|           includes `/etc/nginx/conf.d/*.conf` so that the configuration provided | ||||
|           using `nginx__configurations` still work. | ||||
|         type: str | ||||
|         required: false | ||||
|         default: "" | ||||
|  | @ -1,20 +0,0 @@ | |||
| --- | ||||
| argument_specs: | ||||
|   main: | ||||
|     options: | ||||
|       nginx__enable_https_redirect: | ||||
|         description: Redirect HTTP traffic to HTTPS | ||||
|         type: bool | ||||
|         required: false | ||||
|       nginx__configs: | ||||
|         description: Configuration files to add to /etc/nginx/conf.d/ | ||||
|         type: list | ||||
|         elements: dict | ||||
|         required: false | ||||
|         options: | ||||
|           name: | ||||
|             description: Name of the config file without file extension | ||||
|             type: str | ||||
|           content: | ||||
|             description: Content of the config file | ||||
|             type: str | ||||
							
								
								
									
										8
									
								
								playbooks/roles/nginx/meta/main.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								playbooks/roles/nginx/meta/main.yaml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | |||
| --- | ||||
| dependencies: | ||||
|   - role: distribution_check | ||||
|     vars: | ||||
|       distribution_check__supported_distributions: | ||||
|         - name: Debian | ||||
|           versions: | ||||
|             - "11" | ||||
|  | @ -1,16 +0,0 @@ | |||
| dependencies: | ||||
|   - role: distribution_check | ||||
|     vars: | ||||
|       distribution_check__supported_distributions: | ||||
|         - name: Debian | ||||
|           versions: | ||||
|             - "10" | ||||
|             - "11" | ||||
|   - role: add_apt_repository | ||||
|     vars: | ||||
|       add_apt_repository__https_repo: false | ||||
|       add_apt_repository__keyring_url: https://nginx.org/keys/nginx_signing.key | ||||
|       add_apt_repository__keyring_path: /usr/share/keyrings/nginx-archive-keyring.gpg | ||||
|       add_apt_repository__repo: deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] | ||||
|          http://nginx.org/packages/{{ ansible_facts.distribution | lower }} {{ ansible_facts.lsb.codename }} nginx | ||||
|       add_apt_repository__filename: nginx.list | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 julian
				julian