Endpunkt
GET /health. Antwortet mit einem Status, dem Produktnamen und der laufenden Version. Eine Bereitstellung lässt sich bestätigen, statt angenommen zu werden.
Systemanforderungen
Was der Container braucht, bevor ihn jemand ausrollt: die Laufzeit in ihm, der eine Port, den er veröffentlicht, das Volume, das er behalten muss, und der Host, den wir ihm empfehlen.
Zwei Sprachlaufzeiten in einem Container, und die zweite hat einen konkreten Grund, keine Vorliebe.
| Was es ist | Warum, und wo Sie es prüfen | |
|---|---|---|
| Basis-Image | python:3.13-slim | Dieselbe Basis in beiden Build-Stufen. Was kompiliert wird, ist das, was läuft. Dockerfile:13 |
| Python | 3.13 oder neuer | In der kontinuierlichen Integration auf 3.13 getestet. pyproject.toml:9, .github/workflows/tests.yml:91 |
| .NET | 8.0 Runtime | Nur die Runtime, nicht das SDK. Migrate umhüllt Tableaus eigenes .NET Migration SDK. Die Runtime reist damit im Image mit. Dockerfile:101 |
| Läuft als | uid 10001, Benutzer ttc | Root wird einmal genutzt, um ein eingehängtes Volume zu übernehmen, und vor dem Start der Anwendung abgelegt. Dockerfile:188 |
| Prozessorarchitektur | amd64 | Ein arm64-Build lädt auf einem x86-Host sauber und startet dann nicht. Die Architektur sollte vor einer Bereitstellung geprüft werden, nicht danach. |
Die governten Anwendungen antworten auf Loopback im Container. Das Gateway erreicht sie, und sonst nichts.
Alle 14 governten Anwendungen binden sich im Container an die lokale Schnittstelle und werden nie veröffentlicht. Ein Port trägt jede Anfrage hinein, und das Gateway leitet jede an die Anwendung weiter, der sie gehört, und hält dabei eine einzige Tableau-Sitzung für Sie.
Das ist eine Eigenschaft, die Sie prüfen können, statt ein Versprechen, das Sie hinnehmen müssen. Listen Sie die veröffentlichten Ports des laufenden Containers auf, und Sie finden einen, was auch immer in dieser Version darin läuft.
Der Container liefert unverschlüsselten Verkehr und hält nie ein Zertifikat. Die Transportsicherheit bleibt dort, wo Sie sie bereits betreiben.
| Was es ist | Warum, und wo Sie es prüfen | |
|---|---|---|
| Veröffentlichter Port | 8865 standardmässig | Gesetzt über die Umgebungsvariable PORT. Eine Bereitstellung hinter einem Proxy mappt ihn meist, statt ihn zu ändern. Dockerfile:236 |
| Anwendungsports | 8851 bis 8869, auf Loopback | Jede governte Anwendung bindet im Container an 127.0.0.1 und wird nie veröffentlicht. Das Gateway erreicht sie, das Netzwerk nicht. |
| Eingehende Regeln | 80 und 443 für die Welt, administrativer Zugriff von Ihren eigenen Adressen | Der Anwendungsport selbst bleibt unveröffentlicht. |
| Transportsicherheit | Vor dem Container terminiert | Der Container liefert immer reines HTTP und hält nie ein Zertifikat. Ihr Load Balancer oder Reverse Proxy besitzt die Transportsicherheit, wo sie für alles andere, was Sie betreiben, ohnehin liegt. |
| Weitergeleitete Header | Nur vertraut, wenn Sie es sagen | Das Header-Vertrauen ist standardmässig aus. Ein direkt erreichbarer Container ignoriert eine weitergeleitete Adresse. |
Ein Volume hält alles, was ein Neubau nicht verlieren darf. Diese Seite nennt, was darin liegt, denn die Anweisung, einen Pfad zu sichern, sagt Ihnen nicht, was Sie verlieren würden.
| Was es ist | Wert | Warum, und wo Sie es prüfen |
|---|---|---|
| Daten-Volume | /app/data | Das Benutzerverzeichnis, der Änderungs-Ledger, das administrative Audit-Log, die Profile der semantischen Schicht und die verschlüsselten Verbindungsdatensätze. Dockerfile:215 |
| Artefakt-Volume | /app/artifacts | Wohin Offboard die Deliverables schreibt, nach denen ein Audit fragt. |
| Volume-Grösse | Innerhalb der Empfehlung von 500 GB | Die Speicher sind JSON- und JSON-Lines-Dateien, keine Datenbank, und Observability-Logs rotieren bei 5 MB und behalten fünf Dateien. |
| Eigentum | Bei jedem Start korrigiert | Der Einstiegspunkt übernimmt das Volume, bevor er die Rechte ablegt. Ein von einer früheren Version angelegtes Volume bleibt lesbar und wird nie still geleert. |
| Geheimnisnahe Dateien | Mit 0600 geschrieben, atomar | Ein Teilschreibvorgang lässt die vorherige Datei intakt, nicht eine abgeschnittene. |
Ein Container auf einem Docker-Host, mit Luft zum Arbeiten. Das sind die Werte, gegen die Boreon Ihnen zu provisionieren empfiehlt.
| Was es ist | Wert | Was darauf wirkt |
|---|---|---|
| Host | Ein Docker-Host | Ein eigenständiger Container auf jedem Docker-Host, den Sie bereits betreiben. Kein Orchestrator ist erforderlich. |
| Arbeitsspeicher | 8 GB RAM | Zwei Sprachlaufzeiten und ein Headless-Browser teilen sich einen Container. |
| Verfügbarer Speicherplatz | 500 GB | Deckt das Image, die persistenten Volumes und Platz für die Artefakte ab, nach denen ein Audit fragt. |
Fragen Sie den Container, und er antwortet mit der Version, die er ausführt; eine bessere Quelle für diese Zahl als jede Seite, diese eingeschlossen.
GET /health. Antwortet mit einem Status, dem Produktnamen und der laufenden Version. Eine Bereitstellung lässt sich bestätigen, statt angenommen zu werden.
Alle 30 Sekunden
4 Sekunden
60 Sekunden. Das Gateway wartet, bis jede governte Anwendung antwortet, bevor es sich bereit meldet. Ein Kaltstart ist langsamer als ein Neustart.
5