A service manifest for Runway platform
No Additional PropertiesapiVersion: runway/v1
kind: RunwayService
metadata:
name: my-service
owner_email_handle: my-username
department: my-dept
department_group: my-dept-group
product_category: my-product-category
spec:
image: my-image:my-tag
container_port: 8080
regions:
- us-east1
- europe-west1
resources:
limits:
cpu: 1000m
memory: 512Mi
startup_cpu_boost: false
scalability:
min_instances: 0
load_balancing:
external_load_balancer:
enabled: false
backend_protocol: rest
internal_load_balancer:
enabled: true
backend_protocol: grpc
deployment:
strategy: legacy
rollout_traffic_percentages:
- 5
- 25
- 75
- 100
The API version of the manifest schema
The kind of resource manifest
The name of the service
Must be at most 63
characters long
The email handle of the person or group that owns this service. See https://handbook.gitlab.com/handbook/infrastructure-standards/labels-tags/#owner-email-handle-glowneremail_handle for more information
The department of the person or group that owns this service. See https://handbook.gitlab.com/handbook/infrastructure-standards/labels-tags/#gitlab-department-gl_dept for more information
The department group of the person or group that owns this service. See https://handbook.gitlab.com/handbook/infrastructure-standards/labels-tags/#gitlab-department-group-gldeptgroup for more information
The product category that owns this service. See https://handbook.gitlab.com/handbook/infrastructure-standards/labels-tags/#gitlab-product-category-glproductcategory for more information
The specification of the service
No Additional PropertiesThe container image of the service. DEPRECATED.
The container port the service should listen on. Defaults to 8080
Value must be strictly greater than 0
and strictly lesser than 65536
The list of multiple regions to deploy the service
Must contain a minimum of 1
items
All items must be unique
No Additional ItemsThe maximum allowed time for an instance to respond to a request, measured in seconds with up to nine fractional digits. Defaults to 60
Value must be lesser or equal to 3600
The startup probe of the service
No Additional PropertiesPath to access on the HTTP server
Name of the grpc health status service
Number of seconds after the container has started before the probe is initiated
Value must be greater or equal to 0
and lesser or equal to 240
Number of seconds after which the probe times out
Value must be greater or equal to 1
and lesser or equal to 3600
How often (in seconds) to perform the probe
Value must be greater or equal to 1
and lesser or equal to 240
Minimum consecutive failures for the probe to be considered failed after having succeeded
Value must be greater or equal to 1
The liveness probe starts only after the startupprobe is successful. Runway sends HTTP GET request to the path. If the liveness probe fails (failurethreshold * period_seconds) the container is killed with SIGKILL.
No Additional PropertiesPath to access on the HTTP server
Name of the grpc health status service
Number of seconds after the container has started before the probe is initiated
Value must be greater or equal to 0
and lesser or equal to 3600
Number of seconds after which the probe times out
Value must be greater or equal to 1
and lesser or equal to 3600
How often (in seconds) to perform the probe
Value must be greater or equal to 1
and lesser or equal to 3600
Minimum consecutive failures for the probe to be considered failed after having succeeded
Value must be greater or equal to 1
The container resource management of the service
No Additional PropertiesThe limits to prevent the container from using more than the configured resources. When exceeded, running containers are terminated
No Additional PropertiesThe limit of CPU resources, measured in cpu units
The limit of memory resources, measured in bytes
The amount of memory consumable by the in-memory volume mounted at /scratch, in bytes. Must be less than "memory".
Temporarily increases CPU allocation during container instance startup
The observability management of the service
No Additional PropertiesThe targets to scrape Prometheus custom metrics. When present, sidecar container for OpenTelemetry collector will be deployed. Must not include metrics path.
Must contain a minimum of 1
items
All items must be unique
No Additional Items^[^:/]+(:\d+)?$
localhost:8181
The container scalability management of the service
No Additional PropertiesThe minimum number of instances that will be kept running for the service
Value must be greater or equal to 0
and lesser or equal to 100
The maximum number of instances that can be used for the service
Value must be greater or equal to 1
and lesser or equal to 1000
The maximum number of concurrent requests per instance of the service
Value must be greater or equal to 1
and lesser or equal to 1000
The network policies of the service
No Additional PropertiesRestrict load balancer traffic to Cloudflare IP ranges
Load balancing configuration
No Additional PropertiesConfiguration for the external load balancer
No Additional PropertiesEnable/disable the external load balancer
The backend protocol to be used. Acceptable values are: rest
, grpc
, HTTP
, HTTPS
, and HTTP2
. Defaults to HTTP
. Support for rest
and grpc
is deprecated and will be removed in the next Runwayctl major version.
Configuration for the internal load balancer
No Additional PropertiesEnable/disable the internal load balancer. This load balancer will only be accessible within the Runway VPC and via VPC peering
The backend protocol to be used. Acceptable values are: rest
, grpc
, HTTP
, HTTPS
, and HTTP2
. Defaults to HTTP
. Support for rest
and grpc
is deprecated and will be removed in the next Runwayctl major version.
The deployment management of the service
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
"legacy"
"regional_rollout"
Progression to assign % of traffic to the canary revision, only applies to regional_rollout
and legacy
. Last element has to be 100. Defaults to respective percentages described in https://docs.runway.gitlab.com/guides/deployment-strategy/
Must contain a minimum of 1
items
Must contain a maximum of 10
items
All items must be unique
No Additional ItemsValue must be greater or equal to 1
and lesser or equal to 100
[1, 5, 20, 100]
The strategy to control how canary revisions are deployed. Acceptable values are: legacy
, expedited
, regional_rollout
, dryrun
. Defaults to legacy
. Refer to https://docs.runway.gitlab.com/guides/deployment-strategy/ for more info