Skip to content

Conversation

@iamayushm
Copy link
Contributor

@iamayushm iamayushm commented Sep 4, 2023

Description

Fixes #3482
This PR introduces following changes:-

  1. Makes helm installation and update operation for helm apps async operation.
  2. helm config apply status is introduced to see installation status.
  3. fixes - if release is in any state (failed, progressing, etc) other then deployed then it's release was not getting deleted.

To enable async operation set RUN_HELM_INSTALL_IN_ASYNC_MODE="true"

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

Checklist:

  • The title of the PR states what changed and the related issues number (used for the release note).
  • Does this PR requires documentation updates?
  • I've updated documentation as required by this PR.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have tested it for all user roles.
  • I have added all the required unit/api test cases.

Does this PR introduce a user-facing change?


@@ -0,0 +1,3 @@
alter table installed_app_version_history
add column helm_release_status_config text;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can add description, that will help to understand this json for status config

releaseStatus := util3.InterfaceToMapAdapter(detail.ReleaseStatus)
appDetailsContainer.ReleaseStatus = releaseStatus
impl.logger.Warnw("appName and envName not found - avoiding resource tree call", "app", installedApp.App.AppName, "env", installedApp.Environment.Name)
} else {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we put this in separate function, functions should be very small.

callback := func(msg *pubsub.PubSubMsg) {

impl.logger.Debug("received helm install status event")
impl.logger.Debugw("HELM_INSTALL_STATUS", "data", msg.Data)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

put this log in previous line

@gitguardian
Copy link

gitguardian bot commented Sep 15, 2023

⚠️ GitGuardian has uncovered 2 secrets following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secrets in your pull request
GitGuardian id Secret Commit Filename
2763127 Generic High Entropy Secret 39bfa39 scripts/devtron-reference-helm-charts/statefulset-chart_5-0-0/secrets-test-values.yaml View secret
141558 Generic High Entropy Secret 39bfa39 scripts/devtron-reference-helm-charts/statefulset-chart_5-0-0/env-values.yaml View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secrets safely. Learn here the best practices.
  3. Revoke and rotate these secrets.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

Our GitHub checks need improvements? Share your feedbacks!

}

err := impl.updateApplicationWithChartInfo(ctx, installAppVersionRequest.InstalledAppId, installAppVersionRequest.AppStoreVersion, installAppVersionRequest.ValuesOverrideYaml)
err := impl.updateApplicationWithChartInfo(ctx, installAppVersionRequest.InstalledAppId, installAppVersionRequest.AppStoreVersion, installAppVersionRequest.ValuesOverrideYaml, 0)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use Constant variable instead of passing 0

@sonarqubecloud
Copy link

SonarCloud Quality Gate failed.    Quality Gate failed

Bug C 1 Bug
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 2 Code Smells

No Coverage information No Coverage information
0.3% 0.3% Duplication

idea Catch issues before they fail your Quality Gate with our IDE extension sonarlint SonarLint

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: Helm installation fails if some condition don't return success and creates external release

4 participants