Jimdo.fastly

ansible-fastly

Build Status Ansible Galaxy

Ansible-Modul zur Konfiguration von Diensten in Fastly

Installation

$ ansible-galaxy install Jimdo.fastly

Dokumentation

Moduloptionen

Name Erforderlich Beschreibung Standard
name ja Der eindeutige Name für den zu erstellenden Dienst
fastly_api_key nein Fastly API-Schlüssel. Wenn nicht gesetzt, wird der Wert der Umgebungsvariablen FASTLY_API_KEY verwendet.
activate_new_version nein Konfiguriert, ob neu erstellte Versionen automatisch aktiviert werden sollen ja
domains ja Liste von Domainnamen, die als Einstiegspunkte für Ihren Dienst dienen
backends ja Liste von Backends zur Bearbeitung von Anfragen Ihrer Domains
cache_settings nein Liste von Cache-Einstellungen
conditions nein Liste von Bedingungen
directors nein Liste von Regisseuren
gzips nein Liste von Gzip-Konfigurationen
headers nein Liste von Headern, die für jede Anfrage bearbeitet werden sollen
healthchecks nein Liste von Gesundheitsprüfungen für Backends
request_settings nein Liste von Anfrageinstellungen
response_objects nein Liste von Antwortobjekten
settings nein Einstellungen-Objekt
s3s nein Liste von S3-Loggern
syslogs nein Liste von Syslog-Loger
vcl_snippets nein Liste von VCL-Elementen

Backend

Fastly-Dokumentation

Feld Erforderlich Typ Standard
name ja string
port nein integer 80
address ja string
ssl_hostname nein string
ssl_ca_cert nein string
ssl_cert_hostname nein string
shield nein string
healthcheck nein string
weight nein integer 100
connect_timeout nein integer 1000
first_byte_timeout nein integer 15000
between_bytes_timeout nein integer 10000
error_threshold nein integer 0
max_conn nein integer 200

Cache-Einstellungen

Fastly-Dokumentation

Feld Erforderlich Typ Standard
name ja string
action nein enum ('cache', 'pass', 'restart')
cache_condition nein string
stale_ttl nein integer 0

Bedingung

Fastly-Dokumentation

Feld Erforderlich Typ Standard
name ja string
comment nein string
priority nein integer 0
statement ja string
type ja enum ('REQUEST', 'PREFETCH', 'CACHE', 'RESPONSE')

Direktor

Fastly-Dokumentation

Feld Erforderlich Typ Standard
name ja string
backends nein array von Strings
capacity nein integer 100
comment nein string ''
quorum nein integer 75
shield nein string
type nein integer (einer von [1,2,3,4]) 1
retries nein integer 5

Fastly-Dokumentation

Feld Erforderlich Typ Standard
name ja string
action nein enum ('set', 'append', 'delete', 'regex', 'regex_repeat') set
dst ja string
ignore_if_set nein integer (einer von [0,1]) 0
priority nein integer 100
regex nein string
request_condition nein string
response_condition nein string
cache_condition nein string
src ja string
substitution nein string
type ja enum ('request', 'fetch', 'cache', 'response')

Gesundheitsprüfung

Fastly-Dokumentation

Feld Erforderlich Typ Standard
name ja string
check_interval nein integer
comment nein string ''
expected_response nein integer 200
host ja string
http_version nein string 1.1
initial nein integer
method nein string HEAD
path nein string '/'
threshold nein integer
timeout nein integer
window nein integer

Anfrageeinstellungen

Fastly-Dokumentation

Feld Erforderlich Typ Standard
name ja string
request_condition nein string
action nein enum ('lookup', 'pass')
xff nein enum ('clear', 'leave', 'append', 'append_all', 'overwrite')
hash_keys nein string
default_host nein string
max_stale_age nein integer 0
force_miss nein integer 0
force_ssl nein integer 0
timer_support nein integer 0
geo_headers nein integer 0
bypass_busy_wait nein integer 0

Antwortobjekt

Fastly-Dokumentation

Feld Erforderlich Typ Standard
name ja string
request_condition nein string
response nein string Ok
status nein integer 200
content nein string
content_type nein string

VCL-Snippets

Fastly-Dokumentation

Feld Erforderlich Typ Standard
name ja string
dynamic nein integer 0
type nein string "init"
content ja string
priority nein integer 100

S3-Logging

Fastly-Dokumentation

Feld Erforderlich Typ Standard
name ja string
access_key nein string
bucket_name nein string
domain nein string
format nein string %{%Y-%m-%dT%H:%M:%S}t %h "%r" %>s %b
format_version nein integer 2
gzip_level nein integer 0
message_type nein enum ('classic', 'loggly', 'logplex', 'blank') classic
path nein string /
period nein integer 3600
placement nein string
redundancy nein string
response_condition nein string ''
secret_key nein string
server_side_encryption_kms_key_id nein string
server_side_encryption nein string
timestamp_format nein string %Y-%m-%dT%H

Syslog-Logging

Fastly-Dokumentation

Feld Erforderlich Typ Standard
name ja string
address ja string
format nein string %{%Y-%m-%dT%H:%M:%S}t %h "%r" %>s %b
format_version nein integer 2
hostname nein string
ipv4 nein string
message_type nein enum ('classic', 'loggly', 'logplex', 'blank') classic
placement nein string
port ja int
response_condition nein string ''
tls_ca_cert nein string
tls_hostname nein string
token nein string
use_tls nein int 0

Einstellungen

Fastly-Dokumentation

Feld Erforderlich Typ Standard
general.default_ttl nein integer 3600

Beispiele

Verwendung des fastly_service-Moduls in einem Playbook

---
- hosts: localhost
  connection: local
  gather_facts: False
  roles:
    - Jimdo.fastly
  tasks:
    - fastly_service:
        name: Redirect service
        domains:
          - name: test1.example.net
            comment: redirect domain
        backends:
          - name: localhost
            port: 80
            address: 127.0.0.1
        headers:
          - name: Set Location header
            dst: http.Location
            type: response
            action: set
            src: http://test3.example.net req.url.path
            ignore_if_set: 0
            priority: 10
        response_objects:
          - name: Set 301 status code
            status: 301
$ ansible-playbook -i localhost, fastly.yml

Entwicklung

Tests ausführen

FASTLY_API_KEY=some_secret python -m unittest discover tests

VCR-Kassetten aktualisieren

VCR.py wird in den Tests verwendet, um HTTP-Anfragen zu simulieren.

Um die Kassetten zu aktualisieren, löschen Sie einfach das Verzeichnis tests/fixtures/cassettes und führen die Tests wie gewohnt aus. Sie müssen einen gültigen Fastly-API-Schlüssel verwenden, damit die Aufnahme funktioniert.

Über das Projekt

Ansible module for Fastly

Installieren
ansible-galaxy install Jimdo.fastly
Lizenz
mit
Downloads
56.9k
Besitzer