<p>Specifically, we need to map the lifecycle of ArgoCD Application (e.g. Progressing, Healthy, etc.) to TMF Resource State (e.g. reserved, active, etc.).</p>
<p>In ArgoCD, the field <strong>status.health.status</strong> has the value that we need to check (Healty, Progressing, etc) for the lifecycle of the application. This is captured by the <strong>_CR_CHECK_FIELD</strong> characteristic.</p>
<p>Also, the different ArgoCD lifycycle states must be captured by the respective <strong>_CR_CHECKVAL_xxx</strong> characteristics, as show in the figure below:</p>
<blockquote>
<p>To populate the characteristics, we click the edit characteristic button and input the appropriate value into the service characteristic value field.</p>
<p>After the state mapping, we must provide the template that ArgoCD will use to deploy the Jenkins HELM Chart as an ArgoCD application. For this, we must populate the <strong>_CR_SPEC</strong> characteristic. The _CR_SPEC can be designed first in a YAML or json editor for better parsing. </p>
<p>After the state mapping, we must provide the template that ArgoCD will use to deploy the Jenkins HELM Chart as an ArgoCD application. For this, we must populate the <strong>_CR_SPEC</strong> characteristic. The _CR_SPEC can be designed first in a YAML or JSON editor for better parsing. </p>
<p>It is highly recommended to avoid populating the <strong>_CR_SPEC</strong> characteristic with the above procedure (directly pasting the value), as the following process (via simple LCM rule) is extremely more modular. </p>
<li>Drag-Drop the _CR_SPEC block (Set characteristic value) of jenkinsrfs from the Service > Text blocks</li>
<li>Drag-Drop the Text > Formatted text block and attach it after the block from the previous step</li>
<li>Drag-Drop the Text > Multi-line text input block and attach it at the Input(String) connector of the block from the previous text </li>
<li>Copy paste the previously provided YAML text</li>
<li>Change the spec:destination:namespace property to the value %s</li>
<li>Drag-Drop the Lists > Create list block, delete the 2 extra items (click the gear icon). Attach it at the Variables(Array) connector of the formatted text block from the previous step.</li>
<li>Drag-Drop the Service > Context > Current Service Order block and select the ID from the drop-down menu. Attach it to the List block of the previous step.</li>
<li>Drag-Drop the <strong>_CR_SPEC block (Set characteristic value)</strong> of jenkinsrfs from the <strong>Service > Text blocks</strong></li>
<li>Drag-Drop the <strong>Text > Formatted text block</strong> and attach it after the block from the previous step</li>
<li>Drag-Drop the <strong>Text > Multi-line text input block</strong> and attach it at the <strong>Input(String) connector</strong> of the block from the previous text </li>
<li>Copy paste the previously <strong>provided YAML text</strong></li>
<li>Change the <strong>spec:destination:namespace property</strong> to the value <strong>%s</strong></li>
<li>Drag-Drop the <strong>Lists > Create list block</strong>, delete the 2 extra items (click the gear icon). Attach it at the <strong>Variables(Array) connector</strong> of the formatted text block from the previous step.</li>
<li>Drag-Drop the <strong>Service > Context > Current Service Order block</strong> and <strong>select the ID</strong> from the drop-down menu. Attach it to the List block of the previous step.</li>
<li>Save the PRE_PROVISION Rule</li>
</ol>
<h2id="expose-the-jenkins-customer-facing-service-to-the-users">Expose the Jenkins (Customer-Facing) Service to the users</h2>