トップ «前の日記(2022/12/15 (木) ) 最新 次の日記(2022/12/17 (土) )» 編集 RSS feed

HsbtDiary


2022/12/16 (金) [長年日記]

git.ruby-lang.org のコミット用の公開鍵の管理の仕組みをいい感じにした

ピュアな EC2 で作ってるサーバーをマネージドに持って行ったり、どこかで動いている VM をバラバラにして AWS に持っていく中でサーバーにログインして編集作業〜、みたいなやつを減らそうと、Ruby コミッタ向けの鍵管理を GitHub でやるようにした。

とはいえ、今の時点で使っている鍵には明らかに弱い DSA 鍵が残っていたり、RSA でも 1024bit な鍵があったりと、これを GitHub に入れて pull-request で更新してくれ〜、とやるにはちょっとリスクあるよね、ということで事前にアナウンスして弱い鍵を全て消してしまった。

https://bugs.ruby-lang.org/issues/19162

実際に弱い鍵を探すには ssh-keygen -l -f ./authorized_keys って感じで情報を出してから sed で ssh-dss であるとかをバッサバッサ消していった。なんか慣れてくると rsa でもこの長さは弱そう、というのがわかってくるのでそういう感じで。なお、ここだけの話だが Matz の鍵が弱い鍵しかなくてバッサリ消したら Matz のコミット権がないという面白い状態だった。ちょうど開発者会議だったので ed25519 な鍵を作って登録してもらうことで面白い状態は回避された。

https://github.com/ruby/git.ruby-lang.org/pull/65

鍵を消し終わってからは mitamae を使って雑にデプロイするようにした。これで、鍵を受け取って僕や shugo さんが Git サーバーにログインして登録、ということをやらなくてもここに pull-request 出して、で終わるようになった。最高に便利。

syntax_suggest の tag を dead_end 時代のものと分けた

https://github.com/ruby/syntax_suggest/tags は今までは vX.Y.Z が直列に並んでいて v4.0.0 と言われてもそれは syntax_suggest のものではなく、dead_end 時代のもので混乱しそうなので古いやつは dead_end-vX.Y.Z にリネームしてはどうか、と提案してリネームしておいた。

https://github.com/ruby/syntax_suggest/issues/167

最近この手のやつをやる時は xargs -I{} を多用するようにしていて今回のも git tag | xargs -I{} git tag {} dead_end-{} みたいな感じでシュッとできた。便利。

Ruby 3.2 のリリースに向けて default gems を大量にリリースした 第二弾

Ruby 3.2 のリリースが来週末、って状況になってきたので https://github.com/ruby の下にある gem の中で github でだけ開発が進んでいたり、コードの変更を伴ったものがバージョニングとしてリリースされてない gem をバンバンリリースした。テストや .github の変更までスコープに入れるとユーザー的には意味のないものもあるので、あくまでも lib や ext の下と gemspec に変更があったものだけを対象にした。

こうしてみると、もうほとんど変更が入りません、みたいなやつも見えてきたので Ruby 3.3 ではこの辺は bundled gems に追い出していくつもりです。