<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Resources on Jikkou</title><link>https://www.jikkou.io/docs/reference/providers/core/resources/</link><description>Recent content in Resources on Jikkou</description><generator>Hugo</generator><language>en</language><atom:link href="https://www.jikkou.io/docs/reference/providers/core/resources/index.xml" rel="self" type="application/rss+xml"/><item><title>ConfigMap</title><link>https://www.jikkou.io/docs/reference/providers/core/resources/configmap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.jikkou.io/docs/reference/providers/core/resources/configmap/</guid><description>&lt;p>You can use a &lt;code>ConfigMap&lt;/code> to define reusable data in the form of key/value pairs that can then be referenced and used by
other resources.&lt;/p>
&lt;h2 id="specification">Specification&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nn">---&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="nt">apiVersion&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;core.jikkou.io/v1beta2&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="nt">kind&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">ConfigMap&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="nt">metadata&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;&amp;lt;CONFIG-MAP-NAME&amp;gt;&amp;#39;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Name of the ConfigMap (required)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="nt">data&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Map of key-value pairs (required)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">&amp;lt;KEY_1&amp;gt;&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;&amp;lt;VALUE_1&amp;gt;&amp;#34;&lt;/span>&lt;span class="w"> 
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="example">Example&lt;/h2>
&lt;p>For example, the below &lt;code>ConfigMap&lt;/code> show how to define default config properties namedc&lt;code>KafkaTopicConfig&lt;/code> that can then
reference and used to define multiple &lt;a href="https://www.jikkou.io/docs/reference/providers/kafka/resources/topics/">KafkaTopic&lt;/a>. resources.&lt;/p></description></item><item><title>ValidatingResourcePolicy</title><link>https://www.jikkou.io/docs/reference/providers/core/resources/validatingresourcepolicy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.jikkou.io/docs/reference/providers/core/resources/validatingresourcepolicy/</guid><description>&lt;p>The &lt;code>ValidatingResourcePolicy&lt;/code> resource is used to define &lt;strong>validation rules&lt;/strong> applied to resources or resource changes before they are applied by Jikkou.&lt;br>
It allows enforcing organizational policies, validating constraints, or filtering out undesired operations.&lt;/p>
&lt;p>Each policy can select one or more resource kinds and define &lt;strong>rules&lt;/strong> expressed in &lt;a href="https://opensource.google/projects/cel">Google CEL (Common Expression Language)&lt;/a>.&lt;br>
Rules can either &lt;strong>fail&lt;/strong> the execution or &lt;strong>filter&lt;/strong> the invalid resources, depending on the configured &lt;code>failurePolicy&lt;/code>.&lt;/p>
&lt;hr>
&lt;h2 id="specification">Specification&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">apiVersion&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">core.jikkou.io/v1&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="nt">kind&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">ValidatingResourcePolicy&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="nt">metadata&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">&amp;lt;string&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Required. Unique policy name.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="nt">spec&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">failurePolicy: &amp;lt;string&amp;gt; # Required. One of&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">FAIL | FILTER&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">selector&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">matchingStrategy: &amp;lt;string&amp;gt; # Optional. One of: ALL | ANY (default&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">ALL)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">matchResources&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">apiVersion&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">&amp;lt;string&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Optional. API version to match (e.g., core.jikkou.io/v1)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">kind&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">&amp;lt;string&amp;gt; &lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Required. Resource kind (e.g., KafkaTopic)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">matchLabels&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">key&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">&amp;lt;string&amp;gt; &lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Label key to match&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">operator: &amp;lt;string&amp;gt; # One of&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">In | NotIn | Exists | DoesNotExist&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">values&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="l">&amp;lt;string&amp;gt;] &lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Optional list of values&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">matchExpressions&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="l">&amp;lt;string&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># CEL expression&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">rules&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">&amp;lt;string&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Required. Rule identifier.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">expression&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">&amp;lt;string&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Required. A CEL expression evaluated against the resource.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">message&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">&amp;lt;string&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Optional. Static message returned when the rule fails.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">messageExpression&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">&amp;lt;string&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Optional. CEL expression to generate a dynamic error message.&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="fields">Fields&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Field&lt;/th>
 &lt;th>Type&lt;/th>
 &lt;th>Required&lt;/th>
 &lt;th>Description&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>spec.failurePolicy&lt;/code>&lt;/td>
 &lt;td>&lt;code>string&lt;/code>&lt;/td>
 &lt;td>Yes&lt;/td>
 &lt;td>Defines the policy behavior when validation fails. Possible values:&lt;br/>• &lt;code>FAIL&lt;/code> → stop execution with an error.&lt;br/>• &lt;code>FILTER&lt;/code> → skip the invalid resource(s) but continue processing others.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>spec.selector.matchingStrategy&lt;/code>&lt;/td>
 &lt;td>&lt;code>string&lt;/code>&lt;/td>
 &lt;td>No&lt;/td>
 &lt;td>Strategy for combining multiple selectors. Possible values:&lt;br/>• &lt;code>ALL&lt;/code> → resource must match &lt;strong>all&lt;/strong> conditions.&lt;br/>• &lt;code>ANY&lt;/code> → resource must match &lt;strong>at least one&lt;/strong> condition.&lt;br/>Default: &lt;code>ALL&lt;/code>.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>spec.selector.matchResources&lt;/code>&lt;/td>
 &lt;td>&lt;code>list&lt;/code>&lt;/td>
 &lt;td>No&lt;/td>
 &lt;td>Selects resources by API version and kind.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>spec.selector.matchLabels&lt;/code>&lt;/td>
 &lt;td>&lt;code>list&lt;/code>&lt;/td>
 &lt;td>No&lt;/td>
 &lt;td>Selects resources based on labels, using operators (&lt;code>In&lt;/code>, &lt;code>NotIn&lt;/code>, &lt;code>Exists&lt;/code>, &lt;code>DoesNotExist&lt;/code>).&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>spec.selector.matchExpressions&lt;/code>&lt;/td>
 &lt;td>&lt;code>list&lt;/code>&lt;/td>
 &lt;td>No&lt;/td>
 &lt;td>Selects resources using CEL expressions for advanced filtering.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>spec.rules&lt;/code>&lt;/td>
 &lt;td>&lt;code>list&lt;/code>&lt;/td>
 &lt;td>Yes&lt;/td>
 &lt;td>A list of validation rules.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>spec.rules[].name&lt;/code>&lt;/td>
 &lt;td>&lt;code>string&lt;/code>&lt;/td>
 &lt;td>Yes&lt;/td>
 &lt;td>A unique identifier for the rule.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>spec.rules[].expression&lt;/code>&lt;/td>
 &lt;td>&lt;code>string&lt;/code>&lt;/td>
 &lt;td>Yes&lt;/td>
 &lt;td>A CEL expression evaluated against the resource. The rule fails when the expression evaluates to &lt;code>true&lt;/code>.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>spec.rules[].message&lt;/code>&lt;/td>
 &lt;td>&lt;code>string&lt;/code>&lt;/td>
 &lt;td>No&lt;/td>
 &lt;td>Static error message returned when validation fails.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>spec.rules[].messageExpression&lt;/code>&lt;/td>
 &lt;td>&lt;code>string&lt;/code>&lt;/td>
 &lt;td>No&lt;/td>
 &lt;td>CEL expression returning a dynamic error message string.&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="resource-selection">Resource Selection&lt;/h2>
&lt;p>Policies define which resources they apply to using a &lt;strong>selector&lt;/strong>.&lt;br>
A selector can combine multiple strategies to target resources based on:&lt;/p></description></item></channel></rss>