コンテンツにスキップ

設定リファレンス

すべてのパイプラインの動作は config/ 内の2つのYAMLファイルによって制御されます。

api:
base_url: "https://example-tenant.console.ves.volterra.io"
tenant: "example-tenant"
namespace: "example-namespace"
timeout: 30
retries: 3
retry_delay: 2
フィールド説明
base_urlF5 XCコンソールAPIのベースURL。環境変数 F5XC_API_URL で上書き可能。
tenantAPIパスで使用されるテナント名。
namespaceCRUD操作のデフォルト名前空間。
timeoutHTTPリクエストのタイムアウト(秒)。
retries失敗時のリトライ回数。
retry_delayリトライ間の待機秒数。
download:
url: "https://docs.cloud.f5.com/docs-v2/downloads/f5-distributed-cloud-open-api.zip"
output_dir: "specs/original"
etag_cache: ".etag_cache"
フィールド説明
url公式F5 XC OpenAPIスペックバンドル(ZIP)のURL。
output_dir展開されたスペックの保存先。
etag_cache条件付きダウンロード用のHTTP ETagを保存するファイル。

OpenAPIスキーマの制約タイプに対応する10のカテゴリ。それぞれ個別に有効化/無効化できます。

validation_categories:
string_length:
enabled: true
keywords: ["minLength", "maxLength"]
description: "Validate string length boundaries"
カテゴリキーワード
string_lengthminLength, maxLength
patternpattern
numeric_boundsminimum, maximum, exclusiveMinimum, exclusiveMaximum
required_fieldsrequired
enum_valuesenum
array_boundsminItems, maxItems, uniqueItems
object_structureadditionalProperties, properties, propertyNames
compositiononeOf, anyOf, allOf
dependenciesdependentRequired, dependentSchemas
data_typestype, format
schemathesis:
enabled: true
max_examples: 100
hypothesis_phases:
- generate
- target
stateful_testing: true
base_url_override: null
auth_header: "Authorization"
auth_prefix: "APIToken"
フィールド説明
enabledSchemathesisテストの有効/無効を切り替え。
max_examplesオペレーションごとに生成されるテストケースの最大数。
hypothesis_phases実行するHypothesisフェーズ(generatetarget)。
stateful_testingオペレーション間のリンクベースのステートフルテストを有効化。
base_url_overrideテスト用のAPIベースURLを上書き。null の場合は api.base_url を使用。
auth_header認証用のHTTPヘッダー名。
auth_prefixトークンプレフィックスの形式(リクエストは APIToken <token> として送信)。
reconciliation:
priority:
- existing
- discovery
- inferred
fix_strategies:
tighter_spec: "relax"
looser_spec: "tighten"
missing_constraint: "add"
extra_constraint: "remove"
フィールド説明
priority複数のデータソースが不一致の場合の優先順位。
fix_strategies各不一致タイプを修正アクションにマッピング。適用される修正を参照。
spectral:
enabled: true
ruleset: "spectral-pipeline.yaml"
auto_fix:
oas3-api-servers: true
info-contact: true
operation-tags: true
oas3-unused-component: true
operation-operationId-unique: true
oas3-valid-schema-example: true
no-script-tags-in-markdown: true
gate:
max_errors: null
max_warnings: null
contact:
name: "F5 Distributed Cloud"
url: "https://docs.cloud.f5.com"
email: "support@f5.com"
servers:
- url: "https://{tenant}.console.ves.volterra.io"
description: "F5 Distributed Cloud API"
variables:
tenant:
default: "example-tenant"
description: "Your F5 XC tenant name"
security_scheme:
type: "apiKey"
in: "header"
name: "Authorization"
description: "F5 XC API Token (format: APIToken <token>)"
フィールド説明
enabledSpectralリンティング全体の有効/無効を切り替え。
ruleset使用するSpectral設定ファイル(パイプラインでは spectral-pipeline.yaml を使用)。
auto_fixルール名とブール値のマップ。true の場合、リコンサイラーが違反を修正。
gate.max_errorsリコンシリエーション後のゲートで許容される最大エラー数。null でチェックを無効化。
gate.max_warnings許容される最大警告数。null でチェックを無効化。
contactinfo-contact フィクサーによって info.contact に注入される連絡先情報。
serversoas3-api-servers フィクサーによって注入されるサーバー配列。
security_schemeすべてのスペックに注入されるセキュリティスキーム定義。
reports:
output_dir: "reports"
formats:
- json
- html
- markdown
include_examples: true
max_examples_per_issue: 5
release:
output_dir: "release"
include_changelog: true
include_validation_report: true
version_from: "git"
フィールド説明
output_dirリリースアーティファクトのディレクトリ。
include_changelogリリースパッケージに CHANGELOG.md を含める。
include_validation_reportリリースパッケージにバリデーションレポートを含める。
version_fromバージョンソース。git はスペックのメタデータ日付 + パッチ番号からバージョンを導出。

ライブAPIバリデーションに使用されるベースラインエンドポイントを定義します。各エントリは論理リソース名をスペックファイル、APIグループ、CRUDパスにマッピングします。

endpoints:
healthcheck:
resource: healthchecks
domain_file: docs-cloud-f5-com.0124.public.ves.io.schema.healthcheck.ves-swagger.json
api_group: config
crud_operations:
create: POST /api/config/namespaces/{namespace}/healthchecks
read: GET /api/config/namespaces/{namespace}/healthchecks/{name}
list: GET /api/config/namespaces/{namespace}/healthchecks
update: PUT /api/config/namespaces/{namespace}/healthchecks/{name}
delete: DELETE /api/config/namespaces/{namespace}/healthchecks/{name}
test_priority: high
description: "Health check configurations for origin monitoring"
フィールド説明
resourceAPIリソース名(URLパスで使用)。
domain_filespecs/original/ 内のOpenAPIスペックのファイル名。
api_groupAPIグループプレフィックス(configweb など)。
crud_operations各CRUD操作のHTTPメソッドとパス。
test_priorityhighmedium、または low — テスト実行順序を制御。
descriptionリソースの人間が読める説明。

現在のベースラインエンドポイント

Section titled “現在のベースラインエンドポイント”

3つのドメインにまたがる10のエンドポイント:

エンドポイントドメイン優先度
healthcheckVirtualhigh
origin_poolVirtualhigh
app_firewallVirtualhigh
service_policyVirtualmedium
api_definitionAPI Securityhigh
api_discoveryAPI Securitymedium
api_groupsAPI Securitymedium
code_base_integrationAPI Securitylow
data_typeData Privacymedium
sensitive_data_policyData Privacymedium

バリデーション用に新しいエンドポイントを追加するには:

  1. specs/original/ でスペックのファイル名を見つける(形式:docs-cloud-f5-com.NNNN.*.ves-swagger.json
  2. 上記の構造に従って endpoints: の下にエントリを追加する
  3. domain_files: の下に優先度番号付きでドメインファイルマッピングを追加する
  4. 希望する位置で test_order: にエンドポイント名を追加する