Skip to content

Latest commit

 

History

History
80 lines (55 loc) · 2.41 KB

README.md

File metadata and controls

80 lines (55 loc) · 2.41 KB

ACL Relay

This repository hosts the ACL Relay project, designed to provide a robust, scalable, and efficient mechanism for synchronizing Access Control Lists (ACLs) across a network by using a custom relay system. The project leverages relay-based communication protocols to ensure data consistency and real-time updates in environments with multiple nodes.


Features

  • Real-time Synchronization: Ensure that ACL updates are propagated to all nodes with minimal latency.
  • Distributed Architecture: Built to handle distributed systems with multiple endpoints.
  • High Scalability: Optimized for large-scale systems with numerous ACL rules and nodes.
  • Resilient Communication: Uses a relay-based protocol for reliable message delivery.
  • Extensible Design: Easily integrate with other systems or extend functionality as needed.

Prerequisites

Before setting up or contributing to the project, ensure you have the following installed:

  • Go: Version 1.20 or later for compile FFI go library.
  • rust: For build relay-synchronization application.
  • Git: For cloning the repository.
  • Any necessary dependencies will be specified in the go.mod file.

Getting Started

  1. Clone the Repository:

    git clone https://github.com/hetu-project/acl-relay.git
    cd acl-relay
  2. Run the Application:

    cargo build
  3. Configuration: Adjust the configuration file ( config.yaml) to set up relay endpoints and ACL rules.


Usage

This project acts as a middleware to synchronize ACLs between multiple nodes.

  • Add ACL Rules: Use the provided API to add or update rules dynamically.
  • Monitor Updates: Nodes receive real-time updates when ACLs are modified.
  • Extend Functionality: The relay design allows you to plug in custom logic or integrate with external systems.

Contributing

Contributions are welcome! To contribute:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature/your-feature-name
  3. Commit your changes:
    git commit -m "Add a new feature"
  4. Push the changes:
    git push origin feature/your-feature-name
  5. Open a pull request.

Contact

For questions or support, feel free to contact the maintainers via GitHub issues or submit a request through hetu-project.