Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request for Feature Enhancement to Allow Individual Changes in Artifactory Readiness Probes Configuration #1889

Open
edlyn-liew opened this issue Jun 4, 2024 · 1 comment

Comments

@edlyn-liew
Copy link

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.

@RobinDuhan
Copy link

RobinDuhan commented Jun 5, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants