تخطَّ إلى المحتوى

مرجع الإعدادات

يتم التحكم في جميع سلوكيات خط المعالجة من خلال ملفي YAML في config/.

إعدادات واجهة برمجة التطبيقات

Section titled “إعدادات واجهة برمجة التطبيقات”
api:
base_url: "https://example-tenant.console.ves.volterra.io"
tenant: "example-tenant"
namespace: "example-namespace"
timeout: 30
retries: 3
retry_delay: 2
الحقلالوصف
base_urlعنوان URL الأساسي لواجهة برمجة تطبيقات وحدة تحكم F5 XC. يمكن تجاوزه بمتغير البيئة F5XC_API_URL.
tenantاسم المستأجر المستخدم في مسارات واجهة برمجة التطبيقات.
namespaceمساحة الأسماء الافتراضية لعمليات CRUD.
timeoutمهلة طلب HTTP بالثواني.
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عنوان URL لحزمة مواصفات OpenAPI الرسمية من F5 XC (بصيغة ZIP).
output_dirمكان تخزين المواصفات المستخرجة.
etag_cacheالملف الذي يخزن علامة ETag الخاصة ببروتوكول HTTP للتنزيلات المشروطة.

عشر فئات تتوافق مع أنواع قيود مخطط OpenAPI. يمكن تمكين/تعطيل كل منها بشكل مستقل.

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"
الحقلالوصف
enabledتبديل تشغيل/إيقاف اختبار Schemathesis.
max_examplesالحد الأقصى لعدد حالات الاختبار المولدة لكل عملية.
hypothesis_phasesمراحل Hypothesis المراد تشغيلها (generate، target).
stateful_testingتمكين الاختبار ذي الحالة القائم على الروابط عبر العمليات.
base_url_overrideتجاوز عنوان 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>)"
الحقلالوصف
enabledتبديل تشغيل/إيقاف فحص Spectral بالكامل.
rulesetملف إعدادات Spectral المراد استخدامه (يستخدم خط المعالجة spectral-pipeline.yaml).
auto_fixخريطة من اسم القاعدة إلى قيمة منطقية. القيمة true تعني أن المُسوّي سيصلح الانتهاكات.
gate.max_errorsالحد الأقصى المسموح به للأخطاء في بوابة ما بعد التسوية. القيمة null تعطل الفحص.
gate.max_warningsالحد الأقصى المسموح به للتحذيرات. القيمة null تعطل الفحص.
contactمعلومات الاتصال المُدرجة في info.contact بواسطة مُصلح info-contact.
serversمصفوفة الخوادم المُدرجة بواسطة مُصلح oas3-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 تستخلص الإصدار من تاريخ بيانات المواصفات الوصفية + رقم التصحيح.

يحدد نقاط النهاية الأساسية المستخدمة للتحقق المباشر من واجهة برمجة التطبيقات. يربط كل إدخال اسم مورد منطقي بملف المواصفات الخاص به ومجموعة واجهة برمجة التطبيقات ومسارات 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"
الحقلالوصف
resourceاسم مورد واجهة برمجة التطبيقات (يُستخدم في مسارات URL).
domain_fileاسم ملف مواصفات OpenAPI في specs/original/.
api_groupبادئة مجموعة واجهة برمجة التطبيقات (config، web، إلخ).
crud_operationsطريقة HTTP والمسار لكل عملية CRUD.
test_priorityhigh أو medium أو low — يتحكم في ترتيب تنفيذ الاختبارات.
descriptionوصف مقروء للمورد.

نقاط النهاية الأساسية الحالية

Section titled “نقاط النهاية الأساسية الحالية”

10 نقاط نهاية عبر ثلاثة نطاقات:

نقطة النهايةالنطاقالأولوية
healthcheckافتراضيعالية
origin_poolافتراضيعالية
app_firewallافتراضيعالية
service_policyافتراضيمتوسطة
api_definitionأمان واجهة برمجة التطبيقاتعالية
api_discoveryأمان واجهة برمجة التطبيقاتمتوسطة
api_groupsأمان واجهة برمجة التطبيقاتمتوسطة
code_base_integrationأمان واجهة برمجة التطبيقاتمنخفضة
data_typeخصوصية البياناتمتوسطة
sensitive_data_policyخصوصية البياناتمتوسطة

لإضافة نقطة نهاية جديدة للتحقق:

  1. ابحث عن اسم ملف المواصفات في specs/original/ (الصيغة: docs-cloud-f5-com.NNNN.*.ves-swagger.json)
  2. أضف إدخالاً تحت endpoints: باتباع الهيكل الموضح أعلاه
  3. أضف ربط ملف النطاق تحت domain_files: مع رقم أولوية
  4. أضف اسم نقطة النهاية إلى test_order: في الموضع المطلوب