Deklarieren Sie den gewünschten Kong mit yaml
. Stoppen Sie manuelle curl
und pflegen Sie deren Dokumentation.
Verwaltet Ressourcen über die Kong Admin API (REST, asynchrones HTTP, JSON). Enthält ein Beispiel zum Hinzufügen einer Autorisierung zur Admin-API selbst.
Einige Änderungen sind rückwärts nicht kompatibel mit aio-kong von Luca Sbardella.
make
-Regeln hinzufügen: test
, retest
, build
, install
, publish_pypi
, ....venvs/
für Dev und Release hinzu, gehandhabt durch make
-Regelnclarity
, instafail
und spec
. Tests werden in Dev Venv ausgeführtpur
für reqs und black
, flake8
, mypy
für Codewheel
für Bdist und twine
für Publish PyPis--output
hinzu, um die Ausgabe auf eine JSON-Eigenschaft zu beschränken (für Skripte), oder legen Sie None
festexamples/
für den Kong Admin API-Loopback und einen Beispielendpunkt hinzuKONG_ADMIN_URL
hinzu, standardmäßig http://localhost:8001
KONG_ADMIN_KEY
hinzu, um die Kong Admin API über Loopback und Key-Auth zu verwenden--admin-url
und --admin-key
hinzu, um Vorrang vor den beiden oben genannten zu habenKONG_URL
BWIC--ip
BWICTODO:
Von PyPI:
pip install --upgrade kong-incubator
Python >= 3.6 erforderlich.
KONG_ADMIN_URL
ist standardmäßig http://localhost:8001.
Ressourcen erstellen oder aktualisieren (ist ein Proxy für Mockbin):
kong-incubator --yaml examples/mockbin.yaml
Generieren Sie einen zufälligen key
für seinen Verbraucher:
kong-incubator --key-auth mocker
Ausgabekonsument nur, wenn key
bereits festgelegt wurde.
Beim Ausführen mit einem geänderten --yaml
werden nur die geänderten Teile aktualisiert. Aus der Datei entfernte Ressourcen werden nicht aus Kong gelöscht. Um eine Ressource aus Kong zu löschen, fügen Sie ensure: absent
dafür in YAML hinzu.
Um eine Liste aller Optionen anzuzeigen, führen Sie Folgendes aus:
$ 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.
Erstellt einen Kong Admin API Loopback, der eine Schlüsselauthentifizierung erfordert:
kong-incubator --yaml examples/kadmin.yaml
kong-incubator --key-auth root --output key
Verwalten Sie Kong von nun an über den Loopback (überprüft den Anforderungsheader apikey
):
export KONG_ADMIN_URL=http://localhost:8000/kadmin
export KONG_ADMIN_KEY={{thekeyabove}}
kong-incubator --yaml ..
Die Optionen --admin-url
oder --admin-key
können über oder mit Vorrang verwendet werden:
export KONG_ADMIN_URL=http://localhost:8000/kadmin
kong-incubator --admin-key={{thekeyabove}} --yaml ..
Entfernen Sie in Kubernetes/OpenShift Routen zu 8001 und 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 ))
Bei Tests wird davon ausgegangen, dass die Kong Admin API unter http://localhost:8001 ausgeführt wird.
Wenn docker-compose
verfügbar ist, können Sie make dc
ausführen, um kongpose/ als Git-Submodul abzurufen und es für Tests im Hintergrund zu starten. Verwenden Sie make dc_rm
, um den Stapel zu stoppen und zu entfernen, einschließlich der Volumes für DBs.
Führen Sie make
als Verknüpfung für drei weitere Regeln aus:
make test
erstellt .venvs/dev
und installiert Anforderungen, auch dev. Um ggf. nur die fehlgeschlagenen Tests erneut auszuführen, andernfalls alle, verwenden Sie make retest
, wodurch die Installation von „requirements“ (-dev) übersprungen wird. Beide bereinigen die von ihnen erstellten Kong-Ressourcen.
make build
erstellt .venvs/release
bei jedem Lauf neu, installiert dort Build-Tools und erstellt Quell- und Wheel-Dists, die zur Veröffentlichung bereit sind.
make install
installiert das Paket aus dem Quellbaum. Nach Quellbearbeitungen ist keine Neuinstallation erforderlich, da das Paket bearbeitbar installiert ist.
Sie können make --jobs
, um die oben genannten Regeln parallel auszuführen, also auf 3 CPU-Kernen.
Führen Sie make pur
aus, um die durch Anforderungen (-dev) gesperrten Versionen für die Abhängigkeiten zu aktualisieren, die diese haben.
Führen Sie außerdem make {{tool}}
für black, flake8 oder mypy aus. Einstellungen für flake8
und mypy
sowie pytest befinden sich in ihren eigenen Konfigurationsdateien, da sie pyproject.toml
noch nicht unterstützen, wie black
.
Führen Sie make clean
aus, um die Caches .venvs/
, build/
, dist/
und Source Tree zu entfernen.
Alle Regeln finden Sie 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
Inklusive Schnur zum Hochladen über HTTPS.
So testen Sie PyPI:
make publish_test
Zu PyPI
make publish_pypi