feat: rename types to d.ts and adding export methods

This commit is contained in:
Konrad Geletey 2024-09-05 21:35:14 +03:00
parent bef7794f88
commit 3ca68c41e9
6 changed files with 214 additions and 0 deletions

209
entities/compose.d.ts vendored Normal file
View file

@ -0,0 +1,209 @@
type Label = {
[label: string]: string
}
type WeightDevice = Array<{
path: string
weight: number
}>
type DeviceBLK = Array<{
path: string
rate: number | string
}>
type BuildServices = {
context: string
dockefile: string
dockerfile_inline: string
args: Label
ssh: Array<string>
cache_from: Array<string>
cache_to: Array<string>
additional_contexts: Array<Label>
extra_hosts: Label
labels: Label
privileged: boolean
no_cache: boolean
network: "none" | "host" | string
shm_size: number | string
target: string
secrets: Array<string>
tags: Array<string>
platforms: Array<string>
ulimits: {
nproc: number
nofile: {
soft: number
hard: number
}
}
}
enum Runtimes {
runc,
crun,
youki,
inclavare,
gvisor,
wasmtime,
katacontainers,
}
export type Services = {
[name: string]: {
annotations?: Label
image: string
ports?: Array<string>
attach?: boolean
build?: BuildServices
blkio_config?: {
weight: number
weight_device: Array<{
path: string
weight: number
}>
device_read_bps: DeviceBLK
device_read_iops: DeviceBLK
device_write_bps: DeviceBLK
device_write_iops: DeviceBLK
}
cpu_count?: number
cpu_persent?: number | string
cpu_quota?: number | string
cpu_rt_runtime?: number | string
cpu_rt_period?: number | string
cpus?: string
cpuset?: string
cap_add?: Array<string>
cap_drop?: Array<string>
cgroup?: "host" | "private"
cpu_rt_period?: string
command?: Array<string> | string
configs?: Array<string> | Array<{
source: string
target: string
uid: string
gid: string
mode: number
}>
container_name?: string
credential_spec?: {
file?: string
registry?: string
}
depends_on?: Array<string>
dns?: string | Array<string>
dns_opt?: Array<string>
dns_search?: string | Array<string>
entrypoint?: string | Array<string>
tmpfs?: string | Array<string>
env_file?: Array<string> | Array<{
path: string
required: boolean
}>
environment?: Array<string>
expose?: Array<string>
extends?: {
file: string
service: string
}
}
external_links?: Array<string>
volumes_from?: Array<string>
tty?: boolean
sysctl?: Label
runtime: Runtimes
restart: "no" | "always" | "unless-stopped" | "on-failure" | { "on-failure": number }
workdir?: string
extra_hosts?: string
stdin_open?: boolean
init?: boolean
profiles?: Array<string>
network_mode?: "none" | "host"
logging?: {
driver: string
options?: Label
}
links?: Array<string>
labels?: Array<Label>
group_add?: Array<string>
pids_limit?: number
pull_policy?: "always" | "never" | "missing" | "build"
hostname?: string
devices?: Array<string>
volumes?: Array<string>
uts?: "host" | string
mem_limit?: number | string
healthcheck?: {
test: Array<string>
timeout?: string
interval?: string
start_period?: string
start_interval?: string
retries: number
disable?: true
}
}
type Networks = {
[name: string]: {
driver?: string
driver_opts?: Label
attachable?: boolean
enable_ipv6?: boolean
external?: boolean
name?: string
ipam?: {
driver?: string
config?: Array<{
subnet: string
ip_range: string
gateway: string
aux_addresses: Array<Label>
}>
}
labels?: Array<Label>
options?: Array<Label>
}
}
type Volumes = {
[name: string]: {
external?: boolean
labels?: Array<Label>
driver?: string
driver_opts?: Label
name?: string
}
}
type Configs = {
[name: string]: {
external?: boolean
name?: string
file?: string
environment?: string
content?: string
}
}
type Secrets = {
[name: string]: {
file?: string
} | {
token: {
environment: string
}
}
}
export type Compose = {
version?: "3"
services: Services
networks?: Networks
volumes?: Volumes
configs?: Configs
secrets?: Secrets
}

4
entities/index.ts Normal file
View file

@ -0,0 +1,4 @@
export * from "./account.d.ts"
export * from "./compose.d.ts"
export * from "./provider.d.ts"
export * from "./deployment.d.ts"

1
index.ts Normal file
View file

@ -0,0 +1 @@
export * from "./entities/index.ts"