A comprehensive automation system for network integration projects, combining React frontend with Python/Flask backend, featuring AI-powered document processing and automated network provisioning.
Project Title: Integration Automation System
Technologies Involved:
- Front-End: React/Next.js for building a modern web application with dynamic form handling and real-time validation
- Back-End: Python with Flask framework for RESTful API endpoints and business logic
- Database: SQLite for development, PostgreSQL for production
- Automation: Ansible for network configuration and VM provisioning
- AI: Ollama for document parsing and form field automation
- Documentation: MkDocs for automated documentation generation
Process Overview:
1.User Portal Access: Users access the web portal to create and manage network integration projects
2.Document Processing: Document parsing and form field automation (AI-powered features coming soon)
3.Project Configuration: Users input or validate project details including:
- Network configurations (VLANs, VSANs)
- Server requirements and maintenance windows
- Infrastructure specifications
- Backup schedules and update strategies
4.Automation Pipeline:
- Zero-Touch Provisioning (ZTP) for network devices
- Automated network configuration via Ansible
- Virtual infrastructure deployment through vCenter
- Network services configuration (DHCP, TFTP, DNS)
5.Documentation Generation: Automated creation of project documentation and network diagrams
Outcome:
The Integration Automation System reduces manual configuration tasks, minimizes human error, and standardizes network integration processes across projects.
-
Initial Project Setup
- Log into the web portal
- Create a new integration project
- Upload customer network documentation (if available)
-
Document Processing & Configuration
- System automatically extracts network configurations from uploaded documents *
- Review and validate extracted information
- Manually input or adjust configuration details:
- Network settings (VLANs, IP ranges)
- Server configurations
-
Infrastructure Configuration
- Configure network devices
- Set up virtual machines
-
Automation & Deployment
- System generates Ansible playbooks
- Initiates Zero-Touch Provisioning (ZTP)
- Deploys virtual infrastructure
- Configures network devices
-
Validation & Documentation
- System performs automated testing
- Validates network connectivity
- Verifies server configurations
- Generates as-built documentation
- Creates network diagrams
-
Ongoing Management
- Monitor deployment status
- View system health metrics
- Access generated documentation
- Track configuration changes
*Automatic document parsing and form completion via A.I. coming soon
- Project management portal
- Document parsing (AI features coming soon)
- Network configuration automation
- Zero-Touch Provisioning (ZTP)
- Automated documentation generation
- Frontend: Next.js/React
- Backend: Python/Flask
- Database: PostgreSQL
- Automation: Ansible, Python scripts, Terraform, AWX
- **AI: **Ollama (coming soon)
- Documentation: MkDocs
- Node.js 18+
- Python 3.9+
- Docker and Docker Compose
- PostgreSQL
- Clone the repository:
git clone [your-repo-url]
- Start the development environment:
docker compose up
- Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
- Documentation: http://localhost:8000
- Follow the installation steps above
- Create a new branch for your feature/fix:
git checkout -b feature/your-feature-name
- Run existing tests before submitting changes
- Add tests for new features
- Test in development environment before deploying
- Merge changes to main branch only after review
- Follow company deployment procedures
- Update documentation if needed
For questions about development, contact the project maintainers.
Full documentation is available in the /docs
directory and can be accessed through MkDocs at http://localhost:8000 or docs.lvic-techlab.com when running locally.
-
Copy the example files to create your actual configuration:
cp group_vars/all/vars.example.yml group_vars/all/vars.yml cp inventory/hosts.example inventory/hosts
-
Edit the copied files with your actual values:
vars.yml
: Contains all configuration variableshosts
: Contains your inventory information
The following variables must be set before running the playbooks:
network_domain
: Your domain namentp_servers
: List of NTP servers
k3s_version
: Version of K3s to installk3s_token
: Secure token for cluster communicationk3s_server_location
: Installation directory
db_host
: Database host addressdb_port
: Database portdb_name
: Database namedb_user
: Database usernamedb_password
: Database password
api_key
: Your API keysecret_key
: Your secret key
smtp_host
: SMTP server addresssmtp_port
: SMTP portsmtp_user
: SMTP usernamesmtp_password
: SMTP password
Never commit your actual variable files containing sensitive information. Always use the example files as templates and keep your real configuration secure.