Skip to content

Commit 383be27

Browse files
authored
Merge branch 'feat/develop' into feat/disable-notification-domains
2 parents 4225338 + 4f18d26 commit 383be27

File tree

127 files changed

+3942
-12818
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+3942
-12818
lines changed

.github/workflows/build_container.yml

Lines changed: 44 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ on:
1212
types: [published]
1313
workflow_dispatch:
1414

15+
concurrency:
16+
group: ${{ github.workflow }}-${{ github.ref }}
17+
cancel-in-progress: true
18+
1519
env:
1620
REGISTRY: ghcr.io
1721
API_IMAGE: ${{ github.repository }}-api
@@ -20,7 +24,7 @@ env:
2024
NEXT_PUBLIC_PORT: 7443
2125

2226
jobs:
23-
build-and-push:
27+
build-and-push-api:
2428
runs-on: ubuntu-latest
2529
permissions:
2630
contents: read
@@ -33,23 +37,16 @@ jobs:
3337
fetch-depth: 0
3438
ssh-key: ${{ secrets.DEPLOY_KEY }}
3539

36-
- name: Create .env files
37-
run: |
38-
cp .env.sample api/.env
39-
cp .env.sample view/.env
40+
- name: Create .env file
41+
run: cp .env.sample api/.env
4042

4143
- name: Set up Docker Buildx
4244
uses: docker/setup-buildx-action@v3
4345
with:
4446
platforms: linux/amd64,linux/arm64
45-
46-
- name: Cache Docker layers
47-
uses: actions/cache@v4
48-
with:
49-
path: /tmp/.buildx-cache
50-
key: ${{ runner.os }}-buildx-${{ github.sha }}
51-
restore-keys: |
52-
${{ runner.os }}-buildx-
47+
driver-opts: |
48+
image=moby/buildkit:latest
49+
network=host
5350
5451
- name: Log in to the Container registry
5552
uses: docker/login-action@v3
@@ -79,13 +76,39 @@ jobs:
7976
labels: ${{ steps.meta-api.outputs.labels }}
8077
build-args: |
8178
API_PORT=${{ env.API_PORT }}
82-
cache-from: type=local,src=/tmp/.buildx-cache
83-
cache-to: type=local,dest=/tmp/.buildx-cache-new
79+
cache-from: type=registry,ref=${{ env.REGISTRY }}/${{ env.API_IMAGE }}:buildcache
80+
cache-to: type=registry,ref=${{ env.REGISTRY }}/${{ env.API_IMAGE }}:buildcache,mode=max
81+
82+
build-and-push-view:
83+
runs-on: ubuntu-latest
84+
permissions:
85+
contents: read
86+
packages: write
87+
88+
steps:
89+
- name: Checkout repository
90+
uses: actions/checkout@v4
91+
with:
92+
fetch-depth: 0
93+
ssh-key: ${{ secrets.DEPLOY_KEY }}
8494

85-
- name: Move cache
86-
run: |
87-
rm -rf /tmp/.buildx-cache
88-
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
95+
- name: Create .env file
96+
run: cp .env.sample view/.env
97+
98+
- name: Set up Docker Buildx
99+
uses: docker/setup-buildx-action@v3
100+
with:
101+
platforms: linux/amd64,linux/arm64
102+
driver-opts: |
103+
image=moby/buildkit:latest
104+
network=host
105+
106+
- name: Log in to the Container registry
107+
uses: docker/login-action@v3
108+
with:
109+
registry: ${{ env.REGISTRY }}
110+
username: ${{ github.actor }}
111+
password: ${{ secrets.GITHUB_TOKEN }}
89112

90113
- name: Extract metadata for View
91114
id: meta-view
@@ -108,10 +131,5 @@ jobs:
108131
labels: ${{ steps.meta-view.outputs.labels }}
109132
build-args: |
110133
NEXT_PUBLIC_PORT=${{ env.NEXT_PUBLIC_PORT }}
111-
cache-from: type=local,src=/tmp/.buildx-cache
112-
cache-to: type=local,dest=/tmp/.buildx-cache-new
113-
114-
- name: Move cache
115-
run: |
116-
rm -rf /tmp/.buildx-cache
117-
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
134+
cache-from: type=registry,ref=${{ env.REGISTRY }}/${{ env.VIEW_IMAGE }}:buildcache
135+
cache-to: type=registry,ref=${{ env.REGISTRY }}/${{ env.VIEW_IMAGE }}:buildcache,mode=max

.github/workflows/release-cli.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,7 @@ jobs:
312312
with:
313313
token: ${{ secrets.GITHUB_TOKEN }}
314314
fetch-depth: 0
315+
persist-credentials: false
315316

316317
- name: Download all artifacts
317318
uses: actions/download-artifact@v4

CHANGELOG.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,48 @@
1+
# [0.1.0-alpha.76](https://github.com/raghavyuva/nixopus/compare/v0.1.0-alpha.75...v0.1.0-alpha.76) (2025-12-08)
2+
3+
4+
### Bug Fixes
5+
6+
* external database URL parsing .env creation in install command ([#663](https://github.com/raghavyuva/nixopus/issues/663)) ([a2f6dd1](https://github.com/raghavyuva/nixopus/commit/a2f6dd1502ee716b62ee39cf8160813a29849cf0))
7+
8+
9+
10+
# [0.1.0-alpha.75](https://github.com/raghavyuva/nixopus/compare/v0.1.0-alpha.74...v0.1.0-alpha.75) (2025-12-08)
11+
12+
13+
### Bug Fixes
14+
15+
* docker compose file profiles not considered during install ([eebd07e](https://github.com/raghavyuva/nixopus/commit/eebd07ec055e38d97ceb71a522d35ab908b53593))
16+
17+
18+
19+
# [0.1.0-alpha.74](https://github.com/raghavyuva/nixopus/compare/v0.1.0-alpha.73...v0.1.0-alpha.74) (2025-12-07)
20+
21+
22+
### Bug Fixes
23+
24+
* add retry mechanism for service registration to caddy ([#656](https://github.com/raghavyuva/nixopus/issues/656)) ([4579278](https://github.com/raghavyuva/nixopus/commit/457927891d470173a67395be34ac8366a66f2eab))
25+
26+
27+
28+
# [0.1.0-alpha.73](https://github.com/raghavyuva/nixopus/compare/v0.1.0-alpha.72...v0.1.0-alpha.73) (2025-12-07)
29+
30+
31+
### Bug Fixes
32+
33+
* add --no-scripts in dockerfile to support multi platform builds ([6a5cd5c](https://github.com/raghavyuva/nixopus/commit/6a5cd5cc937f8b6fa5416bdb35d04f81e7a2f83f))
34+
35+
36+
### Features
37+
38+
* add support for external database connectivity ([#651](https://github.com/raghavyuva/nixopus/issues/651)) ([5f85177](https://github.com/raghavyuva/nixopus/commit/5f85177adc564c7109f831a448ea71e706398ad1))
39+
* add support for staging compose file if --staging option used in cli ([0765460](https://github.com/raghavyuva/nixopus/commit/0765460ddee03048760ff4915c5f2f3ba0852b31))
40+
* convert config class to functional ([#641](https://github.com/raghavyuva/nixopus/issues/641)) ([37e99ef](https://github.com/raghavyuva/nixopus/commit/37e99efd3421edac74f8d1ce17bcb12889c4f464))
41+
* **timeout:** convert util/timeout to functional ([#639](https://github.com/raghavyuva/nixopus/issues/639)) ([77a31a5](https://github.com/raghavyuva/nixopus/commit/77a31a5d8830162e12e0753b2fc8b8af54029cb2))
42+
* update config usages across cli ([#653](https://github.com/raghavyuva/nixopus/issues/653)) ([4ff6dc0](https://github.com/raghavyuva/nixopus/commit/4ff6dc08a0bf0f125d8d99a401388db1529e05b2))
43+
44+
45+
146
# [0.1.0-alpha.72](https://github.com/raghavyuva/nixopus/compare/v0.1.0-alpha.71...v0.1.0-alpha.72) (2025-12-06)
247

348

api/.dockerignore

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
.git
2+
.gitignore
3+
README.md
4+
*.md
5+
*.log
6+
.env
7+
.env.*
8+
Dockerfile
9+
Dockerfile.*
10+
.dockerignore
11+
bin/
12+
tmp/
13+
.vscode
14+
.idea
15+
coverage
16+
test
17+
tests
18+
*_test.go
19+
*.test
20+
doc/

api/Dockerfile

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,27 @@
11
FROM golang:1.25-alpine AS builder
22
ARG API_PORT
3-
RUN apk add --no-cache make git
3+
ARG TARGETOS
4+
ARG TARGETARCH
5+
RUN apk add --no-cache --no-scripts make git
46

57
WORKDIR /app
68

9+
# Cache dependencies separately
710
COPY go.mod go.sum ./
8-
RUN go mod download
11+
RUN --mount=type=cache,target=/go/pkg/mod \
12+
go mod download
913

14+
# Copy source code
1015
COPY . .
11-
COPY ./migrations /app/migrations
12-
COPY ./templates /app/templates
1316

14-
RUN make build
17+
# Build with cache mounts and cross-compilation
18+
RUN --mount=type=cache,target=/go/pkg/mod \
19+
--mount=type=cache,target=/root/.cache/go-build \
20+
GOOS=${TARGETOS} GOARCH=${TARGETARCH} make build
1521

1622
FROM alpine:3.18
1723
ARG API_PORT
18-
RUN apk add --no-cache ca-certificates bash docker-cli
24+
RUN apk add --no-cache --no-scripts ca-certificates bash docker-cli
1925

2026
WORKDIR /app
2127

api/api/versions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
{
44
"version": "v1",
55
"status": "active",
6-
"release_date": "2025-12-06T20:03:19.706992+05:30",
6+
"release_date": "2025-12-08T04:10:16.688878689+05:30",
77
"end_of_life": "0001-01-01T00:00:00Z",
88
"changes": [
99
"Initial API version"

api/internal/features/extension/loader/loader.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@ func (l *ExtensionLoader) LoadExtensionsFromDirectory(ctx context.Context, dirPa
4040
continue
4141
}
4242

43-
// log.Printf("Successfully loaded extension: %s (%s)", extension.Name, extension.ExtensionID)
43+
if (i+1)%10 == 0 || i == len(extensions)-1 {
44+
log.Printf("Processed %d/%d extensions", i+1, len(extensions))
45+
}
4446
}
4547

4648
return nil

api/internal/storage/config.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ func NewDB(c *Config) (*bun.DB, error) {
4444
return nil, err
4545
}
4646

47+
config.DefaultQueryExecMode = pgx.QueryExecModeSimpleProtocol
48+
4749
sqldb := stdlib.OpenDB(*config)
4850
sqldb.SetMaxOpenConns(c.MaxOpenConn)
4951
sqldb.SetMaxIdleConns(c.MaxIdleConn)

cli/Makefile

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,6 @@ nixopus: ## Run nixopus CLI
5757
poetry run nixopus $(ARGS); \
5858
fi
5959

60-
conflict: ## Run conflict command
61-
@poetry run nixopus conflict $(ARGS)
62-
63-
preflight: ## Run preflight command
64-
@poetry run nixopus preflight $(ARGS)
65-
6660
version: ## Show version
6761
@poetry run nixopus version
6862

0 commit comments

Comments
 (0)