作者在此。之所以开发这个工具,是因为团队(包括我的团队)在CI/CD中不断与GCP认证作斗争。
谷歌为Firestore和Pub/Sub提供了模拟器,但没有为Secret Manager提供任何工具。我找到的唯一替代方案是一个基本的测试助手,只有18次提交,并且没有生产环境的关注。
这是一个生产级的实现,具有以下特点:
• 100% API覆盖(11/12个方法 - IAM故意省略,因为本地测试中没有认证)
• 双协议支持:原生gRPC + REST/HTTP
• 与官方GCP SDK兼容 - 只需将指向localhost而不是googleapis.com
• 所有变体的Docker镜像
• 90%以上的测试覆盖率
在安静发布的两个月内,有公司联系我,表示他们在生产CI/CD中使用该工具。我实现了他们的功能请求,并添加了完整的REST API支持。
最适合于:
• 封闭测试(无网络调用,确定性)
• 无需GCP凭证的CI/CD
• 无云成本的本地开发
我使用grpc-gateway来保持与GCP官方REST端点的语义兼容性 - 路径相同,JSON格式相同。
欢迎就实现、用例或与其他方法的比较提出问题。
GitHub: [https://github.com/blackwell-systems/gcp-secret-manager-emulator](https://github.com/blackwell-systems/gcp-secret-manager-emulator)
返回首页
最新
在你的类中采用成员的实现,并在C#中拥抱委托、组合优于继承以及混入风格的编码。
我开发了NeonAMP,这是一个基于浏览器的MP3播放器,运行在一个单独的PHP文件中。<p>你只需将index.php放入一个MP3文件夹中,它会自动扫描库,读取完整的ID3标签,并将元数据存储在SQLite中。播放使用Web音频API,包括DJ风格的曲目间交叉淡入淡出效果。<p>用户界面以键盘驱动,故意采用复古风格。前端没有使用任何框架,没有构建步骤,整个程序的大小不到100KB。<p>技术:PHP 8.3+,原生JavaScript,SQLite。<p>演示链接:<a href="https://github.com/marchildmann/NeonAMP" rel="nofollow">https://github.com/marchildmann/NeonAMP</a><p>想知道大家的看法以及这个项目可以改进的地方。
我一直遇到同样的烦恼:我想从脚本中上传一个文件,并仅仅获取一个链接——而不需要设置 S3 存储桶、身份验证流程或 SDK。
于是我构建了一个小服务和命令行工具来满足这个需求:
[https://storage.to](https://storage.to)
[https://github.com/ryanbadger/storage.to-cli](https://github.com/ryanbadger/storage.to-cli)
这个命令行工具负责繁重的工作(单次 PUT 与自动分块上传),所以思路非常简单:
```
storageto upload huge-file.zip
```
→ 会打印出一个可以传递给后续步骤的公共链接。
这个工具还处于早期阶段,故意设计得很简单:
- 匿名上传(尚未注册)
- 公共链接
- 命令行工具会自动将多个文件分组为一个集合
这个工具旨在快速、临时分享和脚本化工作流程,在设置存储桶感觉过于繁琐的情况下使用。
我发布这个内容主要是想确认它是否解决了一个实际的工作流程问题,或者大多数人是否已经有了更简洁的解决方案。
理想情况下,它不仅仅是一个PDF阅读器,还应具备删除页面、添加页面、签名和编辑表单的功能。
嗨,HN:
我创建Vayu是因为对当前API工具的状态感到沮丧。Postman已经变得臃肿,并且强制进行云同步,而像JMeter或k6这样的高性能工具往往缺乏良好的图形用户界面来进行快速调试。
Vayu试图填补这个空白。它是一个开源的、本地优先的API客户端(类似于Postman、Insomnia),其底层包含一个高性能的负载测试引擎(用C++20编写)。
关键技术决策:
- 侧车架构:用户界面使用Electron/React(为了可用性),但它会启动一个独立的C++守护进程(“引擎”)来处理实际的网络请求。
- 这使得用户界面在负载测试期间,即使引擎每秒处理数千个请求时,依然保持响应。
- 隐私:它是100%本地的。无需云同步,也不需要账户。
- 脚本:使用QuickJS进行测试脚本(兼容您已经熟悉的`pm.test`语法)。
我在Macbook Pro M3上本地测试过最高可达60k rps。
目前版本为v0.1.1。我有Windows、Linux和macOS的构建版本。(PS:macOS通过dmg文件运行需要一些额外步骤,可能需要找到解决方法)
我特别希望获得关于“引擎”性能和负载测试流程的开发者体验的反馈,同时希望开发者能帮助我改善用户界面。
代码库链接:[https://github.com/athrvk/vayu](https://github.com/athrvk/vayu)