A modern Python development toolkit.
Project description
jbussdieker-service
A modern Python development toolkit plugin for managing systemd services. This plugin integrates with the jbussdieker CLI framework to provide easy systemd service installation and management capabilities.
🚀 Features
- Systemd Service Installation: Automatically creates and configures systemd service files
- Service Management: Provides commands to install and manage jbussdieker services
- CLI Integration: Seamlessly integrates with the jbussdieker CLI framework
- Automatic Restart: Configures automatic restart on failure with configurable intervals
- Logging Integration: Proper logging configuration with journald integration
- User Management: Configures proper user and group permissions
📦 Installation
pip install jbussdieker-service --upgrade
🔧 Prerequisites
- Python 3.9 or higher
- Linux system with systemd
- jbussdieker CLI framework installed
- Appropriate user permissions for systemd service management
🎯 Usage
Install Systemd Service
Install the jbussdieker service as a systemd service:
jbussdieker service install
This command will:
- Create a systemd service file at
/etc/systemd/system/jbussdieker.service - Configure the service with proper restart policies
- Set up logging to journald
- Configure user and group permissions
Start the Service
After installation, you can manage the service using standard systemd commands:
# Start the service
sudo systemctl start jbussdieker
# Enable the service to start on boot
sudo systemctl enable jbussdieker
# Check service status
sudo systemctl status jbussdieker
# View service logs
sudo journalctl -u jbussdieker -f
🔍 How It Works
- Service Installation: Creates a systemd service file with proper configuration
- Service Configuration: Sets up restart policies, logging, and user permissions
- Integration: Integrates with the jbussdieker CLI framework for seamless operation
- Monitoring: Provides continuous service operation with proper logging
🛠️ Development
This plugin is part of the jbussdieker ecosystem. It integrates seamlessly with the jbussdieker CLI framework.
Project Structure
src/jbussdieker/service/
├── __init__.py
└── cli.py # CLI interface and service management
Service Configuration
The plugin creates a systemd service with the following configuration:
- Type: Simple service
- Restart Policy: Restart on failure with 5-second intervals
- User: jbussdieker
- Group: jbussdieker
- Working Directory: /tmp
- Logging: Integrated with systemd journal
📝 License
This project is licensed under MIT.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📚 Related
- jbussdieker - The main CLI framework
- systemd - System and service manager
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jbussdieker_service-0.5.1.tar.gz.
File metadata
- Download URL: jbussdieker_service-0.5.1.tar.gz
- Upload date:
- Size: 8.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
601ae8ed4e7c6b013c34d449dda729657b35b63e02ea0f0953670ab068a1dd7b
|
|
| MD5 |
1b1b62e6b2fbab6a7ba28f22b34bde83
|
|
| BLAKE2b-256 |
29fdbe2d77933aa1d1600f0666098ebc9e25c221a42486d32856a03bbd627740
|
File details
Details for the file jbussdieker_service-0.5.1-py3-none-any.whl.
File metadata
- Download URL: jbussdieker_service-0.5.1-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4a70f490ef211865ddaa73d255c53eeba9c928092dadc6128e99322bdcdd541
|
|
| MD5 |
b0c432e9f805b90de34ecc18d600ff10
|
|
| BLAKE2b-256 |
acab098155f0786f3447b81ff5e9c62f26a93e78a3735997db5e9a217c5a2c33
|