FreeCORE

Has anyone tried FreeCORE yet? I was actually working on porting TrueNAS from GitHub myself! I got a successful build, though I was still sorting out some Samba issues. I was checking to see if I could legally release it when I realized someone else beat me to the punch. That is totally fine by me, but I am curious, does anyone know how stable it is right now?
 
More than how stable it is right now, my main concern would be how well supported it'll be going into the mid to long term future, because at the end of the day, that's almost always what makes or breaks an open source project such as this one which, undeniably, demands an enormous maintenance effort.

If that doesn't pan out (probability of that occurring is directly proportional to the project's bus factor), you're left again painted into a corner using a dead-end product from which you have to plan yet another far from trivial migration.

I am also working to move away from TrueNAS CORE, but rather than blindly jumping on any of these still very early trains, or not to mention attempting a project port myself, I instead opted for the much simpler path of minimizing the amount of work I have to do on top of 100% vanilla FreeBSD to meet my home server needs, and for me that was simply a collection of Ansible roles where I record all the OS configurations I need, plus a collection of Bastille templates whose deployments I can automate, and that in itself is already an enormous amount of work that's taking me months to complete.

I wont have a fancy GUI with shiny buttons to click on and shiny dashboards to look at once I'm done with that work, sure, but I will have a far more maintainable effort that 1) meets all of my needs in quite a robust way, and 2) doesn't close the door on, say, turning to something like Sylve in the long term provided that project continues to mature mature at its current decent pace.

My two cents, if it helps any ;)
 
I wont have a fancy GUI with shiny buttons to click on and shiny dashboards to look at once I'm done with that work, sure, but I will have a far more maintainable effort that 1) meets all of my needs in quite a robust way, and 2) doesn't close the door on, say, turning to something like Sylve in the long term provided that project continues to mature mature at its current decent pace.
And you can get support right here on the forums if you run into any issues.
 
You’re totally right that vanilla FreeBSD can handle all of that. Honestly, maintaining a custom setup like this is a hassle. The source is available, and it only took me a week or two to port over a working version, but I'd still prefer not to maintain it myself.
At the end of the day, it's not a huge deal. It doesn't really matter if the setup is new or custom. Since it’s ZFS, you can always migrate back to vanilla FreeBSD in the end. It's just a matter of a ZFS export and import, and then setting up your sharing daemons.

So for me in the end it's more important that it doesn't corrupt your files, rather then long time support, and more importantly how secure is it. Is the person who makes it trust worthy. Or is it full of backdoors.
 
I've been using BSD for 20+ years. To me, BSD has stuff I need and I find it weird why people use some of the third party tools (for me, that is just another dependency) -e.g., Bastille; FreeBSD has jails baked it. Ansible; use a tar(1) pipe via ssh(1).

-i.e., The articles were providing ansible playbooks and I don't understand why; are the article's main intention to promote the use of BSD, if so why not just use what is available in the base? I understand that people may use ansible in their day job but who cares (use what's in base, take your lumps & identify what needs to be improved and create new contributors). I'm minimal not because I prefer it so-to-speak but because it leads to more possibilities.

Breaking from the "hard-fast / black and white"...
jmpalacios you and I discussed VCS servers in the past and you said something like: "my way wasn't bad, just different.". Coming from a BSD background, my way is *the* way because it's everything (or: just enough of) someone would need to host a VCS server without the fluff. I wanted to mention that scenario here because it also highlights a good contradiction to something not being in base (the VCS git(1)) that I'm using. So, what I'm trying to point out is that you obviously cannot just use *only* what is in base all the time but you can certainly limit yourself (so, I'm saying that I agree with your stance of trying to keep to base FreeBSD for your nas; people have been doing that for many years). Basically, yes, not everything is in base and git(1) being a pretty good example but that will always exist. You will *always* need to install another tool so the main take-away is that you can try to limit that as much as possible (pkg install git gitlab ... vs pkg install git@tiny).

Not sure if any of that made sense or not, but I hope someone is able to take at least something "worth while" away (or it could be total garbage) I'm saying.

As far as deployment templates being a lot of work, why not open them up for others to use/help? I mean, I'm doing much the same (creating automation solutions for myself) and we're using different methods but there is probably more people doing it your way than mine.
 
This isn't about my personal preferences or capabilities. I’ve been using FreeBSD since 4.9 and various Linux distributions since kernel 2.2, so I'm perfectly fine in a shell. The issue is usability for the everyone. I need a solution that everyone can comfortably navigate, not just those with deep command-line experience. After I drop dead, someone still needs to be able to use this.
 
I think Xigma NAS should get their old name back that they were threatened out of.
NAS4FREE was a fitting name.
How could you confuse that for FreeNAS?
 
  • Like
Reactions: mer
This isn't about my personal preferences or capabilities.

Nothing I said had anything to do with capabilities (and I certainly didn't want to make you feel like you need to justify yourself). Well, I suppose being able to "maintain" what you've set up would fall into that category so please let me clarify myself. I don't believe you were part of the conversation jmpalacios had about a VCS server, but I mentioned it here, so I'll use this an example (of a larger system--please add salt as necessary). jmpalacios installed "gitlab" (-i.e. git(1) plus other stuff) I installed git(1) (-i.e., no gui: I interact via ssh(1)). My stance is that mine would last longer than his because there are fewer moving parts (this is up for you to determine). However, I may be spewing garbage here.
 
Nothing I said had anything to do with capabilities (and I certainly didn't want to make you feel like you need to justify yourself). Well, I suppose being able to "maintain" what you've set up would fall into that category so please let me clarify myself. I don't believe you were part of the conversation jmpalacios had about a VCS server, but I mentioned it here, so I'll use this an example (of a larger system--please add salt as necessary). jmpalacios installed "gitlab" (-i.e. git(1) plus other stuff) I installed git(1) (-i.e., no gui: I interact via ssh(1)). My stance is that mine would last longer than his because there are fewer moving parts (this is up for you to determine). However, I may be spewing garbage here.
Hey JohnK! Up for another heated debate?

Just kidding ;) I very much appreciate your minimalistic approach, but I guess that, same as with GitLab vs. plain git + ssh + scripts glue, I guess my choice for going with Ansible and Bastille in this case essentially boils down to 1) an attempt to minimize the amount of work that I'd have to do all by myself (progressively factoring up common functionality, abstracting it properly, state management, appropriate abstractions for said state, hook APIs, etc., etc., and that's just off the top of my head as I'm writing this sentence), and 2) minimizing bus factor: of course I don't expect my wife to know how to roll up her sleeves, hook up her SSH key (I already lost her there), and fire up an Ansible playbook, but I can only hope that, should I drop dead tomorrow (hopefully after I've finished my work on these roles!), it'll be easier for her to find someone who'll grok that as opposed to a bunch of home-made, possibly poorly documented custom scripts.

As far as deployment templates being a lot of work, why not open them up for others to use/help? I mean, I'm doing much the same (creating automation solutions for myself) and we're using different methods but there is probably more people doing it your way than mine.
I do intend to share this code with the community, but I still have some more work to do before I feel comfortable doing so. I'm sure it'll receive its fair share of criticism, but at least I want it to be in a position where I'll be able to justify the design decision I made (even if those change as a result of said criticism, hopefully constructive), which in my view means rolling back my sandbox VM back to a pristine state, running the entire playbook on it without any intervention , and producing a fully operational server on the other side. That's already mostly in place for roles:
  1. Bootstrap: installs Python, sets up key-based SSH authentication, etc.
  2. Patch: applies any pending OS-level patches.
  3. Boot: applies customizable boot-time settings (kernel modules, loader settings, etc.).
  4. Runtime: applies customizable runtime configurations (system security, sysctl's, etc.).
  5. Network: configuration of "base" interfaces, VLANs, bridges, resolver, etc.
  6. Monitoring: collectd, smartd, watchdog, blocklistd, notifications of various events to customizable channels, etc.
  7. ZFS: data pools importing, boot-time encrypted datasets unlocking, notifications for ZFS events via devd integration, zrepl-based snapshotting & replication with customizable schedules and delegation to an unprivileged user (including configuration of the replication target host), etc.
  8. Users: creating NAS users & groups, setting up mail forwarding for them, etc.
  9. Bastille: configuration of Bastille-based jails deployment.
  10. vm-bhyve: Configuration of vm-byhyve based virtualization.
I'm still lacking some refactoring for some those to play better together, plus a "hardware tuning" role that will take care of setting up things like powerd & IPMI settings, perhaps, plus some new Bastille templates for NFS & SMB servers that I still haven't had a chance to put together. So, yeah, a lot of work already done and still left to do, and that is if I'm not missing anything, which I wouldn't rule out ;)
 
Just kidding ;) I very much appreciate your minimalistic approach, but I guess that, same as with GitLab vs. plain git + ssh + scripts <SNIP> of course I don't expect my wife to know how to roll up her sleeves, hook up her SSH key (I already lost her there),
ha.

Yes, that was one other counter argument I intended to write in one of my responses above but got interrupted with a phone call. My choice of using scripts or custom programs to fill in the gaps is a huge liability (as would the use of a tar pipe via ssh because things like that may not be common knowledge). But then again, my wife doesn't even have a key (and my kids are too young to care) so she'd just unplug the servers and move on. But, I also take the same approach and write dependency free code too. ...I'm not sure where on the "pro/con scale" I am at this point so let me just reiterate: this is BSD, use it how you want.


I do have one program idea on my TODO list which could possibly be of a benefit to you. I haven't written it yet, but I think it may be cool. Hit me up with a message and I'll type up my concept.
 
Back
Top