I've edited the title to add more information on macOS. With this release we now implement Podman 5.1.0 which includes a MASSIVE speedup for AMD64 builds / running containers as well as improvements to the podman networking stack.
It now has a full Kubernetes GUI interface now, is open source (and forever will be), and the benefit is that you can manage your local containers too!
How would one add Authentication / Database support?
You obviously have the router for the front-end, but with Echo, how would one add authentication support, or should I just look at a different stack such as Django or Ruby on Rails with multiple auth / ORM middleware and use Go as a back-end?
You can easily add authentication to Go via JWT [0]. You can also write middlewares in Go[1] ranging from auth to gzip or anything else you can think of.
Notes which I mentioned in another comment uses JWT https://github.com/wallix/notes and features a minimal auth/login API and client. Just a bit of warning: Passwords are not securely stored (in cleartext) on purpose, since the goal is to then use our (open source) SDK to encrypt passwords and other data.
The downvotes on this are disappointing. This may not be the way to build an application, but the question itself is reasonable and in good faith. I'd like to see fewer downvotes and more helpful explanations why only one backend is necessary.
If you just want clustered virtual machines, check out Ganeti[0]. It's not advertised much, but this piece of software hosts most of Googles internal infrastructure (not public facing stuff).
Unlike Openstack, it has a proper scheduler, and lets you rebalance VMs across hypervisors efficiently. Also unlike Openstack, it can restart VMs if it (or the hypervisor) dies, if you've enabled that.
And completely orthogonal to Openstack, it has very strong consistency guarantees. It's not made to start 1000s of VMs in seconds, since each master node has to agree on all decisions, and each operation typically "locks" the involved hypervisor. On the other hand, I haven't been able to break it once in over six years.
Note that it really just exposes an API and comes with a superb command-line client. Some assembly required.
Source: deployed Ganeti with great success at a billion-euro company, moved on to promising "cloud" project which insisted on using Openstack and promptly quit after a year of fighting obscure bugs (and naive colleagues who did not want to try anything else :)).
There are some, but in practice I suspect the real competition comes from the major public cloud services in one direction and from more traditional but tried-and-tested IT infrastructure in the other. So far, products aiming for the middle ground, like OpenStack, just haven't quite found their mark. After this much time and investment, in a market where potential is trumped by pragmatism, it's not surprising that major corporate backers might start to look elsewhere for their future strategy.
We believe OpenNebula is a very good alternative to OpenStack. It's a completely open source product, with many strengths. Very easy to setup and to maintain, without the big mess that is required by OpenStack. Plus, users don't get caught in all the politics (lots of vendors pulling in their direction).
So depending on your use case, some of you might be very interested in CloudABI. See: https://nuxi.nl to solve some of your issues. Ed is a FreeBSD committer and has been working on solving some of the harder problems relating to security and god I hate to use this word but "containers" or "containerization" of applications. If you write your app to the CloudABI spec it will run on any of the supported platforms. The video of his presentation at the 32C3 conference does a much better job explaining it. It's certainly worth your time to watch.
Got to ask about the elephant in the room, but what do you use it for / host?
Personally, I'm thinking of building a FreeNAS for photo storage / media, but unfortunately I've only got a four-drive array SuperMicro rack server (spare one I have from decomissioning a business).
Other things I'm interested in is perhaps hosting a few gaming servers and such for friends/family (Minecraft, etc.)
Hard to find uses for it other than offline-lowpower-media-storage.
I do a lot of high resolution photography and videography work. I've got about ~15 years of raw images and video files that I could probably go through and delete, but I'd rather keep them around so I can pretend that maybe some day, someone will be interested in looking at them.
I look at it as a modern version of the boxes full of pictures and slides my parents and grandparents kept in their basement for decades and never looked at.
(I meant to reply to you several hours ago, but HN wasn't letting me post comments for some reason...)
I've got rclone set up to encrypt and upload everything to ACD. There's a section at the bottom of the article that goes into some depth on this and some other backup strategies I've tried in the past (including CrashPlan, Backblaze, and Zoolz, all of which are awful). Check http://jro.io/nas#rclone . I never considered building a second NAS, it does seem pretty stupid, even for an enterprise setup. The whole idea is to get the data off-site.
As a side note, some of the so-called "FreeNAS people" can tend to blindly parrot a given general guideline without really understanding the reasoning behind it or why it might be perfectly valid in certain situations to disregard it. For instance, ask them about bhyve and I promise you'll get at least one response along the lines of "bhyve isn't officially supported in FreeNAS so you shouldn't use it under any circumstances, period."
If you're able to tag stuff you know you want to keep and it's a smaller set you could look in to something like Backblaze B2 (previously a featured story on HN); the storage costs are relatively moderate, but restoration from it will cost you.
I haven't yet heard of any solution along the lines of "Rent a (large) NAS for a month" for those times that you're upgrading your array and need to switch filesystem formats. Having that option would make the juggling much easier and safer. Looking at the S3 storage and bandwidth costs I imagine there is actually a market to be served by such a product.
Maybe renting one of those higher end tape drives makes sense... but I can't get over the idea that even renting a stack of hard disks would be cheaper and more effective at this scale.
PS: Make sure you encrypt all of the data going in to the temporary storage; those aren't your disks.
You still have to put the second NAS somewhere, preferably offsite to avoid the house-burns-down fail case. Personally, I don't even know where I put this second NAS, since it would need power and bandwidth, unless you really wanted to sneakernet a NAS, which would work, but seems really weird.
My home nas is small enough where I can reliably backup to some USB external drives and store in a drawer offsite. According to FreeNAS, that's a horrible solution because USB is too error prone and moving disks shortens their life, and blah blah blah, and so USB backup is explicitly a WILLNOTFIX, and a sign that the requestor is stupid, as opposed to knowing full well what the risks are, and is satisfied with them. The horrible FreeNAS community, and the lack of this feature was why I adopted OpenMediaVault. (I highly recommend OMV.)
I guess I could always upload TARs to Glacier. That might be a legitimate solution.
> You still have to put the second NAS somewhere, preferably offsite to avoid the house-burns-down fail case.
Think pretty much the only viable solution for this for home users
is to have a 'peering agreement' with a trusted friend where you each
colo the others machine at your home.. however this can be tricky
because you're sticking all of your sensitive stuff in someone elses
house and trading some level of full network acess to each other -
though I suppose trading access to some kind of encrypted rsync-like dumps or similar might work without some of those risks being too high
https://github.com/podman-desktop/extension-bootc
We’re also starting to see other projects adopt a “OS as a Container image” such as Bazzite: https://bazzite.gg/ using bootc :)
Feel free to ask any questions!