リポジトリをブラウザで開く場合,GitHub CLI だと gh repo view --web コマンドで実現できる.もともと hub browse は入力しにくく hub open に alias を設定していたため,今回は gh alias set コマンドを使って gh open に alias を設定した.便利!
Kubernetes で設定値や機密情報を管理する場合,ConfigMap と Secret が代表的な選択肢として挙げられる.しかし Secret は暗号化ではなく Base64 でエンコードをする仕様になっているため,Git リポジトリで直接マニフェストを管理できないという懸念点がある.ドキュメントにも Base64 エンコーディングは「平文と同様であると判断すべき (Base64 encoding is not an encryption method and is considered the same as plain text.)」と書いてある.
$ kubectl apply -f https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.13.1/controller.yaml
Warning: rbac.authorization.k8s.io/v1beta1 Role is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 Role
role.rbac.authorization.k8s.io/sealed-secrets-key-admin created
Warning: rbac.authorization.k8s.io/v1beta1 ClusterRoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRoleBinding
clusterrolebinding.rbac.authorization.k8s.io/sealed-secrets-controller created
Warning: rbac.authorization.k8s.io/v1beta1 ClusterRole is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRole
clusterrole.rbac.authorization.k8s.io/secrets-unsealer created
service/sealed-secrets-controller created
Warning: rbac.authorization.k8s.io/v1beta1 RoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 RoleBinding
rolebinding.rbac.authorization.k8s.io/sealed-secrets-service-proxier created
role.rbac.authorization.k8s.io/sealed-secrets-service-proxier created
rolebinding.rbac.authorization.k8s.io/sealed-secrets-controller created
serviceaccount/sealed-secrets-controller created
deployment.apps/sealed-secrets-controller created
Warning: apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition
customresourcedefinition.apiextensions.k8s.io/sealedsecrets.bitnami.com created
$ kubectl get deployments.apps -n kube-system sealed-secrets-controller
NAME READY UP-TO-DATE AVAILABLE AGE
sealed-secrets-controller 1/111 50s
$ kubectl apply -f kakakakakku-sealed-secret.yaml
sealedsecret.bitnami.com/kakakakakku-secret created
$ kubectl get sealedsecret kakakakakku-secret
NAME AGE
kakakakakku-secret 20s
$ kubectl get secrets kakakakakku-secret
NAME TYPE DATA AGE
kakakakakku-secret Opaque 2 30s
$ asciinema auth
Open the following URL in a web browser to link your install ID with your asciinema.org user account:
https://asciinema.org/connect/00000000-1111-2222-3333-444444444444
This will associate all recordings uploaded from this machine (past and future ones) to your account, and allow you to manage them (change title/theme, delete) at asciinema.org.
レコーディング後に enter か ctrl-c を入力するように求められる.挙動の差は以下に簡単にまとめた.なお,asciinema にアップロードをした場合,private とは言え URL を直接指定すればアクセスできるため「限定共有」のような仕組みになる.
enter : asciinema に priavate 状態でアップロードする
ctrl-c : ローカルファイル (.cast) に出力する
$ asciinema rec
asciinema: recording asciicast to /var/folders/xx/yyy/T/zzz-ascii.cast
asciinema: press <ctrl-d> or type"exit" when you're done(中略)asciinema: recording finishedasciinema: press <enter> to upload to asciinema.org, <ctrl-c> to save locallyasciinema: asciicast saved to /var/folders/xx/yyy/T/zzz-ascii.cast
Mac で「ターミナル操作」をレコーディングできる「asciinema」を試した.簡単に使えるし,サービス側にアップロードできるのも便利だった.しかし asciinema コマンドは直近1年ほどはアップデートされてなく,関連ツールの asciicast2gif や asciinema-player もうまく動かなかった.asciinema Blog も接続できず,今後も継続的に使えるのかは判断が難しいところ.