Reference / blueprint / v1.4.0
Every example below is validated against the schema on this page in CI, so an example that does not validate fails the build rather than shipping.
specVersion: v1
kind: BLUEPRINT
metadata:
slug: support-assistant
revision: 1
description: A support assistant that answers questions with the language model the installer chooses.
spec:
parameters:
llm:
from: "${{ connections.llm.default }}"
ui:
label: Language model
components:
llm:
componentRef: ./components/openai-chat.yaml
bindings:
llm:
parameter: llm
assistant:
componentRef: ./components/assistant.yaml
compute:
profile: general.standard.small
bindings:
llmBaseURL:
node: llm
output: baseURL
llmAPIKey:
node: llm
output: apiKey
llmModel:
node: llm
output: model
specVersion: v1
kind: BLUEPRINT
metadata:
slug: postgres
revision: 1
description: A single PostgreSQL database with a generated superuser password.
spec:
parameters:
postgresPassword:
generator:
byteLength: 32
encoding: BASE64URL
components:
db:
componentRef: ./components/postgres.yaml
compute:
profile: general.standard.small
volumes:
data:
sizeGiB: 10
bindings:
postgresPassword:
parameter: postgresPassword
specVersion: v1
kind: BLUEPRINT
metadata:
slug: organization-variables
revision: 1
description: A web application that reads its region and error-reporting endpoint from organization variables.
spec:
parameters:
region:
from: "${{ variables.cloud.region }}"
errorReportingURL:
from: "${{ variables.observability.errorReportingURL }}"
components:
web:
componentRef: ./components/web.yaml
compute:
profile: general.standard.small
exposure:
web: PUBLIC
bindings:
region:
parameter: region
errorReportingURL:
parameter: errorReportingURL
specVersion: v1
kind: BLUEPRINT
metadata:
slug: postgres
revision: 1
description: A PostgreSQL database deployed from revision 3 of a published component.
spec:
parameters: {}
components:
db:
componentRef: 550e8400-e29b-41d4-a716-446655440000
revision: 3
compute:
profile: general.standard.small
bindings: {}
specVersion: v1
kind: BLUEPRINT
metadata:
slug: web-and-database
revision: 1
description: A web application backed by PostgreSQL on dedicated compute and fast local storage.
spec:
parameters:
postgresPassword:
generator:
byteLength: 32
encoding: BASE64URL
siteTitle:
ui:
label: Site title
default: My site
telemetry:
ui:
label: Telemetry to export
prominence: SECONDARY
enumLabels:
logs: Logs
metrics: Metrics
traces: Traces
components:
db:
componentRef: ./components/postgres.yaml
compute:
profile: general.standard.medium
placement:
cpuDedication: dedicated
volumes:
data:
sizeGiB: 20
storageClass: local-nvme
minIOPS: 3000
bindings:
postgresPassword:
parameter: postgresPassword
web:
componentRef: ./components/web.yaml
compute:
profile: general.standard.small
exposure:
web: PUBLIC
bindings:
databaseAddress:
node: db
output: address
databasePassword:
parameter: postgresPassword
siteTitle:
parameter: siteTitle
telemetry:
parameter: telemetry
mode:
value: production
specVersion: v1
kind: BLUEPRINT
metadata:
slug: with-external-node
revision: 1
description: A web application using a managed PostgreSQL database that runs outside the platform.
spec:
parameters:
databaseHost:
from: "${{ variables.databases.primary.host }}"
databasePassword:
from: "${{ variables.databases.primary.password }}"
databaseName:
ui:
label: Database name
prominence: SECONDARY
default: app
components:
database:
componentRef: ./components/managed-postgres.yaml
bindings:
host:
parameter: databaseHost
database:
parameter: databaseName
username:
value: app
password:
parameter: databasePassword
web:
componentRef: ./components/web.yaml
compute:
profile: general.standard.small
exposure:
web: PUBLIC
bindings:
databaseHost:
node: database
output: host
databasePort:
node: database
output: port
databaseName:
node: database
output: database
databaseUser:
node: database
output: username
databasePassword:
node: database
output: password