
DigitalOcean 向 DHH 的 Omarchy 项目出资 300 万美元,老用户愤而迁走
来源标题:Leaving DigitalOcean Took One Day
一位 DigitalOcean 长期用户因该公司成为 Omarchy 基金会创始企业赞助方而将所有服务迁至 Hetzner。DigitalOcean 于 9 月 9 日承诺三年内每年出资 100 万美元、共计 300 万美元,支持 DHH 的 Arch Linux 配置方案 Omarchy 的开发与推广。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
作为DigitalOcean的多年用户,我一直很满意。droplet稳定可靠,控制面板简洁不碍事,这些年来服务从未出过任何需要我排查的意外状况。我还向不少人推荐过他们。
后来他们决定资助那个明摆着的法西斯分子David Heinemeier Hansson,于是我现在所有服务都跑在Hetzner上了。
9月9日,DigitalOcean以创始企业赞助者的身份加入了Omacom基金会:三百万美元,每年一百万、连续三年,用于Omarchy的开发和推广。
Omarchy是DHH那套带有强烈个人主张的Arch Linux配置方案。我不反对把Linux带给大众,我也没有核实过它是否真的做得糟糕,但我们要看清楚这三百万美元买的是什么:一堆精心整理的配置文件、一个安装程序和一个主题。每个人依赖树里的那些库的维护者,有些人连三千美元都没见过。
不过这笔钱并不是花在那堆配置文件上。它买的是坐在写这些文件的那个人身边的一个席位,而这个人过去一年里一直在解释伦敦已经变得面目全非,因为那里只有三分之一的人是“土生土长的英国人”;他在称赞Stephen Yaxley-Lennon,也就是自称“Tommy Robinson”的那个人;他还把伦敦一场极右翼集会的人群描述为“完全正常、和平的英国人”,说他们担忧人口结构变化。Tekin Süleyman一年前就把这些记录连同证据一起收集了起来,此后没有任何一条被收回或否认。该怎么称呼就怎么称呼。我的叫法是:这就是种族主义,而一家开出八位数支票投向那个圈子的公司,已经决定自己在那里待着很舒服。
不给种族主义者送钱,是我本以为不需要解释的绝对底线。我对以下这些争论都没有兴趣:赞助某人的Linux发行版是否等于背书他的政治立场(答案是是);坏观点和坏人之间有什么区别;产品有多好。产品(指DigitalOcean,不是Omarchy)确实很好。写这篇文章的意义正在于此:服务很出色,我还是走了,因为每月付账单就是出资,而由我来决定我资助谁。
你可以不同意我把线画在哪里。我宁愿线画错了位置,也不愿没有线;而且我注意到,那些坚持说这条线很复杂的人,通常只是不想动自己的那套东西。
那则公告里有一个细节我反复想起。DHH写道,这笔交易从周三第一次接触,到周日签署协议,并称之为“与X、agents和无边界野心一起可能实现的协作速度”。四天就决定为这件事投入三百万美元。而我离开只用了一天(当然,还得等DNS生效)。
这才是值得写一篇技术文章的部分。几乎所有和我聊过这件事的人在抽象层面都认同这个原则,然后接着解释为什么搬家对他们不现实:服务器是宠物,DNS记录是八年间在网页控制台里一条条点出来的,没人记得邮件流为什么能正常工作。这不是道德问题,而是架构问题,也正是服务商可以行为恶劣却不流失客户的原因。
而且对你自己的私人服务器来说,这样做通常是杀鸡用牛刀。
我的服务器是一台小型虚拟机,托管26个站点,大多是静态站点,少数用PHP,有些带数据库。业余规模。围绕它的配置刻意做得比它所管理的东西更大,而这周就是回报。
一切都是基础设施即代码(IaC),分成两层,彼此了解不多:
OpenTofu(Terraform)负责服务商侧:机器,以及每个域名的所有DNS zone和记录。这些zone不是某个网页控制台里内容的副本,它们就是源头,每个站点是一次模块调用,带几个变量(has_www、has_php、docroot、mx)。
备份每晚运行,存入Google Cloud Storage,刻意选用与运行服务器不同的服务商。这次迁移中这一点的重要性不如它带给我的日常安心感,但它确实给了我一个参照,让我知道新机器最终必须包含什么。
两条命令搞定一切。make apply会运行tofu apply,然后用morph把NixOS配置推送到网络中的每台主机(我在更大的集群上跑过这个,但显然单台服务器也能用)。sops secrets/secrets.json用于编辑密钥。状态不存在第三个地方,这正是这件事只花一天的原因:我不需要去弄清楚我的服务器在做什么,因为答案就在我的仓库里。
DNS那一半:每个站点模块同时向两家服务商发出记录。一次tofu apply就在Hetzner上创建了21个zone,与DigitalOcean上的并存,内容完全相同,指向同一个旧地址。没有人委派的zone是惰性的,所以什么都不会发生。然后我直接对照Hetzner的nameserver验证了每个zone:
再在注册商那里逐个域名切换nameserver。整个过程中DigitalOcean的zone持续返回完全相同的应答,所以回滚一个域名只需要再改一次注册商,别的什么都不用。
服务器那一半:一年前我查看时,Hetzner Cloud还没有NixOS镜像(现在有了,我本该再查一次),也没有镜像上传API,所以我过去那套在本地虚拟机里手工构建qcow2镜像再上传的流程没法沿用。服务器启动的是原版Debian,然后通过user data里的nixos-infect把自己重写成NixOS。引导镜像几乎无所谓,因为它只需要产出一个能接受我root密钥的可启动NixOS。真正的东西都是之后由make apply送到的,而这正是部署旧主机所用的同一条命令。
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。