サービスは呪い
サービスは呪い
自分のサービスを持ったらそれに一生つきまとわれる。
ソフトウェアの経年劣化
ソフトウェアは経年劣化します。 物理的な機械なら錆びたり摩耗したりして目に見えてもろくなるので分かりますが、0と1の情報だけのソフトウェアがもろくなるというのはあまりイメージがつきません。
しかし、実際にはマシン性能の向上により安全だと思われていたのが危険になったり、第三者により脆弱性の指摘が入ったりして今サービスに使用している部品がもろくなることがあります。
えるろだもゼロから作ってるわけではなく、当然ある程度のツールを使用して作成しているのでそのツール群に危険な脆弱性が発覚した場合は皆さんを危険に晒すことになります。 そのため日々脆弱性には目を光らせておく必要があります…
Dependabot
えるろだはGitHubにて管理されています。 GitHubの機能としてDependabotがあります。これは脆弱なバージョンのツールを使っていた場合は自動で通知、修正バージョンを使用するための修正案を作ってくれるものです。
ただ、勿論何も考えずに提案に応じるのは良くないです。何故ならバージョンアップした結果後方互換が切られてしまってうまく動作しない場合があるからです。 最低限の動作確認をするために、自分は一応実験環境で動かして問題ないか確認をしてから本番環境に適用しています。 まごころをこめた対応です。クソだるいです。
なお、GitHubにて修正提案を作ってくれるだけでは気づかないのでDiscordに連携して通知してくれるようにしています。 このDiscordチャンネルに通知があると『またお前かよ…』という気持ちになるのでオススメです。

最低限の監視
一応ログ収集のためにlokiというログ収集ツールとそれを可視化するためのGrafanaというものを使っています。

えるろだのログは全てこいつに向かって流れます。サーバ管理者はサーバ管理者はここを見つつサーバ状態を確認できます。 また、当然この画面は私生活では見ないのでエラー等が起きた場合はDiscordに飛ばしてほしいです。ここはalertmanagerというのを使って連携させ、自分しかいないDiscordサーバに通知させています。このサーバに通知があると『またお前かよ…』となります。
なおここらへんは全て自分のKubernetes上でhelmで建てています。構成管理をまとめるためにterraformでサクッと建てています。いつかargocdに置き換えたいですね…
まとめ
だるいです。でもこういうのをしてないと危険なサービスになり果ててしまうので必要なことです。
当然けーろだでは一切脆弱性監視やログ監視をしていなかったのでこちらの方が安全です。しかしその裏では1人で頑張っている自分がいます。 暇なら寄付ヨロです(???)
