2021年6月17日 dnsx - 一款支持多解析商的命令行 dnsx 客户端 多支持多运营商的 DNS 命令行 客户端。 Usage 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 DNSx 配置管理 DNS 解析 Usage: dnsx [command] Available Commands: add 添加域名解析 configure 管理配置文件 delete 删除解析记录 help Help about any command search 查询记录信息 switch 切换域名状态 Flags: -c, --config string config file (default "$HOME/.dnsx/dnsx.json") -h, --help help for dnsx -p, --profile string profile (default "default") Use "dnsx [command] --help" for more information about a command. dnsx profile configure dnsx……
阅读全文
2021年6月16日 5分钟k3s - k3s 使用外部数据库实现高可用 hostname ipaddr master01 192.168.0.12 master01 192.168.0.45 agent01 192.168.0.111 1. 安装外置数据库 1 2 3 4 5 6 # 1. 安装一个外置数据库 # yum install mariadb mariadb-server ## ubuntu apt update apt install -y mysql-server 适配 mysql8.0 创建用户 1 2 3 4 5 6 7 8 -- mysql 8.0 创建解决办法: -- 创建账户:create user '用户名'@'访问主机' identified by '密……
阅读全文
2021年6月16日 我用写了一个 gitlab 代码合并机器人, 帮老板每个月省了 100 万 原文链接: https://tangx.in/posts/2021/06/16/gitlab-mergebot/ gitlab merge request robot 是一个 golang 编写的 gitlab mr 请求处理扩展服务。 由于 gitlab(free plan) 的 Merge Request 功能有限, 不能支持多人 Code Reivew。 因此引入第三方机器人进行 MR 合法性仲裁。 设计思路 目标的安全: 使用 目标项目和分支 中的 .mergebot.yml 配置作为机器人判定配置 有意义的文字信息:……
阅读全文
2021年6月12日 XXE 实体注入 好文推荐 https://xz.aliyun.com/t/3357#toc-0 https://cloud.tencent.com/developer/article/1690035 XXE 认识 XML 文档有自己的一个格式规范,这个格式规范是由一个叫做 DTD(document type definition) 的东西控制的,他就是长得下面这个样子 1 2 3 4 5 6 <message> <receiver>Myself</receiver> <sender>Someone</sender> <header>TheReminder</header> <msg>This is an amazing book</msg> </message> XXE(XML External Entity Injection) 全称为 XML 外部实体注入,从名字就能看出来,这是一个注入漏洞,注入的是什么?XM……
阅读全文
2021年6月7日 5分钟k3s - k3s单节点架构介绍与安装卸载管理 k3s 单 Server 节点架构 K3s 单节点集群的架构如下图所示,该集群有一个内嵌 SQLite 数据库的单节点 K3s server。 在这种配置中,每个 agent 节点都注册到同一个 server 节点。K3s 用户可以通过调用 server 节点上的 K3s API 来操作 Kubernetes 资源。 单节点k3s server的架构 Server 安装 安装条件……
阅读全文
2021年6月5日 什么是 K3s? K3s 是一个轻量级的 Kubernetes 发行版,它针对边缘计算、物联网等场景进行了高度优化。 K3s 有以下增强功能: 打包为单个二进制文件。 使用基于 sqlite3 的轻量级存储后端作为默认存储机制。同时支持使用 etcd3、MySQL 和 + PostgreSQL 作为存储机制。 封装在简单的启动程序中,通过该启动程序处理很多复杂的 TLS 和选项。 默……
阅读全文
2021年5月22日 使用js读取html meta 实现静态前端网站容器化 之前写过一篇关于前端容器化的文章, 静态前端网站容器化 。 现在看来, 那个方案的可操作性并不高, 而且很弱智。 其中实现是需要使用 sed 替换 所有文件 中的占位符。 然后, js 本身是可以通过 html meta 传递信息的。 以下, 则是 通过 js 获取 html meta 信息以实现前端容器化 1. 重新整……
阅读全文
2021年3月12日 gitlab-ci 配置复用 - reference tags 在 GitLab 13.9 中增加了一个新的关键字 !reference。 这个关键字可以在任意位置复用已存在的配置。 1 2 3 4 # tree ci/setup.yml .gitlab-ci.yml ci/setup.yml 1 2 3 4 5 6 # 以 . 开头的 job 名称为 隐藏job , 将在 ci 中将被忽略 # https://docs.gitlab.com/ee/ci/yaml/README.html#hide-jobs .setup: image: hub-dev.rockontrol.com/docker.io/library/alpine:3.12 script: - echo creating environment .gitlab.ci.yml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36……
阅读全文
2021年2月9日 lego-certmgr 一款使用 lego 生成域名证书的代理服务 lego-certmgr 是一个基于 lego - Github Libiray 封装的证书申请 代理 。 其目的是 为了快速方便的申请 Let’s Encrypt 证书 提供 RESTful API 接口, 方便下游系统 (ex cmdb) 调用并进行资源管理 因此 certmgr 为了方便快速返回已生成过的证书而缓存了一份结果。 由于 certmgr 定位是 代理 , 所以并未考虑证书的 持久化 和 过期重建 操作。 使用说明 下载……
阅读全文
2021年1月28日 静态前端网站容器化 在容器启动的时候,将环境信息初始化到静态文件中,实现无状态镜像。 现实与需求 js 代码需要先从服务器下载到客户本地浏览器运行, 再与后端的服务器进行交付提供服务。 使用 nodejs 书写的网站, 通过 编译 产生静态文件, 放在 WEB容器 (例如 nginx/caddy ) 中即可对外提供服务。 容器本身需要无状态, 实现……
阅读全文