4 ms·
Have you ever tried to package things with .dep or .rpm? It's a f** nightmare. A place to store secrets and provide those secrets to your services. "A problem
by Thaxll 5y ago
Have you ever tried to package things with .dep or .rpm? It's a f** nightmare.
A place to store secrets and provide those secrets to your services.
"A problem that is unique to kubernetes and serverless. Remember the days of assuming that your box was secure without having to do 10123 layers of abstraction?"
I remember 10 years ago things were not secur, you know when people baked their credentials in svn for example.
- rantwasp 5y agolol. as someone who has packaged stuff I can tell you that this K8S is orders of magnitudes more complicated. Also, once you figure out how to package stuff, you can do it in a repeatable manner - vs K8s which you basically have to babysit (upgrade/deprecations/node health/etc) forever and pay attention to all developments in the space.
- orf 5y agoFROM python:3.8 RUN apt install libsomething ENV RELEASE=production COPY . . RUN poetry install CMD ["poetry", "run", "server"] What would be the rpm/deb equivalent of those 6 lines? Would it work on MacOS?
- rantwasp 5y agolet’s unpack this for a while. what is python:3.8? is this reproducible? what is apt? where is the install coming from? What about poetry? Yeah it’s cool for shits and giggles but when this thing breaks you’re going to be in a world of pain for the rpm equivalent: python setup.py bdist_rpm wat?
- gtaylor 5y agoOh my. I'm not sure that I'd use Python to make a point about easy interop with distro package managers. It quickly descends into a nightmarish hellscape if you have more than a few dependencies or, different versions of python, or god forbid: C extensions.
- orf 5y agobdist_rpm isn’t equivalent to the Dockerfile above. It can be made reproducible with a few changes (locking the upstream image to a hash, locking the apt package version), but that’s likely overkill. Because when it breaks you’re not in for a “world of pain” at all, you just have a failing CI for an hour. I take it from the lack of an answer to the question that the equivalent non-docker packaging would be much more complex.
- nitrogen 5y agoCheckinstall makes packaging pretty easy for anything you aren't trying to distribute through the official distro channels. https://help.ubuntu.com/community/CheckInstall https://help.ubuntu.com/community/CheckInstall
- tomc1985 5y ago.deb packages are literally just a compressed archive with a folder structure that mostly mimics your folder structure on the hard drive. You've got some pre- and post-hooks where you can write some shellscript to do fancy stuff, and a signing process to ensure authenticity. Autostart is a SysV init script or systemd xml file away. How is that a f* nightmare?