https://agou-images.oss-cn-qingdao.aliyuncs.com/BaseIMG/tuoer.jpg

岂能尽如人意,但求无愧我心。

Containerd+Harbor私有仓(https)

看似简单,其实中间有很多坑,有时候一个小小的错误就会导致一连串的问题,故在此记录一下。

预先准备

配置Harbor https

生成CA自签证书、私钥、habor证书私钥(harbor.xxx.local换成你自己的域名):

 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
# CA私钥
openssl genrsa -out ca.key 4096
# CA证书
openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=harbor.xxx.local" \
 -key ca.key \
 -out ca.crt
# 生成habor私钥
openssl genrsa -out harbor.key 4096
# 生成证书请求文件
openssl req -sha512 -new \
    -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \
    -key harbor.key \
    -out harbor.csr
# 生成x509 v3格式的文件
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=harbor.xxx.local
DNS.2=harbor.xxx
EOF
# 使用上面的文件来签署证书
openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in harbor.csr \
    -out harbor.crt

PVE初始化相关

去除登录订阅弹窗

备份该文件:

1
cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js{,.bak}

找到以下代码,大概在546行:

1
2
546                     if (res === null || res === undefined || !res || res
547                         .data.status.toLowerCase() !== 'active') {

将以上的if条件改为false即可,如下:

1
if (false) {

修改完保存文件,重启服务:

1
systemctl restart pveproxy

MacOS偏门解决vim/Neovim光标跳转(j/k键)卡顿的问题。【使用karabiner】

问题详情参考:https://blog.deskangel.com/2021/04/03/vim-j-k-speed-issue/

在iterm2中强制让英文输入法切换为内置的ABC输入法而不使用搜狗或者其他输入法的英文状态.

在使用iterm2的时候,将左shift键重新映射为command+space键(在系统快捷键中设置切换输入法的快捷键,这里你可以自定义)。 使用以下命令将上面这个键盘映射json文件导入到karabiner里面(浏览器打开就可以,会自动拉起karabiner,路径自定义。)

1
2
3
karabiner://karabiner/assets/complex_modifications/import?url=file:///Users/agou-ops/Desktop/iterm2.json
# 或者直接使用我上传好的在线gist文件.
karabiner://karabiner/assets/complex_modifications/import?url=https://gist.githubusercontent.com/AGou-ops/cb8659d99ff47f32eeb14a81ad47a2a9/raw/85b9ecce462330c57de0930d9495d257ed903ac1/iterm2_key.json