From eb5f5f91cdd2eb37b4b99ed66b90887b8c6f4895 Mon Sep 17 00:00:00 2001 From: Paul Makles Date: Mon, 10 Feb 2025 20:28:48 +0000 Subject: [PATCH] feat: add crond container definitions --- .github/workflows/docker.yaml | 4 ++++ Dockerfile | 1 + Dockerfile.useCurrentArch | 1 + README.md | 1 + crates/daemons/crond/Dockerfile | 10 ++++++++++ scripts/build-image-layer.sh | 3 +++ scripts/publish-debug-image.sh | 2 ++ 7 files changed, 22 insertions(+) create mode 100644 crates/daemons/crond/Dockerfile diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 58e186d0..76107876 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -110,6 +110,10 @@ jobs: "pushd": { "path": "crates/daemons/pushd", "tag": "${{ github.repository_owner }}/pushd" + }, + "crond": { + "path": "crates/daemons/crond", + "tag": "${{ github.repository_owner }}/crond" } } export_to: output diff --git a/Dockerfile b/Dockerfile index 10112b66..c75748c2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,6 +29,7 @@ COPY crates/core/presence/Cargo.toml ./crates/core/presence/ COPY crates/core/result/Cargo.toml ./crates/core/result/ COPY crates/services/autumn/Cargo.toml ./crates/services/autumn/ COPY crates/services/january/Cargo.toml ./crates/services/january/ +COPY crates/daemons/crond/Cargo.toml ./crates/daemons/crond/ COPY crates/daemons/pushd/Cargo.toml ./crates/daemons/pushd/ RUN sh /tmp/build-image-layer.sh deps diff --git a/Dockerfile.useCurrentArch b/Dockerfile.useCurrentArch index 34a69462..54b508ef 100644 --- a/Dockerfile.useCurrentArch +++ b/Dockerfile.useCurrentArch @@ -25,6 +25,7 @@ COPY crates/core/presence/Cargo.toml ./crates/core/presence/ COPY crates/core/result/Cargo.toml ./crates/core/result/ COPY crates/services/autumn/Cargo.toml ./crates/services/autumn/ COPY crates/services/january/Cargo.toml ./crates/services/january/ +COPY crates/daemons/crond/Cargo.toml ./crates/daemons/crond/ COPY crates/daemons/pushd/Cargo.toml ./crates/daemons/pushd/ RUN sh /tmp/build-image-layer.sh deps diff --git a/README.md b/README.md index c480340f..d0894dee 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ The services and libraries that power the Revolt service.
| `services/january` | [crates/services/january](crates/services/january) | Proxy server | ![License](https://img.shields.io/badge/license-AGPL--3.0--or--later-blue) | | `services/autumn` | [crates/services/autumn](crates/services/autumn) | File server | ![License](https://img.shields.io/badge/license-AGPL--3.0--or--later-blue) | | `bindings/node` | [crates/bindings/node](crates/bindings/node) | Node.js bindings for the Revolt software | ![License](https://img.shields.io/badge/license-AGPL--3.0--or--later-blue) | +| `daemons/crond` | [crates/daemons/crond](crates/daemons/crond) | Timed data clean up daemon server | ![License](https://img.shields.io/badge/license-AGPL--3.0--or--later-blue) | | `daemons/pushd` | [crates/daemons/pushd](crates/daemons/pushd) | Push notification daemon server | ![License](https://img.shields.io/badge/license-AGPL--3.0--or--later-blue) | diff --git a/crates/daemons/crond/Dockerfile b/crates/daemons/crond/Dockerfile new file mode 100644 index 00000000..8a4c915a --- /dev/null +++ b/crates/daemons/crond/Dockerfile @@ -0,0 +1,10 @@ +# Build Stage +FROM ghcr.io/revoltchat/base:latest AS builder +FROM debian:12 AS debian + +# Bundle Stage +FROM gcr.io/distroless/cc-debian12:nonroot +COPY --from=builder /home/rust/src/target/release/revolt-crond ./ + +USER nonroot +CMD ["./revolt-crond"] \ No newline at end of file diff --git a/scripts/build-image-layer.sh b/scripts/build-image-layer.sh index 4b2e18c4..064ee756 100644 --- a/scripts/build-image-layer.sh +++ b/scripts/build-image-layer.sh @@ -34,12 +34,14 @@ deps() { crates/core/result/src \ crates/services/autumn/src \ crates/services/january/src \ + crates/daemons/crond/src \ crates/daemons/pushd/src echo 'fn main() { panic!("stub"); }' | tee crates/bonfire/src/main.rs | tee crates/delta/src/main.rs | tee crates/services/autumn/src/main.rs | tee crates/services/january/src/main.rs | + tee crates/daemons/crond/src/main.rs | tee crates/daemons/pushd/src/main.rs echo '' | tee crates/bindings/node/src/lib.rs | @@ -62,6 +64,7 @@ apps() { touch -am \ crates/bonfire/src/main.rs \ crates/delta/src/main.rs \ + crates/daemons/crond/src/main.rs \ crates/daemons/pushd/src/main.rs \ crates/core/config/src/lib.rs \ crates/core/database/src/lib.rs \ diff --git a/scripts/publish-debug-image.sh b/scripts/publish-debug-image.sh index 247338ab..6686344c 100755 --- a/scripts/publish-debug-image.sh +++ b/scripts/publish-debug-image.sh @@ -25,6 +25,7 @@ docker build -t ghcr.io/revoltchat/server:$TAG - < crates/delta/Dockerfile docker build -t ghcr.io/revoltchat/bonfire:$TAG - < crates/bonfire/Dockerfile docker build -t ghcr.io/revoltchat/autumn:$TAG - < crates/services/autumn/Dockerfile docker build -t ghcr.io/revoltchat/january:$TAG - < crates/services/january/Dockerfile +docker build -t ghcr.io/revoltchat/crond:$TAG - < crates/daemons/crond/Dockerfile docker build -t ghcr.io/revoltchat/pushd:$TAG - < crates/daemons/pushd/Dockerfile if [ "$DEBUG" = "true" ]; then @@ -35,4 +36,5 @@ docker push ghcr.io/revoltchat/server:$TAG docker push ghcr.io/revoltchat/bonfire:$TAG docker push ghcr.io/revoltchat/autumn:$TAG docker push ghcr.io/revoltchat/january:$TAG +docker push ghcr.io/revoltchat/crond:$TAG docker push ghcr.io/revoltchat/pushd:$TAG