• 0 Posts
  • 336 Comments
Joined 2 years ago
cake
Cake day: June 30th, 2023

help-circle




  • especially once a service does fail or needs any amount of customization.

    A failed service gets killed and restarted. It should then work correctly.
    If it fails to recover after being killed, then it’s not a service that’s fully ready for containerisation.
    So, either build your recovery process to account for this… or fix it so it can recover.
    It’s often why databases are run separately from the service. Databases can recover from this, and the services are stateless - doesn’t matter how many you run or restart.

    As for customisation, if it isn’t exposed via env vars then it can’t be altered.
    If you need something beyond the env vars, then you use that container as a starting point and make your customisation a part of your container build processes via a dockerfile (or equivalent)

    It’s a bit like saying “chisels are great. But as soon as you need to cut a fillet steak, you need to sharpen a side of the chisel instead of the tip of the chisel”.
    It’s using a chisel incorrectly.


  • I would always run proxmox to set up docker VMs.

    I found Talos Linux, which is a dedicated distro for kubernetes. Which aligned with my desire to learn k8s.
    It was great. I ran it as bare-metal on a 3 node cluster. I learned a lot, I got my project complete, everything went fine.
    I will use Talos Linux again.
    However next time, I’m running proxmox with 2 VMs per node - 3 talos control VMs and 3 talos worker VMs.
    I imagine running 6 servers with Talos is the way to go. Running them hyperconverged was a massive pain. Separating control plane and data/worker plane (or whatever it is) makes sense - it’s the way k8s is designed.
    It wasn’t the hardware that had issues, but various workloads. And being able to restart or wipe a control node or a worker node would’ve made things so much easier.

    Also, why wouldn’t I run proxmox?
    Overhead is minimal, get nice overview, get a nice UI, and I get snapshots and backups




  • It’s used for LAUNCHING drones of war, guys. It’s not a drone of war itself. It doesn’t participate in the war, it doesn’t kill people. It’s a non-war application of starlink, guys.
    The drones it launches could just as easily be used for scientific research.
    It’s not a war drone.
    Perfectly legitimate use of American technology that is in no way supporting an aggressive regimes strategy of targeting civilians.
    Starlink is not being used for military applications, and should still be a private company. It shouldn’t be militarised government owned system like GPS. Cause the mother drones could be launching science drops.





  • I’d still run k8s inside a proxmox VM. Even if it’s basically all resources dedicated to the VM, proxmox gives you a huge amount of oversight and additional tooling.
    Proxmox doesn’t have to do much (or even anything), beyond provide a virtual machine.

    I’ve ran Talos OS (dedicated k8s distro) bare metal. It was fine, but I wish I had a hypervisor. I was lucky that my project could be wiped and rebuilt with ease. Having a hypervisor would mean I could’ve just rolled back to a snapshot, and separated worker/master nodes without running additional servers.
    This was sorely missed when I was both learning the deployment of k8s, and k8s itself.
    For the next project that is similar, I’ll run talos inside proxmox VMs.

    As far as “how does cloudflare work in k8s”… However you want?
    You could manually deploy the example manifests provided by cloudflare.
    Or perhaps there are some helm charts that can make it all a bit easier?

    Or you could install an operator, which will look for Custom Resource Definitions or specific metadata on standard resources, then deploy and configure the suitable additional resources in order to make it work.
    https://github.com/adyanth/cloudflare-operator seems popular?

    I’d look to reduce the amount of yaml you have to write/configure by hand. Which is why I like operators


  • In his Truth Social website President Donald Trump described the Smithsonian as “OUT OF CONTROL” and said museums across the United States are “WOKE.”

    Convicted felon says museums are woke and out of control.

    In a statement sent to Newsweek the Smithsonian said: "The Smithsonian’s work is grounded in a deep commitment to scholarly excellence, rigorous research, and the accurate, factual presentation of history.

    The world’s largest museum, education and research complex says they are grounded in accurate presentation of history.

    It’s pretty clear that the US government is targeting the Smithsonian and other historical archives to rewrite history.

    Considering the other articles linked which talk about the removal of trump’s impeachments and other pressures on historical facts and accuracy, I’d be worried about the following quote:

    "It’s not about whitewashing it’s about full context, so while slavery is obviously a horrible aspect of our nation’s history you can’t really talk about slavery honestly unless you also talk about hope and progress and I think we need to be focusing on the progress that we’ve made then and we need to stop focusing so much on the lack of progress.

    So, yeh the Nazis killed a bunch of people. But they also developed the Volkswagen, Porsche and Hugo Boss. And we have all come to appreciate fancy cars and fly shirts. So, let’s not focus on what the Nazis did, but instead let’s concentrate on the hope that cars bring!

    And even if you argue that “things are better now”. Sure, somewhat. But, imo, it’s not really something to celebrate. Black people can vote, but shitty racist people in power still suppress the fuck out of them.

    Germany recognises it’s history. It teaches it in school, it’s made memorials & museums of historically abhorrent places, and it’s outlawed everything related.

    US still celebrates Thanksgiving.
    https://www.forbes.com/sites/maiahoskin/2022/11/24/the-real-history-behind-thanksgiving/

    So yeh, here is the directive:
    https://www.whitehouse.gov/fact-sheets/2025/03/fact-sheet-president-donald-j-trump-restores-truth-and-sanity-to-american-history/

    to work to eliminate improper, divisive, or anti-American ideology from the Smithsonian and its museums, education and research centers, and the National Zoo.

    So, eliminate some history.
    But - depending on how carefully that scalpel is wielded - it could cut away the bad parts and leave the “good” parts. Cherry picking, if you will.
    Leaves a generally positive vibe of slavery.
    Divisive and anti-american to whip/hang/rape slaves. So, leave that part out.
    But provide the American dream for a slave by impregnating them and giving them a less crowded room and easier slave labour, or elevating them to a house position, or whatever… THATS the American dream!
    Slaves that behaved were treated well.
    But, just leave out the thousands of slaves that were beaten for sensless reasons because they were considered barbaric and sub-human.
    Just… Ignore the fact that they were kidnapped from their home, transported for weeks in horrendous conditions, then auctioned off to rich white men.





  • I really wish there was a way to enforce transparency of docker env vars.
    I get that it’s impossible to make it a part of docker, env vars get parsed by code and turned into variables. There is no way that docker can enforce it, cause a null/undefined check with a default value is all that would be needed to subvert checks by docker, and every language uses a different way to check env vars (eg .env files, environment init scripts, whatever).
    And even then, the env var value could be passed through a ridiculous chain of assignments and checks.
    And, some of those ‘get env var’ routines could be conditional. Not all projects capture all env vars during some initial routine.

    I’ve spent hours (maybe days) trawling through undocumented env vars trying to figure out their purpose, in order to leverage them in docker/k8s stacks.
    I wish there was something.

    Thankfully, a bit of time spent with a FOSS project and reviewing the code does shed light on hidden env vars.
    And a PR or 2 gets comments and documentation updated.
    Open source is awesome



  • Oh, operators are absolutely the way for “released” things.

    But on bigger projects with lots of different pods etc, it’s a lot of work to make all the CRD definitions, hook all the events, and write all the code to deploy the pods etc.
    Similar to helm charts, I don’t see the point for personal projects. I’m not sharing it with anyone, I don’t need helm/operator abstraction for it.
    And something like cdk8s will generate the yaml for you to inspect. So you can easily validate that you are “doing the right thing” before slinging it into k8s.