タグ

ブックマーク / qiita.com/minamijoyo (7)

  • Terraform職人入門: 日々の運用で学んだ知見を淡々とまとめる - Qiita

    はじめに この記事は CrowdWorks Advent Calendar 2017 の8日目の記事です。 Terraform職人の @minamijoyo です。Infrastructure as Codeしてますか? インフラのコード管理に Terraform を使い始めて2年ちょっと、番環境で運用していると日々色んな学びがあるので、Terraformやってみた系の入門記事では語られない、現場の運用ノウハウ的なものを共有してみようかと思います。 Terraformを使い始めた or 使っている人が、こんなときどうするの?っていうときに参考になれば幸いです。 書き始めたら超長文になりました。概要は以下のとおりです。 公式ドキュメントを読もう tfファイルを書く技術 インデントを揃える 組み込み関数に親しむ lifecycleブロックを使う リソースの差分を無視する リソース再生成のとき

    Terraform職人入門: 日々の運用で学んだ知見を淡々とまとめる - Qiita
  • Serverspecでよく使うテストの書き方まとめ - Qiita

    はじめに インフラ周りのテストにServerspecを使ってますが、よく書くテストの書き方がある程度パターン化してきたので、コピペで使えるサンプルの例文集としてまとめておきます。 この記事の目的は特に機能の網羅性をカバーしようというわけではありません。よくあるユースケースとして、Serverspecでこーゆーのどう書くの?と思ったときのスニペットとしてご利用下さい。 基 インストール関連 パッケージがインストールされているか確認する

    Serverspecでよく使うテストの書き方まとめ - Qiita
  • Docker multi stage buildで変わるDockerfileの常識 - Qiita

    Dockerイメージのサイズを1バイトでも削りたい皆さんに朗報です。 もうすぐリリースされるDocker 17.05でmulti stage buildという機能が導入される予定です。 こいつはこれまでのDockerfileの常識を覆す革新的な機能なのです。 Docker 17.05は稿執筆時点では2017/05/03リリース予定となっており、現在はRC版が出てるので、気になる新機能を一足早くで試してみた。(2017/05/07追記:最終的に2017/05/04に正式リリースされました) とりあえずこの新しいシンタックスのDockerfileを見てほしい。 FROM golang:alpine AS build-env ADD . /work WORKDIR /work RUN go build -o hello main.go FROM busybox COPY --from=buil

    Docker multi stage buildで変わるDockerfileの常識 - Qiita
  • oauth2_proxyでRundeckにGitHub認証でログインする - Qiita

    はじめに Rundeck便利なんだけど、ユーザ管理が貧弱すぎて、デフォルトだとWeb画面からユーザの追加すらできない。 じゃあどうやってユーザを追加するかというと設定ファイルにユーザ名とパスワードのハッシュを書くらしい。えっ、まじで? 最近新しく作ってるサーバは基Docker化しているので、ユーザ追加するたびに設定ファイルとかいじりたくないんだけど。。。 ほらイメージ更新したら、Dockerコンテナ再起動しないといけないし、それだけのためにジョブ止めたくないし。 なんかよい方法はないかと思って公式ドキュメント読んだらLDAP認証とかActiveDirectory認証とかのは出てくるんだけど、そーゆーのはあんまり好きじゃないんだ。Google認証とかGitHub認証とかOAuth2使えないの?って思って、Issue/PullRequestを眺めてたらこんなのを見つけた。 rundeck/r

    oauth2_proxyでRundeckにGitHub認証でログインする - Qiita
  • Rundeckの前段にnginxを配置してhttps化する - Qiita

    はじめに RundeckはデフォルトだとWebの管理画面はhttpなんだけど、まともに使うならhttps化しておきたい。 いちおう、Rundeck単体でもSSLの設定することは可能っぽいんだけど、 http://rundeck.org/docs/administration/configuring-ssl.html 見るからにちょっと、めんどくさそうで、Rundeck初心者には敷居が高そうである。 ところで、Rundeckの前段にnginxを配置してhttps化する構成なら大体nginxの知識+αでなんとかなりそうなので、nginxでSSL復号化する構成にしてみる。 RundeckのSSL復号化をnginxにオフロードする 前段のnginxでSSL復号化する構成については、公式wikiに以下のような簡単な説明があるんだけど、 https://github.com/rundeck/runde

    Rundeckの前段にnginxを配置してhttps化する - Qiita
  • test-kitchen+chef-zero環境でchef-shellを起動してレシピをデバッグする方法 - Qiita

    test-kitchen+chef-zero環境でchef-shellを起動するオプションが複雑だったので調べたメモ。 chef-shellはchef-clientのインタプリタ環境です。chefレシピの開発してると毎回全部のレシピを実行するには何かと時間がかかるので、こーゆーインタプリタをうまく使いこなせると、chefレシピ開発が捗って良い感じですね。 基的なchef-shellの使い方は公式のドキュメントを参照。 https://docs.chef.io/chef_shell.html このエントリでは、test-kitchen+chef-zero環境で構築中のインスタンス内で、chef-shell起動するにはもろもろ色々なオプション指定してやらないといけないのですが、これが割りと複雑だったのでオプションのコピペ用のメモとしてまとめておきます。 まず、chefで構築対象のインスタンス

    test-kitchen+chef-zero環境でchef-shellを起動してレシピをデバッグする方法 - Qiita
  • serverspecでカスタムマッチャを定義してYAML形式としてパース出来るかどうかをテストするbe_yamlを作ってみる - Qiita

    serverspecでカスタムマッチャを定義してYAML形式としてパース出来るかどうかをテストするbe_yamlを作ってみるRSpecYAMLserverspec serverspecでデフォルトで定義されてるマッチャbe_fileとか以外に自分でカスタムマッチャを定義する方法のメモ。 例として、指定のパスのファイルがYAML形式としてパース出来るかどうかをテストするbe_yamlというマッチャを定義してみます。ただのRSpecの範疇な気がしますが、応用例がserverspecで便利っぽいだけです。 何がうれしいかというと、ChefでYAMLファイルを動的に生成していると、誤って変なデータ埋め込んでパースできなくなるというあるあるをserverspecのテストで検出できたりして幸せになれる。 まずcustom_matcher.rbみたいなファイルを作って require 'yaml' #

    serverspecでカスタムマッチャを定義してYAML形式としてパース出来るかどうかをテストするbe_yamlを作ってみる - Qiita
  • 1