挫折を乗り越え...
前回[cert-manager(arm64)でさくらのDNSつかいたかった...]を投稿致しましたが、なんとかギリギリGWと言い張れなくもないうちにcert-managerのDNS01 - webhook プロバイダのさくらのクラウドDNS実装ができましたので投稿します。
snmagn/cert-manager-webhook-sacloud
ご利用にあたって
cert-managerのDNS01のwebhookプロバイダを使用する場合は以下のページが参考になります。
上記リポジトリのREADMEにも利用の仕方を記載してますので、合わせてご覧ください。
色々苦労した面白かったこと
まず、Go言語に今まで触れてこなかったんで、文法やら考え方やらは戸惑いました!
クラスないのに、レシーバってなんぞやとか。今回である程度慣れることができたのは良い経験になったかも。でも、もっと奥が深いみたいなので、別の目標立ててまたなんかやりたいなー。
次はkubernetesに連携するプログラムを作成する際のデバッグ方法が最初分からなくて苦労しました。デバッグログをうまく捌ける様になってからは大分効率よくできる様になりましたが。libsacloud/v2の使用方法も最初分からなくて随分苦労しました。ビルド通る様になってマルチアーキテクチャのdockerイメージの作成に成功したときは感動しましたね。Goとdocker buildxの連携はすげぇ。
最後はkubernetesのRBAC周りのところには引っかかりました。既に実装終わったつもりでいたら、cert-manager-webhook-sacloudのServiceAccountがさくらのクラウドDNSに接続するためのアクセストークン情報を格納したSecretにアクセスできずになぜだ...?と考えたり。
この辺は結局、元のテンプレのhelmチャート通りだと使いづらかったので、roleを追加したり、他にも細々と変更を加えて対応しましたが、この辺も今となっては良い勉強になりました。
こんな苦労しなくても既製のサービス使えばもっと楽なんですけどね!
でも、色々と中身をみながら実装するのは、やはり技術畑の人間としては楽しくてしょうがない...