-
-
Notifications
You must be signed in to change notification settings - Fork 2k
/
devspace.yaml
136 lines (130 loc) · 3.75 KB
/
devspace.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
version: v2beta1
name: syft
# This is a list of `pipelines` that DevSpace can execute (you can define your own)
pipelines:
# This is the pipeline for the main command: `devspace dev` (or `devspace run-pipeline dev`)
dev:
run: |-
stop_dev --all
purge_deployments --all
run_dependencies --all # 1. Deploy any projects this project needs (see "dependencies")
ensure_pull_secrets --all # 2. Ensure pull secrets
build_images --all
create_deployments --all # 3. Deploy Helm charts and manifests specfied as "deployments"
start_dev --all # 4. Start dev mode "app" (see "dev" section)
# You can run this pipeline via `devspace deploy` (or `devspace run-pipeline deploy`)
deploy:
run: |-
run_dependencies --all
ensure_pull_secrets --all
build_images --all
create_deployments --all
vars:
DEVSPACE_ENV_FILE: "default.env"
CONTAINER_REGISTRY: "docker.io"
NODE_NAME: "mynode"
VERSION: "0.8.5-post.2"
# This is a list of `images` that DevSpace can build for this project
# We recommend to skip image building during development (devspace dev) as much as possible
images:
backend:
image: "${CONTAINER_REGISTRY}/${DOCKER_IMAGE_BACKEND}"
buildKit: {}
dockerfile: ./backend/backend.dockerfile
context: ../
tags:
- dev-${DEVSPACE_TIMESTAMP}
frontend:
image: "${CONTAINER_REGISTRY}/${DOCKER_IMAGE_FRONTEND}"
buildKit:
args: ["--target", "grid-ui-production"]
dockerfile: ./frontend/frontend.dockerfile
target: "grid-ui-production"
context: ./frontend
tags:
- dev-${DEVSPACE_TIMESTAMP}
seaweedfs:
image: "${CONTAINER_REGISTRY}/${DOCKER_IMAGE_SEAWEEDFS}"
buildKit: {}
buildArgs:
SEAWEEDFS_VERSION: ${SEAWEEDFS_VERSION}
dockerfile: ./seaweedfs/seaweedfs.dockerfile
context: ./seaweedfs
tags:
- dev-${DEVSPACE_TIMESTAMP}
veilid:
image: "${CONTAINER_REGISTRY}/${DOCKER_IMAGE_VEILID}"
buildKit: {}
dockerfile: ./veilid/veilid.dockerfile
context: ./veilid
tags:
- dev-${DEVSPACE_TIMESTAMP}
# This is a list of `deployments` that DevSpace can create for this project
deployments:
syft:
helm:
releaseName: syft-dev
chart:
name: ./helm/syft
values:
global:
registry: ${CONTAINER_REGISTRY}
version: dev-${DEVSPACE_TIMESTAMP}
node:
name: ${NODE_NAME}
# anything that does not need devspace $env vars should go in values.dev.yaml
valuesFiles:
- ./helm/values.dev.yaml
dev:
mongo:
labelSelector:
app.kubernetes.io/name: syft
app.kubernetes.io/component: mongo
ports:
- port: "27017"
seaweedfs:
labelSelector:
app.kubernetes.io/name: syft
app.kubernetes.io/component: seaweedfs
ports:
- port: "9333" # admin
- port: "8888" # filer
- port: "8333" # S3
- port: "4001" # mount azure
backend:
labelSelector:
app.kubernetes.io/name: syft
app.kubernetes.io/component: backend
env:
- name: RELEASE
value: development
- name: DEV_MODE
value: "True"
- name: DEBUGGER_ENABLED
value: "True"
ports:
- port: "5678" # debugpy
sync:
- path: ./backend/grid:/root/app/grid
- path: ../syft:/root/app/syft
ssh: {}
veilid:
labelSelector:
app.kubernetes.io/name: syft
app.kubernetes.io/component: veilid
env:
- name: DEV_MODE
value: "True"
logs: {}
sync:
- path: ./veilid/server:/app/server
profiles:
- name: gateway
patches:
- op: replace
path: deployments.syft.helm.values.node.type
value: "gateway"
- op: remove
path: images.seaweedfs
- op: remove
path: dev.seaweedfs