A system for managing Linux Access Control Lists (ACLs) through a web interface with gRPC backend communication.
Progress Docs: https://pythonhacker24.github.io/linux-acl-management/
- Go 1.21 or later
- Protocol Buffers compiler (protoc)
- Node.js (for frontend)
-
Install Protocol Buffers compiler (protoc):
# macOS brew install protobuf # Linux apt-get install protobuf-compiler
-
Install Go protocol buffer plugins:
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
-
Install project dependencies:
cd backend-server go mod tidy
-
Generate Protocol Buffer code:
cd backend-server protoc --go_out=. --go-grpc_out=. --go_opt=paths=source_relative --go-grpc_opt=paths=source_relative proto/daemon.proto -
Build the backend server:
cd backend-server go build -
Run the server:
./backend-server
The backend server configuration is stored in backend.yaml. Example configuration:
servers:
- name: "daemon1"
address: "localhost:50051"
- name: "daemon2"
address: "localhost:50052"The backend server provides the following endpoints:
GET /health- Health check endpoint- Additional endpoints to be documented
This project is licensed under the MIT License - see the LICENSE file for details.