قم بتعريف الكونج الذي تريده باستخدام yaml
. إيقاف curl
اليدوي والاحتفاظ بالمستندات الخاصة بهم.
يدير الموارد عبر Kong Admin API (REST، async HTTP، JSON). يتضمن مثالاً لإضافة ترخيص إلى Admin API نفسها.
بعض التغييرات إلى الوراء غير متوافقة مع aio-kong بواسطة Luca Sbardella.
make
test
القواعد، retest
، build
، install
، publish_pypi
، ....venvs/
للتطوير والإصدار، ويتم التعامل معه بواسطة قواعد make
clarity
و instafail
و spec
، ويتم تشغيل الاختبارات في dev venvpur
for reqs و black
و flake8
و mypy
للتعليمات البرمجيةwheel
for bdist و twine
للنشر PyPis--output
لتقييد الإخراج بخاصية JSON (للبرامج النصية)، أو عدم ترك None
examples/
لاسترجاع واجهة برمجة تطبيقات Kong Admin ومثال لنقطة النهاية من خلالهاKONG_ADMIN_URL
، الإعداد الافتراضي هو http://localhost:8001
KONG_ADMIN_KEY
لاستخدام Kong Admin API عبر الاسترجاع ومصادقة المفتاح--admin-url
و --admin-key
لأخذ الأسبقية على الاثنينKONG_URL
BWIC--ip
BWICالمهام:
من باي بي آي:
pip install --upgrade kong-incubator
بايثون> = 3.6 مطلوب.
KONG_ADMIN_URL
الافتراضي هو http://localhost:8001.
إنشاء أو ترقية الموارد (وكيل لـ Mockbin):
kong-incubator --yaml examples/mockbin.yaml
إنشاء key
عشوائي للمستهلك:
kong-incubator --key-auth mocker
مستهلك الإخراج فقط إذا تم تعيين key
بالفعل.
يؤدي التشغيل باستخدام --yaml
الذي تم تغييره إلى ترقية الأجزاء التي تم تغييرها فقط. لا يتم حذف الموارد التي تمت إزالتها من الملف من كونغ. لحذف مورد من Kong، أضف ensure: absent
في YAML.
للحصول على قائمة بجميع الخيارات، قم بتشغيل بدون أي:
$ kong-incubator
Usage: kong-incubator [OPTIONS]
Options:
--admin-url TEXT Kong Admin API URL.
Default: http://localhost:8001
Precedence over KONG_ADMIN_URL
--admin-key TEXT Kong Admin API apikey if required.
Default: None
Precedence over KONG_ADMIN_KEY
--key-auth TEXT Consumer to generate a key or output the existing.
--yaml FILENAME Defines one or many Kong resources by their target
state.
--output TEXT If given, restrict output to this JSON property, or
None.
By default, output everything.
--version Output version and exit.
--help Show this message and exit.
إنشاء استرجاع لواجهة برمجة تطبيقات Kong Admin التي تتطلب مصادقة المفتاح:
kong-incubator --yaml examples/kadmin.yaml
kong-incubator --key-auth root --output key
من الآن فصاعدًا، قم بإدارة Kong عبر الاسترجاع (التحقق من رأس طلب apikey
):
export KONG_ADMIN_URL=http://localhost:8000/kadmin
export KONG_ADMIN_KEY={{thekeyabove}}
kong-incubator --yaml ..
يمكن استخدام الخيارات --admin-url
أو --admin-key
بدلاً من ذلك، أو لتكون لها الأسبقية:
export KONG_ADMIN_URL=http://localhost:8000/kadmin
kong-incubator --admin-key={{thekeyabove}} --yaml ..
في Kubernetes/OpenShift، قم بإزالة المسارات إلى 8001 و8444.
import json
from kong . client import Kong
async with Kong () as cli :
services = await cli . services . get_list ()
print ( json . dumps ( services , indent = 4 ))
تفترض الاختبارات أن لديك Kong Admin API يعمل على http://localhost:8001.
إذا كان لديك docker-compose
متاحًا، فيمكنك تشغيل make dc
للحصول على kongpose/ كوحدة فرعية لـ git وبدء تشغيله في الخلفية للاختبارات. استخدم make dc_rm
لإيقاف المكدس وإزالته، بما في ذلك وحدات تخزين قواعد البيانات.
قم بتشغيل make
كاختصار لثلاث قواعد أخرى:
make test
بإنشاء .venvs/dev
وتثبيت المتطلبات، وكذلك dev. لإعادة تشغيل الاختبارات الفاشلة فقط إن وجدت، وإلا استخدم make retest
الذي يتخطى تثبيت المتطلبات (-dev). يقوم كلاهما بتنظيف موارد كونغ التي ينشئونها.
make build
يعيد إنشاء .venvs/release
في كل تشغيل، ويثبت أدوات البناء هناك ويبني المصدر وعجلات الأقراص الجاهزة للنشر.
يقوم make install
بتثبيت الحزمة من شجرة المصدر. لا حاجة لإعادة التثبيت بعد تعديلات المصدر حيث أن الحزمة مثبتة وقابلة للتحرير.
يمكنك make --jobs
لتشغيل القواعد المذكورة أعلاه بالتوازي، وبالتالي على 3 مراكز لوحدة المعالجة المركزية.
قم بتشغيل make pur
لتحديث الإصدارات المقفلة الخاصة بالمتطلبات (-dev) للتبعيات التي تحتوي عليها.
علاوة على ذلك، قم بتشغيل make {{tool}}
for black أو flake8 أو mypy. إعدادات flake8
و mypy
بالإضافة إلى pytest موجودة في ملفات التكوين الخاصة بها لأنها لا تدعم بعد pyproject.toml
، مثل black
.
قم بتشغيل make clean
لإزالة .venvs/
و build/
و dist/
وذاكرة التخزين المؤقت للشجرة المصدر.
راجع make help
لجميع القواعد:
all Run test, build and install (default goal)
black Reformat source code in-place
build Build source dist and wheel
clean Remove .venvs, builds, dists, and caches
dc_rm Stop and remove docker-compose env and volumes
dc Start docker-compose env on background
flake8 Run flake8 for static code analysis
install Install package from source tree, as --editable
install_pypi Install the latest PyPI release
install_test Install the latest test.pypi.org release
mypy Run mypy for static type checking
publish_pypi Publish dists to PyPI
publish_test Publish dists to test.pypi.org
pur Update requirements(-dev) for locked versions
retest Run failed tests only, if none, run all
test Run tests, installs requirements(-dev) first
uninstall Uninstall the package, regardless of its origin
تم تضمين البرمة للتحميل عبر HTTPS.
لاختبار PyPI:
make publish_test
إلى باي بي آي
make publish_pypi