memolib.com 2023 著作権. 不許複製 プライバシーポリシー
Matthew Valentine-House, a Developer at FutureLearn, discusses how we use tools such as Chef, Test Kitchen and ServerSpec to build testable infrastructure. Building reliable infrastructure is hard; it always has been. But there are some excellent solutions emerging that can alleviate a lot of the pain, as well as increase your confidence and success rate when building pieces of your infrastructure
test-kitchen test (test-kitchenハンズオン資料)vagrantもec2もazureもdockerもchefもpuppetもansibleも継続的インテグレーション!GitAWSchefDockertest-kitchen chefでImmutable Infrastructureって本当に出来るの?人のcookbooks使うと動かないしさ、gitで管理してても使えるかわからないんだけど… …それ、test-kitchenでやってみたら? みたいな話。 (本当はjenkinsで回したいけどまだやってない) 社内LT用資料です。 前提 anyenv やら rbenvやらを使ってrubyをインストールしておく このリポジトリをgit clone する人、かつ、chef-dkを使っていない人(この資料はchef-dkを使用していない場合のコマンドで書いています) ch
Run BATS tests at the end of a chef run, similar to minitest-chef-handler Homepage Rubygems Ruby Documentation Download License MIT Install gem install bats-chef-handler -v 0.0.5 Documentation Description Chef report handler that will find and execute BATS tests, similiar to and inspired by minitest-chef-handler http://wiki.opscode.com/display/chef/Exception+and+Report+Handlers Requirements Tested
どうも炎の料理人三ツ星シェルの かっぱこと 川原 洋平(@inokara)です。 はじめに ansible にも test-kitchen のようなテストフレームワークは無いのかなーと探していたら provisioner として shell を指定していた記事を見つけたのでその記事に倣って試してみる。 尚、セットアップする環境は AWS の EC2 インスタンスを使いたい為、kitchen-ec2 を利用する。 参考 Shell Provisioner for Test Kitchen test-kitchen/test-kitchen とりあえず 作業メモ 作業のサマリ 以下のような流れ。 test-kitchen の導入 テスト用の bash 作成 kitchen-ec2 の導入 serverspec の spec を作成 実際の作業 試した環境 Mac OS X 10.9 Marve
$ bundle install --binstubs --path=vendor/bundle Fetching gem metadata from https://rubygems.org/.......... Fetching version metadata from https://rubygems.org/.. Resolving dependencies... Installing safe_yaml 1.0.4 Installing net-ssh 2.9.2 Using bundler 1.9.2 Installing mixlib-shellout 2.0.1 Installing net-scp 1.2.1 Installing thor 0.19.1 Installing test-kitchen 1.3.1 Installing kitchen-vagrant 0
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で構築対象のインスタンス
serverspecでカスタムマッチャを定義してYAML形式としてパース出来るかどうかをテストするbe_yamlを作ってみるRSpecYAMLserverspec serverspecでデフォルトで定義されてるマッチャbe_fileとか以外に自分でカスタムマッチャを定義する方法のメモ。 例として、指定のパスのファイルがYAML形式としてパース出来るかどうかをテストするbe_yamlというマッチャを定義してみます。ただのRSpecの範疇な気がしますが、応用例がserverspecで便利っぽいだけです。 何がうれしいかというと、ChefでYAMLファイルを動的に生成していると、誤って変なデータ埋め込んでパースできなくなるというあるあるをserverspecのテストで検出できたりして幸せになれる。 まずcustom_matcher.rbみたいなファイルを作って require 'yaml' #
Today we’ve released an initial version of audit-cis. This is an “audit mode only” cookbook that runs on a node to check for compliance with The Center for Internet Security (CIS) benchmark for a specific platform. This release targets CentOS 7, CIS Benchmark version 1.0.0. CIS Benchmarks are consensus based security recommendations for various operating systems, platform distributions, or commonl
本稿は System Archaeology Through Testing (2015/05/15) の和訳です。 みなさんご存知の通り、私はChefのAudit Modeを使ってCookbookでCISベンチマーク (訳注:和訳)を実装しました。最近、Ubuntu 14.04に対応しました。本稿では、ベンチマークの推奨を背景とした本質的なOSレベルの設定についての発見と、ユーザがChefを使って改善する方法を共有したいと思います。 Ubuntu 14.04のCISベンチマークの13.7項では次のように述べられています。 解説: システム管理者がユーザのホームディレクトリに安全なパーミッションを設定している限り、ユーザはそれらを容易に上書きできます。 理由: グループまたはあらゆるユーザが書き込み可能なユーザのホームディレクトリは、悪意あるユーザによって他のユーザのデータを盗んだり変更し
はじめに 最近ではInfrastracutre as codeやImmutable Infrastructreの考え方によるインフラ管理が浸透してきました。 ChefやAnsibl、最近ではItamaeといったプロビジョニングツールの選択肢が増えてきとはいえ、未だに敷居の高さを感じ導入に踏み切れていない方も多いのではないでしょうか。 そこで今回はお手軽に始められるインフラ構築ツールとしてconfdについてまとめてみました。 confdとは goで書かれた設定ファイル管理ツールです。 kelseyhightower/confd 主要機能は設定ファイルのテンプレートエンジンなのですが、設定ファイルの生成前後で外部コマンドを実行することが可能です。 そのため 設定反映のための前処理 設定ファイルの自動生成 設定反映のためプロセス再起動 といった一連の作業を担わせることができます。 また、構成もシ
chef-clientでnodejsをインストールするときに「gpg: keyserver timed out」エラーが発生するNode.jschef ================================================================================ Error executing action `add` on resource 'apt_repository[node.js]' ================================================================================ Mixlib::ShellOut::ShellCommandFailed ------------------------------------ execute[install-key 1
About 何らかの理由で公開鍵が登録されておらず、パスワード認証でcookしないといけない場合の対応です。 Environment ローカルマシン --- 踏み台 --- 対象ホスト ※ 全てパスワード認証 対応前 chefでcookする際に何度もパスワードを聞かれてしまいました。 dev@192.168.1.2's password: dev@10.0.0.2's password: Uploading the kitchen... dev@192.168.1.2's password: dev@10.0.0.2's password: Killed by signal 1. dev@192.168.1.2's password: dev@10.0.0.2's password: Killed by signal 1. dev@192.168.1.2's password: dev@1
本稿は Overview of Test Driven Infrastructure with Chef (2015/04/21) の和訳です。また、長文のため、独自に目次をつけました。 Chefによる開発フェイズ 収束前 収束 収束後 テストの種類 ユニットテスト インテグレーションテスト よく使われるChefのテストツール RuboCop Foodcritic ChefSpec Serverspec Chef Audit Mode Test Kitchen サポートツールと、依存関係にあるソフトウェア RakeとThor Guard RSpec Fauxhai Busser あまり使われないか、非推奨のツール Cucumber BATS minitest minitest-chef-handler この記事はChefによるテスト駆動インフラに関するすべてです。現時点でのChef Coo
$ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Importing base box 'opscode-ubuntu-14.04'... .... SSH address: 127.0.0.1:2201 ... $ knife zero bootstrap 127.0.0.1 --ssh-port 2201 --ssh-user vagrant --node-name test -i ./.vagrant/machines/default/virtualbox/private_key --sudo Doing old-style registration with the validation key at ... Delete your validation key
はじめに ChefのCookbookを作成するにあたって,スケーラブルやメンテンナス性といった観点からどんなCookbookを作成すればいいか悩むことがある. これの解決策として,The Environment Cookbook PatternにしたがってCookbookを作成する方法があります. この記事の和訳やより詳しくかかれているのに以下があります. 大規模にchefを使い倒すためのcookbook pattern Chef Cookbook の管理方針、The Environment Cookbook Pattern について そしてすごくありがたいことに,2つ目の記事のなかに実際のCookbooksのStructureに関する件まで載せてくださっていました. environment-cookbook |_ .chef |_ knife.rb |_ cookbooks |_ env
最近インフラの自動化に、興味がありいろいろ試行錯誤しているが、結局どういうソリューションがいいのかよく分からないので、ちょっと今考えていることを書きなぐる やりたいこと OSをインストールして、インストール後のミドルウェア設定までを完全自動でやりたい 今回は、下記ツールを使う Cobbler = OSインストール Chef = ミドルウェア設定 ソリューション1 「Preseedのlate_commnadでchefの設定/rc.localにchef実行スクリプトを仕込む」 実現に向けた事前準備 chef-serverのnodeをあらかじめ作成しておく必要がある nodeのpermissionに気をつける(clientにwrite権限を付与) --考察-- OSインストールからミドルウェアの適用まで、インストール対象サーバが自立的に行う。 また、サーバのあるべき姿をChefサーバ上に持ってお
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く