ようへいの日々精進XP

よかろうもん

最近の furikake 〜 ご飯のおかわりは 2 杯まで 〜

これは

qiita.com

初老丸 Advent Calendar 2018 第 2 日目の記事になる予定です.

tl;dr

先日, 作成した furikake について, 実際にギョームで使ってみて, 自分が欲しいなあと思った機能の追加や発見したバグ等をコツコツ修正しています.

github.com

furikake | RubyGems.org | your community gem host

ということで

トッピング機能

アドオン的な何か

詳細は README をご一読下さい.

github.com

カレントディレクトリに addons ディレクトリを作成して, addons ディレクトリ以下に Ruby スクリプトを放り込むと, Wiki に載せたいドキュメントを簡単に追加出来るようになってます. 尚, 以下のように furikake setup を実行した際に addons ディレクトリを作成するかどうか確認されますので, 合わせてご確認下さい.

$ bundle exec furikake setup
[setup] creating .furikake.yml...
[setup] .furikake.yml already exists.
[setup] create `addons` directory? [y/n]
y
[setup] creating `addons` directory.
[setup] `addons` directory created.

サンプル

以下 Ruby スクリプトの簡単なサンプルです. 変数 values[['value1', 'value2'], ['value3', 'value4']] と変数 contents のハッシュの構造だけを守っていただければ, お好きな情報を投稿することが可能になります.

module Furikake::Resources
  module Addons
    class Example
      def self.report(format = nil)
        values = [['value1', 'value2'], ['value3', 'value4']]
        contents = {
          title: 'Example',
          resources: [
            {
               subtitle: '',
               header: ['Title1', 'Title2'],
               resource: values
            }
          ]
        }
        Furikake::Formatter.shaping(format, contents)
      end

      def self.get_resources
        # ここは頑張って実装する必要があります
      end
    end
  end
end

addons ディレクトリにスクリプトを放り込むことで, 従来は AWS のリソースのみに対応していたところを, Azure や GCP 等の他のクラウドリソース等も Wiki に一覧として投稿することが可能になったはずです.

デーモン小暮

従来は

以下のようにコマンドラインから実行することしか出来ませんでした.

bundle exec furikake publish

cron や Fargate のタスク機能を利用することで自動的に定期投稿は可能でした. (実際には試せていませんが...)

デーモン化により

以下のように実行することで, furikake publish がバックグラウンドで実行されるようになります.

bundle exec furikake monitor --detach

定期的に (デフォルトは 3600 秒毎) リソースを一覧を取得して, 指定した wiki に情報を投稿します. この機能により, cron の設定等を行うことなくドキュメントの自動更新が可能となります.

有難うございます

デーモン化に伴い, 以下のコードをスーパー参考にさせて頂きました.

Ruby script testing to daemonize a ruby script. · GitHub

この場を借りまして, お礼を申し上げます. 有難うございます.

Docker 化

docker-compose を介して利用出来るように, 超簡単に Dockerfile を書き, docker-compose.yml を揃えました.

github.com

よろしければ, ご利用下さいませ.

リリースに octorelease を利用するようにしました

github.com

awspec でも利用させて頂いて, いい感じでリリースページを作ってもらえるので利用してみました.

以下のブログ記事が参考になります.

k1low.hatenablog.com

以上

furikake の更新情報でした. よろしければ, furikake を使って頂きましてフィードバック頂けると嬉しいです.