Nyatakan Kong yang Anda inginkan, dengan yaml
. Hentikan curl
manual dan simpan dokumennya.
Mengelola sumber daya melalui Kong Admin API (REST, async HTTP, JSON). Termasuk contoh untuk menambahkan otorisasi ke Admin API itu sendiri.
Beberapa perubahan mundur tidak sesuai dengan aio-kong oleh Luca Sbardella.
make
test
, retest
, build
, install
, publish_pypi
, ....venvs/
untuk dev dan rilis, ditangani oleh aturan make
clarity
, instafail
dan spec
, pengujian dijalankan di dev venvpur
untuk reqs dan black
, flake8
, mypy
untuk kodewheel
untuk bdist dan twine
untuk mempublikasikan PyPis--output
untuk membatasi output ke properti JSON (untuk skrip), atau miliki None
examples/
untuk loopback Kong Admin API dan contoh titik akhir melaluinyaKONG_ADMIN_URL
, defaultnya adalah http://localhost:8001
KONG_ADMIN_KEY
untuk menggunakan Kong Admin API melalui loopback dan key-auth--admin-url
dan --admin-key
untuk diutamakan daripada dua di atasKONG_URL
BWIC--ip
BWICYANG HARUS DILAKUKAN:
Dari PyPI:
pip install --upgrade kong-incubator
Python >= 3.6 diperlukan.
KONG_ADMIN_URL
defaultnya http://localhost:8001.
Membuat atau meningkatkan sumber daya (adalah proksi ke Mockbin):
kong-incubator --yaml examples/mockbin.yaml
Hasilkan key
acak untuk konsumennya:
kong-incubator --key-auth mocker
Keluaran konsumen hanya jika key
telah ditetapkan.
Menjalankan dengan --yaml
yang diubah hanya akan meningkatkan bagian yang diubah. Sumber daya yang dihapus dari file tidak dihapus dari Kong. Untuk menghapus sumber daya dari Kong, tambahkan ensure: absent
di YAML.
Untuk daftar semua opsi, jalankan tanpa:
$ 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.
Membuat Loopback Kong Admin API yang memerlukan autentikasi kunci:
kong-incubator --yaml examples/kadmin.yaml
kong-incubator --key-auth root --output key
Mulai sekarang, kelola Kong melalui loopback (periksa header permintaan apikey
):
export KONG_ADMIN_URL=http://localhost:8000/kadmin
export KONG_ADMIN_KEY={{thekeyabove}}
kong-incubator --yaml ..
Opsi --admin-url
atau --admin-key
dapat digunakan, atau diutamakan:
export KONG_ADMIN_URL=http://localhost:8000/kadmin
kong-incubator --admin-key={{thekeyabove}} --yaml ..
Di Kubernetes/OpenShift, hapus rute ke 8001 dan 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 ))
Pengujian mengasumsikan Anda menjalankan Kong Admin API di http://localhost:8001.
Jika Anda memiliki docker-compose
, Anda dapat menjalankan make dc
untuk mendapatkan kongpose/ sebagai submodul git dan memulainya di latar belakang untuk pengujian. Gunakan make dc_rm
untuk menghentikan dan menghapus tumpukan, termasuk volume untuk DB.
Jalankan make
sebagai jalan pintas untuk tiga aturan lainnya:
make test
membuat .venvs/dev
dan menginstal persyaratan, juga dev. Untuk menjalankan kembali hanya tes yang gagal jika ada, jika tidak semuanya, gunakan make retest
yang melewatkan instalasi persyaratan (-dev). Keduanya membersihkan sumber daya Kong yang mereka buat.
make build
membuat ulang .venvs/release
pada setiap proses, menginstal alat build di sana, dan membuat sumber dan wheel dist yang siap dipublikasikan.
make install
menginstal paket dari pohon sumber. Tidak perlu menginstal ulang setelah sumber diedit karena paket diinstal dapat diedit.
Anda dapat make --jobs
untuk menjalankan aturan di atas secara paralel, sehingga pada 3 inti CPU.
Jalankan make pur
untuk memperbarui persyaratan (-dev) versi terkunci untuk dependensi yang memilikinya.
Selain itu, jalankan make {{tool}}
untuk black, flake8 atau mypy. Pengaturan untuk flake8
dan mypy
, serta pytest ada di file konfigurasinya sendiri karena belum mendukung pyproject.toml
, seperti black
.
Jalankan make clean
untuk menghapus cache .venvs/
, build/
, dist/
dan source tree.
Lihat make help
untuk semua aturan:
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
Benang disertakan untuk diunggah melalui HTTPS.
Untuk Menguji PyPI:
make publish_test
Ke PyPI
make publish_pypi