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
Metadata
Release files for jbussdieker-service 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jbussdieker_service-0.5.1.tar.gz | 8.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jbussdieker_service-0.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.8 kB
Release files / jbussdieker_service-0.5.1.tar.gz
| Download URL | jbussdieker_service-0.5.1.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
601ae8ed4e7c6b013c34d449dda729657b35b63e02ea0f0953670ab068a1dd7b
|
|
BLAKE2b-256 checksum How to use checksums |
29fdbe2d77933aa1d1600f0666098ebc9e25c221a42486d32856a03bbd627740
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|
Release files / jbussdieker_service-0.5.1-py3-none-any.whl
| Download URL | jbussdieker_service-0.5.1-py3-none-any.whl |
|---|---|
| Size | 4.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c4a70f490ef211865ddaa73d255c53eeba9c928092dadc6128e99322bdcdd541
|
|
BLAKE2b-256 checksum How to use checksums |
acab098155f0786f3447b81ff5e9c62f26a93e78a3735997db5e9a217c5a2c33
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|