HNHacker News
TopNewBestAskShowJobs

bacongobbler

270 karma · joined July 3, 2013

submissionscomments
bacongobbler··on Kubernetes Failure Stories
Sounds more like a people problem than a tech problem.
bacongobbler··on Open-source, not open-contribution
Keep in mind that this discussion is about one's personal project.

The situation changes if you have a small team of maintainers dedicated on a project. But most personal projects won't write a full acceptance suite just to start accepting contributions.

bacongobbler··on Open-source, not open-contribution
To be fair, simple one-liner changes can be just as impactful as an entire package rewrite. I've reviewed a few one-liners that seemed innocent at the time, but had massive impact downstream.

As the project and the userbase grows, small conditional changes can be the most difficult to test because they require a very specific setup to test and verify.

Often times the only person that can reproduce the issue is the person submitting the PR.

bacongobbler··on Krustlet, the WebAssembly Kubelet
That's neat. Do you have a project or a demonstration showing how this can be done, or is this all just hypothetical?
bacongobbler··on Krustlet, the WebAssembly Kubelet
No.
bacongobbler··on Krustlet, the WebAssembly Kubelet
Hi! Krustlet maintainer here.

The idea behind the project is to run WebAssembly modules in Kubernetes. You would have to compile your Python script to WebAssembly before it could be executed.

If your WebAssembly module complies with the WebAssembly System Interface, Krustlet can run it.

It's important to note that the WASI standard and wasmtime are still under heavy development. There are some key features (like networking) that are currently missing, but will be made available in future updates.

bacongobbler··on Helm (the Kubernetes package manager) 3.0.0 has been released
Removing a significant piece of the architecture was a large undertaking. There's many parts of the system that required a redesign. Throwing on yet another major piece of work (including developing a new Lua VM from the ground up) would've delayed the release well into next year. Many users just wanted Helm without Tiller.

To provide some perspective, over 80,000 lines of code was changed between 2.16.1 and 3.0.0, including test infrastructure, the architecture, documentation...

We started development on Helm 3 last year in March, shortly after the first Helm Summit in Portland. A complete redesign of the architecture in 20 months time seems pretty par for the course for a project of this size.

bacongobbler··on Helm (the Kubernetes package manager) 3.0.0 has been released
I highly suggest giving Helm 3 a try, as much of the release ledger system was overhauled. If you can provide links to the issues you're seeing, that's always helpful too.
bacongobbler··on Helm (the Kubernetes package manager) 3.0.0 has been released
Helm Classic was introduced at the first KubeCon... Wayyy back in November 2015. Kubernetes 1.1.1 was released earlier that month, and 1.0.0 shipped only 4 months prior to that in July.

Back then, Kubernetes had no concept of a ConfigMap. ReplicationControllers were all the hype (remember those?). The Kubernetes API was changing rapidly. When Helm 2 was being built, we needed an abstraction layer from the Kubernetes API to allow ourselves some room to guarantee backwards compatibility. Tiller was created as that abstraction layer. It provided us with a layer where we could control the input (via gRPC), the output (also via gRPC), and provide some backwards compatibility guarantees to users. We're pretty proud of the fact that Helm has maintained a strong commitment to backwards compatibility since 2.0.0.

Over time, Kubernetes' API layer has become more stable. Helm 3 is our opportunity to refactor out some of those protective layers we put in 4 years ago. Tiller being one of them.

Hope this helps provide some context.

bacongobbler··on Helm (the Kubernetes package manager) 3.0.0 has been released
Then that's fine. If no updates were made to the resource since the last update, then the patch will not look at the live state.

I highly suggest re-reading the FAQ front-to-back on this subject. I spent a lot of time explaining the details on this subject. If you have any questions/concerns, we are always happy to discuss further on github.

https://helm.sh/docs/faq/#improved-upgrade-strategy-3-way-st...

bacongobbler··on Helm (the Kubernetes package manager) 3.0.0 has been released
This is not how things work in reality. Many last-mile objects are merged into your Kubernetes resources at the last minute. Service meshes inject sidecar containers into your deployments. The Kubernetes API can update a Service's virtual IP addresses which can change over time. All of these object updates need to be taken into consideration during an upgrade, or you risk disrupting resources running in production.
bacongobbler··on Microsoft and Docker team up to make packaging cloud-native applications easier
No, it is unrelated to Helm, though the engineers working on the spec (including myself) are Helm core maintainers.
bacongobbler··on Microsoft and Docker team up to make packaging cloud-native applications easier
We may want to discuss changing the keywords from install/uninstall to be deploy/uninstall if that helps signal to the user the intent behind those actions. That's great feedback, thank you!
bacongobbler··on Microsoft and Docker team up to make packaging cloud-native applications easier
It doesn't have to be a container. We have experimented with using VMs as the CNAB runtime as seen with the azure-vm driver in our reference implementation, duffle: https://github.com/deislabs/duffle/tree/master/drivers/azure...

Most of the examples are primarily container-based and the specification reflects that. We will definitely have to do a better job fleshing out the design with alternative invocation image types than OCI/docker. The azure-vm driver is one such (experimental) example.

Hope this helps!

bacongobbler··on Microsoft and Docker team up to make packaging cloud-native applications easier
I'm a bit confused by your question. Would you mind expanding a bit on that thought?
bacongobbler··on Dive – A tool for exploring each layer in a Docker image
There's no tool I'm aware of, but with experimental features enabled in the Docker CLI you can use `docker manifest inspect` on each image manifest and diff the content. e.g. `docker manifest inspect ubuntu:latest`.

This requires that you have logged in to the registry, pushed the image to the registry and have `docker pull` rights for the image. You could also run a registry locally, push your image there and inspect your registry's storage db. There's just no CLI command to do that.

bacongobbler··on Dive – A tool for exploring each layer in a Docker image
The latter can be easily done in a few hours by inspecting the image layer metadata.

Every layer understands the command it was run in the Dockerfile to create itself. Just look at `docker history` and have a look at the "CREATED BY" field for human-readable output of the layer metadata, or depending on your graph driver have a look in /var/lib/docker/image/overlay2/imagedb/content/sha256. From there you can reverse-engineer a Dockerfile.

For layers that were not built using `docker build` (e.g. `docker commit`, OCI-compatible image builders), re-creating the exact command that generated that layer is much harder to do. The only information most tools will give you might just be the diff itself.

bacongobbler··on You might not need Kubernetes
Firing up minikube to toy with Kubernetes and switching your entire software stack to run on top of a production-grade Kubernetes cluster are two very different things.
bacongobbler··on Found hooked up to my router
likely armbian based on the filenames, with custom files in /conf and in /scripts.
bacongobbler··on Docker cannot be downloaded without logging into Docker Store
Chocolatey is in the same space as the AUR (Arch User Repositories) in my opinion. It can be a hit or miss, but usually a hit. The support is fantastic when there's a bunch of users consuming the project as many users will contribute fixes to the package (e.g. packages for devs like node, cURL, git, etc). On the other hand, less popular packages will occasionally suffer from bitrot, though that all depends on the maintainer and whether or not the package has been configured to update automatically upon new releases.

See also https://chocolatey.org/docs/package-triage-process#package-i...

bacongobbler··on Docker cannot be downloaded without logging into Docker Store
hit up SIG-Architecture. https://github.com/kubernetes/community/tree/master/sig-arch...
bacongobbler··on Knative – Kubernetes-based platform to manage modern serverless workloads
It'll be interesting to see the differences from other systems in this space (OpenShift, Deis Workflow). From the samples it appears to be more of a "pull code from github and push to Dockerhub" model than a "push code to the platform and push to an internal registry" that other PaaSes target.

https://docs.openshift.com/container-platform/3.3/install_co...

https://deis.com/docs/workflow/understanding-workflow/archit...

disclaimer: I was one of the core maintainers of Deis Workflow.

bacongobbler··on Microsoft Is Said to Have Agreed to Acquire GitHub
Do what tickles your fancy.
bacongobbler··on Hello, GitHub
https://git-scm.com/docs/git-config/1.7.9.3#git-config-fetch...

My interpretation is that transfer.fsckObjects just checks that all of the fetched objects are properly formed and contain no broken links. I cannot confirm whether or not this fetches any extra objects from the remote; this is the first time I've heard about this feature.

bacongobbler··on Microsoft Is Said to Have Agreed to Acquire GitHub
Thanks for the feedback! I'm currently going through the docs and re-vamping them as we speak in https://github.com/Azure/draft/pull/770. For now https://github.com/Azure/draft/blob/master/docs/quickstart.m... is the canonical list of options to install Draft.
bacongobbler··on Microsoft Is Said to Have Agreed to Acquire GitHub
Actually we have release assets for Mac, Windows, and Linux with support for 64-bit and ARM architectures. Someone from the community added Chocolatey support not too long ago. :)

Disclaimer: I am one of the core maintainers of Draft.

bacongobbler··on Canada facing ‘brain drain’ as tech talent leaves for Silicon Valley
Canada's diversifying its job investment portfolio around jobs in high-tech and pulling that funding out of natural resources. You're starting to see that across the country. Calgary's starting to become a mini tech center for example.
bacongobbler··on Canada facing ‘brain drain’ as tech talent leaves for Silicon Valley
The cost of living in the major Canadian tech cities (Vancouver, Toronto, Ottawa) is lower than Silicon Valley, sure, but Vancouver is still one of the most expensive cities to live in the world. The drop in salary is way too low when compared to the cost of living.
bacongobbler··on Canada facing ‘brain drain’ as tech talent leaves for Silicon Valley
US salaries are much higher, the tech industry is booming in the states, and it's very simple to apply for a visa or start a consulting company to work remotely from home.

If you're a student graduating out of a Canadian college/university and are looking for ways to advance your career (while making a lot more money on the side), what's not to love about moving or working remote?

bacongobbler··on Show HN: A fast, hopefully accurate, fuzzy matching library written in Go
That sounds to me like a great starting point for others to contribute code. :P

Can't we all just be happy that someone decided to write a fun project and made it freely available for others to learn from?

Page 1 of 5Next →