使用 RustFS 自建对象存储
使用 Docker 部署准备配置 .env 准备 Docker 启动脚本 nginx 配置API 接口 控制台页面 配置存储桶权限默认权限为私有,需要用 apikey 才可以上传与下载。 先到访问密钥里面创建一个 APIKey 进入 存储桶 -> 设置 点击访问策略 旁边的编辑 选择自定义策略,私有写公有读 的 策略内容为: 使用 CURL 操作对象存储curl 操作对象存储,或者测试对象存储权限等。可以参考使用cURL命令管理对象存储(s3)
使用cURL命令管理对象存储(s3)
公共存储桶(无须认证) 私有存储桶(需要认证)上传文件 下载文件
AGENTS.md
这个文件可以让 AI 自己生成,所有 AI Agent 都会读取。claude.md 只有 claude code 这个 agent 可以读取。
Prometheus使用kubeconfig做k8s的service 自动发现监控
之前的写法:把 pod ip 写入配置文件。如: 痛点分析: 在 Kubernetes 中,直接使用 Pod IP 进行监控存在明显的局限性:一旦 Pod 发生重新部署或被节点驱逐,Pod IP 就会发生漂移,导致监控端必须频繁手动更新目标 IP。 如果转而使用 Service 地址进行监控,在单副本(Single Pod)情况下尚可正常工作;但若处于多副本(Multiple Pods)场景下,Service 自带的负载均衡(轮询机制)会导致每次监控指标抓取(Scrape)流量被随机分发到不同的 Pod 上。这不仅会导致时序数据出现剧烈的指标跳变(Data Fluctuation),还会引发 Counter(计数器)等类型的数据因无法正确累加而产生成倍的统计偏差(而正常的业务预期应当是获取所有 Pod 的数据总和)。 如果你的 kubeconfig 只有某个命名空间的权限,则需要指定命名空间,不然会因为权限被拒绝无法继续执行下去。 这样就算没有所有权限也可以进行抓取到 service endpoint metrics 了
定制Windows系统镜像iso
从 iso 文件中提取出 install.wim 文件 dism 解压 wim 文件到一个干净的 ntfs 分区或文件夹里 查看 wim 的 index id 挂载镜像到一个空目录 安装 Windows 更新补丁 ⚠️ 如果忘记执行 /Commit,所有更改都会丢失。如果只想丢弃更改并卸载,则使用 /Discard 替代 /Commit。 清理冗余更新 安装 winappx 软件包 其他常用命令 制作成 iso 镜像
使用create-dmg工具制作dmg安装包
简介create-dmg 是一个用来创建磁盘镜像文件(dmg)的 shell 脚本命令行工具。本文将介绍如何使用 create-dmg 来创建一个 dmg 磁盘镜像文件,即 macOS 系统的安装包。 准备工作create-dmg 可以通过 Homebrew 来安装,使用以下命令安装 create-dmg : 创建 DMG 文件在创建 dmg 文件之前,确保你的应用程序已经打包好,并且所有的资源文件都已经放置在正确的位置。通常为 xxx.app 的 bundle 形式文件。 创建一个文件夹,将你的应用程序拖放进去。这个文件夹将作为 dmg 文件的根目录。这里以 dmg-demo 作为目录为例: 只需要额外提供一张背景图即可。当然也可再提供一个 icns 图标文件作为磁盘镜像文件的图标(双击 dmg 后,桌面显示的磁盘镜像图标) 如图,上面为默认的磁盘镜像图标,下图为自行替换的图标: 在应用程序文件夹所在的目录打开终端。然后运行以下命令: 这个命令中包含了多个参数: --volname :设置卷的名称。 --background :设置窗口的背景图。 --windo...
superpowers
安装https://github.com/obra/superpowers 按照教程安装 使用/brainstorming进行头脑风暴 回答问题后,会生成 md 文件的设计文档,然后它会根据这个设计文档来写实现步骤,最后根据步骤来一一实现。
Nexus仓库搭建记录
https://www.sonatype.com/products/nexus-community-edition-download 配置域名与 SSL 证书, 我用的是 Kubernetes 的 ingress 做的反代(为了统一维护 ssl 证书),也可以使用 nginx 来做反代。 Default Secret Encryption Key 警告问题:
Git Merge代码冲突的解决方式
我在自己的分支开发,我在 dev 分支开发,想提交 Merge Request 合并到 main 分支,但是代码冲突,无法合并,需要先处理冲突,常用的解法有两种,一种是 merge 的方式合并代码,另一种是 rebase merge 方式合并这种方式需要有 push 主分支代码的权限 这个时候可能会出现代码冲突,建议使用 vscode 之类的软件进行合并,使用 VSCode 合并方式如下: 冲突解决完成,建议搜索一下关键词 >>>>>>>,能搜到,说明你的冲突还没解决完。 rebase 方式合并rebase 的方式就是改变代码的分支起点,类似于把 dev 分支的起点转变到 main 的最新 变成 其中 E’ 和 F’ 是 E、F 在 D 基础上重放的副本。 这样的好处是合并后的代码历史更简洁,是一条直线,且合并的时候可以不用管理员来处理代码冲突的情况(由自己处理掉),坏处是比较麻烦,可能会多次处理冲突。 如果这个界面直接 :wq 保存退出 这个时候如果有冲突,rebase 会停止,这个时候你需要手动解决冲突 建议使用...
使用 Easytier-web 管理 easytier 节点
普通的使用方式之前写过一篇文章:开源组网工具-easytier 但是试想一下如果你有 100 个 easytier 节点,现在想批量修改一个配置,那是比较痛苦的事情。easytier-web 就是个管理控制台,可以统一在控制台管理所有节点的配置。 搭建 easytier-web 服务官方提供的有两种服务,官方文档在:https://easytier.cn/guide/network/web-console.html EasyTier 的 web 控制台有 2 个版本: easytier-web(仅 web api 后端) easytier-web-embed(web 前端 + web api 后端) 如果你只搭建 web api 后端的话,需要登录官方的前端,api 配置你的后端地址,不过都选择自建了,那就前后端一起部署吧。 我是用 docker 搭建的,但是官方的 docker 镜像写死了 entrypoint 是 easytier-core ,不能启动 easytier-web 服务,所以自己构建镜像。 dockerfile避免镜像变大,我使用多阶段构建。 启动服务 ...




