सभी पाइपलाइन व्यवहार config/ में दो YAML फ़ाइलों द्वारा नियंत्रित होता है।
base_url : " https://example-tenant.console.ves.volterra.io "
namespace : " example-namespace "
फ़ील्ड विवरण base_urlF5 XC कंसोल API बेस URL। F5XC_API_URL एनवायरनमेंट वेरिएबल से ओवरराइड करें। tenantAPI पथों में उपयोग किया जाने वाला टेनेंट नाम। namespaceCRUD ऑपरेशनों के लिए डिफ़ॉल्ट नेमस्पेस। timeoutHTTP अनुरोध टाइमआउट सेकंड में। retriesविफलता पर पुनः प्रयास की संख्या। retry_delayपुनः प्रयासों के बीच सेकंड।
सावधानी
validation.yaml में base_url, tenant, और namespace मान सामान्य प्लेसहोल्डर हैं। पाइपलाइन चलाने से पहले आपको एनवायरनमेंट वेरिएबल्स के माध्यम से इन्हें अपने वातावरण के लिए अवश्य कॉन्फ़िगर करना होगा:
export F5XC_API_URL = " https://example-tenant.console.ves.volterra.io "
export F5XC_TENANT = " example-tenant "
export F5XC_NAMESPACE = " example-namespace "
export F5XC_API_TOKEN = " your-api-token "
रनटाइम पर एनवायरनमेंट वेरिएबल्स YAML डिफ़ॉल्ट्स पर प्राथमिकता लेते हैं।
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 स्कीमा बाधा प्रकारों के अनुरूप दस श्रेणियाँ। प्रत्येक को स्वतंत्र रूप से सक्षम/अक्षम किया जा सकता है।
keywords : [ " minLength " , " maxLength " ]
description : " Validate string length boundaries "
श्रेणी कीवर्ड्स string_lengthminLength, maxLengthpatternpatternnumeric_boundsminimum, maximum, exclusiveMinimum, exclusiveMaximumrequired_fieldsrequiredenum_valuesenumarray_boundsminItems, maxItems, uniqueItemsobject_structureadditionalProperties, properties, propertyNamescompositiononeOf, anyOf, allOfdependenciesdependentRequired, dependentSchemasdata_typestype, format
auth_header : " Authorization "
फ़ील्ड विवरण enabledSchemathesis परीक्षण को टॉगल करें। max_examplesप्रति ऑपरेशन जनरेट किए गए अधिकतम टेस्ट केसों की संख्या। hypothesis_phasesचलाने के लिए Hypothesis चरण (generate, target)। stateful_testingऑपरेशनों के बीच स्टेटफुल लिंक-आधारित परीक्षण सक्षम करें। base_url_overrideपरीक्षणों के लिए API बेस URL ओवरराइड करें। null होने पर api.base_url का उपयोग होता है। auth_headerप्रमाणीकरण के लिए HTTP हेडर नाम। auth_prefixटोकन प्रीफ़िक्स फ़ॉर्मेट (अनुरोध APIToken <token> के रूप में भेजे जाते हैं)।
missing_constraint : " add "
extra_constraint : " remove "
फ़ील्ड विवरण priorityजब एकाधिक डेटा स्रोत असहमत हों तो प्राथमिकता का क्रम। fix_strategiesप्रत्येक विसंगति प्रकार को उसकी फ़िक्स कार्रवाई से मैप करता है। लागू किए गए सुधार देखें।
ruleset : " spectral-pipeline.yaml "
oas3-unused-component : true
operation-operationId-unique : true
oas3-valid-schema-example : true
no-script-tags-in-markdown : true
name : " F5 Distributed Cloud "
url : " https://docs.cloud.f5.com "
- url : " https://{tenant}.console.ves.volterra.io "
description : " F5 Distributed Cloud API "
default : " example-tenant "
description : " Your F5 XC tenant name "
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प्रत्येक स्पेक में इंजेक्ट की जाने वाली सुरक्षा स्कीम परिभाषा।
max_examples_per_issue : 5
include_validation_report : true
फ़ील्ड विवरण output_dirरिलीज़ आर्टिफ़ैक्ट्स के लिए डायरेक्टरी। include_changelogरिलीज़ पैकेज में CHANGELOG.md शामिल करें। include_validation_reportरिलीज़ पैकेज में सत्यापन रिपोर्ट शामिल करें। version_fromसंस्करण स्रोत। git स्पेक मेटाडेटा तिथि + पैच नंबर से संस्करण प्राप्त करता है।
लाइव API सत्यापन के लिए उपयोग किए जाने वाले बेसलाइन एंडपॉइंट्स को परिभाषित करता है। प्रत्येक प्रविष्टि एक तार्किक संसाधन नाम को उसकी स्पेक फ़ाइल, API समूह, और CRUD पथों से मैप करती है।
domain_file : docs-cloud-f5-com.0124.public.ves.io.schema.healthcheck.ves-swagger.json
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}
description : " Health check configurations for origin monitoring "
फ़ील्ड विवरण resourceAPI संसाधन नाम (URL पथों में उपयोग किया जाता है)। domain_filespecs/original/ में OpenAPI स्पेक का फ़ाइलनाम।api_groupAPI समूह प्रीफ़िक्स (config, web, आदि)। crud_operationsप्रत्येक CRUD ऑपरेशन के लिए HTTP मेथड और पथ। test_priorityhigh, medium, या low — परीक्षण निष्पादन क्रम को नियंत्रित करता है।descriptionसंसाधन का मानव-पठनीय विवरण।
तीन डोमेन में 10 एंडपॉइंट्स:
एंडपॉइंट डोमेन प्राथमिकता healthcheckवर्चुअल high origin_poolवर्चुअल high app_firewallवर्चुअल high service_policyवर्चुअल medium api_definitionAPI सुरक्षा high api_discoveryAPI सुरक्षा medium api_groupsAPI सुरक्षा medium code_base_integrationAPI सुरक्षा low data_typeडेटा गोपनीयता medium sensitive_data_policyडेटा गोपनीयता medium
सत्यापन के लिए नया एंडपॉइंट जोड़ने हेतु:
specs/original/ में स्पेक फ़ाइलनाम खोजें (फ़ॉर्मेट: docs-cloud-f5-com.NNNN.*.ves-swagger.json)
ऊपर दी गई संरचना का पालन करते हुए endpoints: के अंतर्गत एक प्रविष्टि जोड़ें
domain_files: के अंतर्गत प्राथमिकता संख्या के साथ डोमेन फ़ाइल मैपिंग जोड़ें
एंडपॉइंट नाम को test_order: में वांछित स्थिति पर जोड़ें