Help with Building VyOS ISO with Modified `vyos-1x` Source

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:

  1. Ensure that vyos-1x is built from my modified source code during the ISO build process?
  2. 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 help!

In the vyos-1x repo build binary

sudo dpkg-buildpackage -us -uc -b

it will create something like this vyos-1x_1.5dev0-2432-gff13d4d28+dirty_amd64.deb

Then two options

  1. copy binary to the vyos system and install it sudo dpkg -i *.deb && rm *.deb
  2. put binary to vyos-build/packages and create iso

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:

  1. 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.
  1. 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.
  1. 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:

  1. 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?
  1. 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?
  1. 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.

Thank you for your time and help!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.