Zum Inhalt springen

Module ​

Ein Modulpaket fügt Arkvory eine Funktion hinzu. Arkvory installiert nur Pakete, deren Signatur es prüfen kann. Die Befehle dieser Seite laufen auf dem Host der Installation, unter Linux als root, unter Windows als Administrator. Konsole und HTTP-API können weder Module installieren noch Schlüsseln vertrauen. Ein gestohlenes Administratorkonto der Konsole kann daher keinen Code auf dem Server ausführen.

Die Dienste prüfen die installierten Module bei jedem Start erneut und laden sie. Ein Modul läuft erst, nachdem Sie es eingeschaltet haben.

Arkvory Pro ​

Arkvory Pro ist ein optionales Paket kostenpflichtiger, signierter ProAnimaStudio-Module für den kostenlosen Arkvory-Kern. Pro 0.1.0 läuft mit Arkvory 0.6.3 auf Windows/Linux x64. Pakete und Lizenz erhalten Sie von ProAnimaStudio; die Module werden getrennt vom Kern installiert. Siehe Installation und Lizenzen.

  • Deduplizierung: speichert gemeinsame Chunks einmal und verwendet sie für mehrere Objekte. Der gemeinsame Katalog stimmt die Speicherbereinigung mit Veröffentlichung, Lesern und Backups ab.
  • Delta-Übertragungen: verwenden Inhalte eines kompatiblen Clients erneut und übertragen fehlende Daten oder Patches. Das Paket enthält serverseitige Speicher- und Übertragungsmodule sowie ein Delta-Client-Modul. Die Einsparung hängt von Daten und Client ab; gewöhnliche HTTP-Downloads werden nicht automatisch zu Delta-Übertragungen.
  • Lizenzierung: steuert kostenpflichtige Schreibvorgänge und Optimierungen. Bestehende Daten bleiben bei abgelaufener oder nicht verfügbarer Lizenz lesbar; neue Uploads nutzen Kernspeicher und gewöhnliche Übertragungen. Die Pro-Quote zählt logische Pro-Daten einschließlich angenommener, unvollständiger Uploads ohne Deduplizierungsrabatt. updatesUntil begrenzt den Anspruch auf neuere Modul-Builds.

Module laden beim Dienststart; Docker Compose lädt keine Module. Sichern Sie Metadaten und Moduldaten vor Updates. Stoppen Sie bei der ersten Einführung des gemeinsamen Katalogs ältere schreibende API/worker-Prozesse; gemischte alte und neue Schreiber werden nicht unterstützt. Stellen Sie Daten und Lizenzzustand gemeinsam wieder her, warten Sie auf die Wiederherstellung und prüfen Sie einen neuen Pro-Upload vor dem normalen Schreibbetrieb.

Große Kataloge brauchen Zeit: Im Abnahmetest waren 4 Millionen Chunks bei bereits wiederhergestelltem gemeinsamen Katalog nach 32 Minuten 43 Sekunden ohne Neustart beschreibbar. Dies garantiert keine Wiederherstellungszeit und misst keinen Durchsatz für 4 TB. HA-Tests auf einem physischen Host ersetzen keine Fencing- und Ausfalldomänentests am Einsatzort. Pro ändert die Lizenzbedingungen des Kerns nicht.

Modulfunktionen und Drittanbieter-Plugins ​

Signierte ProAnimaStudio-Module können Speicher, Übertragungsprotokolle und HTTP-Routen ergänzen und je nach Rolle Dienste für Hintergrundarbeit, begrenzte Berechnungen und koordinierte Bereinigung nutzen. Kostenlose Module benötigen keine Lizenz für kostenpflichtige Funktionen; kostenpflichtige Module deklarieren ihre Anforderungen. Jedes Paket muss zur extension API des Kerns passen und Signatur- und Integritätsprüfungen bestehen.

Installation und Ausführung von Drittanbieter-Plugins sind in dieser Version nicht verfügbar. Sie können vertrauenswürdige Autorenschlüssel verwalten, aber ein hinzugefügter Schlüssel aktiviert keine Plugin-Installation. Die Modulschnittstelle ist keine Sandbox für beliebigen Code.

Ein Paket installieren ​

  1. Kopieren Sie die Paketdatei arkvory-module-<id>-<version>.tgz auf den Host.

  2. Prüfen Sie sie und lesen Sie die Bedingungen:

    bash
    sudo arkvory module install /root/arkvory-module-sample-1.0.0.tgz --root /opt/proanima-arkvory

    Der Befehl zeigt das Modul, seine Rollen, die Daten, die es speichert, den Signaturschlüssel und den SHA-256 des Pakets und danach die Bedingungen des Moduls. Noch ändert sich nichts.

  3. Installieren Sie es:

    bash
    sudo arkvory module install /root/arkvory-module-sample-1.0.0.tgz --root /opt/proanima-arkvory --yes

Arkvory lehnt ein Paket ab, wenn:

GrundCode in der Meldung
Die Signatur stammt nicht von einem Modulschlüssel von ProAnimaStudio, oder das Manifest wurde geändertunknown_key, wrong_key_class, signature_invalid
Eine Datei fehlt, wurde geändert oder steht nicht im Manifestfile_missing, file_mismatch, file_unlisted
Das Archiv enthält Links, Geräte, Pfade außerhalb des Pakets oder Namen, die sich nur in der Groß- und Kleinschreibung unterscheidenlink_entry, special_entry, unsafe_path, case_collision
Das Archiv enthält ein natives Add-on (.node)native_addon
Das Modul braucht eine andere Version von Arkvorymodule_incompatible
ProAnimaStudio hat diese Version widerrufenmodule_revoked, mit der Ersatzversion
Keine aktuelle Widerrufsliste (siehe unten)stale_revocations

Grenzen: 1 GiB pro Paket, 256 MiB pro Datei, 4096 Dateien. Ein größeres Paket wird abgelehnt, bevor seine Daten gelesen werden.

Eine Version, die mit denselben Bytes bereits installiert ist, bleibt unverändert. Dieselbe Version mit anderen Bytes wird abgelehnt.

Ein Modul einschalten und laden ​

Ein installiertes Modul bleibt abgeschaltet, bis Sie es einschalten. Die Dienste laden Module nur beim Start.

  1. Tragen Sie das Modul in die Moduldatei ein (ARKVORY_MODULES_FILE, siehe Umgebungsvariablen). Die Einstellungen des Moduls stehen in config:

    json
    { "format": 1, "modules": { "sample": { "enabled": true } } }
  2. Wenn das Modul Dateien speichert, genehmigen Sie die Größe seines Datenverzeichnisses mit resources, zum Beispiel "resources": { "dataMiB": 512, "dataFiles": 10000 } neben enabled. Sie ersetzt die Größe, die das Paket anfordert. Siehe Datenverzeichnis eines Moduls.

  3. Starten Sie die Dienste neu, wie unter Eine Änderung anwenden.

  4. Prüfen Sie das Modul als globaler Administrator: GET /api/v1/system/modules zeigt es auf der API und auf jedem Lese-Gateway mit running: true und health.status ok.

Signierte Module laufen entsprechend ihren deklarierten Rollen in API, Lesegateway, Worker und Backup-Agent. Jeder Prozess stellt nur die für seine Rolle verfügbaren und in uses angegebenen Dienste bereit. Routen erfordern routes. Docker Compose lädt noch keine Module.

Modulspeicher werden als <module>.<name> registriert und können für neue Uploads ausgewählt werden. Nimmt ein Speicher keine neuen Schreibvorgänge mehr an, fallen neue Uploads auf default zurück. Der Kern prüft alle Bytes vor der Veröffentlichung zusammengesetzter Objekte. Die Bereinigung wartet auf aktive Leser, sämtliche Backup-Pins und die Kopierbarriere. Berechnungen laufen in begrenzten Threads. Abonnements bestätigen Ereignisse erst nach erfolgreicher Verarbeitung; nach Fehlern ist eine erneute Zustellung möglich.

Bevor ein Dienst irgendeinen Code eines Moduls importiert, prüft er das Paket erneut:

  1. Nur root (unter Windows: SYSTEM und Administrators) oder der Eigentümer des Installationsverzeichnisses darf das Installationsverzeichnis, modules/, den Modulsatz, die Widerrufsliste und ihr Verzeichnis ändern. Die Installation richtet das so ein. Eine Datei, die ein anderes Konto ändern darf, und ein Link in einem Paket werden abgelehnt (access_unsafe, access_link).
  2. Die Signatur, jede Datei und die Version von Arkvory, so wie module install sie prüft.
  3. Die Widerrufsliste. Eine widerrufene Version wird nie geladen. Eine abgelaufene oder fehlende Liste hält kein Modul an.

Ein Modul, das eine Prüfung nicht besteht, wird nicht geladen; die anderen Module und Arkvory laufen weiter. GET /api/v1/system/modules zeigt es mit running: false:

health.statusBedeutungCodes
failedDas Paket wurde abgelehnt, oder sein Code ließ sich nicht laden oder startenfile_mismatch, unknown_key, module_incompatible, access_unsafe, config_invalid, start_failed und weitere
revokedProAnimaStudio hat diese Version widerrufender Grund aus der Widerrufsliste
unavailableDas Paketverzeichnis fehlt auf dem Hostmodule_unavailable

Ein ausgefallenes Modul nimmt Arkvory nur dann die Bereitschaft (/health/ready antwortet 503 mit module_failed), wenn ein anderes eingeschaltetes Modul es braucht. Ein Modul, das die Bytes veröffentlichter Dateien speichert (Daten layout), tut das nie: Arkvory liefert seine Daten weiter aus und schreibt neue Uploads in den eigenen Speicher statt in den des Moduls. Das Protokoll verzeichnet module.refused und module.failed mit dem Code in errorCode.

Um ein geändertes oder fehlendes Paket zu reparieren, installieren Sie es erneut. Alle Dienste der Installation müssen dieselben Module sehen, eingeschaltet oder nicht: Ein Lese-Gateway oder Worker mit anderen Modulen ist nicht bereit (module_plan_mismatch). Installieren Sie dieselben Pakete auf dem Host jedes Lese-Gateways.

Datenverzeichnis eines Moduls ​

Ein Modul, das eigene Indizes, Caches oder einen eigenen Zustand speichert, erhält ein Verzeichnis auf dem Daten-Volume: module-data/<id>/ im Speicherverzeichnis von default. Sein Teil data ist für Backups gedacht, sein Teil cache nicht. Arkvory rechnet jeden Schreibvorgang auf die genehmigte Größe an, in MiB und in Dateien, für beide Teile zusammen. Ein Schreibvorgang darüber hinaus wird abgelehnt (module_quota_exceeded), und das Modul läuft weiter. Ohne genehmigte Größe kann das Modul nur lesen. Die Reserve des Volumes gilt ebenfalls. Auf einem Lese-Gateway liest das Modul dieselben Dateien und kann sie nicht ändern.

Logische Backups lesen veröffentlichte Objektbytes über das installierte Modul in seiner backup-Rolle; Modulverzeichnisse, Caches und privater Koordinationszustand werden nicht als Dateisystemabbild kopiert. Lassen Sie die Quellmodule bis zum Abschluss installiert und lesbar. --to-default-storage stellt diese Objekte als gewöhnliche Kern-Blobs ohne Ursprungsmodul oder kostenpflichtige Lizenz wieder her; reservieren Sie deren volle logische Größe. Sichern Sie Installationsgeheimnisse separat und führen Sie vor erneuten kostenpflichtigen Schreibvorgängen die Lizenzwiederherstellung durch. Das Entfernen eines Moduls löscht nicht sein Datenverzeichnis; löschen Sie keine Dateien, auf die veröffentlichte Objekte verweisen.

Stoppen Sie vor dem Wechsel auf Extension API 0.7.0 alle älteren API- und Worker-Prozesse, die Moduldaten schreiben. Alle neuen Schreiber teilen die Kontingentverwaltung über den PostgreSQL-Koordinator der Installation; auch temporäre Dateien zählen zum Kontingent. Gleichzeitiges Schreiben mit alten und neuen Prozessen wird nicht unterstützt. Nach einem Absturz baut Arkvory die Abrechnung bei Bedarf neu auf und entfernt temporäre Verzeichnisse des neuen Protokolls erst nach Erwerb der Datenbanksperre des vorherigen Besitzers. Alte temporäre Dateien werden nicht automatisch gelöscht und zählen weiter zum Kontingent; prüfen Sie sie separat bei gestoppten Schreibern. Backup-Prozesse haben nur Lesezugriff.

Routen von Modulen ​

Ein Modul kann HTTP-Routen unter seinem eigenen Präfix /api/ext/<id>/v<major>/ hinzufügen, zum Beispiel /api/ext/sample/v1/. Arkvory prüft jede Anfrage, bevor Code des Moduls läuft:

PrüfungWie bei /api/v1
AnmeldedatenDieselben Schlüssel, Sitzungen und Tokens; eine Route steht jedem angemeldeten Aufrufer offen oder nur dem globalen Administrator
BerechtigungDie Berechtigung, die die Route für das Repository in ihrem Pfad nennt, etwa content.read oder upload.create: ein Dienstschlüssel braucht sie, ein Konto seine Lese- oder Schreibfreigabe
AnfragetextDas Größenlimit der Route, die Upload-Limits, Fristen und die Bandbreite des Servers
DateienVon Arkvory selbst gesendet: ETag, Range, If-Range, 304, die Download-Warteschlange und die Download-Bandbreite

Fehler haben das Fehlerformat der API. Ein Modul sieht nie die Anmeldedaten oder andere Header. Ein Lese-Gateway bedient die lesenden Routen eines Moduls und antwortet auf die übrigen mit read_only.

Jedes Modul beschreibt seine Routen in einem OpenAPI-Dokument, und Arkvory gleicht beides beim Start des Moduls ab. Ein Modul, dessen Routen gegen die Regeln verstoßen, startet nicht und bedient nichts; Arkvory läuft weiter. GET /api/v1/system/modules zeigt es mit running: false und health.status failed:

CodeBedeutung
routes_invalidEine Route verstößt gegen die Regeln, etwa ein Pfad außerhalb des Modulpräfixes oder eine Änderung, die jedem angemeldeten Aufrufer offensteht
openapi_invalidDas OpenAPI-Dokument fehlt oder ist ungültig
openapi_route_mismatchEine Route hat keine Operation im Dokument, oder eine Operation hat keine Route
transfer_invalidDas Modul bietet ein Übertragungsprotokoll an, das es nicht anbieten darf

Die Dokumente der Routen:

AdresseWer sie lesen darfInhalt
GET /api/ext/openapi.jsonJeder angemeldete AufruferDie Routen aller Module, die dieser Dienst ausführt, mit den Operationen, die der Aufrufer aufrufen darf
GET /api/v1/system/modules/{id}/openapiDer globale AdministratorDie Routen eines Moduls

/api/v1/openapi.json listet nie Routen von Modulen. Ein Modul der Art transfer kann einen anderen Weg zur Dateiübertragung anbieten: GET /api/v1/capabilities listet ihn unter transfer. Ein Client nutzt ihn nur mit einer passenden Erweiterung; sonst überträgt er Dateien wie gewohnt.

Aktualisieren, festhalten, zurückstufen ​

Installieren Sie die Datei der neuen Version mit --yes. Das vorherige Paket bleibt bis zur nächsten Moduländerung auf dem Host.

AufgabeBefehl
Installierte Version festhaltensudo arkvory module pin sample 1.0.0 --root …
Andere Versionen wieder zulassensudo arkvory module pin sample --unpin --root …
Eine ältere Version installierensudo arkvory module install <file> --downgrade --yes --root …

Ein festgehaltenes Modul lehnt jede andere Version ab, bis Sie es freigeben. Eine Version, die älter ist als die installierte oder als eine entfernte, deren Paket noch auf dem Host liegt, braucht --downgrade.

Installierte Module prüfen ​

bash
sudo arkvory module list --root /opt/proanima-arkvory

Der Befehl prüft jedes installierte Paket erneut, so wie die Dienste es vor dem Laden tun: die Signatur, jede Datei und das Archiv. Jedes Modul zeigt einen Zustand:

ZustandBedeutung
okDas Paket ist unversehrt
refused: <code>Eine Datei wurde geändert, hinzugefügt oder durch einen Link ersetzt (file_mismatch, file_unlisted, link_entry und andere)
revoked (<reason>)ProAnimaStudio hat diese Version widerrufen. read path only bedeutet, dass ihre Daten lesbar bleiben

Ein abgelehntes Paket wird nie verwendet. Installieren Sie die Paketdatei erneut, um es zu reparieren.

Ein Modul entfernen ​

bash
sudo arkvory module remove sample --root /opt/proanima-arkvory

Das Modul verlässt die Installation, und sein Paket bleibt bis zur nächsten Moduländerung auf dem Host. Ein Modul, das die Bytes veröffentlichter Dateien speichert (Daten layout), lässt sich nicht entfernen: Arkvory lehnt mit module_owns_data ab, damit seine Daten nie unlesbar werden.

Widerrufsliste ​

ProAnimaStudio veröffentlicht eine signierte Liste widerrufener Modulversionen. Jede Liste hat eine Nummer, und Arkvory nimmt nie eine Liste an, deren Nummer kleiner ist als die der vorhandenen. Ein Modulpaket kann eine neuere Liste mitbringen: Arkvory behält sie, wenn Sie das Paket installieren. Auf einem Host ohne Zugang zum Hub speichern Sie eine Listendatei selbst:

bash
sudo arkvory module revocations /root/module-revocations.json --root /opt/proanima-arkvory

Jede Liste ist mit einem Ablaufdatum signiert: standardmäßig 90 Tage, nie mehr als 180. module install und module pin <id> <version> brauchen eine aktuelle Liste; mit einer abgelaufenen oder ohne Liste lehnen sie mit stale_revocations ab. Ein Paket mit einer aktuellen Liste zählt. Um trotzdem fortzufahren, fügen Sie --allow-stale-revocations hinzu: Arkvory gibt eine Warnung aus und hält die Entscheidung in modules/audit.jsonl fest. Eine abgelaufene Liste hält installierte Module nie an: Sie laufen weiter, und ihre Daten bleiben lesbar; nur ein Widerrufseintrag stoppt eine Version. Eine Liste mit höherer Nummer ersetzt die gespeicherte immer, auch wenn sie abgelaufen ist.

Wenn ProAnimaStudio seinen Modul-Signaturschlüssel ersetzt, enthält ein Release beide Schlüssel, und die nächste Liste wird mit dem neuen Schlüssel signiert; erst ein späteres Release entfernt den alten Schlüssel. Ein Update auf dieses Release wird abgelehnt, solange der Host noch eine mit dem alten Schlüssel signierte Liste speichert: Speichern Sie zuerst eine aktuelle Liste. sudo arkvory module check-revocations --root … zeigt, ob dieses Release dem Schlüssel der gespeicherten Liste vertraut.

Einem Plugin-Autor vertrauen ​

Plugins Ihres Teams oder eines anderen Autors sind mit dem Schlüssel des Autors signiert. Fügen Sie den Schlüssel der Vertrauensliste des Hosts hinzu, bevor Sie solche Plugins installieren. Die Vertrauensliste gehört dem Host: Die Dienste können sie lesen, aber nicht ändern.

  1. Holen Sie sich vom Autor die öffentliche Schlüsseldatei (.pub, minisign-Format) und ihren Fingerabdruck über einen anderen Kanal.

  2. Zeigen Sie den Schlüssel an und vergleichen Sie den Fingerabdruck:

    bash
    sudo arkvory module trust add /root/acme.pub --label "Acme platform team" --plugins "op-acme-*" --root /opt/proanima-arkvory
  3. Fügen Sie ihn mit --yes hinzu.

OptionBedeutung
--labelWem der Schlüssel gehört; Pflicht
--pluginsPlugin-IDs, die der Schlüssel signieren darf, durch Kommas getrennt: eine genaue ID oder ein Präfix mit *. Standard op-*
--expiresUTC-Zeit wie 2027-01-31T00:00:00Z. Danach nimmt der Schlüssel keine neue Installation mehr an
--allow-in-processErlaubt den Plugins des Schlüssels, im Prozess von Arkvory zu laufen. Solcher Code erhält alle Rechte des Dienstes

Plugin-IDs beginnen immer mit op-. Ein Plugin-Schlüssel signiert nie Module von ProAnimaStudio, und Schlüssel von ProAnimaStudio signieren nie op--Plugins. Ein Schlüssel, den der Host schon unter einer anderen ID oder als Schlüssel einer anderen Art kennt, wird abgelehnt (duplicate_key). Signaturen müssen vorab gehasht sein, die Vorgabe aktueller minisign-Versionen; alte Signaturen werden mit signature_algorithm abgelehnt.

sudo arkvory module trust list --root … zeigt die vertrauenswürdigen Schlüssel. sudo arkvory module trust remove <key id> --root … entfernt einen.

Diese Version führt die Vertrauensliste; Plugins installiert eine spätere Version.

Nach einer Unterbrechung ​

Jede Änderung der Modulmenge wird im Aktualisierungsjournal festgehalten. Bricht ein Befehl auf halbem Weg ab, lehnt der nächste Bereitstellungsbefehl mit Interrupted deployment ab. Führen Sie sudo arkvory recover --root … aus: Es stellt die vorherige Modulmenge wieder her. Bis dahin lehnt jeder Modulbefehl ab, der etwas ändert, auch module trust und module revocations.

Lebensdauer der Modulanfrage ​

Die Route verwendet die Rechte des Aufrufers bis zum Ende der Antwort, auch beim Streaming. Abbruch oder Abschluss widerruft die Rechte und schließt Leseressourcen. upload-read liest bestätigte Teile unvollständiger Uploads und prüft Eigentümer, upload.read, Bereich und Abbruch. Module können Transferangebote im Betrieb zurückziehen. Spätere Fähigkeitsabfragen lassen sie weg; Routen und aktive Transfers bleiben erhalten. Clients können alte Angebote zwischenspeichern, deshalb muss die Route jede Operation prüfen.

Wiederherstellung des abgeleiteten Caches ​

Signierte Module können derived-cache deklarieren (Extension API 0.9.0). API und Worker erstellen und lesen unveränderliche Generationen; Reader lesen nur, Backup erhält den Dienst nicht. Quellberechtigungen werden bei jeder Anfrage geprüft. Das Ressourcenbudget umfasst alte Daten/Caches und zurückgehaltene Generationen. Bei einem Cache-Miss sind Neuberechnung oder Fallback erforderlich.

Eine verlorene PostgreSQL-Sitzung beweist keinen Stillstand der Datei-I/O. Reservierungen unklarer Besitzer und persistente Leserreferenzen bleiben angerechnet. Zuerst die Datenbankmigrationen dieser Kernversion anwenden. Vor Recovery alle beteiligten Hosts stoppen und das Ende ihrer Prozesse und I/O bestätigen oder das Ende der genauen Besitzer-Prozessinstanz und den Ausschluss ihrer Wiederaufnahme nachweisen; unerreichbare Hosts müssen durch Fencing isoliert werden. Exakte Besitzer-UUID aus der Diagnose beziehen und Nachweis dokumentieren. PID, Timeout oder fehlender DB-Lock reichen nicht.

Auf dem vertrauenswürdigen Host mit konfiguriertem ARKVORY_DATABASE_URL folgenden Befehl mit den gebauten Paketen dieser Kernversion ausführen. Das Flag bestätigt den physischen Stillstand; ein aktiver Owner-Lock verhindert Recovery trotzdem. Ohne Bestätigung keine Aktion. Danach Reconciliation fortsetzen und Freigabe prüfen; Bestätigung allein gibt keine Quote sofort frei. Dies ist Host-Wartung, kein Modulrecht oder Remote-CLI-Recht.

sh
node scripts/recover-derived-cache.mjs --owner UUID --confirm-owner-stopped

Koordinationszustand von Modulen ​

Extension API 0.10.0 bietet signierten Modulen einen begrenzten, atomaren Zustandsspeicher. Er bleibt beim HA-Failover erhalten, ist aber nicht in portablen logischen Sicherungen enthalten. Nach einer Wiederherstellung ist das ausdrückliche Neuinitialisierungsverfahren des Moduls erforderlich; Lesen und Wiederherstellen gespeicherter Objekte müssen verfügbar bleiben. Dieser Zustand ist vom Objektspeicher getrennt und wird bei einer Neuinstallation des Moduls nicht zurückgesetzt.

Ein Übertragungsmodul kann sein Protokoll vorübergehend zurückziehen und nach erfolgreicher Richtlinienprüfung ohne Neustart von Arkvory wieder anbieten. Jede Anfrage unterliegt weiterhin der aktuellen Richtlinie des Moduls.

Mit der Erweiterungs-API 0.12.0 kann ein signiertes Speichermodul die logischen Bytes begrenzen. Der Kern zählt vollständige Objektgrößen und angenommene, unfertige Uploads über alle Repositorys hinweg, ohne Deduplizierungsrabatt. Bei erreichtem Limit nutzen neue Uploads den Standardspeicher; angenommene Uploads behalten ihr Ziel und gespeicherte Objekte bleiben lesbar. Der Zähler sinkt erst nach der Bereinigung.

Gemeinsamer Ressourcenkatalog ​

Extension API 0.13.0 stellt signierten Modulen einen gemeinsamen Ressourcenkatalog bereit. Dateien bleiben geschützt, solange Uploads oder abhängige Ressourcen darauf verweisen. Nur die Kernbereinigung gibt Upload-Verweise frei. Physisches Löschen wartet auf Leser und Sicherungen; bei Fehlern bleiben Abhängigkeiten für einen erneuten Versuch erhalten.

Stoppen Sie vor dem ersten Upgrade auf ein Modul mit diesem Katalog alle älteren API- und Worker-Prozesse. Mischen Sie keine alten und neuen Schreibprozesse. Nach einer logischen Wiederherstellung bleibt die Bereinigung gesperrt, bis das Modul alle Rezepte, Dateien und Abhängigkeiten erfolgreich geprüft hat. Reparieren Sie fehlende oder beschädigte Daten vor der erneuten Bereinigung.

Arkvory · ProAnimaStudio