タグ

ブックマーク / mizzy.org (27)

  • 「Serverspec」という本が出ます - Gosuke Miyashita

    ここ半年ほど取り組んでいた Serverspec に関するが出ます。2015年1月17日発売予定です。 O'Reilly Japan - Serverspec Amazon.co.jp: Serverspec: 宮下 剛輔: どんな内容か、というのは、サイトの紹介文や目次を見ればわかるので、ここでは、なぜこの鳥が表紙に選ばれたのか、といったことでも書こうかな、と思ったんですが、こういうのは明かさない方がおもしろいので、やっぱり書かないことにします。おそらく、何という名前の鳥なのかすらわからない方が大半かと思いますが、あえて伏せておきます。名前や生態は最後のページに載っていますので、知りたい方は買うなり、店頭で確認するなりしてみてください(が Facebook に名前を書いちゃってるけど)。 書は、開発者である自分にしか書けないことをできる限り盛り込み、自分以外の人でも書けるような

    ziguzagu
    ziguzagu 2014/12/25
  • Dockerコンテナに入るなら SSH より nsinit が良さそう - Gosuke Miyashita

    追記 はてブでつっこみもらいました が、実行するカレントディレクトリは /var/lib/docker/execdriver/native/$id を使うのが正しいようです。(情報読み違えてた。)こちらには container.json があるので、ソースツリーからコピーしてくる必要ないですね。 また、コンテナ ID 取得は、docker ps -q --no-trunc の方が良い、とも教えていただきました。 つっこみにしたがって、最後の方の説明とシェル関数書き換えました。 つっこみありがとうございます! tl; dr タイトルまま 経緯 Docker でつくったコンテナの中に入って状態を確認するために、コンテナ内で sshd を立ち上げてアクセスする、ってなことを以前やってたんですが、コンテナ内で sshd を立ち上げる、というやり方がいまいちだし、そもそもコンテナの仕組みから考えれば

    ziguzagu
    ziguzagu 2014/06/24
  • specinfra をベースとしたオレオレ Configuration Management Tool/オレオレ serverspec 構想 - Gosuke Miyashita

    specinfra v0.0.6 では、serverspec/configspec/Syllabus で実行する具体的なコマンドを SpecInfra::Command::* に統合しました。 以前のバージョンまでは「OS を自動判別し、OS に適したコマンドクラスを返す commands と呼んでいるレイヤー」を specinfra で提供していましたが、コマンドクラスは各プロダクト側で実装していました。 specinfra v0.0.6 では、コマンドクラスも specinfra 側で持つようになりました。 これで何がうれしいのかというと、オレオレ Configuration Management Tool が簡単に実装できるようになる、ということです。 Exec/SSH といったバックエンド実行形式の切り替えや、OSを自動判別して適切なコマンドを実行する部分はすべて specinfr

    ziguzagu
    ziguzagu 2013/12/04
  • configspec で Dockerfile を生成できるようにした - Gosuke Miyashita

    configspec とか Immutable Infrastructure について、@kazuho さんから色々とありがたいツッコミをいただきまして、その中で 個人的にはSCMあるいはLVMの管理下において、record-cmd yum -y install httpd とかすると、コマンドがSCMのコメントに残りつつ、ファイルシステムに発生した差分が変更履歴として保存されるくらいでいいんじゃないかと思う — Kazuho Oku (@kazuho) November 26, 2013 といった tweet があり、それは Docker でやれるけど、configspec でやることではないなー、と思っていたところ、ふと configspec から Dockerfile を生成する、というアプローチもありな気がしてきた。 — Gosuke Miyashita (@gosukenator

    ziguzagu
    ziguzagu 2013/11/29
  • configspec という Immutable Infrastructure 用 Configuration Management Tool をつくってみた - Gosuke Miyashita

    Immutable Infrastructure の有用性 - Togetter の流れの勢いで、インフラ系技術の流れ とか Rebuild: 25: Immutable Infrastructure (Naoya Ito, Gosuke Miyashita) とかで言ってたような、冪等性とか依存関係とかを考慮しないシンプルな Configuratin Management Tool である configspec をつくってみました。rubygems.org にもアップしてます。 この手のツールに自分が望む要件は以下の様な感じ。 冪等性とかどうでもいい まっさらな状態からのセットアップでしか使わない 依存関係とかどうでもいい ファイル名順、上から書いた順で実行してく 対象サーバに余分なものをインストールしたくない 対象サーバに SSH さえできれば OK シェルスクリプトよりは抽象度を高め

    ziguzagu
    ziguzagu 2013/11/26
  • インフラ系技術の流れ - Gosuke Miyashita

    ここ最近のインフラ系技術の流れがおもしろいなー、と思ったので、Puppet が出た辺りぐらいから、振り返って整理してみる。殴り書きなので、後から修正したり書き加えたりするかも。特に後半の方は、あまり考えが整理できてない。 最近のウェブ界隈での「インフラ」という用語の使われ方には、色々異論もあるようだけど、ここではごく最近使われるようになってきた、OS からミドルウェアといったソフトウェアレイヤーを指す言葉としてのインフラについて触れる。(英語圏でも同様の意味で使われているようなので、ある程度市民権を得たと言っても良さそうだし。) プロビジョニングレイヤー まず、前提知識としてプロビジョニングレイヤーと自分が勝手に呼んでるものについて整理。 Chef や Puppet は「プロビジョニングフレームワーク」とも呼ばれているが、以下の議論をより厳密にするために、Lee Thompson 氏による

    ziguzagu
    ziguzagu 2013/10/29
  • serverspec のテストをホスト間で共有する方法 - Gosuke Miyashita

    今回は serverspec のテストをホスト間で共有する方法について説明します。 serverspec-init を実行して生成されるひな形ファイルは以下のようになっています。 |-- Rakefile `-- spec |-- spec_helper.rb `-- www.example.jp `-- httpd_spec.rb これを見てわかる通り、テスト対象となるホスト名でディレクトリが掘られ、その下に対象ホストに対する spec が置かれる、という形になっています。 したがって、複数の役割が同じホストに対してテストを実行しようとすると、こんな感じで同じ内容の spec ファイルが重複して置かれることになります。 |-- Rakefile `-- spec |-- app001.example.jp | `-- ruby_spec.rb |-- app002.example.jp

    ziguzagu
    ziguzagu 2013/05/15
  • serverspec でホスト固有の属性値を扱う方法 - Gosuke Miyashita

    注意! v0.11.0 からは attr, attr_set ではなく、property, set_property とメソッド名が変更されています。attr, attr_set は近い将来使えなくなります。最新の情報はこちらを参照してください。 注意! ここで解説する方法は v0.3.0 から利用できます。 Provisioning Frameworks Casual Talks vol.1 に行ってきた #pfcasual - TAKUMI SAKAMOTO'S BLOG で触れられている attributes 周りについて、この辺は必要になるだろうなー、と前から思ってはいたので、それを実現するための極々簡単な仕組みを 試験的に実装してみた 。 これは単に attr_set と attr という2つのヘルパーメソッドを使えるようにしただけのものなんだけど、以下のような感じで使える。 今

    ziguzagu
    ziguzagu 2013/05/15
  • SupervisorAProcessControlSystem - Gosuke Miyashita

    node.js なサーバデーモン&ログの管理をしようと思い、何を使おうか検討していたのですが、この手のデファクトスタンダードである daemontools は、特定のディレクトリ構造に従わないといけなかったり、run スクリプトや log/run スクリプトを置いたりしきゃいけなかったりで、余計な作業が多くてお手軽じゃない、ってことで runit を見てみたんですが、ぱっと見 daemontools との違いがよくわからなくて、daemontools とそれほど煩雑さは変わらないように見えたので、もっとお手軽なものがないかと探していたところ見つけたのが Supervisor 。(といっても自分が知らなかっただけで以前からあるみたいですが。) Python 製で easy_install 一発でインストールできる。 $ sudo easy_install supervisor デフォルトの設

  • Ukigumo と serverspec で Puppet の継続的インテグレーション - Gosuke Miyashita

    tokuhirom さんにより開発されている Ukigumo を利用して、Puppet の CI 環境を構築してみた。やってることは以下の通り。 Puppet マニフェストを Git リポジトリで管理 Ukigumo Server を立てる puppet-lxc-test-box で Puppet マニフェストを流し込むシステムコンテナを必要なロールの分だけ用意 自前の Ukigumo クライアントスクリプト を cron で定期的に走らせ以下を実行 Puppet マニフェストリポジトリの master ブランチが更新されていたら、git pull して Puppet マニフェストをシステムコンテナに適用し、適用結果を Ukigumo サーバに投げる serverspec によるテストをシステムコンテナに対して実行し、結果を Ukigumo サーバに投げる Ukigumo のトップ画面はこ

  • Paperboy's engineer evaluation system - Gosuke Miyashita

    今年から新たにペパボで導入された、技術者向けの評価制度については、こちらのエントリ で書いたのですが、日、その一次評価が完了しました。 評価のプロセスは、一次はテクニカル・マネージャーによる評価、二次は経営会議メンバーによる評価、と二段階の評価となっています。 自分が担当した一次評価の詳細は、以下のようになっています。 シニア、またはアドバンスドシニアに上がりたい人には、自ら立候補してもらう。 立候補する人は、定められたフォーマットにしたがって、自分がそのポジションにふさわしいと思う理由や実績について Markdown で書き、指定した Git リポジトリに push する。(「定められたフォーマット」と言っても、最初に名前、次に希望のポジションを書いてもらうだけで、それ以外は自由。) 文書に提出後、一人一人と面談を行う。 文書の内容と面談の結果にもとづいて、各人が提出した文書の末尾に、

    ziguzagu
    ziguzagu 2012/03/01
  • mizzy.org : Trac の Wiki を emacs で直接編集

    Trac の Wiki を emacs で直接編集 Posted by Gosuke Miyashita Tue, 20 Mar 2007 17:19:09 GMT emacs trac-wiki mode なんてものがあったんですね。これは便利。 セットアップや設定方法なんかは上のリンクを参照すれば分かるので省略。 M-x trac-wiki を実行すると、まずはプロジェクト名を聞いてくる。 次に認証のためのユーザ名。 そしてパスワード。 編集する Wiki ページ名を聞いてくる。タブで Trac 上にある Wiki ページ一覧を表示してくれたり、補完してくれたりする。 Wiki ページを開くとこんな感じ。 C-c C-c で Trac に保存。 まあ、Firefox 拡張の It's All Text! 使えば、Trac に限らず任意のエディタで編集できるのですが、ブラウザで開く手間が

  • mizzy.org : デプロイツール Archer #0

    デプロイツール Archer #0 Posted by Gosuke Miyashita Sun, 11 Feb 2007 18:35:29 GMT id:tokuhirom さん作のデプロイツール Archer を最近使い始めたのですが、これがすげーいいっす。 で、この週末は更に便利に使えるように、Archer 用のプラグイン書いたりしてました。 Archer::Plugin::SVN::Log Archer::Plugin::SVN::Diff Archer::Plugin::SVN::Update Archer::Plugin::Rsync Archer::Plugin::Shell global: work_dir: /home/miya/work dest_dir: /home/miya/assurer tasks: init: - module: SVN::Diff - mod

  • mizzy.org : Assurer のプロジェクトサイト立ち上げました

    Assurer のプロジェクトサイト立ち上げました Posted by Gosuke Miyashita Wed, 17 Jan 2007 16:19:51 GMT irc#assurer@freenode での会話が盛り上がったので、勢いで ドメインを取得して、独立した trac と svn repos を立ち上げてみました。(最低限の体裁だけ。しかも plagger.org からコピペ。) id:tokuhirom さんからの contribute で、テストプラグインも増えてます。また、信頼のおける Yappo さんから、Publish::File プラグインを提供してもらいました。感謝感謝。 IRC での会話の流れで、テストだけではなく監視もカバーする、という方向性で行くことになりました。会話の断片はこちらで参照できます。 http://d.hatena.ne.jp/tokuhir

  • mizzy.org : /etc/sudoers を LDAP で管理する

    /etc/sudoers を LDAP で管理する Posted by Gosuke Miyashita Sat, 30 Dec 2006 16:12:47 GMT /etc/sudoers を LDAP で一元管理とかできないのかなぁ、と思っていたら、ちゃんと対応してた。 利用方法はわりと簡単で、上記リンクの README.LDAP (ソースに同じものが同梱されてる)を見ればすぐわかるけど、一応ここにやったことをメモ。ほとんど README からの抜粋です。 手元の Slackware に元から入っている sudoLDAP 対応していないので、ここからダウンロード して以下の手順でインストール。 $ ./configure --with-ldap $ make $ sudo make install でもって /etc/ldap.conf に以下の記述を追加。(元々 LDAP は利

  • mizzy.org : cfengine メモ #0 - cfengine の構成パターン

    cfengine メモ #0 - cfengine の構成パターン Posted by Gosuke Miyashita Tue, 26 Dec 2006 13:55:53 GMT I, newbie » cfengineによるシステム管理の自動化: その1 を読んで、cfengine よさげだなぁ、ってことで導入を検討することに。 このブログでは、上記エントリで「ややこしいけど魅力的」と書かれている cfengine について、自分なりに試したことや整理したことについてメモしていこうと思います。日語のドキュメントが少ないですし、実際に手を動かしてみないと理解しにくいものなので、これを使ってみようかな、という方に少しでもお役に立てれば幸いです。 まず、cfengine ってそもそも何?というところですが、上記の I, newbie さんのエントリがわかりやすいので省略。今回は cfeng

  • mizzy.org : Using svk with plagger

    Using svk with plagger Posted by Gosuke Miyashita Fri, 29 Sep 2006 13:55:00 GMT うちでは 普段実行している plagger は家 trunk から持ってきていて、自分で作ったプラグインは svn.mizzy.org に置いてあるのですが、以下の様なプロセスで開発してました。 svn.mizzy.org からチェックアウトしたディレクトリに、俺プラグインを書いて置く。 plagger 家 trunk からチェックアウトしたディレクトリに、上記ディレクトリからファイルをコピーして、俺プラグインの動作テスト。 テストが問題なければ、svn.mizzy.org に俺プラグインをコミット。 家 trunk にコミットする場合は、svn co で コミットするファイルだけを指定。 2.のコピーがめんどくさく

    ziguzagu
    ziguzagu 2006/10/01
  • mizzy.org - Plagger プラグインの実行フェーズ

    Plagger プラグインの実行フェーズ Posted by Gosuke Miyashita Sat, 23 Sep 2006 18:58:42 GMT Plagger プラグインの実行フェーズについて整理してみたので、載せておきます。 追記 はてブで「argsもあるとうれしいとおもた」というコメントがありましたので、追加してみました。 実行フェーズ $args フェーズの役割 実行例

  • mizzy.org : Text::Trac - Trac Wiki 記法パーサ #0

    Text::Trac - Trac Wiki 記法パーサ #0 Posted by Gosuke Miyashita Fri, 16 Jun 2006 16:11:59 GMT id:drawnboy さんがつくった Catlxom::Plugin::Format::Hatena を見て、「お、それいい!」と思ったんだけど、そもそも自分ははてダ使っていなくて、この手の記法で唯一使ってるのは Trac の Wiki 記法 なので、Catlxom::Plugin::Format::Trac が欲しいな、と思ったわけですが、Perl のパーサがないんですよね。 で、IRC の #catlxom での会話の流れで、自分が Text::Trac をつくることになりました。といってもまだつくりかけなので、CPAN にアップするのはまだ先になりそう。とりあえず興味ある方は以下の要領で取得してみてください

  • mizzy.org : Inside JugemKey's Backend

    Inside JugemKey's Backend Posted by Gosuke Miyashita Thu, 01 Jun 2006 14:36:10 GMT よくある Inside Backend 系の話と違って、ハードの話ではなくプログラムの話が中心です。 JugemKey 認証 API の仕様や PHP/Perl ライブラリ を読んだ方はお気づきだと思いますが、認証 API を利用するには2つのサーバにアクセスする必要があります。1つは secure.jugemkey.jp、もう 1つが api.jugemkey.jp です。 secure.jugemkey.jp の方は、直接ユーザに見える部分をを担当していて、PHP で開発されています。https://secure.jugemkey.jp/ で見えるところがこれにあたります。 api.jugemkey.jp はそのバックエン