Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
1269fcd
Clean up task from supernode and sn manager
mateeullahmalik Oct 3, 2025
233d074
Consolidate p2p logic in adapter
mateeullahmalik Oct 3, 2025
d115fe6
Cleanup
mateeullahmalik Oct 3, 2025
90b89d6
Fixes
mateeullahmalik Oct 4, 2025
2647c37
FileName
mateeullahmalik Oct 4, 2025
9e1360e
go fmt
mateeullahmalik Oct 4, 2025
c27161d
SDK changes
mateeullahmalik Oct 4, 2025
028179e
sn-manager update
mateeullahmalik Oct 7, 2025
d11dda7
remove unused vars
mateeullahmalik Oct 8, 2025
6b073a4
batch size
mateeullahmalik Oct 8, 2025
5b93c20
Add logs for meta files
mateeullahmalik Oct 8, 2025
2ddda94
Add pprof routing via swagger
j-rafique Oct 8, 2025
b433567
Merge pull request #201 from LumeraProtocol/pprofRoutingSwagger
j-rafique Oct 8, 2025
ba79a79
Route pprof via swagger endpoints
j-rafique Oct 9, 2025
b43dd13
Merge pull request #202 from LumeraProtocol/pprRouteViaSwagger
j-rafique Oct 9, 2025
d8c9a88
fix : go mod; regenrate proto
mateeullahmalik Oct 9, 2025
662f237
resolve do mod issues
mateeullahmalik Oct 9, 2025
92e557a
tighten stable release check
mateeullahmalik Oct 10, 2025
1184a54
Task tracking + Supernode deterministic selection In SDK (#203)
mateeullahmalik Oct 10, 2025
f6035f8
Add active filter in Supernode Block Query
mateeullahmalik Oct 10, 2025
f5d9e65
fix : Dont call unregister ALTS on connection close
mateeullahmalik Oct 10, 2025
cd7f498
improve suernode selection and discovery
mateeullahmalik Oct 10, 2025
82d6271
Improve task tracking
mateeullahmalik Oct 10, 2025
2e5e879
Move adapters to outside cascade
mateeullahmalik Oct 13, 2025
0604508
Add version gating in dht
mateeullahmalik Oct 13, 2025
fda3eae
Add snapshot capture timeouts in status api
mateeullahmalik Oct 13, 2025
33b6184
Rq-8-GB-Logs
mateeullahmalik Oct 13, 2025
ae0b6c1
Migrate github client to main pkg
mateeullahmalik Oct 14, 2025
4891e24
Enforce version check in sdk
mateeullahmalik Oct 14, 2025
ad82259
Add cache for supernode info calls in sdk
mateeullahmalik Oct 17, 2025
2938b5c
Enhancements in cascadekit, supenrode (#205)
mateeullahmalik Oct 20, 2025
c2372e8
Optionally enforce min supernode version (#206)
mateeullahmalik Oct 20, 2025
6a2e43e
Merge origin/master into supernode-refactor: keep refactor deletions …
mateeullahmalik Oct 21, 2025
c5b142a
Optimize supernode symbol fetch
j-rafique Oct 22, 2025
e322576
log fix
j-rafique Oct 22, 2025
5789526
Rank supernodes by free ram (#207)
mateeullahmalik Oct 22, 2025
ffdd516
Merge pull request #210 from LumeraProtocol/OptimizeFetchUpdates
j-rafique Oct 22, 2025
f40a187
Relax hard equality check on action fee (#213)
mateeullahmalik Oct 22, 2025
89c4abb
Rank supernodes; xor, ram,storage (#214)
mateeullahmalik Oct 23, 2025
4e1a726
exclude sn free resource check in sdk
mateeullahmalik Oct 23, 2025
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
8 changes: 8 additions & 0 deletions .github/workflows/build&release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,15 @@ jobs:

- name: Build binaries
run: |
# Ensure module metadata is up to date
go mod tidy
# Build supernode
CGO_ENABLED=1 go build -trimpath -o /tmp/supernode ./supernode

# Build sn-manager
cd sn-manager
# Ensure sn-manager module metadata is up to date
go mod tidy
CGO_ENABLED=0 go build -trimpath -o /tmp/sn-manager .

echo "✅ Build successful"
Expand Down Expand Up @@ -86,6 +90,8 @@ jobs:
DD_API_KEY: ${{ secrets.DD_API_KEY }}
DD_SITE: ${{ secrets.DD_SITE }}
run: |
# Ensure module metadata is up to date
go mod tidy
mkdir -p release

# Build supernode
Expand All @@ -105,6 +111,8 @@ jobs:

# Build sn-manager
cd sn-manager
# Ensure sn-manager module metadata is up to date
go mod tidy
CGO_ENABLED=0 \
GOOS=linux \
GOARCH=amd64 \
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ jobs:
uses: actions/checkout@v4
- name: Setup Go and system deps
uses: ./.github/actions/setup-env
- name: Go mod tidy
run: go mod tidy

- name: Run unit tests
run: go test $(go list ./... | grep -v '/tests') -v
Expand Down Expand Up @@ -75,4 +77,4 @@ jobs:
# run: make setup-supernodes

# - name: Run sn-manager e2e tests
# run: make test-sn-manager
# run: make test-sn-manager
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
*.so
*.dylib
*.idea/

*.zip
# Test binary, built with `go test -c`
*.test

Expand Down
41 changes: 34 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
.PHONY: build build-release build-sncli build-sn-manager
.PHONY: build build-sncli build-sn-manager
.PHONY: install-lumera setup-supernodes system-test-setup install-deps
.PHONY: gen-cascade gen-supernode
.PHONY: test-e2e test-unit test-integration test-system
.PHONY: release

# Build variables
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
GIT_COMMIT ?= $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown")
BUILD_TIME ?= $(shell date -u '+%Y-%m-%d_%H:%M:%S')

# Linker flags for version information
# Optional minimum peer version for DHT gating can be provided via MIN_VER env/make var
LDFLAGS = -X github.com/LumeraProtocol/supernode/v2/supernode/cmd.Version=$(VERSION) \
-X github.com/LumeraProtocol/supernode/v2/supernode/cmd.GitCommit=$(GIT_COMMIT) \
-X github.com/LumeraProtocol/supernode/v2/supernode/cmd.BuildTime=$(BUILD_TIME) \
-X github.com/LumeraProtocol/supernode/v2/supernode/cmd.MinVer=$(MIN_VER) \
-X github.com/LumeraProtocol/supernode/v2/pkg/logtrace.DDAPIKey=$(DD_API_KEY) \
-X github.com/LumeraProtocol/supernode/v2/pkg/logtrace.DDSite=$(DD_SITE)

Expand All @@ -22,11 +25,8 @@ SN_MANAGER_LDFLAGS = -X main.Version=$(VERSION) \

build:
@mkdir -p release
CGO_ENABLED=1 \
GOOS=linux \
GOARCH=amd64 \
echo "Building supernode..."
go build \
@echo "Building supernode..."
CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build \
-trimpath \
-ldflags="-s -w $(LDFLAGS)" \
-o release/supernode-linux-amd64 \
Expand Down Expand Up @@ -116,7 +116,7 @@ SETUP_SCRIPT=tests/scripts/setup-supernodes.sh
# Optional: specify lumera binary path to skip download
LUMERAD_BINARY ?=
# Optional: specify installation mode (latest-release, latest-tag, or vX.Y.Z)
INSTALL_MODE ?=latest-tag
INSTALL_MODE ?=v1.7.2

install-lumera:
@echo "Installing Lumera..."
Expand Down Expand Up @@ -148,3 +148,30 @@ test-cascade:
test-sn-manager:
@echo "Running sn-manager e2e tests..."
@cd tests/system && go test -tags=system_test -v -run '^TestSNManager' .



# Release command: push branch, tag, and push tag with auto-increment - this is for testing only (including releases) setup a new remote upstream or rename the script
release:
@echo "Getting current branch..."
$(eval CURRENT_BRANCH := $(shell git branch --show-current))
@echo "Current branch: $(CURRENT_BRANCH)"

@echo "Getting latest tag..."
$(eval LATEST_TAG := $(shell git tag -l "v*" | sort -V | tail -n1))
$(eval NEXT_TAG := $(shell \
if [ -z "$(LATEST_TAG)" ]; then \
echo "v2.5.0"; \
else \
echo "$(LATEST_TAG)" | sed 's/^v//' | awk -F. '{print "v" $$1 "." $$2 "." $$3+1}'; \
fi))
@echo "Next tag: $(NEXT_TAG)"

@echo "Pushing branch to upstream..."
git push upstream $(CURRENT_BRANCH) -f

@echo "Creating and pushing tag $(NEXT_TAG)..."
git tag $(NEXT_TAG)
git push upstream $(NEXT_TAG)

@echo "Release complete: $(NEXT_TAG) pushed to upstream"
7 changes: 0 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,19 +54,12 @@ message StatusResponse {
string hardware_summary = 4; // Formatted hardware summary (e.g., "8 cores / 32GB RAM")
}

message ServiceTasks {
string service_name = 1;
repeated string task_ids = 2;
int32 task_count = 3;
}

message Network {
int32 peers_count = 1; // Number of connected peers in P2P network
repeated string peer_addresses = 2; // List of connected peer addresses (format: "ID@IP:Port")
}

Resources resources = 3;
repeated ServiceTasks running_tasks = 4; // Services with currently running tasks
repeated string registered_services = 5; // All registered/available services
Network network = 6; // P2P network information
int32 rank = 7; // Rank in the top supernodes list (0 if not in top list)
Expand Down
7 changes: 0 additions & 7 deletions cmd/sncli/cli/cmd_get_status.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,6 @@ func (c *CLI) GetSupernodeStatus() error {
fmt.Printf(" Memory: %.2fGB used / %.2fGB total (%.2f%%)\n",
resp.Resources.Memory.UsedGB, resp.Resources.Memory.TotalGB, resp.Resources.Memory.UsagePercent)

if len(resp.RunningTasks) > 0 {
fmt.Println(" Running Tasks:")
for _, service := range resp.RunningTasks {
fmt.Printf(" - %s (Tasks: %d)\n", service.ServiceName, service.TaskCount)
}
}

if len(resp.RegisteredServices) > 0 {
fmt.Println(" Registered Services:")
for _, svc := range resp.RegisteredServices {
Expand Down
Loading