AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

propshaft ことはじめを適当に考えている

本業があまりに疲れすぎて何も考えたくないので、休憩を兼ねて以下をボーッと見ていた。 re-engines.com techracho.bpsinc.jp このあたりが注意しないといけないかな。 アセットヘルパー :%s/image_url('/url('\/g みたいな感じで雑に修正していけばよさそう…

Github アカウント整備しなおしたりリポジトリを fork したりしていた

今更だけどリポジトリ fork するお作法をちゃんと読んでいた。 docs.github.com ErrBit 環境が必要になったのでドキュメントとか実装読んでいたけど、これ業務上で修正したりしたら PR 送った方がよさそうだな……などとなっていた。 1k 目の fork を成し遂げ…

イマドキの Linux ユーザは uid/gid を 1000 から始める必要がある

タイトルがすべてシリーズ。 ロケ地 Rocky9.1 useradd warning: user's uid 500 outside of the UID_MIN 1000 and UID_MAX 60000 range. かれこれ10年くらい、 uid/gid は 500 から始める生活をしていた。 [root@localhost ~]# groupadd -g 500 example-user…

CircleCI で git@github.com: Permission denied (publickey).

テストが落ちまくっていて「何事!?」と思っていたら、どうも DeployKey が消えたっぽかった。 koic.hatenablog.com 対象の Github リポジトリから Settings -> Deploy Keys を確認して、 CircleCI DeployKey が存在しないのを確認する 対象のリポジトリを…

サブドメインごとにホストゾーンを分割すると、分割先のネイキッドドメインで CNAME できない

AWS

RFC というか CNAME の仕様を言われると「それはそう!」となるやつ。 ホストゾーンをサブドメインで分割する サブドメインをたくさん運用する環境があって、ネイキッドドメイン example.com のホストゾーンに全部いれちゃうと見通しが悪い! という事で、サ…

シークレットマネージャを使う時は valueFrom だ!

タイトルがすべてシリーズ。 missing required field シークレットマネージャから読み出す環境変数を追加したので、ECS のタスク定義を更新したらエラーになった。 │ Error: failed creating ECS Task Definition (stg-example-ecs-task-definition-backend)…

MySQL の AUTO INCREMENT の値を改ざんする

データ全部消したので 1 から始めてぇ!って時にやる。 ALTER TABLE ${TABLE_NAME} AUTO_INCREMENT = 1; 参考 notepad-blog.com

CloudFront encountered an internal error. Please try again.

CloudFront + S3 でフロントエンドをやってるんだけど、毎回デプロイ毎にキャッシュ削除で /* 対象にして投げていたら、今回始めて遭遇した。 詳細は出力されないし Try again で later じゃないらしいので何度か挑戦するもだめ。 なので、一度キャッシュ削…

MongoDB でクエリログをやる

クエリの出力 MySQL みたいにクエリログとして用意されている訳ではないらしく、 SlowQuery を出力する機能を利用してマイナス秒指定することで全部出力できるとのこと。 はえーとんちみてえ。 mongod --logpath=/usr/local/var/log/mongodb/mongo.log -prof…

ディストリごとのタイムゾーン変更について

zenn.dev いままで利用してきたメインディストリが RHEL クローンだったのだけど、今使っている ruby 公式のイメージが ubuntu で、なおかつ先人が用意してくれていた設定が TZ 指定だけだったので「これで動くんか?」と思っていたけど、やはりファイル変更…

NginxProxyManager で nginx "SSL: error:1408F10B:SSL routines:ssl3_get_record:wrong version number"

プライベートクラウドの IPv4 枯渇問題に対応するために NginxProxyManager を運用しているんだけど、その一幕。 nginx "SSL: error:1408F10B:SSL routines:ssl3_get_record:wrong version number" ホスト追加した際に Proxy 転送できず、上記のエラーが出て…

error: some local refs could not be updated; try running

git

git pull したらエラーが。 ❯ git pull ... error: cannot lock ref 'refs/remotes/origin/feature/sso': 'refs/remotes/origin/feature/sso/add_permissions_api' exists; cannot create 'refs/remotes/origin/feature/sso' ! [new branch] feature/sso -> …

MongoDB の単体運用環境で雑にレプリカを作成する

本番がレプリカ環境なので、ローカルも同じ様にレプリカ構築したい場合があると思われる。 (mongoid の option に replica_set: rs1 とか書く時) MongoDB は複数プロセスやホストを用意しなくても雑にレプリカを用意できる。 コンフィグの用意 レプリケーシ…

master を main にしたら PR が全部クローズされた

バカバカバカ! Github のバカ! どうして 適当にググったけど Github 公式でやりかたを解説しているページが見つからなかったので、そのへんの人が解説しているのを参考に。 izanagi-portfolio-site.com git branch -m master main git push origin main gi…

NginxProxyManager を動かす (RockyLinux 8 で

公式に書いてあるとおりの手順で、まずは動く環境を作ります。 nginxproxymanager.com Docker Docker CommunityEdition インストール $ sudo yum install -y yum-utils device-mapper-persistent-data lvm2 $ sudo yum-config-manager --add-repo https://do…

RockyLinux 8.5 を 8.7 にアップグレードする

Hypervisor が AHV(Nutanix) なので、9.1 の ISO 登録したんだけど、 L7 にする予定だった IP を持ってるインスタンスが RockyLinux 8.5 だったのでめんどくさくて 8 系列で使うことにした。 EOL までにはこの Hypervisor も死ぬじゃろ。 アップグレードする…

AppleSillicon 環境で Lima + Docker on MongoDB を動かす際に気をつけること

基本的に 5.x, 6.0.x は現状動かないので、メンテナンスされている 4.4.x を使うか、 どうしても 6.0.x を利用したい場合は brew からインストールして使いましょう。 ナンデ!? docker pull 時に Docker 自体が利用環境に応じて最適なアーキテクチャを選ん…

macOS に MongoDB 6.0 (community) のインストール

インストール 基本的に公式のドキュメントを参考にすればオッケー。 ※ homebrew が利用可能な状態にしておきましょう。 www.mongodb.com tap を設定する brew tap mongodb/brew formula を読み込む brew update インストールする brew install mongodb-commu…

RHEL9 世代での SELinux

Red Hat は、SELinux を永続的に無効にする代わりに、Permissive モードを使用することを強く推奨します。Permissive モードの詳細は Permissive モードへの変更 を参照してください。 access.redhat.com とのことなので、無効化するくらいなら Permissive …

Github でリリースノートをいい感じ?に自動で作成する

docs.github.com .github/release.yml を雑に作成して、あとは Release 作成画面で Generate Release notes すればいい。 # .github/release.yml changelog: exclude: labels: - ignore-for-release authors: - octocat categories: - title: Breaking Chang…

direnv で nodenv を使う

久しぶりすぎて設定方法を忘れていた。 blocked clone してきた直後なので blocked と言われる。 direnv allow したらとりあえずオッケー。 direnv: error /Users/donbulinux/Workspace/example/.envrc is blocked. Run `direnv allow` to approve its conte…

Rails の delivery_method で AWS SES を指定してメール送信する

だいぶ悩んでしまったのと、ググると出てくる例が delivery_method をオーバーライドしてるものが多いのでという気持ち。 ロケ地 Ruby 3.1.0 Rails 6.1.6 aws-sdk-rails 3.7 aws-sdk-ses は v1 系利用 TLDR aws-sdk-rails gem を追加して、 config.action_ma…

Rails console から Sidekiq のキューを調査する

以前 console から接続できない場合に、という感じで以下記事を書いた。 donbulinux.hatenablog.jp とはいえハングアップするのは、よっぽどギリギリのリソースで動かしているとかじゃなければ頻発しないはずなので、通常時どうするのか、というお話。 キュ…

Terraform で AWS SES する

AWS

以下を参考にしながら Terraform 公式のリソース解説と反復横跳びして確認した。 cha-shu00.hatenablog.com 以下、作業していてつまづいた、注意しておくところ。 SPF 周り mail_from_domain は必ずサブドメイン指定が必要 (以下 domain に指定しているのは…

ECS exec が動くかチェックする

RDS をメンテしようと思い立つも、 ECS exec でポートフォワードできない。 ❯ aws ssm start-session \ --target ecs:stg-tf-example-ecs-cluster_00001111222233334444555566667777_00001111222233334444555566667777-99998888 \ --document-name AWS-Start…

RDS で mysqldump すると FLUSH TABLES WITH READ LOCK

単体で動作させている RDS だと、以前書いたような以下のようなお作法で一貫性のある SQL ダンプが取得できる。 donbulinux.hatenablog.jp これをこのままマルチ AZ な RDS 環境で実行すると以下のエラーになる。 mysqldump: Couldn't execute 'FLUSH TABLES…

ClientException: Too many concurrent attempts to create a new revision of the specified family. が出たら、再実行すればいい

タイトルがすべてシリーズ rails db:create を実行するためだけに null_resource (aws_ecs_task_definition.initialize_db という target) を採用しているんだけど、偶然こんなエラーに遭遇した。 ╷ │ Error: failed creating ECS Task Definition (example-…

M1 で kSar

M1 MBP に変更してから kSar 使ってなかったので、必要になったこのタイミングでインストール……と思ったらまず Java がなかった。 brew 経由で openjdk をインストールする。

ruby 公式の Docker イメージで jemalloc

パフォーマンスチューニングの値があと一歩伸び悩んでいるので、ふと思い立って jemalloc を導入してみた。 # runtime stage: LD_PRELOAD で jemalloc を指定 FROM ruby:3.1.0-slim-bullseye as app ENV APP=/app \ LANG=C.UTF-8 \ RUNTIME_PACKAGES="tzdata…

M1 mac で rbenv install 3.1.2 が失敗して ld: library not found for -lcapstone

主に 3.1.0, 3.1.1, 3.1.2 あたりだけども。 ※追記:記事の最後に capstone がどこからきたのか、を追記しました。 結論からいうと環境によっては Ruby 3.1.2 など capstone で問題が起きるバージョンは諦めてコンテナとかで動かしましょう。