Meshkit hat eine API, mit der sich einige Statusinformationen abfragen lassen. Ausserdem können Firmwareimages mit der API erstellt werden.
Alle API-URLs sind erreichbar unter http://<url>/api/json/<api>
Gibt den aktuellen Status von Meshkit aus, z.B.
{"status": true, "queuedimg": 0, "memfree": "494", "totalimg": 585, "successimg": 505, "failedimg": 80, "loadavg": "2.06, 1.66, 1.13", "memused": "508"}
Liste verfügbarer Targets, z.B.:
["ar71xx-generic-attitude_adjustment-35817", "atheros-attitude_adjustment-35864", "brcm47xx-attitude_adjustment-35817", "brcm63xx-attitude_adjustment-35864", "x86-generic-attitude_adjustment-35864", "x86-kvm_guest-attitude_adjustment-35864"]
Informationen zu einem speziellen Build anfragen. Dies benötigt zwingend eine id und passenden Random String (rand).
Beispiel-Aufruf: http://<url>/api/json/buildstatus?id=1234&rand=36a419d3bd7ad460d16b4773cc3b5d5a
Antwort
{
"status": 0,
"files": [
"openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-sysupgrade.bin",
"md5sums",
"openwrt-ar71xx-generic-vmlinux.elf",
"openwrt-ar71xx-generic-vmlinux.bin",
"openwrt-ar71xx-generic-vmlinux.gz",
"openwrt-ar71xx-generic-root.squashfs-64k",
"build.log",
"openwrt-ar71xx-generic-vmlinux-lzma.elf",
"openwrt-ar71xx-generic-root.squashfs",
"openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-factory.bin",
"openwrt-ar71xx-generic-uImage-lzma.bin",
"openwrt-ar71xx-generic-vmlinux.lzma",
"openwrt-ar71xx-generic-uImage-gzip.bin",
"openwrt-ar71xx-generic-rootfs.tar.gz"
],
"queued": 0,
"downloaddir": "http://meshkit.freifunk.net/images//36a419d3bd7ad460d16b4773cc3b5d5a/bin/"
}
Definierte Werte für status: 0: Sucessful 1: Queued, 2: Failed
Einen neuen Auftrag zum erstellen eines Firmwareimages erstellen.
Dies benötigt zwingend die Angabe eines targets.
Beispiel-Aufruf: http://<url>/api/json/buildimage?target=ar71xx-generic-attitude_adjustment-35817&profile=TLWR1043&community=augsburg&noconf=1
Antwort:
{
"rand": "af851246c99b82ac8b3cf3fbe30ff100",
"errors": {},
"id": 586
}
Im Fehlerfall, z.B. bei Angabe ungültiger Variablen, wird ein Dictionary mit Fehlermeldungen zurückgegeben.