Type object
File match dice.yaml erda.yml
Schema URL https://catalog.lintel.tools/schemas/schemastore/erda-runtime/latest.json
Source https://raw.githubusercontent.com/erda-project/erda/master/.erda/schemas/dice.yaml.json

Validate with Lintel

npx @lintel/lintel check
Type: object

services 与 jobs 不能同时存在于一个 dice.yml 中

Properties

version string required

dice.yml 语法规范版本

Default: "2.0"
$schema string
Default: "https://github.com/erda-project/erda/raw/master/.erda/schemas/dice.yaml.json"
meta Record<string, string>

dice.yml 的元数据

envs object
services Record<string, object>
jobs Record<string, object>
addons Record<string, object>
environments object
values object

Definitions

Services Record<string, object>
Service object
image string

服务镜像

image_username string

拉取镜像的用户名

image_password string

拉取镜像的密码

cmd string

启动命令, 不填则按镜像的 Entrypoint 启动

要启用的端口

envs object
hosts string[]

域名列表, 可以引用 values 中定义的值

resources object

可以用 cpu: ${request_cpu:1} 引用 values 和设置默认值

8 nested properties
cpu number | string

CPU 核心数, 对应 K8s 中 request 值. 可以用 ${request_cpu:1} 引用 values 和设置默认值

Default: 1
Examples: "${request_cpu:1}"
mem integer | string

内存数, 单位 M

max_cpu number

最大 CPU 核心数

max_mem integer

最大内存数

disk integer

磁盘请求量

network Record<string, string>

网络配置

emptydir_size integer
ephemeral_storage_size integer
labels Record<string, string>

服务标签

annotations Record<string, string>

注解

binds string[]
volumes Volume[]
deployments object
5 nested properties
replicas integer | string

Pod 副本数

policies string

策略

labels Record<string, string>

标签

workload string

负载

selectors Record<string, object>
depends_on string[]

依赖的服务

expose integer[]

要开放的端口, Erda 会创建一个 K8s Service 并开放这些端口

health_check object
2 nested properties
http object
3 nested properties
port integer

端口

Default: 8080
path string

路径

Default: "/api/health"
duration integer

执行健康检查的间隔时间

Default: 120
exec object
2 nested properties
cmd string

执行健康检查的容器命令

duration integer

执行健康检查的间隔时间

sidecars object

定义边车容器, 如日志收集, 网络代理等

init Record<string, object>

定义初始化容器, 如数据准备, migration 等

mesh_enable boolean
traffic_security object
1 nested properties
mode string

流量安全策略模式

endpoints Endpoint[]

定义域名, 可以引用 values 中定义的值

k8s_snippet object

定义容器细节, 需要熟悉 Kubernetes, 参考 k8s.io/api/core/v1.Container

1 nested properties
container object

参考 k8s.io/api/core/v1.Container

ServicePort object
port integer

启用的端口号

Default: 8080
protocol string

4/7 层网络协议

Default: "TCP"
l4_protocol string

4 层网络协议

Default: "TCP"
Values: "TCP" "UDP"
expose boolean

是否开放该端口

Default: false
default boolean

是否为默认端口, 设置域名时会将对该域名的访问反向代理到默认端口

Default: false
EnvMap object
Resources object

可以用 cpu: ${request_cpu:1} 引用 values 和设置默认值

cpu number | string

CPU 核心数, 对应 K8s 中 request 值. 可以用 ${request_cpu:1} 引用 values 和设置默认值

Default: 1
Examples: "${request_cpu:1}"
mem integer | string

内存数, 单位 M

max_cpu number

最大 CPU 核心数

max_mem integer

最大内存数

disk integer

磁盘请求量

network Record<string, string>

网络配置

emptydir_size integer
ephemeral_storage_size integer
Binds string[]
Jobs Record<string, object>
AddOns Record<string, object>
ValueObjects object
Volume object
id string
storage string
path string
type string
size integer
targetPath string
readOnly boolean
snapshot object
1 nested properties
maxHistory integer
Deployments object
replicas integer | string

Pod 副本数

policies string

策略

labels Record<string, string>

标签

workload string

负载

selectors Record<string, object>
HealthCheck object
http object
3 nested properties
port integer

端口

Default: 8080
path string

路径

Default: "/api/health"
duration integer

执行健康检查的间隔时间

Default: 120
exec object
2 nested properties
cmd string

执行健康检查的容器命令

duration integer

执行健康检查的间隔时间

SideCar object
image string

容器镜像

cmd string

容器启动命令

envs object
resources object

可以用 cpu: ${request_cpu:1} 引用 values 和设置默认值

8 nested properties
cpu number | string

CPU 核心数, 对应 K8s 中 request 值. 可以用 ${request_cpu:1} 引用 values 和设置默认值

Default: 1
Examples: "${request_cpu:1}"
mem integer | string

内存数, 单位 M

max_cpu number

最大 CPU 核心数

max_mem integer

最大内存数

disk integer

磁盘请求量

network Record<string, string>

网络配置

emptydir_size integer
ephemeral_storage_size integer
InitContainer object
image string

容器镜像

shared_dir SharedDir[]

共享目录

cmd string

容器启动命令

resources object

可以用 cpu: ${request_cpu:1} 引用 values 和设置默认值

8 nested properties
cpu number | string

CPU 核心数, 对应 K8s 中 request 值. 可以用 ${request_cpu:1} 引用 values 和设置默认值

Default: 1
Examples: "${request_cpu:1}"
mem integer | string

内存数, 单位 M

max_cpu number

最大 CPU 核心数

max_mem integer

最大内存数

disk integer

磁盘请求量

network Record<string, string>

网络配置

emptydir_size integer
ephemeral_storage_size integer
TrafficSecurity object
mode string

流量安全策略模式

Endpoint object
domain string

域名, 将该服务的接口聚合到该域名下

path string

聚合路由的路由路径

backend_path string

聚合路由的后端服务路径

policies object
2 nested properties
cors object

跨域策略

rate_limit object

限流策略

K8SSnippet object

定义容器细节, 需要熟悉 Kubernetes, 参考 k8s.io/api/core/v1.Container

container object

参考 k8s.io/api/core/v1.Container

Job object
image string

容器镜像

cmd string

容器启动命令, 如不填则默认为容器的 Entrypoint

envs object
resources object

可以用 cpu: ${request_cpu:1} 引用 values 和设置默认值

8 nested properties
cpu number | string

CPU 核心数, 对应 K8s 中 request 值. 可以用 ${request_cpu:1} 引用 values 和设置默认值

Default: 1
Examples: "${request_cpu:1}"
mem integer | string

内存数, 单位 M

max_cpu number

最大 CPU 核心数

max_mem integer

最大内存数

disk integer

磁盘请求量

network Record<string, string>

网络配置

emptydir_size integer
ephemeral_storage_size integer
labels Record<string, string>

定义 Pod 标签

binds string[]
volumes Volume[]
init Record<string, object>

定义初始化容器, 如数据准备, migration 等

hosts string

定义服务域名

Volumes Volume[]
AddOn object
plan string

中间件 engine 和规格, 如 mysql:basic

as string
options Record<string, string>

中间件的元数据和配置

actions object
image string

中间件镜像

ValueMap Record<string, string | integer | number | boolean>
VolumeSnapshot object
maxHistory integer
Selectors Record<string, object>
HTTPCheck object
port integer

端口

Default: 8080
path string

路径

Default: "/api/health"
duration integer

执行健康检查的间隔时间

Default: 120
ExecCheck object
cmd string

执行健康检查的容器命令

duration integer

执行健康检查的间隔时间

SharedDir object
main string

主容器的目录

sidecar string

边车容器的目录

EndpointPolicies object
cors object

跨域策略

rate_limit object

限流策略

Selector object
not boolean
values string[]
ContainerSnippet object

参考 k8s.io/api/core/v1.Container

EnvObjects object
EnvObject object
envs object
services Record<string, object>
addons Record<string, object>