WIP Caddy caddy formula
This commit is contained in:
commit
acd87c1814
5 changed files with 111 additions and 0 deletions
29
Caddyfile.jinja
Normal file
29
Caddyfile.jinja
Normal file
|
@ -0,0 +1,29 @@
|
|||
# THIS FILE IS MANAGED BY SALT! NO TOUCHY TOUCHY, JUST LOOKY LOOKY!
|
||||
|
||||
(header) {
|
||||
header {
|
||||
# disable FLoC tracking
|
||||
Permissions-Policy interest-cohort=()
|
||||
|
||||
# enable HSTS
|
||||
Strict-Transport-Security max-age=31536000;
|
||||
|
||||
# disable clients from sniffing the media type
|
||||
X-Content-Type-Options nosniff
|
||||
|
||||
# clickjacking protection
|
||||
X-Frame-Options DENY
|
||||
|
||||
# keep referrer data off of HTTP connections
|
||||
Referrer-Policy no-referrer-when-downgrade
|
||||
|
||||
X-XSS-Protection 1
|
||||
|
||||
Content-Security-Policy default-src https:
|
||||
}
|
||||
}
|
||||
|
||||
{% for site in salt['pillar.get']('caddy:sites') %}
|
||||
{{ site }}
|
||||
{% endfor %}
|
||||
|
29
caddy/Caddyfile.jinja
Normal file
29
caddy/Caddyfile.jinja
Normal file
|
@ -0,0 +1,29 @@
|
|||
# THIS FILE IS MANAGED BY SALT! NO TOUCHY TOUCHY, JUST LOOKY LOOKY!
|
||||
|
||||
(header) {
|
||||
header {
|
||||
# disable FLoC tracking
|
||||
Permissions-Policy interest-cohort=()
|
||||
|
||||
# enable HSTS
|
||||
Strict-Transport-Security max-age=31536000;
|
||||
|
||||
# disable clients from sniffing the media type
|
||||
X-Content-Type-Options nosniff
|
||||
|
||||
# clickjacking protection
|
||||
X-Frame-Options DENY
|
||||
|
||||
# keep referrer data off of HTTP connections
|
||||
Referrer-Policy no-referrer-when-downgrade
|
||||
|
||||
X-XSS-Protection 1
|
||||
|
||||
Content-Security-Policy default-src https:
|
||||
}
|
||||
}
|
||||
|
||||
{% for site in salt['pillar.get']('caddy:sites') %}
|
||||
{{ site }}
|
||||
{% endfor %}
|
||||
|
20
caddy/init.sls
Normal file
20
caddy/init.sls
Normal file
|
@ -0,0 +1,20 @@
|
|||
{% if grains['os'] == 'Ubuntu' %}
|
||||
caddy repository available:
|
||||
pkgrepo.managed:
|
||||
- name: deb https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version main
|
||||
- key_url: https://dl.cloudsmith.io/public/caddy/stable/gpg.key
|
||||
{% endif %}
|
||||
|
||||
caddy installed:
|
||||
pkg.installed:
|
||||
- name: caddy
|
||||
|
||||
caddy service running:
|
||||
service.running:
|
||||
- name: caddy
|
||||
|
||||
write caddy config file:
|
||||
file.managed:
|
||||
- name: /etc/caddy/Caddyfile
|
||||
- source: salt://caddy/Caddyfile.jinja
|
||||
- template: jinja
|
20
init.sls
Normal file
20
init.sls
Normal file
|
@ -0,0 +1,20 @@
|
|||
{% if grains['os'] == 'Ubuntu' %}
|
||||
caddy repository available:
|
||||
pkgrepo.managed:
|
||||
- name: deb https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version main
|
||||
- key_url: https://dl.cloudsmith.io/public/caddy/stable/gpg.key
|
||||
{% endif %}
|
||||
|
||||
caddy installed:
|
||||
pkg.installed:
|
||||
- name: caddy
|
||||
|
||||
caddy service running:
|
||||
service.running:
|
||||
- name: caddy
|
||||
|
||||
write caddy config file:
|
||||
file.managed:
|
||||
- name: /etc/caddy/Caddyfile
|
||||
- source: salt://caddy/Caddyfile.jinja
|
||||
- template: jinja
|
13
pillar.example
Normal file
13
pillar.example
Normal file
|
@ -0,0 +1,13 @@
|
|||
caddy:
|
||||
sites:
|
||||
- |
|
||||
example.flipdot.org {
|
||||
import header
|
||||
respond "Hello World"
|
||||
}
|
||||
|
||||
- |
|
||||
testing.flipdot.org {
|
||||
import header
|
||||
reverse_proxy localhost:3000
|
||||
}
|
Loading…
Reference in a new issue