TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: Latch, a feature flagging tool built on Google Storage

4 点作者 dwwoelfel将近 2 年前
Latch is a feature flagging tool built on top of Google Storage.<p>It&#x27;s available on GitHub at <a href="https:&#x2F;&#x2F;github.com&#x2F;dwwoelfel&#x2F;latch">https:&#x2F;&#x2F;github.com&#x2F;dwwoelfel&#x2F;latch</a><p>It has a self-hosted UI that reads and writes directly to Google storage and a nodejs client that subscribes to flag changes via Google Pub&#x2F;Sub.<p>I made a short video walkthrough to help give a feel for the UI:<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=GKDekwvPTD4">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=GKDekwvPTD4</a><p>In the past I&#x27;ve stored feature flags directly in the database, but I wanted something that was more consistent between environments. I also want to be able to use feature flags to trigger db failover during upgrades, so storing them in the db was out.<p>I&#x27;ve also used two of the main SaaS services at a previous company, which made me wary of lock-in and performance issues.<p>Google Storage turned out to be well-suited for feature flags. It has a pub&#x2F;sub integration where changes to a bucket trigger notifications in pub&#x2F;sub. It has object versioning, which I use to display a flag history. It has an increasing &quot;generation&quot; id for each file, which I use to prevent race conditions and ensure that I&#x27;m not making changes based on stale information.<p>I&#x27;m pretty happy with the UI. I built a Relay-compatible GraphQL interface over Google Storage and the UI uses that to read and write from storage using OAuth credentials. If I want to give someone access to the feature flags, I just have to manage their permissions to the bucket.

1 comment

replwoacause将近 2 年前
Looks really nice! Is there a way to use it without using NodeJS, C++, C#, Go, Java, PHP, Python, or Ruby? What if I am using a less common language for building apps, like PowerShell for example?