Type object
File match architect.yml architect.yaml *.architect.yml *.architect.yaml
Schema URL https://catalog.lintel.tools/schemas/schemastore/architect-yml/latest.json
Source https://raw.githubusercontent.com/architect-team/architect-cli/main/src/dependency-manager/schema/architect.schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

The top level object of the architect.yml; defines a deployable Architect Component.

Properties

name string required

Globally unique friendly reference to the component. must contain only lower alphanumeric and single hyphens in the middle; max length 32

pattern=^(?:(?!-)(?!.{0,32}--)[a-z0-9-]{1,32}(?<!-)\/)?(?<component_name>(?!-)(?!.{0,32}--)[a-z0-9-]{1,32}(?<!-))(?:@(?<instance_name>[\w][\w\.-]{0,127}))?$
description string

A human-readable description of the component. This will be rendered when potential consumers view the component so that they know what it should be used for.

keywords string[]

Additional search terms to be used when the component is indexed so that others can find it more easily.

author string

The name or handle of the author of the component as a developer contact.

homepage string

The url that serves as the informational homepage of the component (i.e. a github repo).

secrets object

A map of named, configurable fields for the component. If a component contains properties that differ across environments (i.e. environment variables), you'll want to capture them as secrets. Specifying a primitive value here will set the default secret value. For more detailed configuration, specify a SecretDefinitionSpec

outputs object

A map of named, configurable outputs for the component. Outputs allow components to expose configuration details that should be shared with consumers, like API keys or notification topic names.

databases object

A database represents a stateful service powered by one of several supported database engines.

services object

A Service represents a non-exiting runtime (e.g. daemons, servers, etc.). Each service is independently deployable and scalable. Services are 1:1 with a docker image.

tasks object

A set of named recurring and/or exiting runtimes (e.g. crons, schedulers, triggered jobs) included with the component. Each task will run on its specified schedule and/or be triggerable via the Architect CLI. Tasks are 1:1 with a docker image.

dependencies object

A key-value set of dependencies with an empty value. Reference each dependency by component name (e.g. cloud: {})

interfaces object

A set of named gateways that broker access to the services inside the component. All network traffic within a component is locked down to the component itself, unless included in this interfaces block. An interface represents a front-door to your component, granting access to upstream callers.

artifact_image string

Definitions

DatabaseSpec object

Component databases let you quickly spin up a database for your service

type string required

The type engine and version of database software needed for data storage.

Any of: string string, string string
description string

Human readable description

connection_string string | null | string

The connection uri of an existing database to use instead of provisioning a new one

SecretDefinitionSpec object

Components can define configurable secrets that can be used to enrich the contained services with environment-specific information (i.e. environment variables).

required boolean

Denotes whether the secret is required.

description string

A human-friendly description of the secret.

default array | boolean | number | object | string | null | string

Sets a default value for the secret if one is not provided

LivenessProbeSpec object

Configuration for service health checks. Architect uses health checks are used for load balancing and rolling updates.

success_threshold number | string

The number of times to retry a health check before the container is considered healthy.

Default: 1
failure_threshold number | string

The number of times to retry a failed health check before the container is considered unhealthy.

Default: 3
timeout string | string

The time period to wait for a health check to succeed before it is considered a failure. You may specify any value between: 2s and 60s

Default: "5s"
interval string | string

The time period in seconds between each health check execution. You may specify any value between: 5s and 300s

Default: "30s"
initial_delay string | string

Delays the check from running for the specified amount of time

Default: "0s"
path string | string

[Deprecated: use command instead.] Path for the http check executable. Path should be absolute (e.g. /health). If path is set, port also must be set. This field is disjunctive with command (only one of path or command can be set).

command string[] | string

Command that runs the http check. This field is disjunctive with path and port (only one of command or path/port can be set).

port number | string

[Deprecated: use command instead.] Port that the http check will run against. If port is set, path also must be set. This field is disjunctive with command (only one of port or command can be set).

VolumeSpec object

Architect can mount volumes onto your services and tasks to store data that should be shared between running containers or that should persist beyond the lifetime of a container.

mount_path string | string

Directory at which the volume will be mounted inside the container.

host_path string | string

A directory on the host machine to sync with the mount_path on the docker image. This field is only relevant inside the debug block for local deployments. This field is disjunctive with key (only one of host_path or key can be set).

key string | string

A reference to the underlying volume on the deployment cluster of choice. The docker-compose volume name, the name of the Kubernetes PersistentVolumeClaim, or the EFS ID of an AWS volume. This field is disjunctive with host_path (only one of key or host_path can be set).

description string

Human-readable description of volume

readonly boolean | string

Marks the volume as readonly.

Default: false
BuildSpec object

An object containing the details necessary for Architect to build the service via Docker. Whenever a service that specifies a build field is registered with Architect, the CLI will trigger a docker build and replace the build field with a resolvable image.

context string | string

The path to the directory containing the source code relative to the architect.yml file.

buildpack boolean

Option to use buildpack to build an image.

args object

Build args to be passed into docker build.

dockerfile string | string

The path to the Dockerfile relative to the build.context

Default: "Dockerfile"
target string | string

The stage to build in the Dockerfile

IngressTlsSpec object

Configuration for custom certificate.

crt string required

Custom certificate.

Any of: string string, string string
key string required

Custom certificate key.

Any of: string string, string string
ca string | string

Custom certificate ca.

IngressSpec object

An ingress exposes an interface to external network traffic through an architect-deployed gateway.

enabled boolean

Marks the interface as an ingress.

subdomain string | string

The subdomain that will be used if the interface is exposed externally. Use subdomain: @ to target the base domain.

tls object

Configuration for custom certificate.

3 nested properties
crt string required

Custom certificate.

Any of: string string, string string
key string required

Custom certificate key.

Any of: string string, string string
ca string | string

Custom certificate ca.

path string | string

The path of the interface used for path based routing

ip_whitelist string | string[] | string

IP addresses that are allowed to access the interface

private boolean | string

Marks the ingress as private behind Architect authentication

ScalingMetricsSpec object

Scaling metrics define the upper bound of resource consumption before spinning up an additional replica.

cpu integer | string

The cpu usage required to trigger scaling.

memory integer | string

The memory usage required to trigger scaling.

ScalingSpec object

Configuration that dictates the scaling behavior of a service.

min_replicas integer | string required

The target minimum number of service replicas.

max_replicas integer | string required

The target maximum number of service replicas.

metrics object required

Scaling metrics define the upper bound of resource consumption before spinning up an additional replica.

Any of: object object, object object
2 nested properties
cpu integer | string

The cpu usage required to trigger scaling.

memory integer | string

The memory usage required to trigger scaling.

KubernetesDeploySpec object

Configuration that dictates the kubernetes deploy overrides.

deployment required
DeploySpec object

Configuration that dictates the deploy overrides.

kubernetes object required

Configuration that dictates the kubernetes deploy overrides.

1 nested properties
deployment required
ServiceInterfaceSpec object

A service interface exposes service functionality over the network to other services within the same component. If you would like to expose services on the network to external components, see the ComponentInterfaceSpec

port number | string required

Port on which the service is listening for traffic.

description string | string

A human-readable description of the interface.

host null | string | string

The host address of an existing service to use instead of provisioning a new one. Setting this field effectively overrides any deployment of this service and directs all traffic to the given host.

protocol string | string

Protocol that the interface responds to

Default: "http"
username null | string | string

A Basic Auth username required to access the interface

password null | string | string

A Basic Auth password required to access the interface

path string | string

The path of the interface

url string | string

The url of an existing service to use instead of provisioning a new one. Setting this field effectively overrides any deployment of this service and directs all traffic to the given url.

sticky boolean | string

Denotes that if this interface is made external, the gateway should use sticky sessions

Default: false
ingress object

An ingress exposes an interface to external network traffic through an architect-deployed gateway.

6 nested properties
enabled boolean

Marks the interface as an ingress.

subdomain string | string

The subdomain that will be used if the interface is exposed externally. Use subdomain: @ to target the base domain.

tls object

Configuration for custom certificate.

3 nested properties
crt string required

Custom certificate.

Any of: string string, string string
key string required

Custom certificate key.

Any of: string string, string string
ca string | string

Custom certificate ca.

path string | string

The path of the interface used for path based routing

ip_whitelist string | string[] | string

IP addresses that are allowed to access the interface

private boolean | string

Marks the ingress as private behind Architect authentication

ServiceSpec object

A runtimes (e.g. daemons, servers, etc.). Each service is independently deployable and scalable. Services are 1:1 with a docker image.

enabled boolean

Determines if the service should be running.

Default: true
debug object

A runtimes (e.g. daemons, servers, etc.). Each service is independently deployable and scalable. Services are 1:1 with a docker image.

20 nested properties
enabled boolean

Determines if the service should be running.

Default: true
interfaces object

A set of named interfaces to expose service functionality over the network to other services within the same component. A string or number represents the TCP port that the service is listening on. For more detailed configuration, specify a full ServiceInterfaceSpec object.

liveness_probe object

Configuration for service health checks. Architect uses health checks are used for load balancing and rolling updates.

8 nested properties
success_threshold number | string

The number of times to retry a health check before the container is considered healthy.

Default: 1
failure_threshold number | string

The number of times to retry a failed health check before the container is considered unhealthy.

Default: 3
timeout string | string

The time period to wait for a health check to succeed before it is considered a failure. You may specify any value between: 2s and 60s

Default: "5s"
interval string | string

The time period in seconds between each health check execution. You may specify any value between: 5s and 300s

Default: "30s"
initial_delay string | string

Delays the check from running for the specified amount of time

Default: "0s"
path string | string

[Deprecated: use command instead.] Path for the http check executable. Path should be absolute (e.g. /health). If path is set, port also must be set. This field is disjunctive with command (only one of path or command can be set).

command string[] | string

Command that runs the http check. This field is disjunctive with path and port (only one of command or path/port can be set).

port number | string

[Deprecated: use command instead.] Port that the http check will run against. If port is set, path also must be set. This field is disjunctive with command (only one of port or command can be set).

volumes object

A set of named volumes to be mounted at deploy-time. Take advantage of volumes to store data that should be shared between running containers or that should persist beyond the lifetime of a container.

replicas integer | string

A static number of replicas of a service to be deployed. For scaling configuration, see scaling field.

scaling object

Configuration that dictates the scaling behavior of a service.

3 nested properties
min_replicas integer | string

The target minimum number of service replicas.

max_replicas integer | string

The target maximum number of service replicas.

metrics object

Scaling metrics define the upper bound of resource consumption before spinning up an additional replica.

deploy object

Configuration that dictates the deploy overrides.

1 nested properties
kubernetes object

Configuration that dictates the kubernetes deploy overrides.

termination_grace_period string | string

A period of time between a service being passed a SIGINT and a SIGTERM when it's scheduled to be replaced or terminated. Only used for remote deployments.

Default: "30s"
description string

Human readable description

image string | string

The docker image that serves as the unit of runtime. This field is disjunctive with build (only one of image or build can be set)

command string[] | string | string

The docker startup command. Use this if you need to override or parameterize or parameterize the docker image command.

entrypoint string[] | string | string

The docker entrypoint for the container. Use this if you need to override or parameterize the docker image entrypoint.

language string

The dominant programming language used; this is for informational purposes only.

environment object

A set of key-value pairs or secret definitions that describes environment variables and their values.

build object

An object containing the details necessary for Architect to build the service via Docker. Whenever a service that specifies a build field is registered with Architect, the CLI will trigger a docker build and replace the build field with a resolvable image.

5 nested properties
context string | string

The path to the directory containing the source code relative to the architect.yml file.

buildpack boolean

Option to use buildpack to build an image.

args object

Build args to be passed into docker build.

dockerfile string | string

The path to the Dockerfile relative to the build.context

Default: "Dockerfile"
target string | string

The stage to build in the Dockerfile

cpu number | string

The cpu required to run a service or a task

memory string | string

The memory required to run a service or a task.

depends_on string[]

An array of service names for those services in the component that are pre-requisites to deploy. Used at deploy-time to build a deploy order across services and tasks.

labels object

A simple key-value annotation store; useful to organize, categorize, scope, and select services and tasks.

reserved_name string

A specific service name which will override the service name specified in the component.

pattern=^(?!-)(?!.{0,32}--)[a-z0-9-]{1,32}(?<!-)$
interfaces object

A set of named interfaces to expose service functionality over the network to other services within the same component. A string or number represents the TCP port that the service is listening on. For more detailed configuration, specify a full ServiceInterfaceSpec object.

liveness_probe object

Configuration for service health checks. Architect uses health checks are used for load balancing and rolling updates.

All of: object | object object | object, variant, variant
8 nested properties
success_threshold number | string

The number of times to retry a health check before the container is considered healthy.

Default: 1
failure_threshold number | string

The number of times to retry a failed health check before the container is considered unhealthy.

Default: 3
timeout string | string

The time period to wait for a health check to succeed before it is considered a failure. You may specify any value between: 2s and 60s

Default: "5s"
interval string | string

The time period in seconds between each health check execution. You may specify any value between: 5s and 300s

Default: "30s"
initial_delay string | string

Delays the check from running for the specified amount of time

Default: "0s"
path string | string

[Deprecated: use command instead.] Path for the http check executable. Path should be absolute (e.g. /health). If path is set, port also must be set. This field is disjunctive with command (only one of path or command can be set).

command string[] | string

Command that runs the http check. This field is disjunctive with path and port (only one of command or path/port can be set).

port number | string

[Deprecated: use command instead.] Port that the http check will run against. If port is set, path also must be set. This field is disjunctive with command (only one of port or command can be set).

volumes object

A set of named volumes to be mounted at deploy-time. Take advantage of volumes to store data that should be shared between running containers or that should persist beyond the lifetime of a container.

replicas integer | string

A static number of replicas of a service to be deployed. For scaling configuration, see scaling field.

scaling object

Configuration that dictates the scaling behavior of a service.

3 nested properties
min_replicas integer | string required

The target minimum number of service replicas.

max_replicas integer | string required

The target maximum number of service replicas.

metrics object required

Scaling metrics define the upper bound of resource consumption before spinning up an additional replica.

Any of: object object, object object
2 nested properties
cpu integer | string

The cpu usage required to trigger scaling.

memory integer | string

The memory usage required to trigger scaling.

deploy object

Configuration that dictates the deploy overrides.

1 nested properties
kubernetes object required

Configuration that dictates the kubernetes deploy overrides.

1 nested properties
deployment required
termination_grace_period string | string

A period of time between a service being passed a SIGINT and a SIGTERM when it's scheduled to be replaced or terminated. Only used for remote deployments.

Default: "30s"
description string

Human readable description

image string | string

The docker image that serves as the unit of runtime. This field is disjunctive with build (only one of image or build can be set)

command string[] | string | string

The docker startup command. Use this if you need to override or parameterize or parameterize the docker image command.

entrypoint string[] | string | string

The docker entrypoint for the container. Use this if you need to override or parameterize the docker image entrypoint.

language string

The dominant programming language used; this is for informational purposes only.

environment object

A set of key-value pairs or secret definitions that describes environment variables and their values.

build object

An object containing the details necessary for Architect to build the service via Docker. Whenever a service that specifies a build field is registered with Architect, the CLI will trigger a docker build and replace the build field with a resolvable image.

5 nested properties
context string | string

The path to the directory containing the source code relative to the architect.yml file.

buildpack boolean

Option to use buildpack to build an image.

args object

Build args to be passed into docker build.

dockerfile string | string

The path to the Dockerfile relative to the build.context

Default: "Dockerfile"
target string | string

The stage to build in the Dockerfile

cpu number | string

The cpu required to run a service or a task

memory string | string

The memory required to run a service or a task.

depends_on string[]

An array of service names for those services in the component that are pre-requisites to deploy. Used at deploy-time to build a deploy order across services and tasks.

labels object

A simple key-value annotation store; useful to organize, categorize, scope, and select services and tasks.

reserved_name string

A specific service name which will override the service name specified in the component.

pattern=^(?!-)(?!.{0,32}--)[a-z0-9-]{1,32}(?<!-)$
TaskSpec object

A Task represents a recurring and/or exiting runtime (e.g. crons, schedulers, triggered jobs). Each task will run on its specified schedule and/or be triggerable via the Architect CLI. Tasks are 1:1 with a docker image.

debug object

A Task represents a recurring and/or exiting runtime (e.g. crons, schedulers, triggered jobs). Each task will run on its specified schedule and/or be triggerable via the Architect CLI. Tasks are 1:1 with a docker image.

13 nested properties
schedule string | string

A cron expression by which this task will be scheduled. Leave blank to deploy a task that never runs unless triggered from the CLI.

description string

Human readable description

image string | string

The docker image that serves as the unit of runtime. This field is disjunctive with build (only one of image or build can be set)

command string[] | string | string

The docker startup command. Use this if you need to override or parameterize or parameterize the docker image command.

entrypoint string[] | string | string

The docker entrypoint for the container. Use this if you need to override or parameterize the docker image entrypoint.

language string

The dominant programming language used; this is for informational purposes only.

environment object

A set of key-value pairs or secret definitions that describes environment variables and their values.

build object

An object containing the details necessary for Architect to build the service via Docker. Whenever a service that specifies a build field is registered with Architect, the CLI will trigger a docker build and replace the build field with a resolvable image.

5 nested properties
context string | string

The path to the directory containing the source code relative to the architect.yml file.

buildpack boolean

Option to use buildpack to build an image.

args object

Build args to be passed into docker build.

dockerfile string | string

The path to the Dockerfile relative to the build.context

Default: "Dockerfile"
target string | string

The stage to build in the Dockerfile

cpu number | string

The cpu required to run a service or a task

memory string | string

The memory required to run a service or a task.

depends_on string[]

An array of service names for those services in the component that are pre-requisites to deploy. Used at deploy-time to build a deploy order across services and tasks.

labels object

A simple key-value annotation store; useful to organize, categorize, scope, and select services and tasks.

reserved_name string

A specific service name which will override the service name specified in the component.

pattern=^(?!-)(?!.{0,32}--)[a-z0-9-]{1,32}(?<!-)$
schedule string | string

A cron expression by which this task will be scheduled. Leave blank to deploy a task that never runs unless triggered from the CLI.

description string

Human readable description

image string | string

The docker image that serves as the unit of runtime. This field is disjunctive with build (only one of image or build can be set)

command string[] | string | string

The docker startup command. Use this if you need to override or parameterize or parameterize the docker image command.

entrypoint string[] | string | string

The docker entrypoint for the container. Use this if you need to override or parameterize the docker image entrypoint.

language string

The dominant programming language used; this is for informational purposes only.

environment object

A set of key-value pairs or secret definitions that describes environment variables and their values.

build object

An object containing the details necessary for Architect to build the service via Docker. Whenever a service that specifies a build field is registered with Architect, the CLI will trigger a docker build and replace the build field with a resolvable image.

5 nested properties
context string | string

The path to the directory containing the source code relative to the architect.yml file.

buildpack boolean

Option to use buildpack to build an image.

args object

Build args to be passed into docker build.

dockerfile string | string

The path to the Dockerfile relative to the build.context

Default: "Dockerfile"
target string | string

The stage to build in the Dockerfile

cpu number | string

The cpu required to run a service or a task

memory string | string

The memory required to run a service or a task.

depends_on string[]

An array of service names for those services in the component that are pre-requisites to deploy. Used at deploy-time to build a deploy order across services and tasks.

labels object

A simple key-value annotation store; useful to organize, categorize, scope, and select services and tasks.

reserved_name string

A specific service name which will override the service name specified in the component.

pattern=^(?!-)(?!.{0,32}--)[a-z0-9-]{1,32}(?<!-)$
DependencySpec object

An empty object that optionally supports specifying a tag for backwards compatibility.

tag string | string
ComponentInterfaceSpec object

Component Interfaces are the primary means by which components advertise their resolvable addresses to others. Interfaces are the only means by which other components can communicate with your component.

url string | string required

The url that the component interface should forward to.

ingress object

An ingress exposes an interface to external network traffic through an architect-deployed gateway.

6 nested properties
enabled boolean

Marks the interface as an ingress.

subdomain string | string

The subdomain that will be used if the interface is exposed externally. Use subdomain: @ to target the base domain.

tls object

Configuration for custom certificate.

3 nested properties
crt string required

Custom certificate.

Any of: string string, string string
key string required

Custom certificate key.

Any of: string string, string string
ca string | string

Custom certificate ca.

path string | string

The path of the interface used for path based routing

ip_whitelist string | string[] | string

IP addresses that are allowed to access the interface

private boolean | string

Marks the ingress as private behind Architect authentication

description string

A human-readable description of the component. This will be rendered when potential consumers view the interface so that they know what it should be used for.

host string

The host that the component interface should forward to.

port number | string

The port that the component interface should forward to.

protocol string | string

The protocol by which the component interface can be connected to.

username string | string

The Basic Auth username by which a component interface can be connected to.

password string | string

The Basic Auth password by which a component interface can be connected to.

sticky boolean | string

If this interface is made into an external ingress, sticky=true will denote the gateway should use sticky sessions if more than one replica is running.

OutputDefinitionSpec object

Components can define output fields that can be used to share configuration with consuming components.

value required

Value of the output to be passed to upstream consumers

description string

A human-friendly description of the output field.

ComponentSpec object

The top level object of the architect.yml; defines a deployable Architect Component.

name string required

Globally unique friendly reference to the component. must contain only lower alphanumeric and single hyphens in the middle; max length 32

pattern=^(?:(?!-)(?!.{0,32}--)[a-z0-9-]{1,32}(?<!-)\/)?(?<component_name>(?!-)(?!.{0,32}--)[a-z0-9-]{1,32}(?<!-))(?:@(?<instance_name>[\w][\w\.-]{0,127}))?$
description string

A human-readable description of the component. This will be rendered when potential consumers view the component so that they know what it should be used for.

keywords string[]

Additional search terms to be used when the component is indexed so that others can find it more easily.

author string

The name or handle of the author of the component as a developer contact.

homepage string

The url that serves as the informational homepage of the component (i.e. a github repo).

secrets object

A map of named, configurable fields for the component. If a component contains properties that differ across environments (i.e. environment variables), you'll want to capture them as secrets. Specifying a primitive value here will set the default secret value. For more detailed configuration, specify a SecretDefinitionSpec

outputs object

A map of named, configurable outputs for the component. Outputs allow components to expose configuration details that should be shared with consumers, like API keys or notification topic names.

databases object

A database represents a stateful service powered by one of several supported database engines.

services object

A Service represents a non-exiting runtime (e.g. daemons, servers, etc.). Each service is independently deployable and scalable. Services are 1:1 with a docker image.

tasks object

A set of named recurring and/or exiting runtimes (e.g. crons, schedulers, triggered jobs) included with the component. Each task will run on its specified schedule and/or be triggerable via the Architect CLI. Tasks are 1:1 with a docker image.

dependencies object

A key-value set of dependencies with an empty value. Reference each dependency by component name (e.g. cloud: {})

interfaces object

A set of named gateways that broker access to the services inside the component. All network traffic within a component is locked down to the component itself, unless included in this interfaces block. An interface represents a front-door to your component, granting access to upstream callers.

artifact_image string
_DebugDatabaseSpec object

Component databases let you quickly spin up a database for your service

description string

Human readable description

type string

The type engine and version of database software needed for data storage.

Any of: string string, string string
connection_string string | null | string

The connection uri of an existing database to use instead of provisioning a new one

_DebugSecretDefinitionSpec object

Components can define configurable secrets that can be used to enrich the contained services with environment-specific information (i.e. environment variables).

required boolean

Denotes whether the secret is required.

description string

A human-friendly description of the secret.

default array | boolean | number | object | string | null | string

Sets a default value for the secret if one is not provided

_DebugLivenessProbeSpec object

Configuration for service health checks. Architect uses health checks are used for load balancing and rolling updates.

success_threshold number | string

The number of times to retry a health check before the container is considered healthy.

Default: 1
failure_threshold number | string

The number of times to retry a failed health check before the container is considered unhealthy.

Default: 3
timeout string | string

The time period to wait for a health check to succeed before it is considered a failure. You may specify any value between: 2s and 60s

Default: "5s"
interval string | string

The time period in seconds between each health check execution. You may specify any value between: 5s and 300s

Default: "30s"
initial_delay string | string

Delays the check from running for the specified amount of time

Default: "0s"
path string | string

[Deprecated: use command instead.] Path for the http check executable. Path should be absolute (e.g. /health). If path is set, port also must be set. This field is disjunctive with command (only one of path or command can be set).

command string[] | string

Command that runs the http check. This field is disjunctive with path and port (only one of command or path/port can be set).

port number | string

[Deprecated: use command instead.] Port that the http check will run against. If port is set, path also must be set. This field is disjunctive with command (only one of port or command can be set).

_DebugVolumeSpec object

Architect can mount volumes onto your services and tasks to store data that should be shared between running containers or that should persist beyond the lifetime of a container.

mount_path string | string

Directory at which the volume will be mounted inside the container.

host_path string | string

A directory on the host machine to sync with the mount_path on the docker image. This field is only relevant inside the debug block for local deployments. This field is disjunctive with key (only one of host_path or key can be set).

key string | string

A reference to the underlying volume on the deployment cluster of choice. The docker-compose volume name, the name of the Kubernetes PersistentVolumeClaim, or the EFS ID of an AWS volume. This field is disjunctive with host_path (only one of key or host_path can be set).

description string

Human-readable description of volume

readonly boolean | string

Marks the volume as readonly.

Default: false
_DebugBuildSpec object

An object containing the details necessary for Architect to build the service via Docker. Whenever a service that specifies a build field is registered with Architect, the CLI will trigger a docker build and replace the build field with a resolvable image.

context string | string

The path to the directory containing the source code relative to the architect.yml file.

buildpack boolean

Option to use buildpack to build an image.

args object

Build args to be passed into docker build.

dockerfile string | string

The path to the Dockerfile relative to the build.context

Default: "Dockerfile"
target string | string

The stage to build in the Dockerfile

_DebugIngressTlsSpec object

Configuration for custom certificate.

crt string

Custom certificate.

Any of: string string, string string
key string

Custom certificate key.

Any of: string string, string string
ca string | string

Custom certificate ca.

_DebugIngressSpec object

An ingress exposes an interface to external network traffic through an architect-deployed gateway.

enabled boolean

Marks the interface as an ingress.

subdomain string | string

The subdomain that will be used if the interface is exposed externally. Use subdomain: @ to target the base domain.

tls object

Configuration for custom certificate.

3 nested properties
crt string

Custom certificate.

Any of: string string, string string
key string

Custom certificate key.

Any of: string string, string string
ca string | string

Custom certificate ca.

path string | string

The path of the interface used for path based routing

ip_whitelist string | string[] | string

IP addresses that are allowed to access the interface

private boolean | string

Marks the ingress as private behind Architect authentication

_DebugScalingMetricsSpec object

Scaling metrics define the upper bound of resource consumption before spinning up an additional replica.

cpu integer | string

The cpu usage required to trigger scaling.

memory integer | string

The memory usage required to trigger scaling.

_DebugScalingSpec object

Configuration that dictates the scaling behavior of a service.

min_replicas integer | string

The target minimum number of service replicas.

max_replicas integer | string

The target maximum number of service replicas.

metrics object

Scaling metrics define the upper bound of resource consumption before spinning up an additional replica.

2 nested properties
cpu integer | string

The cpu usage required to trigger scaling.

memory integer | string

The memory usage required to trigger scaling.

_DebugKubernetesDeploySpec object

Configuration that dictates the kubernetes deploy overrides.

deployment
_DebugDeploySpec object

Configuration that dictates the deploy overrides.

kubernetes object

Configuration that dictates the kubernetes deploy overrides.

1 nested properties
deployment
_DebugServiceInterfaceSpec object

A service interface exposes service functionality over the network to other services within the same component. If you would like to expose services on the network to external components, see the ComponentInterfaceSpec

description string | string

A human-readable description of the interface.

host null | string | string

The host address of an existing service to use instead of provisioning a new one. Setting this field effectively overrides any deployment of this service and directs all traffic to the given host.

port number | string

Port on which the service is listening for traffic.

protocol string | string

Protocol that the interface responds to

Default: "http"
username null | string | string

A Basic Auth username required to access the interface

password null | string | string

A Basic Auth password required to access the interface

path string | string

The path of the interface

url string | string

The url of an existing service to use instead of provisioning a new one. Setting this field effectively overrides any deployment of this service and directs all traffic to the given url.

sticky boolean | string

Denotes that if this interface is made external, the gateway should use sticky sessions

Default: false
ingress object

An ingress exposes an interface to external network traffic through an architect-deployed gateway.

6 nested properties
enabled boolean

Marks the interface as an ingress.

subdomain string | string

The subdomain that will be used if the interface is exposed externally. Use subdomain: @ to target the base domain.

tls object

Configuration for custom certificate.

3 nested properties
crt string

Custom certificate.

Any of: string string, string string
key string

Custom certificate key.

Any of: string string, string string
ca string | string

Custom certificate ca.

path string | string

The path of the interface used for path based routing

ip_whitelist string | string[] | string

IP addresses that are allowed to access the interface

private boolean | string

Marks the ingress as private behind Architect authentication

_DebugServiceSpec object

A runtimes (e.g. daemons, servers, etc.). Each service is independently deployable and scalable. Services are 1:1 with a docker image.

enabled boolean

Determines if the service should be running.

Default: true
interfaces object

A set of named interfaces to expose service functionality over the network to other services within the same component. A string or number represents the TCP port that the service is listening on. For more detailed configuration, specify a full ServiceInterfaceSpec object.

liveness_probe object

Configuration for service health checks. Architect uses health checks are used for load balancing and rolling updates.

8 nested properties
success_threshold number | string

The number of times to retry a health check before the container is considered healthy.

Default: 1
failure_threshold number | string

The number of times to retry a failed health check before the container is considered unhealthy.

Default: 3
timeout string | string

The time period to wait for a health check to succeed before it is considered a failure. You may specify any value between: 2s and 60s

Default: "5s"
interval string | string

The time period in seconds between each health check execution. You may specify any value between: 5s and 300s

Default: "30s"
initial_delay string | string

Delays the check from running for the specified amount of time

Default: "0s"
path string | string

[Deprecated: use command instead.] Path for the http check executable. Path should be absolute (e.g. /health). If path is set, port also must be set. This field is disjunctive with command (only one of path or command can be set).

command string[] | string

Command that runs the http check. This field is disjunctive with path and port (only one of command or path/port can be set).

port number | string

[Deprecated: use command instead.] Port that the http check will run against. If port is set, path also must be set. This field is disjunctive with command (only one of port or command can be set).

volumes object

A set of named volumes to be mounted at deploy-time. Take advantage of volumes to store data that should be shared between running containers or that should persist beyond the lifetime of a container.

replicas integer | string

A static number of replicas of a service to be deployed. For scaling configuration, see scaling field.

scaling object

Configuration that dictates the scaling behavior of a service.

3 nested properties
min_replicas integer | string

The target minimum number of service replicas.

max_replicas integer | string

The target maximum number of service replicas.

metrics object

Scaling metrics define the upper bound of resource consumption before spinning up an additional replica.

2 nested properties
cpu integer | string

The cpu usage required to trigger scaling.

memory integer | string

The memory usage required to trigger scaling.

deploy object

Configuration that dictates the deploy overrides.

1 nested properties
kubernetes object

Configuration that dictates the kubernetes deploy overrides.

1 nested properties
deployment
termination_grace_period string | string

A period of time between a service being passed a SIGINT and a SIGTERM when it's scheduled to be replaced or terminated. Only used for remote deployments.

Default: "30s"
description string

Human readable description

image string | string

The docker image that serves as the unit of runtime. This field is disjunctive with build (only one of image or build can be set)

command string[] | string | string

The docker startup command. Use this if you need to override or parameterize or parameterize the docker image command.

entrypoint string[] | string | string

The docker entrypoint for the container. Use this if you need to override or parameterize the docker image entrypoint.

language string

The dominant programming language used; this is for informational purposes only.

environment object

A set of key-value pairs or secret definitions that describes environment variables and their values.

build object

An object containing the details necessary for Architect to build the service via Docker. Whenever a service that specifies a build field is registered with Architect, the CLI will trigger a docker build and replace the build field with a resolvable image.

5 nested properties
context string | string

The path to the directory containing the source code relative to the architect.yml file.

buildpack boolean

Option to use buildpack to build an image.

args object

Build args to be passed into docker build.

dockerfile string | string

The path to the Dockerfile relative to the build.context

Default: "Dockerfile"
target string | string

The stage to build in the Dockerfile

cpu number | string

The cpu required to run a service or a task

memory string | string

The memory required to run a service or a task.

depends_on string[]

An array of service names for those services in the component that are pre-requisites to deploy. Used at deploy-time to build a deploy order across services and tasks.

labels object

A simple key-value annotation store; useful to organize, categorize, scope, and select services and tasks.

reserved_name string

A specific service name which will override the service name specified in the component.

pattern=^(?!-)(?!.{0,32}--)[a-z0-9-]{1,32}(?<!-)$
_DebugTaskSpec object

A Task represents a recurring and/or exiting runtime (e.g. crons, schedulers, triggered jobs). Each task will run on its specified schedule and/or be triggerable via the Architect CLI. Tasks are 1:1 with a docker image.

schedule string | string

A cron expression by which this task will be scheduled. Leave blank to deploy a task that never runs unless triggered from the CLI.

description string

Human readable description

image string | string

The docker image that serves as the unit of runtime. This field is disjunctive with build (only one of image or build can be set)

command string[] | string | string

The docker startup command. Use this if you need to override or parameterize or parameterize the docker image command.

entrypoint string[] | string | string

The docker entrypoint for the container. Use this if you need to override or parameterize the docker image entrypoint.

language string

The dominant programming language used; this is for informational purposes only.

environment object

A set of key-value pairs or secret definitions that describes environment variables and their values.

build object

An object containing the details necessary for Architect to build the service via Docker. Whenever a service that specifies a build field is registered with Architect, the CLI will trigger a docker build and replace the build field with a resolvable image.

5 nested properties
context string | string

The path to the directory containing the source code relative to the architect.yml file.

buildpack boolean

Option to use buildpack to build an image.

args object

Build args to be passed into docker build.

dockerfile string | string

The path to the Dockerfile relative to the build.context

Default: "Dockerfile"
target string | string

The stage to build in the Dockerfile

cpu number | string

The cpu required to run a service or a task

memory string | string

The memory required to run a service or a task.

depends_on string[]

An array of service names for those services in the component that are pre-requisites to deploy. Used at deploy-time to build a deploy order across services and tasks.

labels object

A simple key-value annotation store; useful to organize, categorize, scope, and select services and tasks.

reserved_name string

A specific service name which will override the service name specified in the component.

pattern=^(?!-)(?!.{0,32}--)[a-z0-9-]{1,32}(?<!-)$
_DebugDependencySpec object

An empty object that optionally supports specifying a tag for backwards compatibility.

tag string | string
_DebugComponentInterfaceSpec object

Component Interfaces are the primary means by which components advertise their resolvable addresses to others. Interfaces are the only means by which other components can communicate with your component.

ingress object

An ingress exposes an interface to external network traffic through an architect-deployed gateway.

6 nested properties
enabled boolean

Marks the interface as an ingress.

subdomain string | string

The subdomain that will be used if the interface is exposed externally. Use subdomain: @ to target the base domain.

tls object

Configuration for custom certificate.

3 nested properties
crt string

Custom certificate.

Any of: string string, string string
key string

Custom certificate key.

Any of: string string, string string
ca string | string

Custom certificate ca.

path string | string

The path of the interface used for path based routing

ip_whitelist string | string[] | string

IP addresses that are allowed to access the interface

private boolean | string

Marks the ingress as private behind Architect authentication

description string

A human-readable description of the component. This will be rendered when potential consumers view the interface so that they know what it should be used for.

host string

The host that the component interface should forward to.

port number | string

The port that the component interface should forward to.

protocol string | string

The protocol by which the component interface can be connected to.

username string | string

The Basic Auth username by which a component interface can be connected to.

password string | string

The Basic Auth password by which a component interface can be connected to.

url string | string

The url that the component interface should forward to.

sticky boolean | string

If this interface is made into an external ingress, sticky=true will denote the gateway should use sticky sessions if more than one replica is running.

_DebugOutputDefinitionSpec object

Components can define output fields that can be used to share configuration with consuming components.

description string

A human-friendly description of the output field.

value

Value of the output to be passed to upstream consumers

_DebugComponentSpec object

The top level object of the architect.yml; defines a deployable Architect Component.

name string

Globally unique friendly reference to the component. must contain only lower alphanumeric and single hyphens in the middle; max length 32

pattern=^(?:(?!-)(?!.{0,32}--)[a-z0-9-]{1,32}(?<!-)\/)?(?<component_name>(?!-)(?!.{0,32}--)[a-z0-9-]{1,32}(?<!-))(?:@(?<instance_name>[\w][\w\.-]{0,127}))?$
description string

A human-readable description of the component. This will be rendered when potential consumers view the component so that they know what it should be used for.

keywords string[]

Additional search terms to be used when the component is indexed so that others can find it more easily.

author string

The name or handle of the author of the component as a developer contact.

homepage string

The url that serves as the informational homepage of the component (i.e. a github repo).

secrets object

A map of named, configurable fields for the component. If a component contains properties that differ across environments (i.e. environment variables), you'll want to capture them as secrets. Specifying a primitive value here will set the default secret value. For more detailed configuration, specify a SecretDefinitionSpec

outputs object

A map of named, configurable outputs for the component. Outputs allow components to expose configuration details that should be shared with consumers, like API keys or notification topic names.

databases object

A database represents a stateful service powered by one of several supported database engines.

services object

A Service represents a non-exiting runtime (e.g. daemons, servers, etc.). Each service is independently deployable and scalable. Services are 1:1 with a docker image.

tasks object

A set of named recurring and/or exiting runtimes (e.g. crons, schedulers, triggered jobs) included with the component. Each task will run on its specified schedule and/or be triggerable via the Architect CLI. Tasks are 1:1 with a docker image.

dependencies object

A key-value set of dependencies with an empty value. Reference each dependency by component name (e.g. cloud: {})

interfaces object

A set of named gateways that broker access to the services inside the component. All network traffic within a component is locked down to the component itself, unless included in this interfaces block. An interface represents a front-door to your component, granting access to upstream callers.

artifact_image string