Publicera mallar med API:t
Validera en blueprint-mall, spara den i din boundarys katalog, ersätt den och ta bort den via plattformens API.
Kräver: blueprints/templates/write
Mall-API:t sparar en mall i taget i en boundarys katalog. Portalen har ingen vy för det; anropa det
med stsh api eller valfri HTTP-klient, så som beskrivs i Plattformens API.
Varje route här kräver blueprints/templates/write på boundaryn.
Förbered anropets innehåll
Varje anrop bär mallen, i YAML eller JSON, som en sträng i content:
{ "content": "apiVersion: blueprints.stackship.se/v2\nkind: BlueprintTemplate\n..." }Med jq, från en template.yaml:
jq -Rs '{content: .}' template.yaml > body.jsonValidera en mall
stsh api POST /boundaries/<boundary-id>/resources/blueprints/templates/validate -d @body.jsonValideringen kontrollerar dokumentet utan att lagra det. En giltig mall svarar 200 med
{"valid": true}; en ogiltig svarar 400 med varje problem och var det finns:
{
"valid": false,
"errors": [
{ "path": "metadata.title", "message": "A title is required" },
{ "path": "instance.components", "message": "A template must declare at least one component" }
]
}Validera även mallar som du har i ett förråd: en katalogkälla hoppar över en mall som inte går att tolka utan att säga det.
Spara eller ersätt en mall
stsh api POST /boundaries/<boundary-id>/resources/blueprints/templates -d @body.jsonMallen valideras igen och sparas under sin metadata.slug; svaret är 204, eller 400 med errors
som ovan. Att spara en slug som redan finns i boundaryn ersätter den blueprinten. En slug som
plattformskatalogen använder nekas. En blueprint som en katalogkälla publicerar ersätts bara fram
till källans nästa synkning, som skriver tillbaka förrådets version.
Blueprinten visas direkt i boundaryns katalog. Mallar som sparas på det här sättet lagras exakt som
de skickades: {{domain_suffix}} och {{cert_issuer}} ersätts inte, och hidden tillämpas inte —
se Metadata.
Läs en mall
Katalogens routes returnerar varje blueprint som syns i boundaryn, även de du har sparat:
stsh api GET /boundaries/<boundary-id>/resources/blueprints/<slug>Svaret beskriver blueprinten som katalogen visar den — dess parametrar, komponenter och hanterade resurser — inte själva malldokumentet. Behåll dokumentet där du redigerar det.
Ta bort en mall
stsh api DELETE /boundaries/<boundary-id>/resources/blueprints/templates/<slug>Svaret är 204, eller 404 när boundaryn inte har någon blueprint med den slugen; plattformskatalogens
blueprints kan inte tas bort här. En blueprint som en katalogkälla publicerar kan tas bort, men
kommer tillbaka vid källans nästa synkning. Instanser som redan driftsatts från mallen fortsätter
att köra.