Manifest file
In an automated lifecycle, the information displayed in Starlite’s Records are stored in a structured JSON file: This is called the manifest file and is always named starlite.manifest.json
. You keep and lifecycle-manage this manifest file in a Git repository.
Here’s an example of a manifest file:
{ "id": "my_record_id", "organizationId": "my_org_id", "lifecycleManagement": "manual", "spec": { "repo": "someorg/somerepo", "name": "my-api", "description": "My API is awesome", "kind": "api", "lifecycleStage": "beta", "version": "1.0.0", "contacts": [ { "relation": "Service Owner" } ], "baseline": { "id": "your_baseline_id" }, "team": "ThatAwesomeTeam", "system": "some-system", "domain": "some-domain", "dataSensitivity": "public", "tags": [ "typescript", "backend" ] }, "relations": [ "my-other-service" ], "support": { "resolverGroup": "ThatAwesomeTeam" }, "slo": [ { "description": "Max latency must be 350ms for the 90th percentile", "type": "latency", "implementation": "(sum:trace.aws.lambda.hits.by_http_status{http.status_class:2xx AND service IN (demoservice-user,demoservice-greet)} by {service}.as_count() - sum:trace.aws.lambda.errors.by_http_status{http.status_class:5xx AND service IN (demoservice-user,demoservice-greet)} by {service}.as_count()) / (sum:trace.aws.lambda.hits{service IN (demoservice-user,demoservice-greet)} by {service}.as_count())", "target": "350ms", "period": 30 } ], "api": [ { "name": "My API", "schemaPath": "./api/schema.yml" } ], "metadata": {}, "links": [ { "url": "https://my-confluence.atlassian.net/wiki/spaces/DEV/pages/123456789/", "title": "Confluence documentation", "icon": "documentation" } ]}