Openstatus
www.openstatus.dev
1effective: |
2 ignore:
3 - node_modules
4 - /apps/docs
5 - /apps/screenshot-service
6 - /apps/server
7 - /apps/web
8 - /apps/dashboard
9 - /apps/status-page
10 - /packages/analytics
11 - /packages/api
12 - /packages/error
13 - /packages/tracker
14 builders:
15 libsql:
16 fromImage:
17 path: oven/bun
18 digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025
19 label:
20 org.opencontainers.image.base.name: docker.io/oven/bun:latest
21 org.opencontainers.image.base.digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025
22 workdir: /app/
23 copy:
24 - fromBuilder: docker
25 paths:
26 - /app/apps/build-docker/package.json
27 target: /app/package.json
28 run:
29 - bun install
30 docker:
31 fromImage:
32 path: oven/bun
33 digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025
34 label:
35 org.opencontainers.image.base.digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025
36 org.opencontainers.image.base.name: docker.io/oven/bun:latest
37 workdir: /app/apps/workflows
38 copy:
39 - paths:
40 - .
41 target: /app/
42 run:
43 - bun run src/build-docker.ts
44 build:
45 fromImage:
46 path: oven/bun
47 digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025
48 label:
49 org.opencontainers.image.base.digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025
50 org.opencontainers.image.base.name: docker.io/oven/bun:latest
51 workdir: /app/apps/workflows
52 env:
53 NODE_ENV: production
54 copy:
55 - paths:
56 - .
57 target: /app/
58 - fromBuilder: install
59 paths:
60 - /app/node_modules
61 target: /app/node_modules
62 run:
63 - bun build --compile --target bun --sourcemap --format=cjs src/index.ts --outfile=app --external '@libsql/*' --external libsql
64 install:
65 fromImage:
66 path: oven/bun
67 digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025
68 label:
69 org.opencontainers.image.base.name: docker.io/oven/bun:latest
70 org.opencontainers.image.base.digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025
71 workdir: /app/
72 run:
73 - bun install --production --ignore-scripts --frozen-lockfile --verbose
74 cache:
75 - target: /root/.bun/install/cache
76 bind:
77 - target: bunfig.toml
78 source: bunfig.toml
79 - target: package.json
80 source: package.json
81 - target: apps/workflows/package.json
82 source: apps/workflows/package.json
83 - target: packages/assertions/package.json
84 source: packages/assertions/package.json
85 - target: packages/db/package.json
86 source: packages/db/package.json
87 - target: packages/emails/package.json
88 source: packages/emails/package.json
89 - target: packages/notifications/discord/package.json
90 source: packages/notifications/discord/package.json
91 - target: packages/notifications/email/package.json
92 source: packages/notifications/email/package.json
93 - target: packages/notifications/ntfy/package.json
94 source: packages/notifications/ntfy/package.json
95 - target: packages/notifications/opsgenie/package.json
96 source: packages/notifications/opsgenie/package.json
97 - target: packages/notifications/pagerduty/package.json
98 source: packages/notifications/pagerduty/package.json
99 - target: packages/notifications/slack/package.json
100 source: packages/notifications/slack/package.json
101 - target: packages/notifications/twillio-sms/package.json
102 source: packages/notifications/twillio-sms/package.json
103 - target: packages/notifications/webhook/package.json
104 source: packages/notifications/webhook/package.json
105 - target: packages/regions/package.json
106 source: packages/regions/package.json
107 - target: packages/utils/package.json
108 source: packages/utils/package.json
109 - target: packages/tsconfig/package.json
110 source: packages/tsconfig/package.json
111 - target: packages/tinybird/package.json
112 source: packages/tinybird/package.json
113 - target: packages/upstash/package.json
114 source: packages/upstash/package.json
115 ca-certs:
116 fromImage:
117 path: debian
118 digest: sha256:f807f4b16002c623115b0247dca6a55711c6b1ae821dc64fb8a2339e4ce2115d
119 label:
120 org.opencontainers.image.base.name: docker.io/debian:bullseye-slim
121 org.opencontainers.image.base.digest: sha256:f807f4b16002c623115b0247dca6a55711c6b1ae821dc64fb8a2339e4ce2115d
122 run:
123 - apk update && apk upgrade --available && apk add ca-certificates && update-ca-certificates
124 fromImage:
125 path: debian
126 digest: sha256:f807f4b16002c623115b0247dca6a55711c6b1ae821dc64fb8a2339e4ce2115d
127 label:
128 org.opencontainers.image.base.name: docker.io/debian:bullseye-slim
129 org.opencontainers.image.base.digest: sha256:f807f4b16002c623115b0247dca6a55711c6b1ae821dc64fb8a2339e4ce2115d
130 io.dofigen.version: 2.5.0
131 workdir: /app/
132 copy:
133 - fromBuilder: build
134 paths:
135 - /app/apps/workflows/app
136 target: /app/apps/workflows/
137 chmod: '555'
138 - fromBuilder: libsql
139 paths:
140 - /app/node_modules
141 target: /app/packages/db/node_modules
142 - fromBuilder: libsql
143 paths:
144 - /app/node_modules
145 target: /app/node_modules
146 - fromBuilder: ca-certs
147 paths:
148 - /etc/ssl/certs/ca-certificates.crt
149 target: /etc/ssl/certs/
150 entrypoint:
151 - /app/apps/workflows/app
152 expose:
153 - port: 3000
154images:
155 docker.io:
156 library:
157 debian:
158 bullseye-slim:
159 digest: sha256:f807f4b16002c623115b0247dca6a55711c6b1ae821dc64fb8a2339e4ce2115d
160 oven:
161 bun:
162 latest:
163 digest: sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025
164resources:
165 dofigen.yml:
166 hash: 4c0cfc9f42824ef083d401f675c335053cd0458addbcdf987bd0cd2713a31d42
167 content: |
168 ignore:
169 - node_modules
170 - /apps/docs
171 - /apps/screenshot-service
172 - /apps/server
173 - /apps/web
174 - /apps/dashboard
175 - /apps/status-page
176 - /packages/analytics
177 - /packages/api
178 - /packages/error
179 - /packages/tracker
180 builders:
181 install:
182 fromImage: oven/bun
183 workdir: /app/
184 # Copy project
185 bind:
186 - bunfig.toml
187 - package.json
188 - apps/workflows/package.json
189 - packages/assertions/package.json
190 - packages/db/package.json
191 - packages/emails/package.json
192 - packages/notifications/discord/package.json
193 - packages/notifications/email/package.json
194 - packages/notifications/ntfy/package.json
195 - packages/notifications/opsgenie/package.json
196 - packages/notifications/pagerduty/package.json
197 - packages/notifications/slack/package.json
198 - packages/notifications/twillio-sms/package.json
199 - packages/notifications/webhook/package.json
200 - packages/regions/package.json
201 - packages/utils/package.json
202 - packages/tsconfig/package.json
203 - packages/tinybird/package.json
204 - packages/upstash/package.json
205
206 # Install dependencies
207 run: bun install --production --ignore-scripts --frozen-lockfile --verbose
208 cache:
209 - /root/.bun/install/cache
210 build:
211 fromImage: oven/bun
212 workdir: /app/apps/workflows
213 copy:
214 - . /app/
215 - fromBuilder: install
216 source: /app/node_modules
217 target: /app/node_modules
218 # Should set env to production here
219 # Compile the TypeScript application
220 env:
221 NODE_ENV: production
222 run: bun build --compile --target bun --sourcemap --format=cjs src/index.ts --outfile=app --external '@libsql/*' --external libsql
223
224 docker:
225 fromImage: oven/bun
226 workdir: /app/apps/workflows
227 copy:
228 - . /app/
229 run: bun run src/build-docker.ts
230
231 libsql:
232 fromImage: oven/bun
233 workdir: /app/
234 copy:
235 - fromBuilder: docker
236 source: /app/apps/build-docker/package.json
237 target: /app/package.json
238 run: bun install
239
240 ca-certs:
241 fromImage: debian:bullseye-slim
242 run: apk update && apk upgrade --available && apk add ca-certificates && update-ca-certificates
243
244 fromImage: debian:bullseye-slim
245 workdir: /app/
246 copy:
247 - fromBuilder: build
248 source: /app/apps/workflows/app
249 target: /app/apps/workflows/
250 chmod: "555"
251 - fromBuilder: libsql
252 source: /app/node_modules
253 target: /app/packages/db/node_modules
254 - fromBuilder: libsql
255 source: /app/node_modules
256 target: /app/node_modules
257 - fromBuilder: ca-certs
258 source: /etc/ssl/certs/ca-certificates.crt
259 target: /etc/ssl/certs/
260 expose: 3000
261 entrypoint: /app/apps/workflows/app