controller-runtimeを使ったKubernetes Operatorで、CRDの存在を確認して動的に管理対象のリソースを設定したいとき

私が管理しているwalnuts1018/cloudflare-tunnel-operator というKubernetes Operatorでは、DeploymentやSecretだけではなく、ServiceMonitorも自動的に作られるようになっています。 しかし、Deploymentなどと違ってServiceMonitorはCustom Resourceなので…

はてなブログのアイキャッチを変えた

はてなブログProにしたので、自動生成アイキャッチのカスタマイズ機能を使ってみた。 デザインは、いつもPowerPointで使っている自作の表紙テンプレートをもとに作ることにした。 svgとかcssで頑張ったら結構いい感じに再現できた。 blog.walnuts.dev 同じデ…

LokiでRedis ClusterをLB越しに利用しているときに`MOVED`のエラーが出たら?

Grafana LokiのCacheとしてRedisを使い始めた。 Redisは、OT-CONTAINER-KIT/redis-operator を使ってRedis Clusterとして構築した。 あとはLokiのcache_config.redisにエンドポイントを指定すればOK。 github.com しかし、動かしてみるとlevel=error ts=2025…

Manifest Paths Annotationを利用してArgo CDのReconcileを減らす

自宅のKubernetesクラスタのArgo CDは100以上のApplicationを管理しており、1core / 1GB程度のリソースを常時占有しています。 特に、全てのManifestをJsonnetで記述しているため、Manifestの生成が重く、Reconcileの遅延も大きい状況が続いています。 リソ…

KUINSでcert-managerを動かす

KUINS (Kyoto University Integrated information Network System)内でcert-managerを使ってDNS-01 Challengeを動かした時にハマったのでメモ。 KUINSでは、Port 53のUDPをブロックしているため、1.1.1.1などの外部DNSにアクセスできず、内部DNSのみ利用でき…

【Deprecated】oklchを簡単にプレビューできるVS Code拡張を書いた

2025年6月9日 追記: vscode-css-languageserviceにてoklchがサポートされるようになりました 新しいバージョンのVSCodeを利用している場合は、競合を避けるため、この拡張機能の利用を中止することをお勧めします。 元の記事 タイトルの通り、oklch()の色を…

RubyKaigi 2024にNOCスタッフとして参加しました!

RubyKaigi 2024 に 2024/05/14(Day0)~ 2024/05/16(Day2)の 3 日間、NOC スタッフとして参加しました! きっかけ ある日(たぶん2023年9月22日)id:utgwkk さんと あんじ で飲んでいた時の事... : walnuts くんネットワーク興味ある? : あるかも! : 沖縄行…

【KMC新歓】Go言語で LINE Botをつくろう!

これは、4月15日にKMC春プロジェクト(新歓講座)として開催したイベントで用いたスライドです。 speakerdeck.com ※スライド中でCodeboxというものが出てきますが、これはcoder/code-server をカスタムし、KMC サーバー上にデプロイしたものです。 Codespace…

FluxCDのHelmReleaseでinstall後のリソースの差分を出す

目的 自宅 k8s の manifest を管理するリポジトリであるwalnuts1018/infraでは、renovate を用いて、HelmRelease の自動更新を行っています。 FluxCD の HelmRelease リソースには、Chart の Version を指定する項目があるのでそこが更新されていきます。 し…

PowerShellでAliasを設定するときの便利関数

function SetAlias { Param( [Parameter(Mandatory = $true, Position = 0)] [string]$Alias, [Parameter(Mandatory = $true, Position = 1)] [string[]]$Command ) foreach ($cmd in $Command) { # 空白を含んでいたら関数として定義 if ($Command -match "…

FluxCDのImageUpdateAutomationをPull Requestベースにする & Auto Mergeを設定する

目的 FluxCD には、Manifest 中の Image フィールドを自動的に更新してくれる機能があります。 とても便利な機能なのですが、公式ドキュメントの通りに ImageUpdateAutomationを設定すると、mainブランチに直接コミットされていきます。 そうではなくて、Ren…

kubectl applyでしかインストールできないアプリをFluxCD×Renovateで管理する

目的 walnuts.devのk8sクラスタは、FluxCDを使って管理されています。 github.com 多くのアプリケーションはFluxCD特有のHelm用設定ファイルやdeployment.yamlなどのManifestをコミットすることで本番環境に自動適用される、という運用になっています。 しか…

昇降デスクのケーブルを整理した

昇降デスクのケーブルって最大限上げてもつっかえないようにケーブルを眺めにとっているので、下げて使っている時ブラーんとなって邪魔ですよね。ということでケーブルチューブを買ってきれいにしました。Amazonで800円くらいで売ってました。意外とこれつけ…

Walnuts.dev を支える技術 (物理環境/ネットワーク編)

Walnuts.dev を支える技術 (物理環境/ネットワーク編)