feat(caddy): add ansible role
This commit is contained in:
23
roles/caddy/defaults/main/config.yml
Normal file
23
roles/caddy/defaults/main/config.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
caddy_config: |+2
|
||||
{
|
||||
auto_https disable_redirects
|
||||
}
|
||||
|
||||
(proxyheaders) {
|
||||
header_up X-Forwarded-Ssl on
|
||||
header_up Host {host}
|
||||
header_up X-Real-IP {remote}
|
||||
header_up X-Forwarded-For {remote}
|
||||
# header_up X-Forwarded-Port {port}
|
||||
header_up X-Forwarded-Proto {scheme}
|
||||
header_up X-Url-Scheme {scheme}
|
||||
header_up X-Forwarded-Host {host}
|
||||
}
|
||||
|
||||
# Import all configurations
|
||||
import {{ caddy_dynamic_configs_dir }}/*/Caddyfile
|
||||
|
||||
:80 {
|
||||
redir / https://{host}{uri} 301
|
||||
}
|
||||
43
roles/caddy/defaults/main/container.yml
Normal file
43
roles/caddy/defaults/main/container.yml
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
caddy_container_image_registry: "docker.io"
|
||||
caddy_container_image_namespace: "library"
|
||||
caddy_container_image_repository: "caddy"
|
||||
caddy_container_image_name: >-2
|
||||
{{ [
|
||||
caddy_container_image_registry | default([], true),
|
||||
caddy_container_image_namespace | default([], true),
|
||||
caddy_container_image_repository
|
||||
] | flatten | join('/') }}
|
||||
|
||||
caddy_container_image_tag: ~
|
||||
caddy_container_image: >-2
|
||||
{{ [
|
||||
caddy_container_image_name,
|
||||
caddy_container_image_tag | default(caddy_version, true)
|
||||
] | join(':') }}
|
||||
caddy_container_image_source: "pull"
|
||||
caddy_container_image_force_source: >-2
|
||||
{{ caddy_container_image_tag | ansible.builtin.type_debug != 'NoneType' }}
|
||||
caddy_container_image_state: "{{ caddy_state }}"
|
||||
|
||||
caddy_container_name: "caddy"
|
||||
caddy_container_env: ~
|
||||
caddy_container_ports: ~
|
||||
caddy_container_user: ~
|
||||
caddy_container_labels: ~
|
||||
caddy_container_volumes: ~
|
||||
caddy_container_config_dir: "/etc/caddy"
|
||||
caddy_container_default_volumes:
|
||||
- "{{ caddy_config_dir }}:{{ caddy_container_config_dir }}:ro"
|
||||
- "{{ caddy_dynamic_configs_dir }}:{{ caddy_dynamic_configs_dir }}:ro"
|
||||
- "{{ caddy_config_internal_dir }}:/config:rw"
|
||||
- "{{ caddy_state_dir }}:/data:rw"
|
||||
caddy_container_all_volumes: >-2
|
||||
{{ caddy_container_default_volumes | default([], true)
|
||||
+ caddy_container_volumes | default([], true) }}
|
||||
caddy_container_state: >-2
|
||||
{{ (caddy_state == 'present') | ternary('started', 'absent') }}
|
||||
caddy_container_restart_policy: "on-failure"
|
||||
caddy_container_networks: ~
|
||||
caddy_container_network_mode: ~
|
||||
caddy_container_etc_hosts: ~
|
||||
11
roles/caddy/defaults/main/main.yml
Normal file
11
roles/caddy/defaults/main/main.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
caddy_user: "caddy"
|
||||
caddy_version: "2.10.2"
|
||||
caddy_config_file: "/etc/caddy/Caddyfile"
|
||||
caddy_config_dir: "{{ caddy_config_file | ansible.builtin.dirname }}"
|
||||
caddy_config_internal_dir: "{{ caddy_config_dir }}/config"
|
||||
caddy_dynamic_configs_dir: "{{ caddy_config_dir }}/sites.d"
|
||||
caddy_state_dir: "/var/lib/caddy"
|
||||
|
||||
caddy_state: "present"
|
||||
caddy_deployment_method: "docker"
|
||||
7
roles/caddy/defaults/main/user.yml
Normal file
7
roles/caddy/defaults/main/user.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
caddy_user_state: "{{ caddy_state }}"
|
||||
caddy_user_system: true
|
||||
caddy_user_create_home: false
|
||||
|
||||
caddy_run_uid: "{{ caddy_user_info.uid | default(caddy_user) }}"
|
||||
caddy_run_gid: "{{ caddy_user_info.group | default(caddy_user) }}"
|
||||
Reference in New Issue
Block a user