-
-
Notifications
You must be signed in to change notification settings - Fork 2k
/
devspace.yaml
119 lines (113 loc) · 3.44 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
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.7-beta.1"
PLATFORM: $(uname -m | grep -q 'arm64' && echo "arm64" || echo "amd64")
# 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: { args: ["--platform", "linux/${PLATFORM}"] }
dockerfile: ./backend/backend.dockerfile
context: ../
tags:
- dev-${DEVSPACE_TIMESTAMP}
frontend:
image: "${CONTAINER_REGISTRY}/${DOCKER_IMAGE_FRONTEND}"
buildKit:
args:
["--target", "grid-ui-production", "--platform", "linux/${PLATFORM}"]
dockerfile: ./frontend/frontend.dockerfile
target: "grid-ui-production"
context: ./frontend
tags:
- dev-${DEVSPACE_TIMESTAMP}
seaweedfs:
image: "${CONTAINER_REGISTRY}/${DOCKER_IMAGE_SEAWEEDFS}"
buildKit: {}
dockerfile: ./seaweedfs/seaweedfs.dockerfile
context: ./seaweedfs
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: {}
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