hako oneshotで何度でもDigdagのsession情報を保持する

以前こんな記事を書きました

hatappi.hateblo.jp

この記事ではDigdagをDocker上で動かす際にsession情報をDataVolumeにおくことでコンテナを立ち上げ直した時もsession情報を参照できるようにするというものでした
これはECS上でも実現することは出来る データボリュームについてかかれたドキュメント

画面上から作成することも可能だが最近Hakoを使っているのでこれを使って実現したい

今回実現したいこと

コンテナインスタンスにボリュームを追加してコンテナにてマウントポイントを指定したい

Hakoの設定

scheduler:
  type: ecs
  region: ap-northeast-1
  cluster: test-cluster
app:
  image: digdag-sample
  memory: 3000
  mount_points:
    - source_volume: digdag_session
      container_path: /digdag_session
      read_only: false
volumes:
  digdag_session:
    source_path: /mnt/digdag

こんな感じに設定をするとコンテナインスタンス側の/mnt/digdagとコンテナ側の/digdag_sessionがマウントされるのでコンテナ側でdigdagをrunする時は下記のようなコマンドで実現できる

$ hako oneshot sample.yml -- digdag run sample.dig --save /digdag_session