4.2.2.3. シークレットの指定

OpenShift シークレットを使用して、設定情報を安全に含めることができます。--config secret 構文を使用して、Camel K インテグレーションが利用できるようシークレットをマテリアル化することができます。

前提条件

  • Setting up your Camel K development environment
  • OpenShift クラスター上に 1 つ以上のシークレットがある。

    たとえば、以下のコマンドを使用してシークレットを作成できます。

    oc create secret generic my-sec --from-literal=my-secret-key="very top secret"

手順

  1. ConfigMap を参照する Camel K インテグレーションを作成します。

    たとえば、以下のインテグレーション (名前: ConfigSecretRoute.java) は、my-sec という名前のシークレットの my-secret プロパティーを参照します。

    import org.apache.camel.builder.RouteBuilder;
    
    public class ConfigSecretRoute extends RouteBuilder {
      @Override
      public void configure() throws Exception {
    
        from("timer:secret")
            .setBody()
                .simple("resource:classpath:my-secret")
            .log("secret content is: ${body}");
    
      }
    }
  2. インテグレーションを実行し、--config オプションを使用してシークレットをマテリアル化し、実行中のインテグレーションで使用できるようにします。以下は例になります。

    kamel run --config secret:my-sec ConfigSecretRoute.java --dev

    インテグレーションが起動すると、Camel K Operator はシークレットの内容で OpenShift ボリュームをマウントします。