• Docker Reload Cacert

    https://github.com/moby/moby/issues/39869

    目前看起来,只能重启才能加载系统证书。

    如果不想重启,有两个办法

    1. 配置 insecure-registries
    2. 创建 /etc/docker/certs.d/{domain} 文件夹,并将证书放在这下面
  • Run Amd64 On Mac M1

    package main
    
    import (
    	"fmt"
    
    	"golang.org/x/sys/unix"
    )
    
    func processIsTranslated() (bool, error) {
    	// https://developer.apple.com/documentation/apple_silicon/about_the_rosetta_translation_environment#3616845
    	ret, err := unix.SysctlUint32("sysctl.proc_translated")
    	print(ret)
    	print(err)
    
    	if err == nil {
    		return ret == 1, nil
    	} else if err.(unix.Errno) == unix.ENOENT {
    		return false, nil
    	}
    
    	return false, err
    }
    
    func main() {
    	if isTranslated, err := processIsTranslated(); err != nil {
    		panic(err)
    	} else if isTranslated {
    		fmt.Println("Running on Rosetta 2")
    	} else {
    		fmt.Println("Running natively")
    	}
    }
    
  • Profile Hang

    export DEBUGINFOD_URLS=””

    在使用 bcc profile 工具做火焰图的时候,卡在输出时。

    通过 strace 和 dcpdump 看到他在请求 https://debuginfod.centos.org.

  • Nonono

    奶奶在家里让他去上学的时候,说“你不上学,爷爷和我都不和你玩。你就自己玩吧。”

    我非常不喜欢这种方式,第一你没权利替爷爷做决定。第二我想起来我小学五年级的班主任,我现在还觉得他是个人渣,他惩罚一个人的时候方式是不让其他任何同学和这个人讲话。

  • Auto Activate

    function auto_activate_venv() {
        if [ -e "venv/bin/activate" ]; then
            source venv/bin/activate
        else
            local dir=$(pwd)
            while [[ "$dir" != "" && ! -e "$dir/venv/bin/activate" ]]; do
                dir=${dir%/*}
            done
            if [ -e "$dir/venv/bin/activate" ]; then
                source $dir/venv/bin/activate
            fi
        fi
    }
    #export PROMPT_COMMAND="auto_activate_venv"
    
    function cd() {
      type deactivate > /dev/null && deactivate
    
      builtin cd $1
    
      auto_activate_venv
    }
    auto_activate_venv
    
  • Update Kafka Cert

    export idx=3
    export cluster=hotel-searchservice-shaxy-b
    
    k exec -npro-kafka $cluster-kafka-$idx -- mkdir /tmp/broker-certs /tmp/client-ca-certs /tmp/cluster-ca-certs
    
    clustercert=`k get secret -npro-kafka $cluster-cluster-ca-cert -o jsonpath='{.data.ca\.crt}' | base64 -d`
    k exec -npro-kafka $cluster-kafka-$idx -- sh -c "echo '$clustercert' > /tmp/cluster-ca-certs/ca.crt"
    
    clientscert=`k get secret -npro-kafka $cluster-clients-ca-cert -o jsonpath='{.data.ca\.crt}' | base64 -d`
    k exec -npro-kafka $cluster-kafka-$idx -- sh -c "echo '$clientscert' > /tmp/client-ca-certs/ca.crt"
    
    brokerkey=`k get secret -npro-kafka $cluster-kafka-brokers -o jsonpath="{.data.$cluster-kafka-$idx\.key}" | base64 -d`
    brokercert=`k get secret -npro-kafka $cluster-kafka-brokers -o jsonpath="{.data.$cluster-kafka-$idx\.crt}" | base64 -d`
    k exec -npro-kafka $cluster-kafka-$idx -- sh -c "echo '$brokerkey' > /tmp/broker-certs/$cluster-kafka-$idx.key"
    k exec -npro-kafka $cluster-kafka-$idx -- sh -c "echo '$brokercert' > /tmp/broker-certs/$cluster-kafka-$idx.crt"
    
    
    k exec -npro-kafka $cluster-kafka-$idx -- sh -c "sed 's|/opt/kafka/|/tmp/|' kafka_tls_prepare_certificates.sh > /tmp/upate-cert.sh"
    
    k exec -npro-kafka $cluster-kafka-$idx -- sh -c 'export CERTS_STORE_PASSWORD=$(grep listener.name.replication-9091.ssl.keystore.password /tmp/strimzi.properties | cut -f2 -d=) && sh /tmp/upate-cert.sh'
    k exec -npro-kafka $cluster-kafka-$idx -- bin/kafka-configs.sh --bootstrap-server 127.0.0.1:9092  --entity-type brokers --entity-name $idx --alter --add-config listener.name.replication-9091.ssl.truststore.location=/tmp/kafka/cluster.truststore.p12
    
  • Keytool List

    keytool -v -list -storetype pkcs12 -keystore keystore.p12

  • Openssl Check All Certs

    问:

    openssl 怎么查看一个 bundle 证书的所有证书信息?

    答:

    要查看一个包含多个证书的证书包(bundle)的所有证书信息,您可以使用OpenSSL命令行工具。首先,确保您已经安装了OpenSSL。

    接下来,使用以下命令查看证书包中的所有证书信息:

    openssl crl2pkcs7 -nocrl -certfile bundle.crt | openssl pkcs7 -print_certs -text -noout
    

    在这里,bundle.crt 是您的证书包文件名。请将其替换为您的实际文件名。

    这个命令首先将证书包转换为PKCS #7格式,然后使用openssl pkcs7命令提取和显示所有证书的信息。

    如果您只想查看证书包中的某个特定证书,可以使用以下命令:

    openssl x509 -in bundle.crt -text -noout
    

    这将显示证书包中第一个证书的信息。要查看其他证书,请使用-certopt选项指定要查看的证书,如下所示:

    openssl x509 -in bundle.crt -text -noout -certopt ca_only
    

    这将显示证书包中的CA证书信息。您可以根据需要调整-certopt选项。

  • unclean.leader.election.enable

    提前设置好 unclean.leader.election.enable ,然后 replica 变成 offline。这个时候leader 不会选举出来。

    需要等 leader 变成 -1 之后,再设置 unclean.leader.election.enable 才能选举出来

  • 老了

    23年夏天的时候,踢球被踢了一脚脚踝,到冬天都没好。

    11月份的时候,有天胳膊突然疼(我现在怀疑是鼠标的原因,用鼠标的时候那里的肌肉是会用到的,平时感觉不到,但伤了之后就有感觉了)

    就一直没有好。老了啊。