Skip to content

Releases: iNethi/inethi

v1.1.0 - Production-Ready Configuration System & Code Quality Improvements

21 Aug 22:34
8461f5a
Compare
Choose a tag to compare

iNethi Platform v1.1.0 Release Notes

Release Date: August 2025
Version: v1.1.0
Tag: v1.1.0
Author: Keegan White ([email protected])

🚀 Major Enhancements

Centralized Configuration System

  • New Environment Management: Implemented production-focused configuration system with centralized variables
  • Ansible Vault Integration: Secure password management with encrypted vault files
  • Interactive Setup: User-friendly setup_config.py and validate_config.py scripts
  • Unified Main Script: Enhanced main.py with interactive deployment flow

Code Quality & Standards

  • Flake8 Compliance: All Python code now passes flake8 linting (0 errors)
  • Auto-Formatting: Integrated autopep8 for consistent code formatting
  • Type Safety: Improved TypeScript-style type hints throughout
  • Error Handling: Enhanced exception handling and user feedback

User Experience Improvements

  • Colored Output: Beautiful terminal interface with ANSI colors and emojis
  • Interactive Prompts: Guided setup process with clear instructions
  • Validation System: Comprehensive configuration validation before deployment
  • Progress Indicators: Real-time feedback during Ansible playbook execution

🔧 Technical Improvements

Configuration Management

  • Centralized Variables: All Ansible variables moved to ansible/group_vars/all.yml
  • Environment Files: .env template system with default_passwords.json
  • Vault Security: Encrypted password storage with secure permissions
  • Validation: Multi-stage configuration validation with helpful error messages

Ansible Integration

  • Role Updates: All 14 Ansible roles updated to use centralized configuration
  • Playbook Enhancement: Added vault file integration to all playbooks
  • Docker Compose: Modernized RADIUSdesk deployment with Docker Compose v2
  • Certificate Management: Updated certificate download URLs and validation

Documentation

  • Comprehensive README: Complete setup and running instructions
  • Installation Manual: Step-by-step guide for non-technical users
  • Configuration Reference: Detailed variable documentation
  • Quick Start Guide: Rapid deployment instructions

🛠️ New Features

Interactive Deployment

  • Service Selection: Choose specific services or deploy all with "select all" option
  • Verbose Mode: --verbose flag for detailed Ansible output
  • Non-Interactive Mode: Automated deployment using .env configuration
  • Skip Options: --skip-setup for advanced users

Security Enhancements

  • Vault Password Management: Secure encryption with user-defined passwords
  • Default Password System: Centralized default passwords with easy customization
  • Permission Management: Proper file permissions for sensitive data
  • SSL Certificate Handling: Improved certificate validation and management

📁 File Structure Changes

New Files

  • config.py - Centralized configuration management
  • setup_config.py - Interactive configuration setup
  • validate_config.py - Configuration validation
  • utils/colors.py - Terminal color utilities
  • default_passwords.json - Service password templates
  • .env.example - Environment configuration template
  • .flake8 - Code linting configuration

Updated Files

  • main.py - Complete rewrite with interactive deployment
  • pre-installation.sh - Enhanced with colors and file copying
  • README.md - Comprehensive documentation
  • All Ansible playbooks and roles updated for centralized configuration

🔄 Migration Notes

For Existing Users

  • Backup Required: Backup your existing configuration before upgrading
  • New Setup Process: Run ./pre-installation.sh followed by python3 main.py
  • Vault Migration: Existing passwords need to be migrated to new vault system
  • Configuration: Review and update .env file with new variable structure

Breaking Changes

  • Environment Variables: New .env structure with different variable names
  • Ansible Variables: All role defaults moved to centralized group_vars/all.yml
  • Password Management: New vault-based password system
  • Deployment Flow: Interactive setup replaces manual configuration

🐛 Bug Fixes

  • Certificate Issues: Fixed empty acme.json and certificate download URLs
  • Vault Password: Resolved duplicate password prompts during setup
  • Validation Errors: Fixed "Auth value is required" validation issues
  • Ansible Warnings: Eliminated duplicate key warnings and deprecation notices

📋 System Requirements

  • Python: 3.8+ with virtual environment
  • Ansible: 2.12+ with required collections
  • Target Server: Ubuntu with SSH access
  • Network: LAN connectivity between host and target

📦 Installation

Quick Start

# Clone the repository
git clone https://github.com/iNethi/inethi.git
cd inethi

# Run pre-installation
./pre-installation.sh

# Activate virtual environment
source venv/bin/activate

# Start interactive deployment
python3 main.py

Command Line Options

# Deploy specific services
python3 main.py --services nextcloud,jellyfin

# Deploy all services
python3 main.py --services all

# Skip system setup
python3 main.py --skip-setup

# Non-interactive mode
python3 main.py --non-interactive

# Verbose output
python3 main.py --verbose

🔐 Security Notes

  • All passwords are now stored in encrypted Ansible vault files
  • Default passwords are provided but should be changed for production
  • SSL certificates are automatically managed by Traefik
  • File permissions are properly set for sensitive data

📞 Support

For issues and questions:


This release represents a major milestone in making the iNethi platform more user-friendly, secure, and maintainable while maintaining all existing functionality.

v1.0.1

03 Dec 10:13
Compare
Choose a tag to compare

v1.0.1 of the iNethi builder includes the following services: Azuracast, dnsmasq, Grafana, InfluxDB, iNethi splash screen, Jellyfin, Keycloak, Kiwix, Moodle, Nextcloud, Prometheus, Radiusdesk, Traefik and WordPress.