Jimdo.fastly

ansible-fastly

ビルド状況 Ansible Galaxy

Fastlyサービスを設定するためのAnsibleモジュール

インストール

$ ansible-galaxy install Jimdo.fastly

ドキュメント

モジュールオプション

名称 必須 説明 デフォルト
name はい 作成するサービスのユニークな名前
fastly_api_key いいえ Fastly APIキー。設定しない場合、FASTLY_API_KEY環境変数の値が使用されます。
activate_new_version いいえ 新しく作成したバージョンを自動的に有効にするかどうかを設定します true
domains はい サービスのエントリポイントとなるドメイン名のリスト
backends はい ドメインからのリクエストを処理するバックエンドのリスト
cache_settings いいえ キャッシュ設定のリスト
conditions いいえ 条件のリスト
directors いいえ ディレクタのリスト
gzips いいえ gzip設定のリスト
headers いいえ 各リクエストに操作するヘッダーのリスト
healthchecks いいえ バックエンド目的のヘルスチェックのリスト
request_settings いいえ リクエスト設定のリスト
response_objects いいえ レスポンスオブジェクトのリスト
settings いいえ 設定オブジェクト
s3s いいえ S3ロガーのリスト
syslogs いいえ Syslogロガーのリスト
vcl_snippets いいえ VCLスニペットのリスト

バックエンド

Fastlyドキュメント

フィールド 必須 種類 デフォルト
name はい string
port いいえ integer 80
address はい string
ssl_hostname いいえ string
ssl_ca_cert いいえ string
ssl_cert_hostname いいえ string
shield いいえ string
healthcheck いいえ string
weight いいえ integer 100
connect_timeout いいえ integer 1000
first_byte_timeout いいえ integer 15000
between_bytes_timeout いいえ integer 10000
error_threshold いいえ integer 0
max_conn いいえ integer 200

キャッシュ設定

Fastlyドキュメント

フィールド 必須 種類 デフォルト
name はい string
action いいえ enum ('cache', 'pass', 'restart')
cache_condition いいえ string
stale_ttl いいえ integer 0

条件

Fastlyドキュメント

フィールド 必須 種類 デフォルト
name はい string
comment いいえ string
priority いいえ integer 0
statement はい string
type はい enum ('REQUEST', 'PREFETCH', 'CACHE', 'RESPONSE')

ディレクタ

Fastlyドキュメント

フィールド 必須 種類 デフォルト
name はい string
backends いいえ array of strings
capacity いいえ integer 100
comment いいえ string ''
quorum いいえ integer 75
shield いいえ string
type いいえ integer (1,2,3,4のいずれか) 1
retries いいえ integer 5

ヘッダー

Fastlyドキュメント

フィールド 必須 種類 デフォルト
name はい string
action いいえ enum ('set', 'append', 'delete', 'regex', 'regex_repeat') set
dst はい string
ignore_if_set いいえ integer (0または1のいずれか) 0
priority いいえ integer 100
regex いいえ string
request_condition いいえ string
response_condition いいえ string
cache_condition いいえ string
src はい string
substitution いいえ string
type はい enum ('request', 'fetch', 'cache', 'response')

ヘルスチェック

Fastlyドキュメント

フィールド 必須 種類 デフォルト
name はい string
check_interval いいえ integer
comment いいえ string ''
expected_response いいえ integer 200
host はい string
http_version いいえ string 1.1
initial いいえ integer
method いいえ string HEAD
path いいえ string '/'
threshold いいえ integer
timeout いいえ integer
window いいえ integer

リクエスト設定

Fastlyドキュメント

フィールド 必須 種類 デフォルト
name はい string
request_condition いいえ string
action いいえ enum ('lookup', 'pass')
xff いいえ enum ('clear', 'leave', 'append', 'append_all', 'overwrite')
hash_keys いいえ string
default_host いいえ string
max_stale_age いいえ integer 0
force_miss いいえ integer 0
force_ssl いいえ integer 0
timer_support いいえ integer 0
geo_headers いいえ integer 0
bypass_busy_wait いいえ integer 0

レスポンスオブジェクト

Fastlyドキュメント

フィールド 必須 種類 デフォルト
name はい string
request_condition いいえ string
response いいえ string Ok
status いいえ integer 200
content いいえ string
content_type いいえ string

VCLスニペット

Fastlyドキュメント

フィールド 必須 種類 デフォルト
name はい string
dynamic いいえ integer 0
type いいえ string "init"
content はい string
priority いいえ integer 100

S3ロギング

Fastlyドキュメント

フィールド 必須 種類 デフォルト
name はい string
access_key いいえ string
bucket_name いいえ string
domain いいえ string
format いいえ string %{%Y-%m-%dT%H:%M:%S}t %h "%r" %>s %b
format_version いいえ integer 2
gzip_level いいえ integer 0
message_type いいえ enum ('classic', 'loggly', 'logplex', 'blank') classic
path いいえ string /
period いいえ integer 3600
placement いいえ string
redundancy いいえ string
response_condition いいえ string ''
secret_key いいえ string
server_side_encryption_kms_key_id いいえ string
server_side_encryption いいえ string
timestamp_format いいえ string %Y-%m-%dT%H

Syslogロギング

Fastlyドキュメント

フィールド 必須 種類 デフォルト
name はい string
address はい string
format いいえ string %{%Y-%m-%dT%H:%M:%S}t %h "%r" %>s %b
format_version いいえ integer 2
hostname いいえ string
ipv4 いいえ string
message_type いいえ enum ('classic', 'loggly', 'logplex', 'blank') classic
placement いいえ string
port はい int
response_condition いいえ string ''
tls_ca_cert いいえ string
tls_hostname いいえ string
token いいえ string
use_tls いいえ int 0

設定

Fastlyドキュメント

フィールド 必須 種類 デフォルト
general.default_ttl いいえ integer 3600

Playbookでfastly_serviceモジュールを使用する

---
- hosts: localhost
  connection: local
  gather_facts: False
  roles:
    - Jimdo.fastly
  tasks:
    - fastly_service:
        name: リダイレクトサービス
        domains:
          - name: test1.example.net
            comment: リダイレクトドメイン
        backends:
          - name: localhost
            port: 80
            address: 127.0.0.1
        headers:
          - name: Locationヘッダーの設定
            dst: http.Location
            type: response
            action: set
            src: http://test3.example.net req.url.path
            ignore_if_set: 0
            priority: 10
        response_objects:
          - name: 301ステータスコードの設定
            status: 301
$ ansible-playbook -i localhost, fastly.yml

開発

テストの実行

FASTLY_API_KEY=some_secret python -m unittest discover tests

VCRカセットの更新

VCR.pyは、HTTPリクエストをモックするためにテストで使用されています。

カセットを更新するには、tests/fixtures/cassettesディレクトリを削除し、通常通りテストを実行します。記録を有効にするには、有効なFastly APIキーが必要です。

プロジェクトについて

Ansible module for Fastly

インストール
ansible-galaxy install Jimdo.fastly
ライセンス
mit
ダウンロード
56.9k
所有者