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 Skripts), 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 der Quellbearbeitung 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. Die Einstellungen für flake8
und mypy
sowie pytest befinden sich in ihren eigenen Konfigurationsdateien, da sie pyproject.toml
noch nicht unterstützen, wie black
auch.
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