API-Server-Konfiguration


Der Bencher API-Server erfordert eine JSON-Konfiguration beim Start. Die Konfiguration kann auf drei Arten bereitgestellt werden:

  • BENCHER_CONFIG Umgebungsvariable: Der Wert sollte auf die JSON-Konfiguration gesetzt sein
  • BENCHER_CONFIG_PATH Umgebungsvariable: Der Wert sollte auf den Pfad einer Datei gesetzt sein, die die JSON-Konfiguration enthält
  • /etc/bencher/bencher.json Datei: Eine Datei an diesem Ort, die die JSON-Konfiguration enthält

Wenn keine Konfiguration gefunden wird, wird eine Standardkonfiguration geladen.

Beispiel einer JSON-Konfiguration:

{
"console": {
"url": "https://bencher.example.com"
},
"security": {
"issuer": "https://api.bencher.example.com",
"secret_key": "UJu7Cpxb-zFaJYqXD-3mDDSDyj-ZvfxZFZs-X58xjxPy"
},
"server": {
"bind_address": "0.0.0.0:6610",
"request_body_max_bytes": 1048576,
"tls": {
"type": "as_file",
"cert_file": "/path/to/cert.pem",
"key_file": "/path/to/key.pem"
}
},
"logging": {
"name": "Bencher API",
"log": {
"stderr_terminal": {
"level": "info"
}
},
},
"database": {
"file": "/var/lib/bencher/data/bencher.db",
"data_store": {
"service": "aws_s3",
"access_key_id": "ABC123DoRemMiABC123",
"secret_access_key": "AA3Chr-JSF5sUQqKwayx-FvCfZKsMev-5BqPpcFC3m7",
"access_point": "arn:aws:s3:some-region-1:123456789:accesspoint/my-bucket/path/to/backup/dir"
},
"busy_timeout": 5000,
"cache_size": 65536
},
"smtp": {
"hostname": "mailbonobo.com",
"port": 587,
"starttls": true,
"username": "bencher",
"secret": "WM3F2u9cqSNdBPLfy9sJ5kk9",
"from_name": "Bencher",
"from_email": "info@bencher.example.com"
},
"plus": {
"disaster_recovery": {
"replicas": [
{
"scheme": "s3",
"bucket": "my-bucket",
"path": "path/to/replicate",
"access_key_id": "ABC123DoRemMiABC123",
"secret_access_key": "AA3Chr-JSF5sUQqKwayx-FvCfZKsMev-5BqPpcFC3m7"
}
]
},
"registry": {
"url": "https://registry.bencher.example.com",
"data_store": {
"service": "aws_s3",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"access_point": "arn:aws:s3:us-east-1:123456789012:accesspoint/my-access-point/registry",
"chunk_size": 5242880
},
"upload_timeout": 3600,
"max_body_size": 1073741824
},
"runners": {
"heartbeat_timeout": 90,
"job_timeout_grace_period": 60,
"update_base_url": "https://github.com/bencherdev/bencher/releases/download/"
},
"rate_limiting": {
"window": 86400,
"unclaimed_limit": 255,
"claimed_limit": 65536,
"public": {
"requests": {
"minute": 1024,
"hour": 4096,
"day": 8192
},
"attempts": {
"minute": 32,
"hour": 64,
"day": 128
},
"runs": {
"minute": 64,
"hour": 128,
"day": 256
}
},
"user": {
"requests": {
"minute": 2048,
"hour": 8192,
"day": 16384
},
"attempts": {
"minute": 2,
"hour": 4,
"day": 8
},
"credentials": {
"minute": 4,
"hour": 8,
"day": 16
},
"organizations": {
"minute": 2,
"hour": 4,
"day": 8
},
"invites": {
"minute": 8,
"hour": 16,
"day": 32
},
"runs": {
"minute": 64,
"hour": 1024,
"day": 4096
}
},
"project": {
"requests": {
"minute": 2048,
"hour": 8192,
"day": 16384
},
"runs": {
"minute": 64,
"hour": 1024,
"day": 4096
}
},
"runner": {
"requests": {
"minute": 16,
"hour": 256,
"day": 4096
}
},
"oci_bandwidth": {
"unclaimed": 1073741824,
"free": 10737418240,
"plus": 107374182400
}
},
"stats": {
"offset": 11242,
"enabled": true
}
}
}

console

Name Beispiel Standard Erforderlich Beschreibung
url https://bencher.example.com http://localhost:3000 Ja Legt die URL für den Bencher UI-Konsolenhost fest.

security

Name Beispiel Standard Erforderlich Beschreibung
issuer https://api.bencher.example.com “bencher.dev” Nein Gibt den JWT (JSON Web Token) Aussteller an. WARNUNG Änderungen dieses Wertes führen dazu, dass alle zuvor generierten JWTs nicht mehr validiert werden.
secret_key “UJu7Cpxb-zFaJYqXD-3mDDSDyj-ZvfxZFZs-X58xjxPy” Zufällige UUID v4 Ja Gibt den Schlüssel an, der zur Generierung aller Tokens verwendet wird. ES SOLLTE SEHR SICHER SEIN! Der Standardwert ist eine zufällig generierte UUID v4. Jedes Mal, wenn es protokolliert wird, wird es als ************ verschleiert dargestellt.

server

Dieser Abschnitt basiert auf der Dropshot-Serverkonfiguration.

Name Beispiel Standard Erforderlich Beschreibung
bind_address “0.0.0.0:6610” “0.0.0.0:6610” Ja Legt fest, dass der Server an die angegebene IP-Adresse und den TCP-Port gebunden sein sollte. Im Allgemeinen können Server an mehr als eine IP-Adresse und Port gebunden sein, dies wird jedoch (noch?) nicht unterstützt.
request_body_max_bytes 1048576 1048576 Ja Gibt die maximale Anzahl von Bytes an, die in einem Anforderungskörper zulässig sind. Größere Anfragen erhalten einen 400 Fehler.
tls.type “als_datei” Nein Gibt an, ob und wie TLS-Zertifikat- und Schlüsselinformationen bereitgestellt werden. Gültige Werte sind “als_datei” und “als_bytes”.
tls.cert_file “/path/to/cert.pem” Nur wenn tls.type = as_file Gibt den Pfad zu einer PEM-Datei an, die eine Zertifikatskette enthält, mit der sich der Server identifiziert. Das erste Zertifikat ist das End-Entity-Zertifikat und die verbleibenden sind Zwischenzertifikate auf dem Weg zu einer vertrauenswürdigen CA. Wenn angegeben, hört der Server nur auf TLS-Verbindungen.
tls.key_file “/path/to/key.pem” Nur wenn tls.type = as_file Gibt den Pfad zu einer PEM-kodierten PKCS #8-Datei an, die den privaten Schlüssel enthält, den der Server verwenden wird. Wenn angegeben, hört der Server nur auf TLS-Verbindungen.
tls.certs Nur wenn tls.type = as_bytes Identisch mit tls.cert_file, jedoch als Array von Bytes von Zertifikatsdaten bereitgestellt.
tls.key Nur wenn tls.type = as_bytes Identisch mit tls.key_file, jedoch als Array von Bytes von Schlüsseldaten bereitgestellt.

logging

Dieser Abschnitt basiert auf der Dropshot Logging Konfiguration.

Name Beispiel Standard Erforderlich Beschreibung
name “Bencher API” “Bencher API” Ja Gibt den Namen des Loggers an.
log.mode “stderr_terminal” “stderr_terminal” Ja Steuert, wo das Server-Logging hingeschickt wird. Gültige Modi sind “stderr-terminal” und “file”. Wenn der Modus `“stderr-terminal” ist, wird menschenlesbare Ausgabe, wenn möglich mit Farben und anderer Terminalformatierung, an stderr gesendet. Ist der Modus “file”, wird Bunyan-Format Ausgabe an den durch log.path angegebenen Dateipfad gesendet. Siehe auch log.if_exists, das steuert, was passiert, wenn der Zielpfad bereits existiert.
log.level “info” “info” Ja Gibt an, wie schwerwiegend die Protokollnachrichten sein sollten, die im Protokoll enthalten sind. Gültige Werte sind “trace”, “debug”, “info”, “warn”, “error” und “critical”, die in aufsteigender Reihenfolge der Schweregrad sind. Protokollnachrichten der angegebenen Stufe und schwerwiegendere Stufen werden im Protokoll enthalten sein.
log.path Nur wenn log.mode = “file” Wenn log.mode “file” ist, bestimmt diese Eigenschaft den Pfad zur Protokolldatei. Siehe auch log.if_exists.
log.if_exists Nur wenn log.mode = “file” Wenn log.mode “file” ist, wird durch diese Eigenschaft festgelegt, was passieren soll, wenn die Zielprotokolldatei bereits existiert. Gültige Werte sind “append” (hierbei wird zur vorhandenen Datei hinzugefügt), “truncate” (hierbei wird die vorhandene Datei abgeschnitten und dann verwendet, als ob sie gerade erstellt worden wäre) und “fail” (hierbei beendet der Server sofort mit einem Fehler).

database

Name Beispiel Standard Erforderlich Beschreibung
file “pfad/zu/database.db” “/var/lib/bencher/data/bencher.db” Ja Legt fest, wo die Serverdatenbank hingehen soll.
data_store.service “aws_s3” Nein Gibt den entfernten Datenspeicherdienst an. Gültige Werte sind “aws_s3”.
data_store.access_key_id “ABC123DoRemMiABC123” Nur wenn data_store.service = “aws_s3” Wenn data_store.service “aws_s3” ist, gibt diese Eigenschaft die AWS-Zugangsschlüssel-ID an. Siehe auch data_store.service.
data_store.secret_access_key “AA3Chr-JSF5sUQqKwayx-FvCfZKsMev-5BqPpcFC3m7” Nur wenn data_store.service = “aws_s3” Wenn data_store.service “aws_s3” ist, gibt diese Eigenschaft den AWS geheimen Zugangsschlüssel an. Siehe auch data_store.service. Im Protokoll erscheint es als ************.
data_store.access_point “arn:aws:s3:some-region-1:123456789:accesspoint/my-bucket/pfad/zu/backup/dir” Nur wenn data_store.service = “aws_s3” Wenn data_store.service “aws_s3” ist, gibt diese Eigenschaft den Zugangspunkt von AWS S3 an. Siehe auch data_store.service.
busy_timeout 5000 5000 Nein Gibt den Busy-Timeout für die Datenbank in Millisekunden an. Verhindert sofortige SQLITE_BUSY-Fehler bei Sperrkonflikten.
cache_size 65536 65536 Nein Gibt die Seiten-Cache-Größe in KiB für die Schreibverbindung der Datenbank an. Ein größerer Cache vermeidet das erneute Lesen verdrängter Seiten bei großen Report-Importen und -Löschungen. Muss größer als 0 sein.

smtp

Dieser Abschnitt spezifiziert eine SMTP-Dienstkonfiguration. Der gesamte Abschnitt ist optional. Wenn nicht angegeben, werden alle Nachrichten stattdessen an logging gesendet.

Name Beispiel Standard Erforderlich Beschreibung
hostname “mailbonobo.com” Ja Spezifiziert den SMTP-Hostname.
port 587 587 Nein Spezifiziert den SMTP-Port.
insecure_host false Nein Bestimmt, ob die SMTP-Verbindung ungültige TLS-Zertifikate zulassen kann.
starttls true true Nein Bestimmt, ob die SMTP-Verbindung das STARTTLS-Protokoll verwendet.
username “bencher” Ja Spezifiziert den Benutzernamen beim SMTP-Host.
secret “WM3F2u9cqSNdBPLfy9sJ5kk9” Ja Spezifiziert das Geheimnis für den Benutzernamen beim SMTP-Host. Wann immer es protokolliert wird, erscheint es verschleiert als ************.
from_name “Bencher” Ja Spezifiziert den Namen, der im Absender-Bereich aller E-Mails angezeigt wird.
from_email info@bencher.example.com Ja Spezifiziert die E-Mail-Adresse, die im Absender-Bereich aller E-Mails angezeigt wird.

plus

Dieser Abschnitt betrifft Funktionen, die von der Bencher Plus-Lizenz abgedeckt sind.

plus.github

Dieser Abschnitt spezifiziert die Konfiguration für eine GitHub App, die für die OAuth2-Authentifizierung verwendet wird. Sie müssen eine gültige Bencher Plus Enterprise Lizenz für mindestens eine Organisation auf dem Server haben. Der gesamte Abschnitt ist optional. Wenn er nicht angegeben ist, wird die Authentifizierung mit GitHub nicht aktiviert.

Name Beispiel Standard Erforderlich Beschreibung
client_id Iv1.12864abcd1232048 Ja Gibt die Client-ID für Ihre GitHub App an. Die Client-ID unterscheidet sich von der App-ID. Sie können die Client-ID auf der Einstellungsseite für Ihre App finden. Weitere Informationen zur Navigation zur Einstellungsseite für Ihre GitHub App finden Sie unter Ändern einer GitHub App-Registrierung.
client_secret 00000abcd12345wxyz123456789abcdefgh0000 Ja Das Client-Geheimnis für Ihre GitHub App. Sie können ein Client-Geheimnis auf der Einstellungsseite für Ihre App generieren.

plus.google

Dieser Abschnitt legt die Konfiguration für einen Google-Client zur OAuth2-Authentifizierung fest. Sie müssen für mindestens eine Organisation auf dem Server über eine gültige Bencher Plus Enterprise-Lizenz verfügen. Der gesamte Abschnitt ist optional. Wird er nicht angegeben, wird die Authentifizierung mit Google nicht aktiviert.

Name Beispiel Standard Erforderlich Beschreibung
client_id 0123456789-abcdefg0112358envs.apps.googleusercontent.com Ja Gibt die Client-ID für Ihren Google-OAuth2-Client an.
client_secret GOCSPX-xyz987654321 Ja Das Client-Secret für Ihren Google-OAuth2-Client.

plus.disaster_recovery

Dieser Abschnitt spezifiziert die Konfiguration der Notfallwiederherstellung. Bencher unterstützt das kontinuierliche Replizieren aller Datenbankänderungen. Für die Durchführung von bedarfs- oder zeitgesteuerten Backups siehe den Abschnitt database.data_store der Konfiguration.

Es gibt drei Replikations-schemes:

  • file: Replikation zu einem lokalen Dateipfad
    • path: Pfad, zu dem repliziert wird
  • sftp: Replikation über SFTP
    • host: Zielsystem-Hostname
    • port: Zielsystem-Portnummer
    • user: Benutzername auf dem Zielsystem
    • password: (Optional) Passwort auf dem Zielsystem
    • path: (Optional) Pfad auf dem Zielsystem
    • key_path: (Optional) Pfad zum SSH-Schlüssel
  • s3: Replikation zu einem S3-kompatiblen Blob-Speicher
    • bucket: Bucket-Name
    • path: (Optional) Pfad im Bucket
    • endpoint: (AWS: Optional | Nicht-AWS: Erforderlich) Replikationsendpunkt
    • region: (Optional) Bucket-Region
    • access_key_id: S3-Zugangsschlüssel
    • secret_access_key: S3-Geheimzugangsschlüssel

Alle drei Replikations-schemes haben die folgenden zusätzlichen Optionen:

  • snapshot.interval: (Optional) Gibt an, wie oft neue Schnappschüsse erstellt werden. Dies wird verwendet, um die Zeit für die Wiederherstellung zu verkürzen, da neuere Schnappschüsse weniger WAL-Frames zum Anwenden haben. Die Aufbewahrung gilt auch für diese Schnappschüsse. Wenn Sie kein Schnappschussintervall festlegen, wird ein neuer Schnappschuss erstellt, wann immer die Aufbewahrung durchgeführt wird. Die Aufbewahrung erfolgt standardmäßig alle 24 Stunden.
  • snapshot.retention: (Optional) Die Dauer, die Schnappschuss- und WAL-Dateien aufbewahrt werden. Nach dem Ablauf der Aufbewahrungsfrist wird ein neuer Schnappschuss erstellt und der alte entfernt. WAL-Dateien, die vor dem ältesten Schnappschuss existieren, werden ebenfalls entfernt. Standardwert ist 24h.
  • validation.interval: (Optional) Wenn angegeben, wird Bencher automatisch wiederherstellen und validieren, dass die Daten auf der Replik mit der lokalen Kopie übereinstimmen. Standardmäßig deaktiviert. Das Aktivieren kann die Kosten für den Betrieb von Bencher erheblich erhöhen, da die meisten Cloud-Services Gebühren für Downloads erheben.
  • sync_interval: (Optional) Häufigkeit, mit der Frames zur Replik übertragen werden. Standardwert ist 1s. Eine höhere Frequenz kann die Kosten für Cloud-Speicher erheblich erhöhen.
  • checkpoint.interval: (Optional) Wie häufig Litestream einen nicht-blockierenden PASSIVE-Checkpoint durchführt, unabhängig von der Seitenanzahl. Litestream überspringt den Checkpoint, wenn Leser oder Schreiber aktiv sind. Standardwert ist 1m.
  • checkpoint.min_page_count: (Optional) Mindestanzahl an WAL-Seiten, bevor ein nicht-blockierender PASSIVE-Checkpoint ausgelöst wird (~4KB pro Seite). Litestream überspringt den Checkpoint, wenn Leser oder Schreiber aktiv sind. Standardwert ist 1000 (~4MB).
  • checkpoint.truncate_page_n: (Optional) Schwellenwert der Seitenanzahl für einen blockierenden TRUNCATE-Checkpoint. Wenn dieser Schwellenwert erreicht wird, führt Litestream einen blockierenden Checkpoint durch, der auf den Abschluss aller Leser und Schreiber wartet, was zu database is locked-Fehlern unter Last führen kann. Standardwert ist 0 (deaktiviert). Setzen Sie diesen Wert nur dann auf einen Wert ungleich Null, wenn Sie eine Obergrenze für die WAL-Dateigröße benötigen und die Auswirkungen der Blockierung verstehen.
Name Beispiel Standardwert Erforderlich Beschreibung
replica { … } Ja Gibt ein Replikationsobjekt an.
replica.scheme “s3” Ja Gibt das Replikationsschema an. Für alle anderen replica-Schlüssel siehe die obige Liste.
snapshot.interval “1h” Nein Wie oft neue Schnappschüsse erstellt werden. Verkürzt die Wiederherstellungszeit.
snapshot.retention “24h” 24h Nein Wie lange Schnappschuss- und WAL-Dateien aufbewahrt werden, bevor sie ersetzt werden.
validation.interval “6h” Nein Wie oft Replikdaten wiederhergestellt und gegen die lokale Kopie validiert werden. Standardmäßig deaktiviert.
checkpoint.interval “1m” 1m Nein Wie oft ein nicht-blockierender PASSIVE-Checkpoint ausgeführt wird. Wird übersprungen, wenn Leser/Schreiber aktiv sind.
checkpoint.min_page_count 1000 1000 Nein Mindestanzahl WAL-Seiten (~4KB pro Seite) vor einem PASSIVE-Checkpoint. Wird übersprungen, wenn Leser/Schreiber aktiv sind.
checkpoint.truncate_page_n 0 0 Nein Seitenschwellenwert für einen blockierenden TRUNCATE-Checkpoint. 0 deaktiviert. Werte ungleich Null können database is locked-Fehler unter Last verursachen.

plus.registry

Dieser Abschnitt spezifiziert die OCI (Open Container Initiative) Registry-Speicherkonfiguration. Bencher kann als OCI-kompatible Container-/Artefakt-Registry fungieren.

Wenn dieser Abschnitt nicht konfiguriert ist, verwendet Bencher den lokalen Dateisystemspeicher in einem oci-Verzeichnis neben der Datenbankdatei. Dies ist geeignet für Entwicklung und Einzelinstanz-Deployments.

Für Produktions-Deployments mit mehreren Instanzen oder für Dauerhaftigkeit konfigurieren Sie S3-basierten Speicher.

Es gibt zwei Speicher-service-Optionen:

  • local: OCI-Artefakte im lokalen Dateisystem speichern (Standard)
  • aws_s3: OCI-Artefakte in AWS S3 speichern
    • access_key_id: AWS-Zugangsschlüssel-ID
    • secret_access_key: AWS-Geheimzugangsschlüssel
    • access_point: S3 Access Point ARN mit optionalem Pfadpräfix. Format: arn:aws:s3:<region>:<account-id>:accesspoint/<access-point-name>[/<path-prefix>]
    • chunk_size: Minimale Chunk-Größe in Bytes für die Pufferung von Upload-Daten vor dem Speichern in S3 (Standard: 5 MB). HTTP-Anfragekörper kommen als kleine Netzwerk-Frames an (typischerweise 8–64 KB). Ohne Pufferung wird jeder Frame als separates S3-Objekt gespeichert, was Tausende von Objekten pro Layer erzeugt. Dieser Wert entspricht auch der minimalen S3-Multipart-Upload-Teilgröße.
Name Beispiel Standardwert Erforderlich Beschreibung
url https://registry.bencher.example.com http://localhost:6610 Nein Die extern erreichbare URL des API-Servers für OCI-Registry-Zugriff.
data_store { … } Nein Gibt das OCI-Speicher-Backend an. Lokal wenn weggelassen.
data_store.service “local” oder “aws_s3” Ja Gibt den Speicherdiensttyp an.
data_store.access_key_id “AKIAIOSFODNN7EXAMPLE” nur aws_s3 AWS-Zugangsschlüssel-ID.
data_store.secret_access_key “wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY” nur aws_s3 AWS-Geheimzugangsschlüssel.
data_store.access_point “arn:aws:s3:us-east-1:123456789012:accesspoint/my-access-point/registry” nur aws_s3 S3 Access Point ARN. Optionales Pfadpräfix nach dem Access-Point-Namen.
data_store.chunk_size 5242880 5242880 nur aws_s3 Minimale Chunk-Größe in Bytes für die Pufferung von Upload-Daten vor dem Speichern in S3. Standard: 5 MB.
upload_timeout 3600 3600 Nein Upload-Sitzungs-Timeout in Sekunden. Veraltete Uploads werden bei neuen Uploads bereinigt.
max_body_size 1073741824 1073741824 Nein Maximale Body-Größe in Bytes für Blob- und Manifest-Uploads. Anfragen, die dieses Limit überschreiten, werden mit 413 Payload Too Large abgelehnt. Standard: 1 GiB.

plus.runners

Dieser Abschnitt konfiguriert das Runner-System für die Bare-Metal-Benchmark-Ausführung. Runner sind serverseitige Agenten, die Benchmark-Jobs beanspruchen und ausführen.

Wenn dieser Abschnitt nicht konfiguriert ist, verwendet Bencher die Standardwerte.

Name Beispiel Standardwert Erforderlich Beschreibung
heartbeat_timeout 90 90 Nein Zeit in Sekunden ohne Heartbeat, bevor ein Job als fehlgeschlagen markiert wird.
job_timeout_grace_period 60 60 Nein Zusätzliche Zeit in Sekunden über das konfigurierte Timeout eines Jobs hinaus, bevor der Server ihn abbricht.
update_base_url https://example.com/downloads/ GitHub Releases Nein Basis-URL für Runner-Selbstaktualisierungs-Downloads. Standardmäßig die Download-URL der Bencher GitHub Releases.

plus.rate_limiting

Dieser Abschnitt spezifiziert die Ratenbegrenzung für den API-Server. Der gesamte Abschnitt ist optional. Wenn nicht angegeben, werden die aufgelisteten Standardwerte verwendet.

Um zu verhindern, dass unclaimed Projekte erstellt werden, setzen Sie unclaimed_limit auf 0.

Name Beispiel Standard Erforderlich Beschreibung
window 86400 86400 Nein Spezifiziert das Fenster für die Ratenbegrenzung in Sekunden. Standardmäßig auf einen Tag gesetzt.
unclaimed_limit 255 255 Nein Kontrolliert die Ratenbegrenzung für unclaimed Projekte. Um zu verhindern, dass unclaimed Projekte erstellt werden, setzen Sie diesen Wert auf 0.
claimed_limit 65536 65536 Nein Kontrolliert die Ratenbegrenzung für claimed Projekte.

public

Der public-Ratenbegrenzer gilt pro IP-Adresse für nicht authentifizierte Anfragen. Jedes Unterfeld enthält minute-, hour- und day-Limits. Der gesamte Abschnitt ist optional. Wenn nicht angegeben, werden die aufgelisteten Standardwerte verwendet.

Name Beispiel Standard Erforderlich Beschreibung
requests { … } Nein Spezifiziert Anfrage-Ratenlimits pro IP-Adresse.
requests.minute 1024 1024 Nein Maximale Anfragen pro Minute pro IP-Adresse.
requests.hour 4096 4096 Nein Maximale Anfragen pro Stunde pro IP-Adresse.
requests.day 8192 8192 Nein Maximale Anfragen pro Tag pro IP-Adresse.
attempts { … } Nein Spezifiziert Authentifizierungsversuch-Ratenlimits pro IP-Adresse.
attempts.minute 32 32 Nein Maximale Authentifizierungsversuche pro Minute pro IP-Adresse.
attempts.hour 64 64 Nein Maximale Authentifizierungsversuche pro Stunde pro IP-Adresse.
attempts.day 128 128 Nein Maximale Authentifizierungsversuche pro Tag pro IP-Adresse.
runs { … } Nein Spezifiziert Benchmark-Lauf-Ratenlimits pro IP-Adresse für nicht beanspruchte Projekte.
runs.minute 64 64 Nein Maximale Benchmark-Läufe pro Minute pro IP-Adresse.
runs.hour 128 128 Nein Maximale Benchmark-Läufe pro Stunde pro IP-Adresse.
runs.day 256 256 Nein Maximale Benchmark-Läufe pro Tag pro IP-Adresse.

user

Der user-Ratenbegrenzer gilt pro authentifiziertem Benutzer. Jedes Unterfeld enthält minute-, hour- und day-Limits. Der gesamte Abschnitt ist optional. Wenn nicht angegeben, werden die aufgelisteten Standardwerte verwendet.

Name Beispiel Standard Erforderlich Beschreibung
requests { … } Nein Spezifiziert Anfrage-Ratenlimits pro Benutzer.
requests.minute 2048 2048 Nein Maximale Anfragen pro Minute pro Benutzer.
requests.hour 8192 8192 Nein Maximale Anfragen pro Stunde pro Benutzer.
requests.day 16384 16384 Nein Maximale Anfragen pro Tag pro Benutzer.
attempts { … } Nein Spezifiziert Authentifizierungsversuch-Ratenlimits pro Benutzer.
attempts.minute 2 2 Nein Maximale Authentifizierungsversuche pro Minute pro Benutzer.
attempts.hour 4 4 Nein Maximale Authentifizierungsversuche pro Stunde pro Benutzer.
attempts.day 8 8 Nein Maximale Authentifizierungsversuche pro Tag pro Benutzer.
credentials { … } Nein Spezifiziert Anmeldedaten-Erstellungs-Ratenlimits pro Benutzer.
credentials.minute 4 4 Nein Maximale Anmeldedaten-Erstellungen pro Minute pro Benutzer.
credentials.hour 8 8 Nein Maximale Anmeldedaten-Erstellungen pro Stunde pro Benutzer.
credentials.day 16 16 Nein Maximale Anmeldedaten-Erstellungen pro Tag pro Benutzer.
organizations { … } Nein Spezifiziert Organisations-Erstellungs-Ratenlimits pro Benutzer.
organizations.minute 2 2 Nein Maximale Organisations-Erstellungen pro Minute pro Benutzer.
organizations.hour 4 4 Nein Maximale Organisations-Erstellungen pro Stunde pro Benutzer.
organizations.day 8 8 Nein Maximale Organisations-Erstellungen pro Tag pro Benutzer.
invites { … } Nein Spezifiziert Einladungs-Ratenlimits pro Benutzer.
invites.minute 8 8 Nein Maximale Einladungen pro Minute pro Benutzer.
invites.hour 16 16 Nein Maximale Einladungen pro Stunde pro Benutzer.
invites.day 32 32 Nein Maximale Einladungen pro Tag pro Benutzer.
runs { … } Nein Spezifiziert Benchmark-Lauf-Ratenlimits pro Benutzer.
runs.minute 64 64 Nein Maximale Benchmark-Läufe pro Minute pro Benutzer.
runs.hour 1024 1024 Nein Maximale Benchmark-Läufe pro Stunde pro Benutzer.
runs.day 4096 4096 Nein Maximale Benchmark-Läufe pro Tag pro Benutzer.

project

Der project-Ratenbegrenzer gilt pro Projekt. Jedes Unterfeld enthält minute-, hour- und day-Limits. Der gesamte Abschnitt ist optional. Wenn nicht angegeben, werden die aufgelisteten Standardwerte verwendet.

Name Beispiel Standard Erforderlich Beschreibung
requests { … } Nein Spezifiziert Anfrage-Ratenlimits pro Projekt.
requests.minute 2048 2048 Nein Maximale Anfragen pro Minute pro Projekt.
requests.hour 8192 8192 Nein Maximale Anfragen pro Stunde pro Projekt.
requests.day 16384 16384 Nein Maximale Anfragen pro Tag pro Projekt.
runs { … } Nein Spezifiziert Benchmark-Lauf-Ratenlimits pro Projekt.
runs.minute 64 64 Nein Maximale Benchmark-Läufe pro Minute pro Projekt.
runs.hour 1024 1024 Nein Maximale Benchmark-Läufe pro Stunde pro Projekt.
runs.day 4096 4096 Nein Maximale Benchmark-Läufe pro Tag pro Projekt.

runner

Der runner-Ratenbegrenzer gilt pro Runner. Jedes Unterfeld enthält minute-, hour- und day-Limits. Der gesamte Abschnitt ist optional. Wenn nicht angegeben, werden die aufgelisteten Standardwerte verwendet.

Name Beispiel Standard Erforderlich Beschreibung
requests { … } Nein Spezifiziert Anfrage-Ratenlimits pro Runner.
requests.minute 16 16 Nein Maximale Anfragen pro Minute pro Runner.
requests.hour 256 256 Nein Maximale Anfragen pro Stunde pro Runner.
requests.day 4096 4096 Nein Maximale Anfragen pro Tag pro Runner.

oci_bandwidth

Der oci_bandwidth-Ratenbegrenzer gibt tägliche OCI-Registry-Bandbreitenlimits pro Organisationsstufe an. Der gesamte Abschnitt ist optional. Wenn nicht angegeben, werden die aufgelisteten Standardwerte verwendet.

Name Beispiel Standard Erforderlich Beschreibung
unclaimed 1073741824 1073741824 Nein Maximale Bytes pro Tag für nicht beanspruchte Organisationen (0 Mitglieder). Standardmäßig 1 GiB.
free 10737418240 10737418240 Nein Maximale Bytes pro Tag für kostenlose (beansprucht, ohne bezahlten Plan) Organisationen. Standardmäßig 10 GiB.
plus 107374182400 107374182400 Nein Maximale Bytes pro Tag für Plus (Team/Enterprise) Organisationen. Standardmäßig 100 GiB.

plus.stats

Dieser Abschnitt gibt an, ob und wann Serverstatistiken gesammelt werden. Der gesamte Abschnitt ist optional. Wenn nicht angegeben, werden die aufgeführten Standardwerte verwendet. Das heißt, Serverstatistiken sind opt-out. Setzen Sie enabled auf false, um die Sammlung von Serverstatistiken zu deaktivieren.

Name Beispiel Standard Erforderlich Beschreibung
offset 11242 11242 Nein Gibt den Offset von Mitternacht in Sekunden für die Serverstatistiksammlung an. Standardmäßig läuft es um 03:07:22 UTC.
enabled true true Nein Steuert, ob Serverstatistiken gesammelt werden. Setzen Sie auf false, um sich abzumelden.


Published: Fri, October 27, 2023 at 8:40:00 AM UTC | Last Updated: Wed, July 8, 2026 at 12:00:00 AM UTC