Help with Building VyOS ISO with Modified vyos-1x Source
Hello VyOS community,
First off, thank you for providing such an amazing product for routing!
I’m trying to build a custom VyOS ISO using the vyos-build project, but I’ve encountered an issue. By default, the build process installs vyos-1x from the APT repository. However, I’ve made some modifications to the vyos-1x source code, and I want the ISO to include my changes.
I tried setting VYOS1X_REPO_URL in the build-vyos-image script to point to my custom vyos-1x Git repository, but it didn’t seem to take effect.
Could you please guide me on how to:
Ensure that vyos-1x is built from my modified source code during the ISO build process?
Prevent vyos-1x from being installed from the APT repository?
I’d appreciate any tips, best practices, or relevant sections of the vyos-build scripts that I need to modify to achieve this.
Thank you for your quick response! I have another idea.
Guidance on Integrating a Web-Based Management Application into VyOS
I’m currently working on a project where I aim to develop a web-based management application for VyOS, written in Go. My idea is to create a fully browser-based management interface where users can manage VyOS configurations through a clean web UI, alongside an HTTP API for automation.
Here’s what I’m planning to achieve:
Go Application:
The application will expose an HTTP API and provide a simple browser-based interface for managing VyOS (similar in spirit to VyControl).
The application will communicate with VyOS using either the REST API or direct CLI commands.
Integration into VyOS:
Clone the application source code during the VyOS ISO build process (using vyos-build).
Build the Go application and set it up as a systemd service.
Ensure a static IP is configured on eth0 (e.g., 192.168.1.1) during the build process, so the HTTP API is always accessible.
Goals:
Create a seamless experience for managing VyOS through a browser.
Ensure the application is secure (using HTTPS, token-based auth, etc.).
Make this feature part of the VyOS system by integrating it into vyos-1x.
Questions for the Community:
Integration with VyOS:
What’s the best way to execute VyOS CLI commands or interact with the VyOS REST API from within a custom application? Any tips or pitfalls to watch out for?
Including the Application in the ISO:
Are there recommended practices for modifying the vyos-build process to include external applications like this?
Is there a preferred way to add a static IP configuration to eth0 during the build process?
Contributing to VyOS:
If this project becomes stable and functional, would it be possible to contribute it to VyOS as a feature? If so, what guidelines should I follow for contributions?
I’d greatly appreciate any tips, best practices, or examples from anyone who has done similar projects or has knowledge about integrating custom applications into VyOS.