charts icon indicating copy to clipboard operation
charts copied to clipboard

[Artifactory] Allow Individual Changes in Artifactory Readiness Probes Configuration

Open edlyn-liew opened this issue 1 year ago • 2 comments

Is this a request for help?:


Is this a BUG REPORT or FEATURE REQUEST? (choose one): FEATURE REQUEST

Which chart: Artifactory - 7.84.12

What happened: I would like to request an enhancement to the configuration of individual parameters in the readiness probes in the chart. The current layout of the chart does not allow us to make individual changes to parameters such as periodSeconds value without modifying the entire block of configuration. This limitation poses a challenge, particularly when upstream values, such as the readiness endpoint, undergo changes.

Currently, the readiness probe configuration is defined as follows:

router:
    readinessProbe:
      enabled: true
      config: |
        exec:
          command:
            - sh
            - -c
            - curl -s -k --fail --max-time {{ .Values.probes.timeoutSeconds }} {{ include "artifactory.scheme" . }}://localhost:{{ .Values.router.internalPort }}/router/api/v1/system/readiness
        initialDelaySeconds: {{ if semverCompare "<v1.20.0-0" .Capabilities.KubeVersion.Version }}60{{ else }}0{{ end }}
        periodSeconds: 60
        timeoutSeconds: {{ .Values.probes.timeoutSeconds }}
        failureThreshold: 5
        successThreshold: 1

In the above configuration, altering the periodSeconds parameter requires modification of the entire config block. This approach is not ideal for a couple of reasons:

  • Granularity of Changes: It forces us to modify multiple parameters even when only one needs to be changed. This increases the risk of unintentional errors and complicates configuration management.
  • Upstream Changes: When upstream values (like the readiness endpoint) are updated, altering the entire block complicates the integration of these updates. This could potentially lead to configuration drift and inconsistencies.

To address these issues, we propose the following enhancement: Refactor the chart to allow individual parameters within the readiness probe configuration to be overridden without requiring the entire block to be modified. For example, the configuration could be structured to allow direct modification of each standalone parameter:

router:
  readinessProbe:
    enabled: true
    config:
      exec:
        command:
          - sh
          - -c
          - curl -s -k --fail --max-time {{ .Values.probes.timeoutSeconds }} {{ include "artifactory.scheme" . }}://localhost:{{ .Values.router.internalPort }}/router/api/v1/system/readiness
    initialDelaySeconds: {{ if semverCompare "<v1.20.0-0" .Capabilities.KubeVersion.Version }}60{{ else }}0{{ end }}
    periodSeconds: 5
    timeoutSeconds: {{ .Values.probes.timeoutSeconds }}
    failureThreshold: 5
    successThreshold: 1

As a result, this change would allow individual parameters to be easily overridden in values files without impacting other parts of the configuration. It would significantly enhance the flexibility and maintainability of the chart.

edlyn-liew avatar Jun 04 '24 06:06 edlyn-liew

Hi @edlyn-liew-octo, Thank you for the feedback, we will evaluate internally and come back.

RobinDuhan avatar Jun 05 '24 10:06 RobinDuhan

we have a internal tracking ticket for this and will prioritize in this quarter !

chukka avatar Apr 09 '25 06:04 chukka