Openstatus www.openstatus.dev

fix workflow (#1713)

authored by

Thibault Le Ouay and committed by
GitHub
dbacbdaf 17ab52ca

+99 -139
+27 -21
apps/workflows/Dockerfile
··· 9 9 org.opencontainers.image.base.name="docker.io/debian:bullseye-slim" 10 10 RUN apt update && apt install -y ca-certificates && update-ca-certificates 11 11 12 + # docker 13 + FROM oven/bun@sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 AS docker 14 + LABEL \ 15 + org.opencontainers.image.base.digest="sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3" \ 16 + org.opencontainers.image.base.name="docker.io/oven/bun:1.3.5" 17 + WORKDIR /app/apps/workflows 18 + COPY \ 19 + --link \ 20 + "." "/app/" 21 + RUN bun run src/build-docker.ts 22 + 12 23 # install 13 24 FROM oven/bun@sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 AS install 14 25 LABEL \ ··· 60 71 "/app/node_modules" "/app/node_modules" 61 72 RUN bun build --compile --target bun --sourcemap --format=cjs src/index.ts --outfile=app 62 73 74 + # libsql 75 + FROM oven/bun@sha256:fbf8e67e9d3b806c86be7a2f2e9bae801f2d9212a21db4dcf8cc9889f5a3c9c4 AS libsql 76 + LABEL \ 77 + org.opencontainers.image.base.digest="sha256:fbf8e67e9d3b806c86be7a2f2e9bae801f2d9212a21db4dcf8cc9889f5a3c9c4" \ 78 + org.opencontainers.image.base.name="docker.io/oven/bun:1.3.3" 79 + WORKDIR /app/ 80 + COPY \ 81 + --from=docker \ 82 + --link \ 83 + "/app/apps/build-docker/package.json" "/app/package.json" 84 + RUN bun install 85 + 63 86 # runtime 64 87 FROM debian@sha256:530a3348fc4b5734ffe1a137ddbcee6850154285251b53c3425c386ea8fac77b AS runtime 65 88 LABEL \ ··· 79 102 --link \ 80 103 "/app/apps/workflows/app" "/app/apps/workflows/" 81 104 COPY \ 82 - --from=build \ 83 - --chown=1000:1000 \ 84 - --link \ 85 - "/app/packages/db" "/app/packages/db/" 86 - COPY \ 87 - --chown=1000:1000 \ 88 - --chmod=755 \ 89 - --link \ 90 - "apps/workflows/start.sh" "/app/start.sh" 91 - COPY \ 92 - --from=build \ 105 + --from=libsql \ 93 106 --chown=1000:1000 \ 94 - --chmod=755 \ 95 107 --link \ 96 - "/usr/local/bin/bun" "/usr/local/bin/bun" 108 + "/app/node_modules" "/app/packages/db/node_modules" 97 109 COPY \ 98 - --from=install \ 110 + --from=libsql \ 99 111 --chown=1000:1000 \ 100 112 --link \ 101 113 "/app/node_modules" "/app/node_modules" ··· 104 116 --chown=1000:1000 \ 105 117 --link \ 106 118 "/etc/ssl/certs/ca-certificates.crt" "/etc/ssl/certs/" 107 - USER 0:0 108 - RUN <<EOF 109 - apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/* 110 - mkdir -p /app/data 111 - chown -R 1000:1000 /app/data 112 - EOF 113 119 USER 1000:1000 114 120 EXPOSE 3000 115 - ENTRYPOINT ["/bin/sh", "/app/start.sh"] 121 + ENTRYPOINT ["/app/apps/workflows/app"]
+51 -99
apps/workflows/dofigen.lock
··· 12 12 - /packages/error 13 13 - /packages/tracker 14 14 builders: 15 - build: 15 + docker: 16 16 fromImage: 17 17 path: oven/bun 18 - digest: sha256:fbf8e67e9d3b806c86be7a2f2e9bae801f2d9212a21db4dcf8cc9889f5a3c9c4 18 + digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 19 19 label: 20 - org.opencontainers.image.base.name: docker.io/oven/bun:1.3.3 21 - org.opencontainers.image.stage: build 22 - org.opencontainers.image.base.digest: sha256:fbf8e67e9d3b806c86be7a2f2e9bae801f2d9212a21db4dcf8cc9889f5a3c9c4 20 + org.opencontainers.image.base.name: docker.io/oven/bun:1.3.5 21 + org.opencontainers.image.base.digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 23 22 workdir: /app/apps/workflows 24 - env: 25 - NODE_ENV: production 26 23 copy: 27 24 - paths: 28 25 - . 29 26 target: /app/ 30 - - fromBuilder: install 31 - paths: 32 - - /app/node_modules 33 - target: /app/node_modules 34 27 run: 35 - - bun build --compile --target bun --sourcemap --format=cjs src/index.ts --outfile=app --external '@libsql/*' --external libsql 28 + - bun run src/build-docker.ts 36 29 ca-certs: 37 30 fromImage: 38 31 path: debian ··· 47 40 path: oven/bun 48 41 digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 49 42 label: 43 + org.opencontainers.image.base.digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 50 44 org.opencontainers.image.base.name: docker.io/oven/bun:1.3.5 51 45 org.opencontainers.image.stage: install 52 - org.opencontainers.image.base.digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 53 46 workdir: /app/ 54 47 run: 55 48 - bun install --production --frozen-lockfile --verbose ··· 102 95 source: packages/upstash/package.json 103 96 - target: packages/theme-store/package.json 104 97 source: packages/theme-store/package.json 105 - libsql: 106 - fromImage: 107 - path: oven/bun 108 - digest: sha256:fbf8e67e9d3b806c86be7a2f2e9bae801f2d9212a21db4dcf8cc9889f5a3c9c4 109 - label: 110 - org.opencontainers.image.base.digest: sha256:fbf8e67e9d3b806c86be7a2f2e9bae801f2d9212a21db4dcf8cc9889f5a3c9c4 111 - org.opencontainers.image.base.name: docker.io/oven/bun:1.3.3 112 - workdir: /app/ 113 - copy: 114 - - fromBuilder: docker 115 - paths: 116 - - /app/apps/build-docker/package.json 117 - target: /app/package.json 118 - run: 119 - - bun install 120 - docker: 121 - fromImage: 122 - path: oven/bun 123 - digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 124 - label: 125 - org.opencontainers.image.base.digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 126 - org.opencontainers.image.base.name: docker.io/oven/bun:1.3.5 127 - workdir: /app/apps/workflows 128 - copy: 129 - - paths: 130 - - . 131 - target: /app/ 132 - run: 133 - - bun run src/build-docker.ts 134 98 build: 135 99 fromImage: 136 100 path: oven/bun ··· 152 116 target: /app/node_modules 153 117 run: 154 118 - bun build --compile --target bun --sourcemap --format=cjs src/index.ts --outfile=app 155 - ca-certs: 119 + libsql: 156 120 fromImage: 157 - path: debian 158 - digest: sha256:c5f48c942c667e70d7e64b124cfc939c25a4a43207c0d14b45844d762dc1d50f 121 + path: oven/bun 122 + digest: sha256:fbf8e67e9d3b806c86be7a2f2e9bae801f2d9212a21db4dcf8cc9889f5a3c9c4 159 123 label: 160 - org.opencontainers.image.base.name: docker.io/debian:bullseye-slim 161 - org.opencontainers.image.base.digest: sha256:c5f48c942c667e70d7e64b124cfc939c25a4a43207c0d14b45844d762dc1d50f 124 + org.opencontainers.image.base.name: docker.io/oven/bun:1.3.3 125 + org.opencontainers.image.base.digest: sha256:fbf8e67e9d3b806c86be7a2f2e9bae801f2d9212a21db4dcf8cc9889f5a3c9c4 126 + workdir: /app/ 127 + copy: 128 + - fromBuilder: docker 129 + paths: 130 + - /app/apps/build-docker/package.json 131 + target: /app/package.json 162 132 run: 163 - - apt update && apt install -y ca-certificates && update-ca-certificates 133 + - bun install 164 134 fromImage: 165 135 path: debian 166 136 digest: sha256:530a3348fc4b5734ffe1a137ddbcee6850154285251b53c3425c386ea8fac77b 167 137 label: 168 - org.opencontainers.image.base.name: docker.io/debian:bullseye-slim 138 + org.opencontainers.image.source: https://github.com/openstatusHQ/openstatus 169 139 org.opencontainers.image.base.digest: sha256:530a3348fc4b5734ffe1a137ddbcee6850154285251b53c3425c386ea8fac77b 170 - org.opencontainers.image.source: https://github.com/openstatusHQ/openstatus 171 140 org.opencontainers.image.description: Background job processing and probe scheduling for OpenStatus 172 - org.opencontainers.image.authors: OpenStatus Team 141 + org.opencontainers.image.vendor: OpenStatus 142 + org.opencontainers.image.base.name: docker.io/debian:bullseye-slim 173 143 org.opencontainers.image.title: OpenStatus Workflows 174 - org.opencontainers.image.vendor: OpenStatus 175 - org.opencontainers.image.authors: OpenStatus Team 176 144 io.dofigen.version: 2.6.0 145 + org.opencontainers.image.authors: OpenStatus Team 177 146 workdir: /app/ 178 147 copy: 179 148 - fromBuilder: build ··· 181 150 - /app/apps/workflows/app 182 151 target: /app/apps/workflows/ 183 152 chmod: '555' 184 - - fromBuilder: build 185 - paths: 186 - - /app/packages/db 187 - target: /app/packages/db/ 188 - - paths: 189 - - apps/workflows/start.sh 190 - target: /app/start.sh 191 - chmod: '755' 192 - - fromBuilder: build 153 + - fromBuilder: libsql 193 154 paths: 194 - - /usr/local/bin/bun 195 - target: /usr/local/bin/bun 196 - chmod: '755' 197 - - fromBuilder: install 155 + - /app/node_modules 156 + target: /app/packages/db/node_modules 157 + - fromBuilder: libsql 198 158 paths: 199 159 - /app/node_modules 200 160 target: /app/node_modules ··· 202 162 paths: 203 163 - /etc/ssl/certs/ca-certificates.crt 204 164 target: /etc/ssl/certs/ 205 - root: 206 - run: 207 - - apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/* 208 - - mkdir -p /app/data 209 - - chown -R 1000:1000 /app/data 210 165 entrypoint: 211 - - /bin/sh 212 - - /app/start.sh 166 + - /app/apps/workflows/app 213 167 expose: 214 168 - port: 3000 215 169 images: 216 170 docker.io: 217 - oven: 218 - bun: 219 - 1.3.5: 220 - digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 221 - 1.3.3: 222 - digest: sha256:fbf8e67e9d3b806c86be7a2f2e9bae801f2d9212a21db4dcf8cc9889f5a3c9c4 223 171 library: 224 172 debian: 225 173 bullseye-slim: ··· 228 176 bun: 229 177 1.3.3: 230 178 digest: sha256:fbf8e67e9d3b806c86be7a2f2e9bae801f2d9212a21db4dcf8cc9889f5a3c9c4 179 + 1.3.5: 180 + digest: sha256:e90cdbaf9ccdb3d4bd693aa335c3310a6004286a880f62f79b18f9b1312a8ec3 231 181 resources: 232 182 dofigen.yml: 233 - hash: a0ad1a5bb9b6026553537d163c77052133cbd7231927105febf9c2e86500ca3c 183 + hash: 31cef4b70fa33ceb4b9b38f32c98ff13646d0f494bfb79c22734d22b67e9a1d8 234 184 content: | 235 185 ignore: 236 186 - node_modules ··· 296 246 NODE_ENV: production 297 247 run: bun build --compile --target bun --sourcemap --format=cjs src/index.ts --outfile=app 298 248 249 + docker: 250 + fromImage: oven/bun:1.3.5 251 + workdir: /app/apps/workflows 252 + copy: 253 + - . /app/ 254 + run: bun run src/build-docker.ts 255 + 256 + libsql: 257 + fromImage: oven/bun:1.3.3 258 + workdir: /app/ 259 + copy: 260 + - fromBuilder: docker 261 + source: /app/apps/build-docker/package.json 262 + target: /app/package.json 263 + run: bun install 264 + 299 265 ca-certs: 300 266 fromImage: debian:bullseye-slim 301 267 run: apt update && apt install -y ca-certificates && update-ca-certificates ··· 311 277 org.opencontainers.image.vendor: OpenStatus 312 278 org.opencontainers.image.authors: OpenStatus Team 313 279 314 - # Create data directory and install curl as root before switching to user 1000 315 - root: 316 - run: 317 - - apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/* 318 - - mkdir -p /app/data 319 - - chown -R 1000:1000 /app/data 320 - 321 280 # Copy artifacts from build stages 322 281 copy: 323 282 - fromBuilder: build 324 283 source: /app/apps/workflows/app 325 284 target: /app/apps/workflows/ 326 285 chmod: "555" 327 - - fromBuilder: build 328 - source: /app/packages/db 329 - target: /app/packages/db/ 330 - - source: apps/workflows/start.sh 331 - target: /app/start.sh 332 - chmod: "755" 333 - - fromBuilder: build 334 - source: /usr/local/bin/bun 335 - target: /usr/local/bin/bun 336 - chmod: "755" 337 - - fromBuilder: install 286 + - fromBuilder: libsql 287 + source: /app/node_modules 288 + target: /app/packages/db/node_modules 289 + - fromBuilder: libsql 338 290 source: /app/node_modules 339 291 target: /app/node_modules 340 292 - fromBuilder: ca-certs 341 293 source: /etc/ssl/certs/ca-certificates.crt 342 294 target: /etc/ssl/certs/ 343 295 expose: "3000" 344 - entrypoint: ["/bin/sh", "/app/start.sh"] 296 + entrypoint: /app/apps/workflows/app
+21 -19
apps/workflows/dofigen.yml
··· 62 62 NODE_ENV: production 63 63 run: bun build --compile --target bun --sourcemap --format=cjs src/index.ts --outfile=app 64 64 65 + docker: 66 + fromImage: oven/bun:1.3.5 67 + workdir: /app/apps/workflows 68 + copy: 69 + - . /app/ 70 + run: bun run src/build-docker.ts 71 + 72 + libsql: 73 + fromImage: oven/bun:1.3.3 74 + workdir: /app/ 75 + copy: 76 + - fromBuilder: docker 77 + source: /app/apps/build-docker/package.json 78 + target: /app/package.json 79 + run: bun install 80 + 65 81 ca-certs: 66 82 fromImage: debian:bullseye-slim 67 83 run: apt update && apt install -y ca-certificates && update-ca-certificates ··· 77 93 org.opencontainers.image.vendor: OpenStatus 78 94 org.opencontainers.image.authors: OpenStatus Team 79 95 80 - # Create data directory and install curl as root before switching to user 1000 81 - root: 82 - run: 83 - - apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/* 84 - - mkdir -p /app/data 85 - - chown -R 1000:1000 /app/data 86 - 87 96 # Copy artifacts from build stages 88 97 copy: 89 98 - fromBuilder: build 90 99 source: /app/apps/workflows/app 91 100 target: /app/apps/workflows/ 92 101 chmod: "555" 93 - - fromBuilder: build 94 - source: /app/packages/db 95 - target: /app/packages/db/ 96 - - source: apps/workflows/start.sh 97 - target: /app/start.sh 98 - chmod: "755" 99 - - fromBuilder: build 100 - source: /usr/local/bin/bun 101 - target: /usr/local/bin/bun 102 - chmod: "755" 103 - - fromBuilder: install 102 + - fromBuilder: libsql 103 + source: /app/node_modules 104 + target: /app/packages/db/node_modules 105 + - fromBuilder: libsql 104 106 source: /app/node_modules 105 107 target: /app/node_modules 106 108 - fromBuilder: ca-certs 107 109 source: /etc/ssl/certs/ca-certificates.crt 108 110 target: /etc/ssl/certs/ 109 111 expose: "3000" 110 - entrypoint: ["/bin/sh", "/app/start.sh"] 112 + entrypoint: /app/apps/workflows/app