build: publish tunnel with server releases
This commit is contained in:
@@ -70,6 +70,24 @@ jobs:
|
||||
cache-from: type=gha,scope=rmm-server
|
||||
cache-to: type=gha,mode=max,scope=rmm-server
|
||||
|
||||
- name: Build and optionally publish tunnel image
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: deploy/tunnel
|
||||
file: deploy/tunnel/Dockerfile
|
||||
push: ${{ startsWith(github.ref, 'refs/tags/server-v') }}
|
||||
tags: |
|
||||
ghcr.io/benya9669/openwrt-rmm-tunnel:${{ steps.version.outputs.value }}
|
||||
ghcr.io/benya9669/openwrt-rmm-tunnel:latest
|
||||
labels: |
|
||||
org.opencontainers.image.title=OpenWrt RMM Tunnel
|
||||
org.opencontainers.image.source=https://github.com/Benya9669/openwrt-rmm
|
||||
org.opencontainers.image.revision=${{ github.sha }}
|
||||
org.opencontainers.image.version=${{ steps.version.outputs.value }}
|
||||
org.opencontainers.image.licenses=AGPL-3.0-only
|
||||
cache-from: type=gha,scope=rmm-tunnel
|
||||
cache-to: type=gha,mode=max,scope=rmm-tunnel
|
||||
|
||||
- name: Create GitHub release
|
||||
if: startsWith(github.ref, 'refs/tags/server-v')
|
||||
env:
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
FROM golang:1.26.5-alpine AS build
|
||||
|
||||
WORKDIR /src
|
||||
|
||||
+6
-4
@@ -5,12 +5,14 @@ Copyright (c) 2026 Benya.
|
||||
This repository uses separate licenses for the cloud application and the OpenWrt
|
||||
components:
|
||||
|
||||
- `server/` and `web/` are licensed under the GNU Affero General Public License,
|
||||
version 3 only (`AGPL-3.0-only`). The canonical license text is in
|
||||
- `server/`, `web/`, `deploy/tunnel/`, the root server `Dockerfile` and
|
||||
`compose.yaml` are licensed under the GNU Affero General Public License, version 3
|
||||
only (`AGPL-3.0-only`). The canonical license text is in
|
||||
`LICENSES/AGPL-3.0-only.txt`.
|
||||
- `agent/`, including the Go agent, shell compatibility agent, LuCI application,
|
||||
OpenWrt package recipes and their configuration files, is licensed under the MIT
|
||||
License. The license text is in `LICENSES/MIT.txt` and `agent/LICENSE`.
|
||||
OpenWrt package recipes and their configuration files, and `deploy/luci-builder/`
|
||||
are licensed under the MIT License. The license text is in `LICENSES/MIT.txt` and
|
||||
`agent/LICENSE`.
|
||||
- Documentation outside those directories is licensed under `AGPL-3.0-only`, unless a
|
||||
file states otherwise.
|
||||
|
||||
|
||||
+10
-2
@@ -7,14 +7,22 @@ Versioning.
|
||||
|
||||
Tags use `server-vMAJOR.MINOR.PATCH`, for example `server-v0.8.0`.
|
||||
|
||||
A server release contains the Go API, web interface, database migrations and deployment
|
||||
files. The GitHub Actions server workflow tests the server and publishes:
|
||||
A server release contains the Go API, web interface, database migrations and the coupled
|
||||
SSH reverse-tunnel service. The GitHub Actions server workflow tests the server and
|
||||
publishes two images with the same version:
|
||||
|
||||
```text
|
||||
ghcr.io/benya9669/openwrt-rmm-server:0.8.0
|
||||
ghcr.io/benya9669/openwrt-rmm-server:latest
|
||||
ghcr.io/benya9669/openwrt-rmm-tunnel:0.8.0
|
||||
ghcr.io/benya9669/openwrt-rmm-tunnel:latest
|
||||
```
|
||||
|
||||
The tunnel remains a separate container for isolation, but shares the server release line
|
||||
because its SSH policy and port-forwarding behavior form part of the server-side protocol.
|
||||
Introduce independent `tunnel-v*` releases only if the tunnel later gains a separate API
|
||||
and lifecycle.
|
||||
|
||||
Increment `MAJOR` for incompatible API or migration requirements, `MINOR` for compatible
|
||||
features, and `PATCH` for compatible fixes. Database backups remain mandatory before a
|
||||
production upgrade even when the release is marked compatible.
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
FROM golang:1.26.5-bookworm AS go-agent
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
FROM alpine:3.21
|
||||
|
||||
RUN apk add --no-cache openssh-server netcat-openbsd
|
||||
|
||||
Reference in New Issue
Block a user