🐧

2024 年振り返り

2024/12/31に公開

自分が 2024 年にエンジニアとしてやったことの振り返りです。

去年の振り返りはこちら。

https://zenn.dev/shunsuke_suzuki/articles/look-back-on-2023

本記事は長いので興味のあるものだけつまみ食いするのも良いでしょう。

GitHub の Follower 数や Star 数などの変化

GitHub Followers: 245 => 360 (+115)

2024-12-31 時点の GitHub Status

Star 数 Top 3 は変わらずですが、 go-graylog がようやく Top 6 から消えました。
Top 6 を全部 100 超えしたいですが、あと 1 つですね。

新しく作った OSS

https://suzuki-shunsuke.github.io/profile/oss-development

15 個 (漏れがあるかもですが)

リポジトリ一覧
first release date name lang type short description
2024-12-21 disable-checkout-persist-credentials Go CLI Disable actions/checkout's persist-credentials
2024-12-21 tfmv Go CLI Rename Terraform resources and modules and generate moved blocks
2024-12-10 sort-issue-template Go CLI Change the order of GitHub Issue Templates using a text editor
2024-12-03 ghd2i Go CLI Create GitHub Issues from GitHub Discussions
2024-12-01 close-discussion-action YAML GitHub Action (Composite Action) GitHub Action to close and lock GitHub Discussions
2024-11-29 tfrstate Go CLI Find directories where changed terraform_remote_state data source is used
2024-11-17 release-js-action YAML, Shell script GitHub Actions GitHub Action to release JavaScript Actions
2024-10-29 lock-action TypeScript GitHub Actions GitHub Action for lock mechanism using GitHub branches
2024-08-06 ghomfc Go CLI Output GitHub Organization Members ordered by GitHub Followers
2024-07-23 ghproj Go CLI Add GitHub Issues and Pull Requests to GitHub Projects
2024-06-28 ghatm Go CLI Set timeout-minutes to all GitHub Actions jobs
2024-06-16 yodoc Go CLI Keep document including commands and their results maintainable
2024-05-30 lintnet/lintnet Go, Jsonnet CLI General purpose linter powered by Jsonnet
2024-05-08 aquaproj/devcontainer-features JSON, Shell Script Dev Container Features Dev Container Features for aqua
2024-02-04 simple-sync-action YAML GitHub Action (Composite Action) GitHub Actions to synchronize specific files with the specific branch to prevent tamper

lintnet は Jsonnet を活用した汎用の Linter です。
Event で登壇もしました。

https://speakerdeck.com/szksh/lintnet-general-purpose-linter-powered-by-jsonnet

https://zenn.dev/shunsuke_suzuki/articles/lintnet-introduction

weekly.tf でも紹介されました。これは lintnet が Terraform の lint にも対応していて Terraform 用の Module を提供しているからでしょう。

https://www.weekly.tf/p/issue-176-using-azapi-provider-aws-cloud-control-terraform-modules-and-finops-tools-as-once-connect

ghproj は GitHub Issues や PR を検索して Projects に追加するツールです。
自分の OSS のタスク管理には欠かせない OSS になっています。

https://zenn.dev/shunsuke_suzuki/articles/add-github-issue-pr-to-project

ghatm は GitHub Actions の timeout minutes を簡単に設定できて便利です。

https://zenn.dev/shunsuke_suzuki/articles/github-actions-timeout-minutes

GitHub Actions の実行履歴に基づいて自動で timeout-minutes を設定する機能もリリースしました。
ただし、 workflow_call 非対応など、まだまだ改善の余地があります。

https://zenn.dev/shunsuke_suzuki/articles/ghatm-auto-timeout-minutes

yodoc はコマンドの実行結果をドキュメントに埋め込むツールです。
コマンドとその実行結果を含むドキュメントのメンテナンス性を改善します。
せっかく作ったもののあまり活用できてないので、もっと活用していきたいですね。

simple-sync-action はとてもシンプルな action ですが、 CI の改ざんを防ぐのに役立つ security 的には重要なやつです。

https://zenn.dev/shunsuke_suzuki/articles/prevent-tamper

aquaproj/devcontainer-features は Dev Container で aqua をインストールするやつです。

ghomfc は GitHub Org 内のメンバーを GitHub の Follower 数に出力してくれるやつです。
社内で OSS 活動をバリバリやっている人を見つけたいときとか、自分がどのくらいの位置にいるのか知りたいときに便利です。

release-js-action は JavaScript action の開発に便利なやつです。

https://zenn.dev/shunsuke_suzuki/articles/tfaction-stop-transpile-local

lock-aciton は GitHub Actions で lock action を実現するやつです。
実際に使ってくれている人もちらほらいるようで何よりです。

https://zenn.dev/shunsuke_suzuki/articles/github-lock-action

sort-issue-template は GitHub Issue Templates を簡単に並べ替えるツールです。

https://zenn.dev/shunsuke_suzuki/articles/sort-issue-template

ghd2i は GitHub Discussions から GitHub Issues を生成するツールです。
Discussions を Issues に移行したい場合に便利です。

close-discussion-action は自動で Discussion を close, lock する action です。
新たに discussion を作らせたくない場合などに便利です。

tfrstate は terraform_remote_state data source 経由で Root Module の Output values に依存している Root Module を検出するツールです。
Output values が変更された際に影響のある Root Module を洗い出すのに便利です。
Terraform Weekly でも紹介されました。

https://www.weekly.tf/p/issue-204-aws-security-guardrails-s3-backend-without-dynamodb-llm-based-terraform-generation-3-tier

tfmv は Terraform のリソースをリネームして moved block を生成するツールです。
一括で -_ に置換したり出来ます。より柔軟な置換にも対応しています。

https://zenn.dev/shunsuke_suzuki/articles/tfmv-terraform-resource-renaming

https://dev.to/suzukishunsuke/refactor-terraform-resource-names-by-one-command-4amh

disable-checkout-persist-credentials は GitHub Actions の actions/checkout の persist-credentials を無効にするツールです。
persist-credentials はデフォルトで有効ですが、有効になっていると後続の step で GitHub Access Token などの secret を参照できてしまいセキュリティ的に望ましくありません。
ただ、 actions/checkout は至るところで使われるため、 workflow を手で修正して無効化するのは大変です。
そこで自動で無効化するツールを作りました。
multi-gitter と組み合わせると大量のリポジトリをまとめて修正することが出来ます。

https://zenn.dev/shunsuke_suzuki/articles/github-action-checkout-persist-credentials

こうして振り返ると大きな OSS は少ないですが、どれも思い入れがあります。

OSS contribution

merge された Pull Request の数: 54 個
週 1 くらいで contribution していました。

https://suzuki-shunsuke.github.io/profile/oss-contribution

マージされた PR 一覧
merged date repository lang PR's short description
2024-12-21 zix99/rare YAML (GitHub Actions, GoReleaser) chore: update GoReleaser and goreleaser-action and fix deprecation warning
2024-12-15 JanDeDobbeleer/oh-my-posh YAML (GitHub Actions, Dependabot) Revert "chore: bump softprops/action-gh-release from 2.1.0 to 2.2.0"
2024-12-05 goccy/go-yaml Go Fix a bug ast.Merge removes comments from SequenceNode
2024-12-05 vectordotdev/vector YAML (aqua) chore(dev): replace the aqua local registry with the standard registry
2024-11-27 mattn/bsky YAML (GitHub Actions) ci: use macos-13 to fix the release asset name
2024-11-03 Byron/dua-cli YAML (GitHub Actions) ci: fix the failure of the release workflow by updating actions/upload-artifact to v4
2024-10-30 projectdiscovery/naabu GoReleaser ci(goreleaser): Fix the failure of release workflow
2024-10-14 cloudposse/atmos YAML (GitHub Actions) Fix a reference to an undefined output in GitHub Actions
2024-10-14 cloudposse/atmos YAML (GitHub Actions) ci: install Terraform to fix CI failure that Terraform is not found
2024-10-13 terraform-docs/website HTML (document) fix a broken link to GitHub Action
2024-10-12 ivaaaan/smug YAML (GoReleaser) chore(goreleaser): fix asset names
2024-10-02 mvisonneau/s5 YAML (GoReleaser) ci: install Goreleaser to fix the release workflow
2024-08-25 ddddddO/gtree YAML (GoReleaser) chore: fix GoReleaser config and option for GoReleaser v2
2024-08-14 owenrumney/squealer YAML (GoReleaser) chore: fix goreleaser option and config to support goreleaser v2
2024-08-13 Boeing/config-file-validator YAML (GitHub Actions) ci: add the permission to release assets
2024-08-13 bufbuild/protoc-gen-validate YAML (GoReleaser) CI: fix the failure of goreleaser
2024-08-13 abiosoft/colima Makefile chore: generate checksum files after signing assets by codesign
2024-07-21 ikanago/omekasy YAML (GitHub Actions) ci: fix the package format for Windows
2024-07-18 trufflesecurity/trufflehog YAML (GoReleaser) chore: fix goreleaser config and command line options for goreleaser v2
2024-07-16 authzed/zed YAML (GoReleaser) chore: fix the release error
2024-07-02 lindell/multi-gitter YAML (GoReleaser) chore: fix goreleaser config
2024-06-30 urfave/cli document docs: fix broken links
2024-06-30 urfave/cli Go fix: disable shell completion if double dash is included in arguments (v2)
2024-06-30 urfave/cli Go fix: disable shell completion if double dash is included in arguments (v3)
2024-06-19 mercari/hcledit YAML (GoReleaser) chore: set CGO_ENABLED=0
2024-06-17 container-tools/spectrum YAML (GoReleaser, GitHub Actions) chore: update GoReleaser to v2
2024-06-15 int128/ghcp JSON (Renovate) Fix a broken Renovate configugration
2024-06-15 hashicorp/terraform-provider-aws Go lambda_permission's imported function_name shouldn't be the function ARN but the function name
2024-06-10 fujiwara/lamux Go fix: fix build error
2024-06-10 google/go-jsonnet Go fix: fix conversion from int to float64
2024-05-30 gojuno/minimock Makefile chore: remove the Make task "release"
2024-05-15 slsa-framework/slsa-github-generator YAML (GitHub Actions) fix: update softprops/action-gh-release to v2.0.5
2024-05-13 ast-grep/ast-grep YAML (GitHub Actions) ci: fix the failure of the release workflow
2024-05-08 awslabs/dynein YAML (GitHub Actions) chore: release pre-built binaries for macOS ARM
2024-05-08 renovatebot/renovate TypeScript fix(manager/devcontainer): parse with JSONC parser
2024-05-08 slsa-framework/slsa-github-generator YAML (GitHub Actions) chore(setup-go): update actions/setup-go to resolve the warning
2024-05-07 slsa-framework/slsa-github-generator Markdown (document) docs: fix broken links
2024-05-01 sachaos/toggl YAML (GoReleaser) chore(goreleaser): Fix goreleaser's deprecation warning
2024-05-01 sachaos/toggl YAML (GoReleaser) chore(goreleaser): fix the failure of goreleaser
2024-04-27 open-policy-agent/opa YAML (GitHub Actions) ci: pin GitHub Actions macos runner version and build for darwin/amd64
2024-04-26 mercari/hcledit YAML (Goreleaser) chore(goreleaser): fix deprecation warning
2024-03-30 argoproj/argo-workflows YAML (GitHub Actions) chore(deps): upgrade Cosign to v2.2.3
2024-03-09 kubeshark/kubeshark Makefile fix: fix the asset name of the checksum file for windows/amd64
2024-02-23 pen-lang/pen YAML (GitHub Actions) ci: skip pushing docker images if pull requests are sent from fork repositories
2024-02-23 pen-lang/pen YAML (GitHub Actions) ci: release assets for darwin/amd64
2024-02-16 robscott/kube-capacity YAML (GitHub Actions, GoReleaser) chore(goreleaser): fix deprecation warnings
2024-02-16 robscott/kube-capacity YAML (GoReleaser) chore(goreleaser): fix name_template
2024-02-13 gruntwork-io/boilerplate markdown docs: update the table of contents
2024-02-10 gruntwork-io/boilerplate markdown docs: fix the broken link to the release page
2024-01-25 tofuutils/tenv chore: remove a space from CHANGELOG.md
2024-01-25 tofuutils/tenv YAML (GoReleaser) chore(goreleaser): fix asset names
2024-01-08 gojuno/minimock YAML (GitHub Actions) ci: restrict the job permission for security
2024-01-08 gojuno/minimock YAML (GitHub Actions) ci: set up a GitHub Actions workflow to release minimock
2024-01-04 gojuno/minimock YAML (GitHub Actions) ci: run lint and test for pull requests on GitHub Actions

40 のリポジトリに contribution しました。

リポジトリ一覧

自分がメンテしている OSS のアップデート

幾つかピックアップしますが、ここにあるのが全てではありません。

aqua

https://github.com/aquaproj/aqua

v2.21.3 => v2.41.0
GitHub Star: 594 => 948 (+354)

Features

Node.js をサポートしました。実は aqua 本体には変更が入っていません。

https://zenn.dev/shunsuke_suzuki/articles/aqua-nodejs-support

v2.37.0 aqua.yaml でコマンドのエイリアスを設定できるようになりました。
同じ package を複数バージョン使い分けたい場合に便利です。

registries:
- type: standard
  ref: v4.246.0 # renovate: depName=aquaproj/aqua-registry
packages:
- name: hashicorp/[email protected]
- name: hashicorp/terraform
  version: v0.13.7
  command_aliases:
    - command: terraform
      alias: terraform-013
      # no_link: true

v2.33.0 aqua rm で go_installhttp package も削除できるようになりました。
v2.32.0 aqua rm でリンクを削除するオプションが追加されました。

aqua rm -m l cli/cli # Remove only links
aqua rm -m pl cli/cli # Remove links and packages

環境変数も使えます。

export AQUA_REMOVE_MODE=pl

v2.26.0 global config に package を追加するオプションが追加されました。

aqua g -g -i cli/cli

v2.24.0 aqua.yaml で定義されている package の一覧表示をサポートしました。

$ aqua list -i # -a
rhysd/actionlint	v1.7.3	standard
suzuki-shunsuke/cmdx	v1.7.4	standard
sigstore/cosign	v2.4.1	standard
suzuki-shunsuke/ghalint	v1.0.0	standard
int128/ghcp	v1.13.4	standard
golangci/golangci-lint	v1.61.0	standard
goreleaser/goreleaser	v2.3.2	standard
reviewdog/reviewdog	v0.20.2	standard

v2.40.0 package のバージョンをファイルから取得できるようになりました。
他のツールと併用する場合に便利です。

.terraform-version から Terraform のバージョンを取得
packages:
- name: hashicorp/terraform
  version_expr: |
    "v" + readFile('.terraform-version')

JSON や YAML からの取得にも対応しています。

version_expr: |
  readJSON('version.json').version
version_expr_prefix: cli-

v2.29.0 fish の補完をサポートしました。

aqua completion fish > ~/.config/fish/completions/aqua.fish

https://aquaproj.github.io/docs/reference/config/shell-completion/

v2.28.0 go.mod や go.work の go directive から Go のバージョンの取得をサポートしました。

packages:
- name: golang/go
  go_version_file: go.mod

ただし go directive は semver x.y.z である必要があり、 patch version の省略はサポートしていません。

v2.39.0 aqua init や aqua policy init で生成されるコードに yaml-language-server 用のコードコメントを追加しました。 VSCode などのエディタを使っている場合、 JSON Schema に基づいて補完が効くようになります

# yaml-language-server: $schema=https://raw.githubusercontent.com/aquaproj/aqua/main/json-schema/aqua-yaml.json

v2.31.0 Registry で変数が使える様になりました。

Bug Fixes

v2.38.3 aqua g -i が packages 中のコメントを削除するバグを修正しました
v2.37.1 aqua g -i や aqua up で空行が消えるバグを修正しました
v2.27.4 aqua update-aqua が windows で失敗するバグの修正

セキュリティ

v2.35.0 GitHub Artifact Attestations による package の検証をサポート
aqua の GitHub Artifact Attestations も公開

v2.31.0 v2.34.0 Minisign での検証をサポート
v2.27.0 checksum の検証を強制する環境変数の追加
設定ファイル上で無効になっていても強制的に有効化することが出来ます。

export AQUA_ENFORCE_CHECKSUM=true
export AQUA_ENFORCE_REQUIRE_CHECKSUM=true

その他

v2.37.2 AQUA_CONFIGaqua -c option が設定されている場合でも aqua which や exec で設定ファイルを探索するようにしました。地味に重要な変更です
v2.30.0 Windows で shell script や bat script の代わりに aqua-proxy と Hard link を使うようになりました

aqua-registry

https://github.com/aquaproj/aqua-registry

相変わらずどんどん増えています。
contributor の数ももうじき 100 人に到達します。

tfcmt

https://github.com/suzuki-shunsuke/tfcmt

v4.8.0 => v4.14.1
GitHub Star 338 => 424 (+86)

あまり大きな変更はありませんでしたが、幾つか機能追加されています。

  • v4.14.0 Terraform の warning を ignore するオプションの追加
  • v4.11.0 merge_group event に対応
  • v4.10.0 環境変数やコマンドラインオプションで label の無効化をサポート
  • v4.9.0 sensitive なデータの mask をサポート

tfaction

https://github.com/suzuki-shunsuke/tfaction

v1.0.1 => v1.14.0
GitHub Star 218 => 288 (+70)

Features

v1.3.0 local path Module が変更された際に、依存する Root Module で CI を実行できるようになりました
v1.2.0 OpenTofu や Terragrunt のサポート
v1.1.1 Trivy の設定ファイルを環境変数で指定できるようになりました
v1.13.1 v1.14.0 tflint --fix による自動修正をサポート
v1.8.0 v1.9.0 v1.10.0 Conftest サポートを大幅に強化しました
v1.8.0 terraform-docs で Root Module のドキュメント生成に対応しました
v1.6.0 Follow up PR の仕組みを変えて、ファイルを作成・更新するようにしました
v1.7.0 terraform plan -generate-config-out でコードを自動生成する action を作成しました
v1.12.0 ci-info などのツールを tfaction 自体に組み込み、ユーザーが自分でインストールしなくても良くなりました
v1.5.0 GCS Backend 用の Service Account の設定ができるようになりました
v1.4.0 google-github-actions/auth の access_token_scopes を設定できるようになりました
v1.11.0 AWS IAM Role session name を変更できるようにしました。またデフォルトの session name をいい感じにしました

その他

v1.13.4 リリースフローを改善し、リリース時に commit と tag に署名するようにしました。
v1.13.2

  • 9 個の JavaScript Action を 1 つにマージしました
    • コードを 9,000 行ほど削除しました (大部分は package-lock.json)
    • ビルドが 2 ~ 3 倍高速化されました
    • ビルド手順がシンプルになり、複雑なスクリプトが不要になりました
    • package.json や package-lock.json, tsconfig.json, vitest.config.mjs などが共通化され、 action ごとに管理しなくてよくなりました
    • action ごとに dependencies (node_modules) をインストールしなくてよくなり、無駄にストレージを消費しなくなりました
    • コードの共有も簡単になり、逐一共有ライブラリ (lib) をビルドしなくても良くなり、開発体験が非常に良くなりました
      • コードジャンプも効くようになって便利
  • 自動テストを拡充しました
    • CI で setup や test, plan, list-targets など多くの action を実行するようになり、「実行したら必ず失敗する」みたいな致命的なバグを防げるようになりました
    • 逐一テスト用の private repository で動作確認する手間が省け、開発効率も高まりました (まぁ、完全にはなくならないですが)

v1.10.0 dist ディレクトリを削除し、開発フローを改善しました
v1.0.3 TypeScript の大幅なリファクタリング

色々な会社さんで導入していただきました。

https://tech.newmo.me/entry/tfaction-github-terraform-workflow

https://zenn.dev/tacoms/articles/988e4c7efc8cf3

https://speakerdeck.com/bgpat/400mo-yuzanijia-zhi-wojie-keruenziniawo-wozhi-eruinhuraji-pan?slide=11

https://speakerdeck.com/fohte/ju-da-tfstate-nili-tixiang-kauji-shu?slide=9

https://qiita.com/SoySoySoyB/items/bb3abcf596111ded326b

https://knowledge.sakura.ad.jp/38553/

https://speakerdeck.com/yuyatakeyama/scalable-and-secure-infrastructure-as-code-pipeline-for-a-compound-startup-c8f5baa6-b9ac-48e5-a680-f8830004ed7f?slide=14

特に newmo さんは前職で同僚同士だったということもあり、色々フィードバックも頂いて tfaction の改善につなげることが出来ました。

github-comment

https://github.com/suzuki-shunsuke/github-comment

あまり大きな変更はありませんでしたが、幾つか機能追加されています。

v6.3.0 コメントする代わりにファイルに出力できるようになりました。 GitHub Job Summary に出力したい場合などに便利です。 コメントとファイルへの出力を同時にすることも出来ます

github-comment exec -out "file:$GITHUB_STEP_SUMMARY" -- npm test

v6.2.0 GitHub Enterprise Server で ghe_base_urlghe_graphql_endpoint を設定しなくても環境変数から自動で取得するようになりました
v6.1.0 merge_group 対応

pinact

https://github.com/suzuki-shunsuke/pinact

v1.1.0 action の update をサポートしました

pinact run -u

v0.2.1 ダブルクォートで囲まれてても動作するようにしました
v0.2.0

  • mainmaster といったバージョンを無視するようになりました
  • コードコメントに記載されたバージョンと commit hash が同じか検証する機能をサポートしました
pinact run --verify
  • v0.1.3 .github/pinact.yaml をデフォルトの設定ファイルとしてサポート

ghalint

https://github.com/suzuki-shunsuke/ghalint

  • v1.2.0 actions/checkout の persist-credentials の無効化を必須にするルールを追加しました
  • v1.1.0 ignore の設定で aciton 名を指定する際に glob をサポートしました
excludes:
  - policy_name: action_ref_should_be_full_length_commit_sha
    action_name: suzuki-shunsuke/tfaction/* # glob pattern
  • v0.2.12 timeout-minutes を必須にしました
  • v0.2.10 deny_inherit_secrets を ignore できるようにしました

zenn 本

2024-05-05 Octo STS 入門

ブログ

会社ブログ:

https://developers.freee.co.jp/entry/2024/11/19/100000

zenn:

2024/12/27 actions/checkout の persist-credentials を false にする linter と修正ツール
2024/12/23 tfmv - Terraform のリソース名のリファクタリング
2024/12/15 Ephemeral variables なら terraform apply 時に plan file と一緒に渡せる
2024/12/10 GitHub Issue Templates をエディタで自由に並べ替える
2024/12/04 自分の OSS のタスク管理方法
2024/11/29 aqua-installer はなぜ bootstrap するのか
2024/10/29 lock 機構のための GitHub Action を作った
2024/10/18 tfaction でトランスパイルした JS をコミットするのを止めた
2024/09/23 GitHub Actions の実行履歴に基づいて自動で timeout-minutes を設定
2024/09/01 aqua が Node.js をサポート
2024/07/24 開発組織の issue や Pull Request を自動で適切な GitHub Project に割り振っていく
⭐ 2024/07/23 自分が管理する全 OSS の Issue や Pull Request を 1 つの GitHub Project に集約
2024/06/29 GitHub Actions の timeout-minutes の linter 及び一括設定ツール
2024/04/06 CI/CD Test Night #7 で登壇しました
2024/02/29 tfaction が OpenTofu や Terragrunt をサポート
2024/02/10 GitHub Actions でスクリプト等の改竄を防ぐ

dev.to (English)

2024/11/14 Lock Mechanism on GitHub Actions
2024/09/01 aqua Now Supports Node.js
2024/08/04 Gathering GitHub Issues and Pull Requests Across Repositories into GitHub Projects Automatically
2024/07/03 Set GitHub Actions timeout-minutes

登壇

2 回ほど登壇しました。両方とも DeNA さん主催ですね。

date event style presentation title
2024-06-07 Lint Night #3 Talk (15 min) lintnet - General purpose linter powered by Jsonnet
2024-03-26 CI/CD Test Night #7 Talk (20 min) CI/CD のセキュリティや Developer Experience を改善するツールやプラクティス

https://swet.dena.com/entry/2024/06/14/150000
https://swet.dena.com/entry/2024/04/02/113000

その他

  • 8 月 転職

OSS のタスク管理の改善

https://zenn.dev/shunsuke_suzuki/articles/my-oss-task-management

https://zenn.dev/shunsuke_suzuki/articles/add-github-issue-pr-to-project

GitHub Artifact Attestations 対応

自分がメンテしている多くの CLI で GitHub Artifact Attestations を公開するようにしました。

https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds

https://github.com/suzuki-shunsuke/go-release-workflow/pull/89
e.g. https://github.com/suzuki-shunsuke/tfcmt/attestations

加えて検証方法をドキュメントで整理しています。

https://github.com/suzuki-shunsuke/sort-issue-template/blob/main/INSTALL.md

HashiTalks Japan 2024 Winter で aqua, tfcmt, tfaction が紹介されました

https://speakerdeck.com/tkikuchi/terraformwei-jing-yan-noyu-yang-nidui-sitedono-younidao-wojin-meteitutaka?slide=18

https://speakerdeck.com/fohte/ju-da-tfstate-nili-tixiang-kauji-shu?slide=9

aqua が vector で採用されました

GitHub Star 数 18.4 K の OSS で採用されました。

https://vector.dev

https://github.com/vectordotdev/vector/blob/master/aqua/aqua.yaml

自分がメンテしている CLI の設定ファイルの JSON Schema を生成するようにしました

https://github.com/szksh-lab/.github/issues/67

設定ファイルに以下のようなコメントを書くとエディタによっては補完が効くようになります。
また設定ファイルに間違いがあったら直ぐ分かるようになるようにもなるので便利です。

# yaml-language-server: $schema=https://raw.githubusercontent.com/aquaproj/aqua/main/json-schema/aqua-yaml.json

Go であればコードから JSON Schema を生成することが可能です。

来年やりたいこと

引き続き OSS のメンテとコントリビューション、そして新規 OSS のリリースをしたいと思います。
aqua や tfaction で色々やることがあるので主にそこに注力することになるかと思います。

幾つかやりたいことをピックアップしますが、これらを全部やるとは限りませんし、ここで取り上げられてないことも色々やるかと思います。

2 月に tfaction について登壇します

2 月に tfaction について登壇します。

https://forkwell.connpass.com/event/339761/

aqua

tfaction

tfcmt

github-comment

  • CI が失敗した際にコメントを一回だけ投稿する機能
    • CI が失敗したらコメントをしたい、ただし既にエラー通知している場合二度もするのは noisy なので投稿をスキップしたい

さいごに

以上、 2024 年の振り返りでした。
来年も OSS 活動を中心に頑張ります。
GitHub Sponsor もやっているのでよければよろしくお願いします。

https://github.com/sponsors/suzuki-shunsuke

良ければ Follow や Star もお願いします。励みになります。

https://github.com/suzuki-shunsuke

Discussion