Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ jobs:
with:
scan-type: "fs"
scan-ref: "."
severity: "HIGH,CRITICAL"
severity: "HIGH"
format: "sarif"
output: "trivy-dependencies-results.sarif"
skip-setup-trivy: true
Expand Down Expand Up @@ -130,7 +130,7 @@ jobs:
with:
image-ref: nadmax/nexq-${{ matrix.component }}:${{ github.sha }}
format: "sarif"
severity: "HIGH,CRITICAL"
severity: "HIGH"
output: "trivy-${{ matrix.component }}-results.sarif"
skip-setup-trivy: true

Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
*.out
.env
coverage*
server
worker
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ Nexq uses Pogocache instead of traditional caching solutions because:

### Prerequisites

- Go 1.25.3 or higher
- Docker (recommended)
- Go 1.25.7 or higher if available
- Docker
- Pogocache server running locally or remotely

### Installation
Expand All @@ -44,12 +44,12 @@ See [ARCHITECTURE.md](https://github.com/nadmax/nexq/blob/master/docs/ARCHITECTU

## Use Cases

- Image/video processing pipelines
- Report task performance generator
- Data synchronization tasks
- Scheduled maintenance jobs
- Webhook delivery with retries
- Batch processing operations
- [x] Report task performance generator
- [ ] Image/video processing pipelines
- [ ] Data synchronization tasks
- [ ] Scheduled maintenance jobs
- [ ] Webhook delivery with retries
- [ ] Batch processing operations

## Configuration

Expand Down Expand Up @@ -82,7 +82,7 @@ Feel free to use this project however you'd like!

## Resources

- [Go 1.25.5](https://golang.org/)
- [Go 1.25.7](https://golang.org/)
- [Pogocache](https://github.com/pogocache/pogocache) - Fast caching with focus on low latency and CPU efficiency
- [go-redis](https://github.com/redis/go-redis) - Redis/Pogocache client for Go
- [sendgrid-go](https://github.com/sendgrid/sendgrid-go) - SendGrid Golang API Library
Expand Down
4 changes: 2 additions & 2 deletions docker/pogocache.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM pogocache/pogocache:1.3.0
RUN apk add --no-cache netcat-openbsd
FROM pogocache/pogocache:1.3.1
RUN apk add --no-cache netcat-openbsd libssl3=3.5.5-r0 libcrypto3=3.5.5-r0
USER nobody
ENTRYPOINT ["/usr/local/bin/pogocache"]
4 changes: 2 additions & 2 deletions docker/server.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
FROM golang:1.25.5-alpine AS builder
FROM golang:1.25.7-alpine AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY ./ ./
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags "-s -w" -o server ./cmd/server/

FROM alpine:3.22 AS final
FROM alpine:3.23 AS final
RUN apk --no-cache add ca-certificates
WORKDIR /app
COPY --from=builder /app/server ./
Expand Down
4 changes: 2 additions & 2 deletions docker/worker.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
FROM golang:1.25.5-alpine AS builder
FROM golang:1.25.7-alpine AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY ./ ./
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags "-s -w" -o worker ./cmd/worker/

FROM alpine:3.22 AS final
FROM alpine:3.23 AS final
RUN apk --no-cache add ca-certificates
WORKDIR /app
COPY --from=builder /app/worker ./
Expand Down
7 changes: 2 additions & 5 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
module github.com/nadmax/nexq

go 1.25.5
go 1.25.7

require (
github.com/DATA-DOG/go-sqlmock v1.5.2
github.com/alicebob/miniredis/v2 v2.35.0
github.com/google/uuid v1.6.0
github.com/lib/pq v1.10.9
github.com/prometheus/client_golang v1.23.2
github.com/prometheus/client_model v0.6.2
github.com/redis/go-redis/v9 v9.17.1
github.com/sendgrid/sendgrid-go v3.16.1+incompatible
github.com/stretchr/testify v1.11.1
)

Expand All @@ -21,13 +21,10 @@ require (
github.com/kr/text v0.2.0 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/prometheus/client_model v0.6.2 // indirect
github.com/prometheus/common v0.66.1 // indirect
github.com/prometheus/procfs v0.16.1 // indirect
github.com/sendgrid/rest v2.6.9+incompatible // indirect
github.com/yuin/gopher-lua v1.1.1 // indirect
go.yaml.in/yaml/v2 v2.4.2 // indirect
golang.org/x/net v0.48.0 // indirect
golang.org/x/sys v0.39.0 // indirect
google.golang.org/protobuf v1.36.8 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
Expand Down
6 changes: 0 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,6 @@ github.com/redis/go-redis/v9 v9.17.1 h1:7tl732FjYPRT9H9aNfyTwKg9iTETjWjGKEJ2t/5i
github.com/redis/go-redis/v9 v9.17.1/go.mod h1:u410H11HMLoB+TP67dz8rL9s6QW2j76l0//kSOd3370=
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
github.com/sendgrid/rest v2.6.9+incompatible h1:1EyIcsNdn9KIisLW50MKwmSRSK+ekueiEMJ7NEoxJo0=
github.com/sendgrid/rest v2.6.9+incompatible/go.mod h1:kXX7q3jZtJXK5c5qK83bSGMdV6tsOE70KbHoqJls4lE=
github.com/sendgrid/sendgrid-go v3.16.1+incompatible h1:zWhTmB0Y8XCDzeWIm2/BIt1GjJohAA0p6hVEaDtHWWs=
github.com/sendgrid/sendgrid-go v3.16.1+incompatible/go.mod h1:QRQt+LX/NmgVEvmdRw0VT/QgUn499+iza2FnDca9fg8=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/yuin/gopher-lua v1.1.1 h1:kYKnWBjvbNP4XLT3+bPEwAXJx262OhaHDWDVOPjL46M=
Expand All @@ -58,8 +54,6 @@ go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI=
go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU=
golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU=
golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY=
golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk=
golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc=
Expand Down