問題タブ [databags]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - CHEF レシピでのデータバッグの使用
この問題を解決するために 1 週間以上苦労しました。これを解決するのを手伝ってくれる人はいますか。
私はデータバッグモンゴを持っています。データバッグの内容は次のとおりです。
MongoDB でユーザーを作成するために、データバッグをループしたいと考えています。これが私が思いついたものです(そしてもっと多くの無駄な試み)
上記のスクリプトの出力は次のとおりです。
- log[レコードの出力: db.createUser( { user: 'firstuser', pwd: '123', roles: [ { role: 'read', db: 'mydb' } ] } ) ] action write
- log[レコードの出力: db.createUser( { user: 'seconduser', pwd: '123', roles: [ { role: 'read', db: 'mydb' } ] } ) ] action write
- log[レコードの出力: db.createUser( { user: 'thirduser', pwd: '123', roles: [ { role: 'read', db: 'mydb' } ] } ) ] action write
- log[レコードの出力: db.createUser( { user: '', pwd: '', roles: [ { role: '', db: '' } ] } ) ] action write
行 4 を見てください。空のレコードが含まれています。ループも ("id": "users") を使っているようです。このエントリを除外する方法はありますか?
これを証明するために、"id": "users", "password": "123" を追加した結果、2 つの余分な空のレコードが作成されました。
したがって、("id": "users") を除外する必要があります。どうすればこれを達成できますか?
chef-infra - Chef レシピ内からデータバッグ値を設定することは可能ですか?
シェフのレシピ内からデータバッグの値を設定することは可能ですか? ある特定のノードから情報を収集し、それを別のノードと共有する必要があります。ナイフを使って手動で行うのではなく、料理本の中でやりたいです。
linux - Chef の実行時に Chef DataBag の値が使用されていない
次のような単純な DataBag を用意します。
それは既存のデータバッグでしたが、最初にそれを作成した人が去り、ナイフはデータバッグが私の鍵を使用して暗号化されていないと不平を言っていたので、それを交換する必要がありました.
これは私がデータバッグを作成した方法です
しかし、クックブックは新しく作成されたデータバッグから値を取得しません。
他に必要な手順はありますか? ChefManage Web サイトでデータバッグを見ると、データバッグ内に「auth_keys」があることに気付きました。そこに「クライアント」(ノード) のリストが表示されますが、リストが短く、必要なノードが含まれていません。使用するデータバッグ、おそらくこれが問題ですか?
助けていただければ幸いです。
ruby - シェフのレシピで暗号化されたデータバッグを読み取る方法は?
シェフのレシピから暗号化されたデータ バッグを読み取ろうとしていますが、問題が発生しています。
シークレットはこうやって作った
ご覧のとおり、テスト目的で、暗号化されたバージョンを別のデータ バッグに入れました。結果のデータバッグは次のようになります。
次に、このスニペットを使用してレシピを操作しています。
このレシピでキッチンを実行しようとすると、次のエラーが発生します。
スタックトレース自体は実際には役に立ちません:
シークレットが正しいこと (印刷すると、シークレット ファイルとまったく同じ値が含まれていること) と、データ バッグが正しいこと (使用しようとするsearch( :test, "id:poweruser").first
と、暗号化された値が得られること)を知っています。
エラーに関する詳細情報を入手して解決するにはどうすればよいですか?
ありがとう、ミケーレ。
chef-infra - アイテムが存在する場合でも、シェフ データ バッグ検索で 0 アイテムが返される
Knife ワークステーションから以下のコマンドを実行すると、
アイテムが Chef サーバーに存在するにもかかわらず、ナイフ検索 data_bag_name id:data_bag_item_id は 0 アイテムを返します。knife data bag show data_bag_name data_bag_item_id を実行すると、データ バッグ アイテムが表示されます。
これはレシピでも機能しません。問題は何ですか?
ruby-on-rails - Chef とデータバッグを使用して iptables の ipset を作成する
データバッグを使用してChefでiptablesのipsetsを実装することに少し行き詰まっています。このソリューションはエレガントで理想的ではないと言うかもしれませんが、私には独自の理由があると信じています。私が達成しようとしていること; 一部のIPアドレスをホワイトリストに登録するためにiptablesを使用して、将来のためにIPセット「allowed_subnet」を作成する必要があります。「許可された」IP アドレスはデータ バッグにあります。残念ながら、Chef が ipset リソースをサポートしていることがわからないので、execute を使用する必要があります。私が間違っている場合は、私を修正してください。
そうです、IP リストを含むデータ バッグがあります。
データバッグ名は「id」と同じです。
また、次のコードを追加したデフォルトのレシピ ファイル default.rb があります。
そして今、私の質問は次のとおりです。「execute」および「ipset」Linuxコマンドを使用して、データバッグからIPセット「allowed_subnet」にIPアドレスを追加する方法。
テンプレート「ipset.erb」の内容は次のとおりです。
ところで、このテンプレートが正しいかどうかはわかりません。これは以前の管理者の遺産です。私の動物園にはこのような継承されたものがたくさんあるので、誰かが私を助けてくれ、将来私を助けることができる適切なドキュメントを教えてくれれば本当にありがたいです. 私はChefの公式ドキュメントを読んでそれを行う方法を見つけようとしましたが、それはChef自体とRubyのものを超えたものだと思います.