Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
9ce08c7
Updated the variables
NehaNaithani May 11, 2022
3ec6d5f
Merge pull request #11 from Datasance/main
kilton Oct 17, 2024
d7216d7
merge prep
emirhandurmus Mar 24, 2026
9e693cb
Merge pull request #12 from Datasance/iofog/merge
emirhandurmus Mar 24, 2026
46449e4
github ci branches edited
emirhandurmus Mar 24, 2026
4dcf964
workflow secrets edited
emirhandurmus Mar 24, 2026
2c1d0f8
Merge pull request #13 from Datasance/iofog/merge
emirhandurmus Mar 24, 2026
5692b05
fixed workflow yaml gh token
emirhandurmus Mar 24, 2026
29228ff
Merge pull request #14 from Datasance/iofog/merge
emirhandurmus Mar 24, 2026
7938ab3
Add root NOTICE and remove per-file EPL headers
emirhandurmus Jun 15, 2026
d180795
Retarget module to github.com/eclipse-iofog/router on Go 1.26.4
emirhandurmus Jun 15, 2026
0eda686
Adopt ioFog SDK v3 LocalAPI client with bounded retry
emirhandurmus Jun 15, 2026
c81e907
Accept SKUPPER_PLATFORM=iofog as an alias for pot mode
emirhandurmus Jun 15, 2026
823c690
Pin skupper-router 3.5.1 in production Dockerfile and add Dockerfile.dev
emirhandurmus Jun 15, 2026
8b5a347
Remove legacy Azure Pipeline definitions
emirhandurmus Jun 15, 2026
4d1180e
Extend ignore rules for build output and local tooling
emirhandurmus Jun 15, 2026
42f4b15
Add golangci-lint config, Makefile, and vulncheck script.
emirhandurmus Jun 15, 2026
1620ccd
Rename shared packages to match Go naming conventions.
emirhandurmus Jun 15, 2026
0e02e27
Fix linter findings in the qdr AMQP management client.
emirhandurmus Jun 15, 2026
3f315fd
Fix linter findings in config, router startup, and file watchers.
emirhandurmus Jun 15, 2026
a98fbd9
Add develop CI workflows and dual-mirror set-build-env action.
emirhandurmus Jun 15, 2026
dcfe4ca
Add release workflow for UBI amd64/arm64 publish on v* tags.
emirhandurmus Jun 15, 2026
78f916f
Add Dockerfile.edge for arm/v7 and riscv64 Debian builds.
emirhandurmus Jun 16, 2026
dcd1ca1
wire 4-platform release manifest for UBI + edge images.
emirhandurmus Jun 16, 2026
6c64706
Slim edge scratch images to 133–145 MB; verify arm/v7 and riscv64 smoke.
emirhandurmus Jun 17, 2026
3889d20
efresh README, add CHANGELOG v3.8.0, and CONTRIBUTING.
emirhandurmus Jun 17, 2026
8ffd173
Merge eclipse-iofog develop; retain v3.8.0 modernization tree
emirhandurmus Jun 17, 2026
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
3 changes: 2 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.idea
.vscode
x.json
zz.yaml
zz.yaml
bin
49 changes: 49 additions & 0 deletions .github/actions/set-build-env/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Set router build environment
description: Resolves router image registry, container image, OCI source, distribution, and GitHub repo from workflow env or github.repository.

runs:
using: composite
steps:
- name: Set image registry and OCI source
shell: bash
run: |
REGISTRY="${{ env.IMAGE_REGISTRY }}"
OCI_SOURCE="${{ env.OCI_SOURCE_REPO }}"
ROUTER_IMAGE="${{ env.ROUTER_CONTAINER_IMAGE }}"
if [ -z "$REGISTRY" ] || [ -z "$OCI_SOURCE" ] || [ -z "$ROUTER_IMAGE" ]; then
case "${{ github.repository }}" in
eclipse-iofog/router)
REGISTRY="${REGISTRY:-ghcr.io/eclipse-iofog}"
OCI_SOURCE="${OCI_SOURCE:-https://github.com/eclipse-iofog/router}"
ROUTER_IMAGE="${ROUTER_IMAGE:-ghcr.io/eclipse-iofog/router}"
;;
*)
REGISTRY="${REGISTRY:-ghcr.io/datasance}"
OCI_SOURCE="${OCI_SOURCE:-https://github.com/Datasance/router}"
ROUTER_IMAGE="${ROUTER_IMAGE:-ghcr.io/datasance/router}"
;;
esac
fi
echo "IMAGE_REGISTRY=$REGISTRY" >> "${GITHUB_ENV}"
echo "OCI_SOURCE_REPO=$OCI_SOURCE" >> "${GITHUB_ENV}"
echo "ROUTER_CONTAINER_IMAGE=$ROUTER_IMAGE" >> "${GITHUB_ENV}"

- name: Set router distribution
shell: bash
run: |
DISTRIBUTION="${{ env.ROUTER_DISTRIBUTION }}"
GITHUB_REPO="${{ env.ROUTER_GITHUB_REPO }}"
if [ -z "$DISTRIBUTION" ] || [ -z "$GITHUB_REPO" ]; then
case "${{ github.repository }}" in
eclipse-iofog/router)
DISTRIBUTION="${DISTRIBUTION:-iofog}"
GITHUB_REPO="${GITHUB_REPO:-eclipse-iofog/router}"
;;
*)
DISTRIBUTION="${DISTRIBUTION:-datasance}"
GITHUB_REPO="${GITHUB_REPO:-Datasance/router}"
;;
esac
fi
echo "ROUTER_DISTRIBUTION=$DISTRIBUTION" >> "${GITHUB_ENV}"
echo "ROUTER_GITHUB_REPO=$GITHUB_REPO" >> "${GITHUB_ENV}"
147 changes: 147 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
name: CI

on:
pull_request:
branches: [develop]
paths-ignore:
- README.md
- CHANGELOG.md
- LICENSE
push:
branches: [develop]
paths-ignore:
- README.md
- CHANGELOG.md
- LICENSE
workflow_dispatch:

permissions: read-all

env:
GO_VERSION: '1.26.4'

jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- name: Set up Go
uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: go.sum

- run: go version

- name: golangci-lint
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
with:
version: v2.12.2
args: --timeout=5m0s --config .golangci.yaml

- name: Static security analysis
run: make security-code

test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- name: Set up Go
uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: go.sum

- run: go version

- name: Run unit tests
run: make test

- name: Check formatting
run: make fmt-check

docker-smoke:
name: Docker smoke (${{ matrix.slug }})
runs-on: ubuntu-latest
needs: [lint, test]
strategy:
fail-fast: false
matrix:
include:
- slug: amd64
platform: linux/amd64
dockerfile: Dockerfile
- slug: arm64
platform: linux/arm64
dockerfile: Dockerfile
- slug: armv7
platform: linux/arm/v7
dockerfile: Dockerfile.edge
- slug: riscv64
platform: linux/riscv64
dockerfile: Dockerfile.edge
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- uses: ./.github/actions/set-build-env
env:
IMAGE_REGISTRY: ${{ vars.IMAGE_REGISTRY }}
ROUTER_CONTAINER_IMAGE: ${{ vars.ROUTER_CONTAINER_IMAGE }}
OCI_SOURCE_REPO: ${{ vars.OCI_SOURCE_REPO }}
ROUTER_DISTRIBUTION: ${{ vars.ROUTER_DISTRIBUTION }}
ROUTER_GITHUB_REPO: ${{ vars.ROUTER_GITHUB_REPO }}

- name: Set up QEMU
uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0

- name: Build and load image
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
with:
context: .
file: ${{ matrix.dockerfile }}
platforms: ${{ matrix.platform }}
load: true
push: false
cache-from: type=gha,scope=router-${{ matrix.slug }}
cache-to: type=gha,mode=max,scope=router-${{ matrix.slug }}
build-args: |
OCI_SOURCE_REPO=${{ env.OCI_SOURCE_REPO }}
OCI_VERSION=ci
OCI_REVISION=${{ github.sha }}
ROUTER_DISTRIBUTION=${{ env.ROUTER_DISTRIBUTION }}
tags: ${{ env.ROUTER_CONTAINER_IMAGE }}:ci-smoke-${{ matrix.slug }}

- name: Runtime smoke (router → launch.sh → skrouterd)
env:
IMAGE: ${{ env.ROUTER_CONTAINER_IMAGE }}:ci-smoke-${{ matrix.slug }}
PLATFORM: ${{ matrix.platform }}
run: |
set -euo pipefail
docker run -d --name router-smoke --platform "${PLATFORM}" \
-e SKUPPER_PLATFORM=kubernetes \
-v "${GITHUB_WORKSPACE}/test/smoke-skrouterd.json:/tmp/skrouterd.json:ro" \
"${IMAGE}"
cleanup() { docker rm -f router-smoke >/dev/null 2>&1 || true; }
trap cleanup EXIT
for _ in $(seq 1 30); do
if docker logs router-smoke 2>&1 | grep -q "Listening on 0.0.0.0:5672"; then
echo "Runtime smoke passed: skrouterd listening on :5672"
exit 0
fi
if ! docker ps -q -f name=router-smoke | grep -q .; then
echo "Container exited before skrouterd became ready"
docker logs router-smoke 2>&1 || true
exit 1
fi
sleep 2
done
echo "Timed out waiting for skrouterd to listen on :5672"
docker logs router-smoke 2>&1 || true
exit 1
28 changes: 28 additions & 0 deletions .github/workflows/govulncheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: govulncheck

on:
schedule:
- cron: "0 0 * * 0"
workflow_dispatch: {}

permissions: read-all

env:
GO_VERSION: '1.26.4'

jobs:
govulncheck:
name: govulncheck
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- name: Set up Go
uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: go.sum

- name: Run govulncheck
run: make vulncheck
125 changes: 0 additions & 125 deletions .github/workflows/push.yaml

This file was deleted.

Loading
Loading