Skip to content

Commit e816e39

Browse files
README.md updated with more details
1 parent 95f5808 commit e816e39

File tree

1 file changed

+125
-21
lines changed

1 file changed

+125
-21
lines changed

README.md

Lines changed: 125 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,142 @@
1-
# Backend Component - Linux ACL Management Interface
1+
# Linux ACL Management Interface - Backend Component
22

3-
Securing Linux Storage with ACLs: An Open-Source Web Management Interface for Enhanced Data Protection.
3+
A robust web-based management interface for Linux Access Control Lists (ACLs), designed to enhance data protection and simplify ACL administration. This project provides a modern, user-friendly solution for managing file system permissions in Linux environments.
44

5-
Progress Docs: https://pythonhacker24.github.io/linux-acl-management/
5+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
66

7-
## Releases
7+
[View Documentation](https://pythonhacker24.github.io/linux-acl-management/)
88

9-
- `main`: Production Branch
10-
- `development-v<version_name>`: Development Branch of specific version
9+
## Features
1110

12-
## Documentation
11+
- Intuitive web interface for ACL management
12+
- High-performance backend written in Go
13+
- Real-time ACL updates
14+
- Comprehensive ACL reporting and visualization
15+
- Integration with OpenLDAP for authentication
1316

14-
To be written ...
17+
## Quick Start
1518

16-
## Progress Report
19+
### Prerequisites
1720

18-
To be written ...
21+
- Go 1.20 or higher
22+
- Docker (optional)
23+
- Redis
24+
- OpenLDAP server
25+
26+
### Local Installation
27+
28+
1. Clone the repository:
29+
```bash
30+
git clone https://github.com/yourusername/linux-acl-management.git
31+
cd linux-acl-management
32+
```
33+
34+
2. Install dependencies:
35+
```bash
36+
go mod download
37+
```
38+
39+
3. Build the application:
40+
```bash
41+
go build -o acl-manager
42+
```
43+
44+
### Production Build
45+
46+
For production build, it is recommended to use the Makefile. This allows you to build the complete binary on locally for security purposes. Since the project is in development mode, complete local build is not possible since dependencies are managed via GitHub and external vendors. Tarball based complete local builds will be developed in later stages.
47+
48+
1. Clone the repository:
49+
```bash
50+
git clone https://github.com/yourusername/linux-acl-management.git
51+
cd linux-acl-management
52+
```
53+
54+
2. Use make:
55+
```bash
56+
make build
57+
```
58+
59+
3. Execute the binary
60+
```bash
61+
./bin/laclm --config config.yaml
62+
```
63+
64+
### Docker Testbench Deployment
65+
66+
A simulated environment has been developed on docker-compose for testing and experimenting purposes. It's not a production level build but a training ground for testing your config.yaml file for specific scenario.
67+
68+
```bash
69+
docker-compose up -d
70+
```
71+
72+
A complete optional Docker based deployment option will be developed in later stages of development
73+
74+
## Usage
75+
76+
1. Start the server:
77+
```bash
78+
./acl-manager
79+
```
80+
81+
2. Access the api at `http://<ip-address>:<port>`
82+
83+
3. Configure your settings in `config.yaml`
84+
85+
For detailed usage instructions, please refer to our [documentation](https://pythonhacker24.github.io/linux-acl-management/).
86+
87+
## Project Structure
88+
89+
```
90+
.
91+
├── cmd/ # Application entry points
92+
├── internal/ # Private application code
93+
├── pkg/ # Public library code
94+
├── api/ # API definitions and handlers
95+
├── docs/ # Documentation
96+
└── deployments/ # Deployment configurations
97+
```
98+
99+
## Development
100+
101+
### Branches
102+
103+
- `main`: Production-ready code
104+
- `development-v<version>`: Development branches for specific versions
105+
106+
### Contributing
107+
108+
1. Fork the repository
109+
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
110+
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
111+
4. Push to the branch (`git push origin feature/amazing-feature`)
112+
5. Open a Pull Request
113+
114+
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and development process.
19115
20116
## About
21117
22-
- **Organization:** Department of Biomedical Informatics, Emory University
23-
- **Program:** Google Summer of Code 2025
24-
- **Contributor:** Aditya Patil
25-
- **Mentors:** Robert Tweedy, Mahmoud Zeydabadinezhad, PhD
118+
This project is developed as part of Google Summer of Code 2025, in collaboration with the Department of Biomedical Informatics at Emory University.
26119
27-
This project is part of Google Summer of Code 2025, undertaken with the Department of Biomedical Informatics at Emory University.
120+
### Team
28121
29-
## Technologies Used
122+
- **Contributor:** Aditya Patil
123+
- **Mentors:**
124+
- Robert Tweedy
125+
- Mahmoud Zeydabadinezhad, PhD
30126
31-
- **Programming Languages:** Golang
32-
- **Frameworks/Libraries:** net/http
33-
- **Standards/Protocols:** gRPC, REST
34-
- **Tools:** Tarball, Redis, Docker, OpenLDAP
127+
### Technologies
128+
129+
- **Backend:** Golang, net/http
130+
- **API:** gRPC, REST
131+
- **Infrastructure:** Docker, Redis, OpenLDAP
132+
- **Packaging:** Tarball
35133
36134
## License
37135
38-
This project is licensed under the MIT License - see the LICENSE file for details.
136+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
137+
138+
## Acknowledgments
139+
140+
- Department of Biomedical Informatics, Emory University
141+
- Google Summer of Code Program
142+
- Open Source Community

0 commit comments

Comments
 (0)