tech.guitarrapc.cóm

Technical updates

pulumi でstateが事故ったときに過去のバージョンのstateを当てなおす

terraform もそうですが、Infrastructure as Code とかやってるとstate が壊れる日が来て軽く絶望します。 Pulumi で、誤った操作から state からリソースが200あまり消えたときにどのように復旧したのかをメモしておきます。 目次 目次 TL;DR 状況 復旧目標…

terraform for_each で data をいい感じで渡す

Terraform のfor_each は data でも使えます。 だから何だって感じですが、data でよく aws_iam_policy を拾うことがあるかと思いますが、for_each が使えれば 複数のpolicy を aws_iam_group、 aws_iam_user、 aws_iam_role といったリソースに紐づけるある…

PowerShell の -PipelineVariable を使おう

PowerShell v5 で追加された PipelineVariable に関して、本では説明していたのですがブログに書いていませんでした。 いい感じの例があったので、説明しておこうと思います 目次 目次 TL;DR 対象のPowerShellコード PipelineVariable とは PipelineVariable…

Datadog Log Management で Kubernetes の external-dns やkube2iam のログレベルを適切に扱いたい

Kubernetes のログを見るといえば、Datadog Log Mangement が楽なのですが時々ログメッセージが適切なレベルで扱われません。 そんなときによくやる「ログメッセージからレベルになるフィールドを取り出して Log Status として認識させる」ことを見てみまし…

GitHub Actions で .NET Framework プロジェクトをビルドする

Visual Studio 拡張 のプロジェクトは、今でも .NET Framework です。 .NET Framework ということは、基本的に Windows でのビルドになります。 今回、AppVeyor でやっていたビルドを GitHub Actions に移行したのでメモ。 最終的に、次のように .NET Framew…

GitHub Actions ことはじめ

GitHub Actions 以前調べたのですが、いろいろあって個人プロジェクトでサクッとビルドするのみに使っていました。 今回改めて調べを進めたのでメモ。 幾つかのリポジトリを GitHub Actions に移行したけど、記事にしようとまとめてたらやった内容以上に調べ…

CircleCI Orb をいくつか作った話

幾つか CircleCI Orb を作っていたのですが、記事にしていませんでした。 どれも必要になって作ったもので、いずれもプロダクションで万単位で実行されれているのでいい感じで使えそうなら幸いです。 目次 目次 TL;DR Orbs とは 公開したOrbs guitarrapc/git…

2019年を振り返って

毎年やっている昨年の振り返りをしてみます。 2018年はこれ。 tech.guitarrapc.com 目次 目次 総合 経営 プログラミング CSharp Golang PowerShell ShellScript インフラ Terraform Pulumi Kubernetes 記事 ライフスタイル ゲーム 2020年は? 総合 2019年の初…

Wi-Fiを Amplifi HD に移行した

最近やってよかったことの1つが、Wi-Fi を入れ替えたことでした。 何がどう変わったのか残しておきます。 目次 目次 TL;DR Wi-Fi をどれぐらい使っているのか 動機 選定基準 候補の絞り込み Amplifi HDを設置する REF TL;DR Amplifi HD、日本ではまだ出荷可…

2019年に使ったサービス

2018年から2019年でどうなったのか見てみます。 今年は一個一個のサービスにコメントせず、変化あったやつや新規とかのみで。 tech.guitarrapc.com 基本方針は変わりません。 有料・無料で同一程度のサービスがある場合無料のものを選択する 有料のサービス…

Wunderlist の移行先の検討と移行

Wunderlist を5年余り使っているのですが、ここ3年はサービス終わる終わるといわれ続けても移行先を時々探しては見つからず断念してきました。 と言っていると、ついに Microsoft から本当に終わらせる宣言が出たので移行先を検討し、移行しました。 Wunderl…

Pulumi Workaround

この記事は、Pulumi dotnet Advent Calendar 2019 の25日目です。 qiita.com 最終日は、Pulumi でこんなときどうするのかをまとめていきます。 目次 目次 TL;DR Pulumi.Aws.Iam.Invokes の Input<T> が Output<T> の依存解決を行えない Pulumi-aws の destroy で v</t></t>…

Pulumi でよく使うコマンド

この記事は、Pulumi dotnet Advent Calendar 2019 の24日目です。 qiita.com そろそろ終わりです。pulumi でよく使うコマンドを見てみましょう。 目次 目次 TL;DR ドキュメント 操作 pulumi up pulumi config pulumi destroy pulumi preview pulumi refresh …

Pulumi のState と実リソースの差分を同期する

この記事は、Pulumi dotnet Advent Calendar 2019 の23日目です。 qiita.com Terraform を使っていると、HCLで定義したリソースがHCLの定義とずれると差分として検出されました。 しかし、Pulumi では pulumi up をしただけでは検出されないことに気づきます…

ローカルPulumi ProjectとアカウントPulumi Project の紐づけ

この記事は、Pulumi dotnet Advent Calendar 2019 の22日目です。 qiita.com あまりないのですが、時にすでにある Project と ローカルのpulumi を紐づけたいときがあります。 そんなときにどうやればいいのか見ておきます。 目次 目次 TL;DR Summary Pulumi…

Pulumi で特定のリソースのみUpdateやDestroyする

この記事は、Pulumi dotnet Advent Calendar 2019 の21日目です。 qiita.com Pulumi で terraform target のような操作をどうやるか見てみます。 目次 目次 TL;DR 実際に操作する TL;DR Pulumi CLI 1.3.0 から --target によって可能になった。 合わせて rep…

DotNetCliToolReference から .NET Core Local Tools へ移行する

前回、.NET Core Tools と DotNetCliToolReference についてみてみました。 tech.guitarrapc.com DotNetCliToolReference がオワコンということで、.NET Core Local Tools に移行しないと、ということもあるわけでどのようにやったかを残しておきます。 目次…

.NET Core Tools と DotNetCliToolReference

.NET Core 3.1 がリリースされました、LTS リリースなので netcoreapp3.0 にしていたものは悉く netcoreapp3.1 に移行ですね。 さて、C# 的には .NET Core 3.0 から変化がほぼないのですが、dotnet cli や ビルド的には.NET Core 2.2から破壊的変更が行われ…

pulumi up で変化するリソースの内容を確認する

この記事は、Pulumi dotnet Advent Calendar 2019 の20日目です。 qiita.com 些末なコマンドメモです。 Terraformと違って細かい差分でないのですが、Continuous Delivery していると details を忘れるアレ。 目次 目次 TL;DR Summary TL;DR pulumi up 後の…

pulumi up 時の文字化け対策

この記事は、Pulumi dotnet Advent Calendar 2019 の19日目です。 qiita.com そろそろどうやるか見てみましょう。 と思ったのですが、日本語OS上では解決方法が見つからないのでゆるぼ。 目次 目次 TL;DR Summary NOTE: だめな方法 推察 REF TL;DR 現状日本…

Pulumi のプラグインを確認する

この記事は、Pulumi dotnet Advent Calendar 2019 の18日目です。 qiita.com Pulumi の各プロバイダの実装は Plugin として提供されています。 このプラグインを確認する方法を見てみましょう。 目次 目次 TL;DR Pluginの確認 GitHub .NET 実装では NuGet で…

Pulumi で他のstate 参照を行う

この記事は、Pulumi dotnet Advent Calendar 2019 の17日目です。 qiita.com Pulumi のTIPS を見ていきましょう。 Terraform の Remote State に相当する処理を見てみます。 Pulumiで 他のStack で管理しているリソースは参照できるのでしょうか? 目次 目次 …

Pulumi の state を Export したり Importする

この記事は、Pulumi dotnet Advent Calendar 2019 の16日目です。 qiita.com Pulumi を WebUI でProject/Stack 配下で管理するということは、ほかの Project/Stack に移動したいときに何か操作がいりそうですね。 それをどうするのか見てみましょう。 この記…

Pulumi でstateから特定のリソースを消す

この記事は、Pulumi dotnet Advent Calendar 2019 の15日目です。 qiita.com Pulumi の State から特定のリソースだけ管理対象外にしたい、そんなことはきっと起こります。 どのようにやればいいのか見てみましょう。 目次 目次 TL;DR 想定ケース 対応方法 R…

Pulumi でリソースのパラメーターが変化しても無視 Ignore Changes する

この記事は、Pulumi dotnet Advent Calendar 2019 の14日目です。 qiita.com すでに Pulumi で扱うこと自体はなるほど、という感じになってきましたでしょうか。 完全に理解した() を目指して、さらに進めてみます。 Terraform 作ったリソースだが、実際には…

dotnet test にタイムアウトを仕掛ける

dotnet test をCI で実行していて、永遠に終わらないのを仕込んでしまったのですがどう対処するかです。 目次 目次 TL;DR 異常なテストを捕捉したい テスト実行 dotnet test をタイムアウトさせる dotnet test をRunsettings.TestSessionTimeout で実行タイ…

Redis向け GUI ツール RedisInsight を使う

Redis を扱うにあたって、GUIでRedisの状態が把握できるツールがあると開発していて便利です。 最近は RDBTools を使っていたのですが、2か月ぶりにサイトをみると 2019/12/31 でEOLとのアナウンスと RedisInsight のGAリリースが出ていました。 このRedisIn…

Pulumi を CircleCI で Continuous Delivery する

この記事は、Pulumi dotnet Advent Calendar 2019 の13日目です。 qiita.com Terraform では、PRに連動させてどのようにPlan/Apply をするのかを一度は考え、すでに実践しているはずです。 私のお勧めはAtlantis ですが、CircleCI でもいいでしょう。Terrafo…

Pulumi の Project と Stack の構成

この記事は、Pulumi dotnet Advent Calendar 2019 の12日目です。 qiita.com Pulumi には、Project と Stack があります。 この構成どうするのがコンセプト的にはいいのか見てみます。 目次 目次 TL;DR project:stack を 1:n にしない TL;DR Stack は、あく…

Pulumi がTerraform と比較したときに困ったこと

この記事は、Pulumi dotnet Advent Calendar 2019 の11日目です。 qiita.com Terraform に慣れていると Pulumiもイメージしやすいところはあります。 一方で Terraform との違いでどうすればいいのかな? となることもあります。 どんなことがあるのか見ます…