# Helm

## Packages

* We have made new alpha release 17:
  * **Agent image:**
    * ```
      lensting/lenses-agent:6.0.0-alpha.3
      ```
  * **HQ image:**
    * ```
      lensting/lenses-hq:6.0.0-alpha.17
      ```
  * **HQ CLI image**
    * ```
      lensting/lenses-cli:6.0.0-alpha.17
      ```

      <br>
* New Helm version 17 for agent and for the HQ: <https://lenses.jfrog.io/ui/native/helm-charts-preview/>

## HQ Changelog

### Support for additional environment variables

When working on software projects, there often arises a need to create additional environment variables for various purposes. One common scenario for this is when users need to securely handle sensitive information, such as passwords or API keys. By storing a user password in a secret, the system ensures that such sensitive information is not exposed to unauthorized access, and this practice offers enhanced security.

{% tabs %}
{% tab title="Additional Environment syntax " %}
{% code title="values.yaml" %}

```yaml
lensesHq:
  # Additional env variables appended to deployment
  # Follows the format of [EnvVar spec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#envvar-v1-core)
  additionalEnv:
    - name: ADMIN_USER
      valueFrom:
        secretKeyRef:
          name: multi-credentials-secret
          key: user1-username
    - name: ADMIN_USER_PWD
      valueFrom:
        secretKeyRef:
          name: multi-credentials-secret
          key: user1-password
```

{% endcode %}
{% endtab %}

{% tab title="Reading username & pwd from secret" %}

<pre class="language-yaml" data-title="values.yaml"><code class="lang-yaml"><strong>lensesHq:
</strong><strong>  auth:
</strong><strong>    users:
</strong>      - username: $(ADMIN_USER)
        password: $(ADMIN_USER_PWD)
  additionalEnv:
    - name: ADMIN_USER
      valueFrom:
        secretKeyRef:
          name: multi-credentials-secret
          key: user1-username
    - name: ADMIN_USER_PWD
      valueFrom:
        secretKeyRef:
          name: multi-credentials-secret
          key: user1-password
</code></pre>

{% endtab %}
{% endtabs %}

### Rest port consolidation

Property *`restPort`*&#x68;as been removed and replaced by `lensesHq.http.address`

### Small bugfixes

*

## Agent changelog

### Syntax changes

In the provisioning, there has been slight adjustment in the parent agent configuration parameter.

Changes:

* *<mark style="background-color:red;">lenses</mark>* has been renamed to *<mark style="background-color:green;">**lensesAgent**</mark>*

{% tabs %}
{% tab title="Old connection structure" %}
{% code title="values.yaml" lineNumbers="true" fullWidth="true" %}

```yaml
lenses:
  provision:
    enabled: true
    version: "2"
    path: /mnt/provision-secrets
    connections:
      grpcServer:     # Property that has changed
        - name: lenses-hq
          version: 1
          tags: ['hq']
          configuration:
            server:
              value: [HQ_URL]
            port:
              value: 10000
            apiKey:     # Property that has changed
              value: ${LENSESHQ_AGENT_KEY}
```

{% endcode %}
{% endtab %}

{% tab title="New connection structure" %}
{% code title="values.yaml" lineNumbers="true" %}

```yaml
lensesAgent:   # Renamed property
  provision:
    path: /mnt/provision-secrets
    connections:
      lensesHq:
        - name: lenses-hq
          version: 1
          tags: ['hq']
          configuration:
            server:
              value: [HQ_URL]
            port:
              value: 10000
            agentKey:   
              value: ${LENSESHQ_AGENT_KEY}
```

{% endcode %}
{% endtab %}
{% endtabs %}

### Provisioning changes

As provisioning with the latest version (2) is mandatory for successful running of the agent, both configs are removed.

{% code title="values.yaml" %}

```yaml
lensesAgent:   # Renamed property
  provision:
    path: /mnt/provision-secrets
    connections:
      lensesHq:
        - name: lenses-hq
          version: 1
          tags: ['hq']
          configuration:
            server:
              value: [HQ_URL]
            port:
              value: 10000
            agentKey:   
              value: ${LENSESHQ_AGENT_KEY}
```

{% endcode %}

### Removal of H2 database support

In the the past it was possible to use H2 database which would be instantly deployed and ready to use alongside the agent.&#x20;

Due to certain performance limitations  which come with H2 database which can impact the agent functionality, we decided to completely remove H2 support.

However, ***persistence*** parameter still remains and can be used to enable extra volume creation dedicated specifically just logs.

```yaml
persistence:
  log:
    # -- (boolean) Extra volume creation dedicated for logs.
    # @section -- Persistence scope values
    enabled: true
    # -- (boolean) Annotations dedicated for logs.
    # @section -- Persistence scope values
    annotations: {}
    # -- (list) Access mode rights for created persistence volumes.
    # @section -- Persistence scope values
    accessModes:
      - ReadWriteOnce
    # -- (string) Size of persistence that will be created.
    # @section -- Persistence scope values
    size: 5Gi
```
