frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Distr 2.0 – A year of learning how to ship to customer environments

https://github.com/distr-sh/distr
39•louis_w_gk•3h ago
A year ago, we launched Distr here to help software vendors manage customer deployments remotely. We had agents that pulled updates, a hub with a GUI, and a lot of assumptions about what on-prem deployment needed.

It turned out things get messy when your software is running in places you can't simply SSH into.

Over the last year, we’ve also helped modernize a lot of home-baked solutions: bash scripts that email when updates fail, Excel sheets nobody trusts to track customer versions, engineers driving to customer sites to fix things in person, debug sessions over email (“can you take a screenshot of the logs and send it to me?”), customers with access to internal AWS or GCP registries because there was no better option, and deployments two major versions behind that nobody wants to touch.

We waited a year before making our first breaking change, which led to a major SemVer update—but it was eventually necessary. We needed to completely rewrite how we manage customer organizations. In Distr, we differentiate between vendors and customers. A vendor is typically the author of a software / AI application that wants to distribute it to customers. Previously, we had taken a shortcut where every customer was just a single user who owned a deployment. We’ve now introduced customer organizations. Vendors onboard customer organizations onto the platform, and customers own their internal user management, including RBAC. This change obviously broke our API, and although the migration for our cloud customers was smooth, custom solutions built on top of our APIs needed updates.

Other notable features we’ve implemented since our first launch:

- An OCI container registry built on an adapted version of https://github.com/google/go-containerregistry/, directly embedded into our codebase and served via a separate port from a single Docker image. This allows vendors to distribute Docker images and other OCI artifacts if customers want to self-manage deployments.

- License Management to restrict which customers can access which applications or artifact versions. Although “license management” is a broadly used term, the main purpose here is to codify contractual agreements between vendors and customers. In its simplest form, this is time-based access to specific software versions, which vendors can now manage with Distr.

- Container logs and metrics you can actually see without SSH access. Internally, we debated whether to use a time-series database or store all logs in Postgres. Although we had to tinker quite a bit with Postgres indexes, it now runs stably.

- Secret Management, so database passwords don’t show up in configuration steps or logs.

Distr is now used by 200+ vendors, including Fortune 500 companies, across on-prem, GovCloud, AWS, and GCP, spanning health tech, fintech, security, and AI companies. We’ve also started working on our first air-gapped environment.

For Distr 3.0, we’re working on native Terraform / OpenTofu and Zarf support to provision and update infrastructure in customers’ cloud accounts and physical environments—empowering vendors to offer BYOC and air-gapped use cases, all from a single platform.

Distr is fully open source and self-hostable: https://github.com/distr-sh/distr

Docs: https://distr.sh/docs

We’re YC S24. Happy to answer questions about on-prem deployments and would love to hear about your experience with complex customer deployments.

Comments

pmig•2h ago
Hi HN, I am Philip, one of the creators of Distr and happy to answer questions.
leetrout•2h ago
Any chance you would consider avoiding the SSO tax and making it available for all tiers?
pmig•2h ago
SSO (Google, Microsoft, GitHub) is available on all tiers. Custom OIDC provider support is even available in our ~MIT~ (Apache2) licensed community edition if you self host Distr. Even TOTP MFA is available for all users and part of the community edition.

How can we improve in reducing SSO tax?

leetrout•1h ago
Starter package does not show SSO as being available. Thanks for clarifying https://distr.sh/pricing/

I see Apache 2 licensed code in your GitHub but not MIT. Is there another repo or that's what you were referring to?

pmig•1h ago
Custom SSO integrations often require specific development and are therefore not available in our beginner tier.

Oh my bad. Our repository[1] is obviously Apache2.0 licensed, not MIT. Thanks for pointing that out.

[1] https://github.com/distr-sh/distr

medv•1h ago
we may be interested in it.

how does it handle very bad internet connection on-prem?

pmig•1h ago
Feel free to reach out via our website[1]. Distr does not require an internet connection to keep your application running. Update commands are fetched directly from the agent and do not require any special connectivity.

Updates are pulled before the rollover to a new version is performed, so a poor internet connection may only affect the download speed of new updates. Distr is designed to operate even when no connection is available, or when connectivity is only allowed in short time slots.

[1] https://distr.sh/contact/

abtinf•1h ago
How does Distr compare to Replicated?
louis_w_gk•1h ago
Distr is a modern Open Source alternative to Replicated. We have a more in-depth comparison over here https://distr.sh/compare/replicated/. If you have any questions, I’m happy to help.

Show HN: I built a macOS tool for network engineers – it's called NetViews

https://www.netviews.app
52•n1sni•10h ago•9 comments

Show HN: Distr 2.0 – A year of learning how to ship to customer environments

https://github.com/distr-sh/distr
39•louis_w_gk•3h ago•9 comments

Show HN: Elysia JIT "Compiler", why it's one of the fastest JavaScript framework

https://elysiajs.com/internal/jit-compiler
38•saltyaom•2d ago•8 comments

Show HN: Total Recall – write-gated memory for Claude Code

https://github.com/davegoldblatt/total-recall
51•davegoldblatt•4d ago•20 comments

Show HN: I replaced a 200MB JVM process with a 52KB binary that speaks Kafka

https://github.com/awneesht/Strike-mq
3•awneeshtiwari•1h ago•0 comments

Show HN: AppControl – A Modern Windows Task Manager with History

https://www.appcontrol.com/
7•suprnurd•2h ago•1 comments

Show HN: Shuffled - Daily word puzzle game

https://shuffled.app
3•wmora•2h ago•0 comments

Show HN: Octrafic – AI agent for API testing from your terminal

https://github.com/Octrafic/octrafic-cli
3•mbadyl•2h ago•0 comments

Show HN: Darna – Atomic commit validator for Go

https://github.com/darccio/darna
3•darccio•2h ago•0 comments

Show HN: Browser-based video compositor built on WebGPU

https://www.masterselects.com
4•Sportinger•2h ago•3 comments

Show HN: Xi – No syntax, 10 primitives, dependent types, designed for silicon

https://github.com/maja0027/xi-lang
3•maja0027•14m ago•1 comments

Show HN: Vibe-coded AI video clipper that runs in the browser

https://github.com/imgly/videoclipper
3•buss_jan•3h ago•0 comments

Show HN: Kanban-md – File-based CLI Kanban built for local agents collaboration

https://github.com/antopolskiy/kanban-md
10•santopol•6h ago•2 comments

Show HN: Valk – new programming language with a stateful GC

https://github.com/valk-lang/valk
3•lorenzv•4h ago•2 comments

Show HN: Hookaido – "Caddy for Webhooks"

https://github.com/nuetzliches/hookaido
3•7schmiede•4h ago•0 comments

Show HN: A Triangular Clock

https://show.franzai.com/a/shoe-loud-clown
5•franze•4h ago•0 comments

Show HN: Algorithmically finding the longest line of sight on Earth

https://alltheviews.world
399•tombh•1d ago•173 comments

Show HN: VillageSQL = MySQL and Extensions

https://github.com/villagesql/villagesql-server
25•metzby•5d ago•4 comments

Show HN: I spent 3 years reverse-engineering a 40 yo stock market sim from 1986

https://www.wallstreetraider.com/story.html
32•benstopics•13h ago•10 comments

Show HN: Printable Classics – Free printable classic books for hobby bookbinders

https://printableclassics.com
76•bookman10•1d ago•32 comments

Show HN: I built a 20MB PDF editor using Flutter (vs 300MB industry standard)

https://revpdf.com/blog/how-i-built-a-15mb-pdf-editor
7•pawandeepsingh•7h ago•2 comments

Show HN: A framework that makes your AI coding agent learn from every session

https://github.com/KaimingWan/oh-my-claude-code
6•QuantumLeapOG•8h ago•1 comments

Show HN: Running a public CORS proxy on the open internet for 4 years

https://corsproxy.io/
3•mariusbolik•8h ago•0 comments

Show HN: Stack Overflow for AI Coding Agents

https://shareful.ai/
10•mblode•21h ago•3 comments

Show HN: Browse Internet Infrastructure

https://www.wirewiki.com
107•pul•1d ago•19 comments

Show HN: I created a Mars colony RPG based on Kim Stanley Robinson’s Mars books

https://underhillgame.com/
302•ariaalam•1d ago•108 comments

Show HN: PhoneClaw

https://github.com/rohanarun/phoneclaw
4•GPUboy•8h ago•0 comments

Show HN: Slack CLI for Agents

https://github.com/stablyai/agent-slack
94•nwparker•4d ago•34 comments

Show HN: A custom font that displays Cistercian numerals using ligatures

https://bobbiec.github.io/cistercian-font.html
162•bobbiechen•1d ago•37 comments

Show HN: Agx – A Kanban board that runs your AI coding agents

https://github.com/ramarlina/agx
4•Mendrika•10h ago•0 comments