middleware-manager/Makefile
hhftechnologies c459063475
Some checks are pending
Build and Push Docker Image / build-and-push (push) Waiting to run
Tests / Run Tests (push) Waiting to run
Tests / Lint (push) Waiting to run
Tests / Build (push) Blocked by required conditions
Add Traefik Manager module, UI and build
Introduce a standalone Traefik Manager mode and SPA: new internal/traefikmanager package (config, helpers, files, settings, runtime, handlers, server, types) with tests and supporting testdata; add a new React/TypeScript SPA under traefik-ui/ (components, pages, build config, tests). Update build & packaging: modify Dockerfile to build the traefik-ui app and include it in the final image, add new Makefile targets for building/running both UIs and modes, and add a traefik-manager service to docker-compose (with MODE env). Add runtime config loading and README docs for the new MODE, plus .gitignore entries for traefik-ui artifacts. Small updates to main.go and added traefik_mode.go.
2026-04-15 12:22:52 +05:30

79 lines
1.9 KiB
Makefile

.PHONY: build build-ui build-traefik-ui build-backend run clean docker-build docker-push test dev dev-ui dev-traefik-ui dev-traefik-manager deps typecheck typecheck-traefik-ui lint-ui
APP_NAME := middleware-manager
DOCKER_REPO := hhftechnology
DOCKER_TAG := latest
GO_FILES := $(shell find . -name "*.go" -not -path "./vendor/*")
all: build
build: build-ui build-traefik-ui build-backend
build-ui:
@echo "Building middleware-manager UI..."
cd ui && npm install && npm run build
build-traefik-ui:
@echo "Building Traefik Manager UI..."
cd traefik-ui && npm install && npm run build
build-backend:
@echo "Building backend..."
go build -o $(APP_NAME) .
run: build
@echo "Running application..."
./$(APP_NAME)
clean:
@echo "Cleaning..."
rm -f $(APP_NAME)
rm -rf ui/dist traefik-ui/dist
docker-build: build
@echo "Building Docker image..."
docker build -t $(DOCKER_REPO)/$(APP_NAME):$(DOCKER_TAG) .
docker-push: docker-build
@echo "Pushing Docker image..."
docker push $(DOCKER_REPO)/$(APP_NAME):$(DOCKER_TAG)
test:
@echo "Running tests..."
go test -v ./...
dev:
@echo "Running middleware-manager in development mode..."
go run .
dev-ui:
@echo "Running middleware-manager UI in development mode..."
cd ui && npm run dev
dev-traefik-ui:
@echo "Running Traefik Manager UI in development mode..."
cd traefik-ui && npm run dev
dev-traefik-manager:
@echo "Running Traefik Manager backend in development mode..."
MODE=traefik-manager go run .
deps:
@echo "Installing Go dependencies..."
go mod download
@echo "Installing middleware-manager UI dependencies..."
cd ui && npm install
@echo "Installing Traefik Manager UI dependencies..."
cd traefik-ui && npm install
typecheck:
@echo "Type checking middleware-manager UI..."
cd ui && npm run typecheck
typecheck-traefik-ui:
@echo "Type checking Traefik Manager UI..."
cd traefik-ui && npm run typecheck
lint-ui:
@echo "Linting middleware-manager UI..."
cd ui && npm run lint