Skip to content

NurOS-Linux/NeoInit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neoinit

License: GPL-3.0

A modern, lightweight, and blazingly fast init system designed as a high-performance alternative to SystemD.

FeaturesInstallationUsageDocumentationContributing

Features

🚀 High Performance

  • Lightning-fast boot times
  • Minimal memory footprint
  • Efficient process management
  • Optimized dependency resolution

🔧 Core Functionality

  • Service management
  • Process supervision
  • Dependency handling
  • Resource control
  • Socket activation
  • Event system

🛡️ Security

  • Minimal attack surface
  • Secure by default configuration
  • Resource isolation
  • Privilege separation

🔄 Compatibility

  • SystemD service file compatibility
  • Traditional init script support
  • Container-friendly
  • Cloud-native ready

Quick Start

Prerequisites

# Debian/Ubuntu
sudo apt install build-essential git

# RHEL/Fedora
sudo dnf groupinstall "Development Tools"

Building from Source

git clone https://github.com/nuros-linux/neoinit.git
cd neoinit
make
sudo make install

Basic Usage

# Start a service
sudo neoinit start nginx

# Stop a service
sudo neoinit stop nginx

# Check service status
sudo neoinit status nginx

# View all services
sudo neoinit list

Configuration

Service Files

Services are defined in /etc/neoinit/services/. Example service file:

[Service]
Name=nginx
Description=NGINX Web Server
ExecStart=/usr/sbin/nginx
Type=forking
Restart=always

[Dependencies]
Requires=network.service
After=network.service

[Resources]
MemoryLimit=512M
CPUWeight=100

System Configuration

Main configuration file: /etc/neoinit/neoinit.conf

[General]
DefaultTimeout=90
MaxServices=1000
LogLevel=info

[Security]
EnableAudit=true
EnforceResourceLimits=true

Architecture

┌─────────────────┐
│  Service Manager│
├─────────────────┤
│ Process Monitor │
│ Resource Control│
│ Socket Activator│
│ Event Handler   │
└─────────────────┘

API Reference

// Start a service
int start_service(const char *service_name);

// Stop a service
int stop_service(const char *service_name);

// Get service status
service_status_t get_service_status(const char *service_name);

See API Documentation for complete reference.

Development

Building for Development

# Debug build
make debug

# Run tests
make test

# Static analysis
make analyze

Directory Structure

neoinit/
├── src/          # Source code
├── include/      # Header files
├── tests/        # Test suite
├── docs/         # Documentation
└── tools/        # Additional tools

Contributing

We welcome contributions! Please see our Contributing Guidelines.

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

Support

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.


Created by AnmiTaliDev and AnmiTali/NurOS Team with ❤️ for Nuros Linux

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages