nabeo がピーしているブログ (仮)

どーも、nabeop です

Node.js の grpc パッケージのインストール時に python で gyp が見つからなくてエラーになる時の対処

手元環境の python を 3.12 系に更新したあとに Node.js で grpc パッケージを入れようとすると │ Traceback (most recent call last): │ File "/Users/nabeo/.cache/node/corepack/pnpm/8.15.3/dist/node_modules/node-gyp/gyp/gyp_main.… │ import gyp # n…

git の alias の紹介、あるいは、init.defaultBranch を設定しておくと生活が豊かになる話

git のローカルリポジトリで丁寧にデフォルトブランチを設定しておくと便利という話

Github Actions と blogsync を使ってはてなブログの記事を管理する

前々からこのブログを Github で管理したいなーと思っていたけど、なかなか手をつける気になっていなかった。なぜかこの連休中に機運が高まったのでえいやで Github Actions と blogsync を使った仕組みを導入した。 大筋では 新しいエントリを追加する P-R …

ある github organization のリポジトリを手元に持ってくる時に使っているアレ

github api を gh api で呼び出していい感じに 手元になければ ghq get して、デフォルトブランチを設定する アーカイブ済みのリポジトリは消していいかを聞いてから消す ということをしてくれる。 #!/usr/bin/env zsh for repo in $( gh api --paginate --j…

cdktf 再入門

一年ぶり、2回目の cdktf 入門エントリです。

AWS Certified Security - Specialty に合格しました

会社の資格取得補助を利用して、AWS Certified Security - Specialty の資格を取得できた。 一昨年は AWS Certified Solutions Architect – Associate に合格したけど、去年は AWS Certified Advanced Networking - Specialty に落ちちゃったので、今年こそ…

OpenSSH で複数の公開鍵を使い分ける

人間、生きていると複数の公開鍵を優先順位をつけて使い分けたくなる時があります。例えば、OpenSSH 8.8/8.8p1 で ssh-rsa 鍵による署名が無効になるので、この機会に ssh-rsa 鍵を捨てたいけど、本当に全部のサーバを置き換えたか自信がないので、古い鍵に…

TLS で暗号化された内容を見たいとき

稀に TLS で暗号化されたパケットの中身を確認したくなる時があるけど、Change Cipher Spec のあとは暗号化されていて困る。TLS はそういうんもんなので普段は困らないけど、handshake の様子とかをつぶらに確認したくなる時とかに途方に暮れたりする。 こう…

1ヶ月ほど開発版の emacs で生活してみた

macOS で emacs を使うには日本語入力周りでパッチを当てる必要があったので、長らく emacs は安定版を使っていた。そんなある日、現実逃避でググっていたら emacs 28.0.50 で macOS でも WebKit を使えるようになったと知った。 ながらく安定版をつかってい…

gh コマンドで複数のサイトを使い分けられるようになっていた

gh コマンドとは github の公式 cli ツールです。 github.com ある日、ボーッと gh コマンドの補完候補を眺めていたら、gh auth login というコマンドが生えていたことに気づきました。ドキュメントを読んでみると、複数のサイトの認証情報を持てるぽい。 cl…

cdktf に入門した話

cdktf に入門した記録です。

terraform で for_each でリソースを作りつつ、リソース内に Optional な引数を作りたい時

terraform の Google Cloud プロバイダーの google_compute_subnetwork リソースを定義している module で、 1つのサブネットで1つ以上のセカンダリ IP レンジを持つことができる Production 環境と Staging 環境など似た構成で複数のサブネットを作りたい …

cdktf diff の内容を詳しく調べる

最近は Terraform を触っているんだけど、AWS-CDK に慣れた身としては HCL を直接書くのは厳しいので、cdktf を試している。cdktf とは AWS-CDK のように Terraform の HCL を Typescript などで記述できるツールです。 github.com cdktf を使うにあたり厳し…

Terraform で Google Beta API をつかう

2行でまとめると プロバイダは google と google-beta の両方を定義する 必要な時だけ google-beta プロバイダをつかうと宣言する という感じ。 モノによっては Google Beta API をつかう必要がある。Terraform の Google Cloud 向けプロバイダでは API の種…

gnupg の鍵サーバで hkps://hkps.pool.sks-keyservers.net を使いたい

gpg

[注意] !!!sks-keyservers.net は終了しているのでこの設定は意味がありません!!! [追記]

GoBGP で経路フィルタを書く

ボーと眺めていたら必要ない経路を広報していたのでフィルタ書くかーと思ったので、メモておく。

GoBGP で受け取った経路を Quagga (zebra) でカーネル経路に落とし込む

vagrant で k8s クラスタを作った記録では以下のように書いていました。 gobgpd と quagga を使った BGP ルータの構築も https://github.com/nabeo/vagrant-k8s-metallb で構築していますが、ここでは詳しくは触れません。 ということで、今回は gobgpd で受…

k8s クラスタを気軽に遊べる環境を作っている

k8s のマネージドサービスとして GKE や EKS などで出揃った感はあるけど、マネージドサービスでは k8s クラスタの全ての機能を使うことはできないという認識です。特にネットワークなどインフラよりな低レイヤーな部分はマネージドサービス側でいい感じに隠…

k8s クラスタを kubeadm でアップグレードしたときのメモ

最近は手元で k8s クラスタを作って遊んでいます。いつの間にか k8s の 1.15 系が使えるようになっていたので、kubeadm を使ってクラスタのアップグレードをしてみました。 手順は以下の kubeadm を使った 1.14 から 1.15 へのアップグレード手順をなぞった…

最近は Vagrant では ansible_local でプロビジョニングしている

vagrant で手元の VirtualBox に検証環境を作る場合は Ansible Local Provisioner を使っています。 昔は Ansible Provisioner を使っていたけど、手元環境を汚さずに仮想ホスト上で ansible を直接実行できることにメリットを感じています。 Vagrantfile は…

未来大×企業エンジニア 春の LT 大会で LT してきました #springlt_hakodate

未来大×企業エンジニア 春のLT大会に登壇させてもらえる機会があったので、函館の元気な若者に会いに行ってきました。 お題は「これだけは伝えておきたい技術」ということで、若者に刺さって10分の発表枠に収まりそうな内容ということで、かなり悩みました。…

pass で複数のレポジトリを管理する

この記事は仕事用のマシンで pass のレポジトリを統合した時に実施した作業のメモです。 仕事とプライベートの両方でパスワードなど秘密情報の管理に pass を使っています。ただし、仕事の pass は会社のレポジトリ、プライベートの pass はプライベートなレ…

株式会社はてなに入社して1年と1ヶ月が経ちました

早いもので以下のエントリから1年経ちました。 入社した 3/1 に入社して1年経ちましたエントリを書こうと思ったけど、エイプリールフールに入社エントリを書くのは面白かったので、4/1まで待ちました。 ということで、この1年(と1ヶ月)の間、何をしていたか…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

手元で Dockerfile から docker イメージを作る時に使っている Makefile の書き方

手元環境で Dockerfile から docker イメージを作る時はいちいち docker build コマンドを直接実行するのはダルいのでラッパースクリプトなどで実行するようにしています。 管理している Dockerfile や docker イメージの種類が多くなってくると素朴なラッパ…

コードの書き納めと書き初めで mackerel plugin を作った

2018年から2019年の年末年始は 1/4(金) を有給にして、12/29 から 1/6 までガッツリと休みを確保したので、チマチマとコードを書いていた。 Linux の proc/net 以下に出ている情報をなんとかして、mackerel で表示できたら便利だよなーと思っていたんだけど…

mackerel-agent-plugins に PR を送った話

Mackerel Advent Calendar 2018 - Qiita の 11日目です。昨日は id:koudenpa さんの.NET で動くアプリケーションを Mackerel で監視できるかな? でした。 今回は mackerel-agent-plugin の mackerel-plugin-squid を使おうとしたところ、運用上欲しいメトリ…

ubuntu で Dtrace が使える MySQL バイナリを作る

とあることで MySQL さんの働きっぷりを dtrace で追いかけようと思ったけど、ubuntu が提供しているバイナリでは、dtrace 向けのオプションが付いていない状態でビルドされていた。 $ sudo /usr/share/bcc/tools/tplist -l `which mysqld` $ MySQL :: MySQL…

unbound-anchor で DNSSEC 向けトラストアンカーを更新すると EXIT CODE 1 で終了する

趣味活動で unbound の dnstap とか EDNS Client Subnet の挙動を確認したかったので、unbound のコンテナイメージを作っていたんだけど、最後に /usr/local/etc/unbound 以下の環境を作るところで、エラー終了してホゲーとなっていた。問題になっていたのは…

mkr の emacs-helm インターフェースを作ってみた

helm て何 mkr の出力を emacs-helm でも扱いたい 作った helm て何 世間では k8s が流行ているので、helm といったら、k8s のパッケージシステムの helm が一般的になりつつあって少し残念な気分になっています。 emacs の世界で helm というと、こちら。僕…