問題タブ [salt-stack]
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.
python - python - 変数によってjsonファイルから特定のキー/値を抽出する
python と json には少し慣れていません。私はこのjsonファイルを持っています:
私がやりたいのは、ホスト名変数を使用して、各ホスト名の値を抽出することです。説明するのは少し難しいですが、すでにホストを反復処理しているソルトスタックを使用しており、ホスト名変数を使用してjsonファイルから各ホストの値を抽出できるようにしたいと考えています。
私が理解できることを願っています。
ありがとうございます。
salt-stack - 必要なデータのみが残され、古いデータが削除されるようにする
ソルトを使用して Web サーバーをブートストラップします。複数の異なるドメインをホストしています。/etc/apache2/sites-available
ドメインごとにファイルを作成します。次に、にシンボリックリンクしsites-enabled
ます。
問題は、ドメインを別のサーバーに移動すると、リンクsites-enabled
が削除されないことです。ドメイン名を変更してデータをそのままにしておくと、old.domain.com と new.domain.com の vhost ファイルが作成されます。最終的には new.domain.com のみになると予想してsites-enabled
いますが、両方のファイルが存在し、作業ドメインはアルファベットに依存します (私は推測します) - どちらの仮想ホストが最初にロードされるか。
ドメインをピラーに保存し、次のような vhost を生成します。
柱にリストされている vhost のみが highstate の後に残るようにする必要があります。最初にフォルダーを空にすることを考えましたが、ハイステートが空中で失敗する可能性があり、追加しようとしたという理由だけで、vhosts なしで残り、他のすべてのドメインが機能しなくなる可能性があるため、危険に感じます。
「この高状態の実行に存在しなかったものをすべて削除する」のようなものを強制する方法はありますか?
vagrant - SALT プロビジョニングを使用して mod_rewrite が有効になっていることを確認するにはどうすればよいですか
SALT プロビジョニングを使用して vagrant box を作成しています。
私のapache2.slsには
mod_rewrite が有効になっていることを確認するにはどうすればよいですか?
貴重な時間をありがとうございました。
configuration-management - ソルト状態で同じことを繰り返さないようにするには?
開発環境と本番環境という 2 つの異なる環境があり、単一の Salt サーバーによって管理されています。このようなもの:
user-dev
次のように、users-prod
状態はほとんど同じです。
コードを複製したくなかったので、最初のアイデアは次のようにすることでした。
を参照しusers
ますusers-common
が、適切な Jinja 構文がset users = pillar['users'].items()
あり、Salt 状態が含まれている間で機能することを意図していなかったため、これは機能しませんでした。
それで、問題はそれを適切に行う方法ですか?
salt-stack - SaltStack: "sls" で正規表現を使用して pkgs を記述する方法は?
サーバーを展開するためにsaltstackを使用しています。すべての "tomcat7" pkgs を 1 つのサーバーにインストールしたいと考えています。したがって、次のような sls ファイルを作成します。
しかし、最終的にはエラーを受け取ります:
しかし実際には、サーバーはすべての ^tomcat7.* パッケージを正常にインストールしました。
この問題を解決するには?すべての ^tomcat7.* pkg を 1 つずつ記述する必要がありますか?
python - jinja テンプレート内のホスト名の IP アドレスを取得する方法
私たちのソルトスタックは、ホスト名 (webN. 、 dbN.など) に基づいています。しかし、さまざまなことのために、それらのサーバーの IP が必要です。今のところはピラーで保管していましたが、シンクロする箇所が増えてきました。
publish + network.ip_addrs を使用しようとしましたが、ホスト名を解決するためだけにソルト ラウンドトリップ全体を実行する必要があるため、それはちょっと面倒です。また、それは応答するミニオンに依存します。したがって、テンプレートでホスト名を IP に解決する方法を探しています。
どうにかしてモジュールを作成できると思いますが、私の Python スキルは非常に限られています。
nginx - Salt: SLS でカスタム グレインを使用する
init.sls でカスタム グレインを使用しようとしていますが、if ステートメントが正しくありません。これが私のカスタム グレインの動作です。
私のinit.sls呼び出し:
しかし、nginx.signal が呼び出されることはありません。なんで?
また、run コマンドにパラメータ 'reload' を指定するにはどうすればよいですか?
django - Salt - virtualenv への複数の要件ファイル
Django プロジェクトを Salt ( http://saltstack.com )で管理したいと考えています。私が持っている私の状態で
そして、requirements.txt に他のファイル (production.txt、local.txt...) をロードします。
ソルトを実行すると失敗します:
/tmp/
パスを からに変更するにはどうすればよい/srv/MyProject/src/
ですか? cwd
オプションを使ってみましたが同じです。
python - Salt-api を使用して、salt-key をリモートで呼び出す
別のアプリケーションによって自動的に作成されるクラウド サーバーを、Salt Stack を使用して管理したいと考えています。私が制御できない別のアプリケーションがそれらを自動的に作成および削除するため、ソルトクラウドを使用して新しいサーバーを作成し、それらをブートストラップすることはできません。
私にできることは、アプリケーションが新しいクラウド サーバー インスタンスを作成および削除するときに使用するイメージを構築することです。
私が探しているのは、新しく作成されたミニオンが、作成前にソルトマスターが何も知らずにソルトマスターにブートストラップする方法です。
私が抱えている問題は、新しいミニオンが自動的に受け入れられるように、キーを事前にシードする方法が必要だということです。
私は、salt-api を使用して、salt-master に接続し、それ自体の新しいキーを生成するスクリプトを起動時に実行することで、これを実行しようとしていました。新しいミニオンは、事前にシードされたキーを使用して、マスターに自動的に接続できます。
しかし、ミニオンが作成されるたびに新しいキーを生成するために、salt-api から salt-key を呼び出す方法を見つけようとして問題が発生しています。
php - Salt-Stack / Vagrant : ubuntu 12.04 の php 5.5
以下のファイルを使用すると、「PHP 5.3.10-1ubuntu3.8」しか取得できません。少なくとも php 5.4 が必要で、本当に php 5.5 が欲しいです。
誰でも私を助けることができますか?私は何時間も周りを見回してきましたが、これはあまり話題にされていないようです.
前もって感謝します。
php.sls