Install/uninstall with helm

Description

Requirements:

  • A Helm chart that installs all the Everest core components (excludes the DB namespaces and its operators).

    • Running helm install ... for this chart will provision only the core system components:

      • everest-system namespace and all its associated resources (operator, API server, configMaps, secrets, etc.)

      • everest-olm namespace and all its components

      • everest-monitoring and all its components

    • DB namespaces will not be provisioned.

    • Running helm uninstall ... will uninstall the Everest core components.

      • Uninstallation may be stuck if DB namespaces are not removed first (see below point)

    • Everest RBAC can be configured in the Helm chart

    • Setting the OIDC configuration (confirm with Oksana/Fabio)

  • A Helm sub-chart under the main Everest core chart that will provision the DB namespaces and its operators

    • Running helm install ... for this sub-chart will provision a single DB namespace

    • Users have to install this chart each time they want a new DB namespace provisioned

    • Does not affect the core Everest components that are provisioned by the parent chart

    • Users can specify which operators they want installed in the DB namespace

    • Once the chart is installed and DB namespace is provisioned, users may not add/remove the DB operators in the same namespace (technical limitation, can lead to unexpected behaviour during upgrades)

    • User is able to run helm uninstall ... for this sub-chart to delete a single DB namespace

      • Upon deletion, all DB resources should also be deleted. User is able to toggle this clean-up option during installation time. (Note: this should not be mandatory since it will use chart hooks, and users should be allowed to disable it)

Out of scope:

  • Install Everest on a namespace other than everest-system

  • Integration with GitOps may not work out of this box.

    • Document the various hacks needed

  • Using both Helm/CLI for on the same installation of Everest

  • Configuring Everest users/accounts

  • Configuring the Everest Service type (to expose the API server)

  • Configuring Everest API (and everest operator) pod affinity settings

Examples

  • WIP

Attachments

1
100% Done
Loading...

Activity

Show:

Manish Chawla January 7, 2025 at 12:37 PM
Edited

Ran various tests with helm for installation and uninstallation.

Latest testing with 1.4.0-rc6

Install with default command and add another namespace afterwards

Create databases in everest namespace.

Add a1 namespace with only pxc

Create mysql databases in a1 namespace.

Uninstall namespace a1

Uninstall everest

Delete namespaces

Tests run in previous 1.4.0 rc versions

  1. Install with default command and add another namespace afterwards.

  2. Install with default command with custom admin password and do not install any default db namespace.

  3. Install with custom db namespace and only 1 db operator.

  4. Install with rbac enabled.

  5. Install and add multiple db namespaces. Delete one namespace, then add the same namespace again.

  6. Install with values in yaml file.

  7. Helm and cli interoperability.

  8. Install with helm and enable monitoring in databases.

  9. Install with helm and enable OIDC.

Testing for this feature is completed, hence closing the task.

Manish Chawla December 20, 2024 at 12:19 PM

Tested 1.4.0-rc1 and found the issues , , .

Testing the fixes of these issues in 1.4.0-rc2.

On running install and uninstall with two namespaces, came across these issues

  1. There are a couple of pods for completed backups remaining in a2 namespace after uninstall

This issue is related to .

  1. The UI still displays the namespace having the db operators installed after everest has been uninstalled from the namespace

This issue will be fixed in .

Mayank Shah November 19, 2024 at 12:09 PM

Helm chart is available here:

You can find the install/uninstall commands in the readme.

Unresolved

Details

Assignee

Reporter

Fix versions

Due date

Priority

Smart Checklist

Created September 24, 2024 at 9:38 AM
Updated January 8, 2025 at 4:58 PM