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