dd010101 / vyos-jenkins

Instructions on how to build your own vyos package mirror for stable branches (1.3 equuleus/1.4 sagitta) with Jenkins (for ISO build)
52 stars 15 forks source link

To make people's lives easier... #24

Closed Neboer closed 1 month ago

Neboer commented 1 month ago

I have just finished building an image, and everything is working perfectly. I want to express my sincere thanks for the exceptional work. Building VyOS from scratch would have been almost impossible without your contribution. The LTS version is incredibly valuable, and I truly appreciate your efforts.

I have some concerns about the claim made by the VyOS team regarding the open-source nature of their project. While they state that the project is open source, the ISO image and prebuilt artifacts are kept private, which seems contradictory. This lack of transparency raises questions about the consistency between the source code and the final binary release. Do they truly open-source everything, or is there a "secret" branch exclusively for their paying customers? It's difficult to determine the specifics.

I'm wondering if there could be a release that would facilitate the building of the VyOS LTS branch ISO image. Releasing the ISO directly might not be advisable, but perhaps we could release something like:

Not every location has a reliable internet connection, the entire build process requires downloading a significant number of packages, repositories, and patches from various source sites. And when setting up a proxy server to gain access to these servers is essential, the complexity is further compounded by the fact that most of the build processes occur in docker containers which are challenging to configure with a proxy. I've tested by just setting envs for docker containers, they can lead to undesirable situations, such as the failure of the HTTP client test and cause a failure in build process; and some of the build processes just ignore the envs of the proxy server.... This poses a significant challenge for us.

Once again, I'd like to request the possibility of having releases to address these issues."

dd010101 commented 1 month ago

Do they truly open-source everything, or is there a "secret" branch exclusively for their paying customers?

I do believe as of now the repositories contain the stable branches that are directly used to build LTS images. There is exception in form of paid addons - like the VPP addon, this is standalone thing though, it's not part of the VyOS as such. If this stays this way - who knows, we shall see.

I'm wondering if there could be a release that would facilitate the building of the VyOS LTS branch ISO image. Releasing the ISO directly might not be advisable, but perhaps we could release something like...

I see this as learning process for people who want to maintant their own package mirror. The setup isn't simple but you get pretty good idea what is going on, what pieces are being used and this helps you when you need to debug something. This isn't really inteded for everyone to follow, only for those who want to.

There is ongoing work by @GurliGebis where soon there would be very much automated way how to do the readme steps. This should statify your first point as much as is possible. We shall see but it may work well that the second point isn't even needed.

I recognize that making everyone run and maintant their own package repository isn't efficient, even if it's one script that does it all - it still doesn't make sense because it would waste resources. That's why my vision is that couple people from the community who have the means will make their package repository public for others - some efforts is ongoing. In such case you would only need to do the How to really build ISO part. Thus this is the ultimate goal - to make community version of the APT repository as replacement for the closed one and then anyone can build stable branches as they were used to. This should satisfy the third point.

Distribution of ISO isn't something I want to do, I like for people to use the process that was used before the closure. This allows them to just make ISO easily but also to make customizations easy.

Neboer commented 1 month ago

Yes, your are right. The final goal is to make VyOS easy to be modified but not just been built. I appreciate your goals and the efforts and hope the community will finally go to somewhere further.

Neboer commented 1 month ago

And for myself, as a learner, want you to advise something about choosing a proper OS for our router. Currently, I am exploring options between OPNsense and VyOS, both of which are renowned open-source router solutions. As someone keen on learning and implementing the best practices in network management and security, I seek your expert opinions and recommendations on which system would be more suitable for my needs. I know the OPNsense has a WebUI which is more familiar to people but I consider VyOS to be more professional and reliable. What do you think of that?

And for this build, how should I trust my prebuilt VyOS LTS image? You have mentioned that the code in the VyOS repo is not complete and needs your repo to compensate, what's that mean?

dd010101 commented 1 month ago

I know the OPNsense has a WebUI which is more familiar to people but I consider VyOS to be more professional and reliable. What do you think of that?

I see it as different taste for different people - UI vs CLI is very much matter of preference - choose what you like more. I don't think one option is so much superior/lesser in any way that you should disregard the other by their functionality. Enterprise routers/switches use all sorts of CLI interfaces, so in this sense it's more professional but that doesn't mean anything... If it works for you, if you like it, use it... If you not sure - then try both of them and see what fits your use-case or ideology better.

I don't have experience with PF/OPNsense so I can't compare it with VyOS. I started with EdgeOS (Vyatta) and then switched to VyOS but I had long experience with Linux so I have bias to like CLI more than GUI. I can tell you that GUI is likely to restrict me more than CLI but this very much depends on your goals and this may be even benefit for some people... That's why you should answer this for yourself by your experience not experience of other people.

What is most reliable? The option that has no or snail development - like the LTS branches of anything. This is double-edged sword though - reliable system means new features will lag behind by design. Choose your poison!

You have mentioned that the code in the VyOS repo is not complete and needs your repo to compensate, what's that mean?

It means the specific official repo can't be used for some reason and I was required to develop workarounds via my repo to make it work. If you take the official source code as is - you simply can't built it without any changes. All the patches that I made are required due to outright bugs/errors or bad practice from their part - in theory this shouldn't be required and should be fixed but I don't think they care and for sure don't want to make it easier for us...

Neboer commented 1 month ago

Thank you very much, you really help us a lot. We are an indie developer team and working hard to make open source better for people usage and especially for developers. Several days ago I found VyOS and fell in love with it immediately. After some research and forum reading work, I managed to make it work as a home router for our servers. Then I turn to get the LTS version, then I finally get here. It's really a great pleasure to solve problem and finally get all things work, we have learnt a lot, and these cannot happen without your work and kind, detailed and professional response.