Skip to content

Commit

Permalink
Merge pull request #181 from percona/1.4.0
Browse files Browse the repository at this point in the history
Release branch 1.4.0
  • Loading branch information
rasika-chivate authored Jan 7, 2025
2 parents 240f045 + 798a2dc commit 28d0801
Show file tree
Hide file tree
Showing 61 changed files with 1,312 additions and 418 deletions.
86 changes: 86 additions & 0 deletions docs/administer/manage_namespaces.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Namespaces management

The management of namespaces plays a vital role in efficiently organizing and allocating resources within Percona Everest.

## Add new namespaces

You can run the following command for provisioning a new DB namespace:

```sh
everestctl namespaces add [NAMESPACE]
```

The command supports the following flags:

`--operator.mongodb=<bool>`

`--operator.postgresql=<bool>`

`--operator.xtradb-cluster=<bool>`

`--take-ownership` - Allows Percona Everest to manage an existing Kubernetes namespace by adding the necessary labels. Without this flag, Percona Everest will attempt to create the namespace and throw an error if it already exists. Use this flag to take over an existing namespace.

??? example "Example"
```sh
everestctl namespaces add development --operator.postgresql=false
✓ Installing namespace 'development'
```
In the above command, we did not specify the MongoDB and MySQL operators. Therefore, by default, Percona Everest assumes these operators are true and will add them.

```sh
everestctl namespaces add production

? Which operators do you want to install? MongoDB
✓ Installing namespace 'production'
```

!!! note
The `everestctl install` command allows you create database namespaces during the initial installation. However, it cannot be rerun to add more database namespaces. To create additional database namespaces after installation, use the namespaces add command.

- To provision a DB namespace after installation, use the command `everestctl namespaces add`.

- You may choose to skip the DB namespace installation in the `everestctl install` command.

## Update namespaces

!!! info "Important"
Removing operators with `update` is currently not supported.

You can run the following command to add more operators to an existing DB namespace.


```sh
everestctl namespaces update [NAMESPACE]
```

??? example "Example"
```sh
everestctl namespaces update development

? Which operators do you want to install? MongoDB
✓ Updating namespace 'development'
```


## Delete namespaces

You can run the following command for deleting namespaces:

```sh
everestctl namespaces remove [NAMESPACE]
```

- This command deletes only the specified namespace, as long as it is managed by Percona Everest.

- Setting `--keep-namespace` deletes all resources within the namespace (e.g., operators, DatabaseClusters, BackupStorages) while preserving the namespace itself. Use this option to clean up the namespace without removing it.


??? example "Example"
```sh
everestctl namespaces remove development

✓ Deleting database clusters in namespace 'development'
✓ Deleting backup storages in namespace 'development'
✓ Deleting monitoring instances in namespace 'development'
✓ Deleting namespace 'development'
```
7 changes: 4 additions & 3 deletions docs/administer/rbac.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Role Based Access Control (RBAC)
# Role-based access control (RBAC)


!!! warning "Disclaimer"
RBAC is currently in **Technical Preview**. Early adopters are advised to use this feature only for testing purposes and not in production environments.
Expand Down Expand Up @@ -292,8 +293,8 @@ In this section, we will explore some examples that demonstrate how to create po
p, role:dbadminDatabaseA, namespaces, *, namespaceA
p, role:dbadminDatabaseA, database-engines, read, namespaceA/*
p, role:dbadminDatabaseA, database-clusters, *, namespaceA/databaseA
p, role:dbadminDatabaseA, database-cluster-backups, *, namespaceA/*
p, role:dbadminDatabaseA, database-cluster-restores, *, namespaceA/*
p, role:dbadminDatabaseA, database-cluster-backups, *, namespaceA/databaseA
p, role:dbadminDatabaseA, database-cluster-restores, *, namespaceA/databaseA
p, role:dbadminDatabaseA, database-cluster-credentials, *, namespaceA/databaseA
p, role:dbadminDatabaseA, backup-storages, read, namespaceA/*
p, role:dbadminDatabaseA, monitoring-instances, read, namespaceA/*
Expand Down
Binary file modified docs/images/database_details.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/database_view.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/database_view_actions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/edit_resources_toplogy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/everest_adv_config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/everest_adv_config_edit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/everest_adv_config_ip_source.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/everest_db_provision.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/everest_db_scaling.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/everest_disable_endpoint.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/everest_multi-namespaces.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/everest_multinamespaces.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/everest_scale_horizontally.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/everest_scale_vertically_up.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/everest_sharded_cluster.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/remove_edit_db_wizard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/sharding_routers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 2 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,10 @@ Percona Everest is the first open-source platform for automated database provisi

Let's start by enabling you to deploy an automated private DBaaS, eliminating vendor lock-in and complex in-house platform development.

[Percona Everest quickstart guide:material-arrow-right:](quickstart-guide/quick-install.md){.md-button } [Manage your first cluster :material-arrow-right:](use/db_provision.md){.md-button }
[Percona Everest quickstart guide:material-arrow-right:](quick-install.md){.md-button } [Manage your first cluster :material-arrow-right:](use/db_provision.md){.md-button }



## In this documentation
Refer to our documentation, and you'll be set up in no time.

<div data-grid markdown><div data-banner markdown>

Expand Down
63 changes: 0 additions & 63 deletions docs/install/SetupPrereqs.md

This file was deleted.

File renamed without changes.
File renamed without changes.
68 changes: 51 additions & 17 deletions docs/install/installEverest.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# Install Everest
# Install Percona Everest using CLI

!!! warning
Google Container Registry (GCR) is scheduled to be deprecated and will officially shut down on March 18, 2025. All versions of Percona Everest prior to 1.4.0 depend on images hosted on GCR, meaning that downloading those images will fail after the shutdown date. We strongly recommend upgrading to Percona Everest version 1.4.0 as soon as possible. If you do not upgrade, Percona Everest will no longer function.

For more details, refer to the [Container Registry Deprecation documentation](https://cloud.google.com/artifact-registry/docs/transition/prepare-gcr-shutdown){:target="_blank"}.

## Before you start

Expand All @@ -8,36 +13,65 @@ Before running the commands in the **Installation** section, note that Everest w
export KUBECONFIG=~/.kube/config
```

## Installation
## Install Percona Everest

!!! info "Important"
Starting from version 1.4.0, `everestctl` now uses the [Helm chart](https://github.com/percona/percona-helm-charts/tree/main/charts/everest){:target="_blank"} to install Percona Everest. To configure chart parameters during installation through the CLI, you can:

* Use the `--helm-.set` flag to specify individual parameter values.
* Provide a values file with the `--helm.values` flag for bulk configuration.

To install and provision Percona Everest to Kubernetes:
{.power-number}

1. Download the latest release of [everestctl](https://github.com/percona/everest/releases/latest){:target="_blank"} to provision Percona Everest. For detailed installation instructions, see [CLI installation documentation](../install/installEverestCLI).

2. Install Percona Everest using one of the following commands:
2. You can install Percona Everest using either the wizard or the headless mode.

!!! note
* If you do not specify a namespace, the `everest` namespace gets provisioned by default.
* You can skip provisioning the database namespace during initial installation by using the flag `--skip-db-namespace`.

```sh
everestctl install
```
```
everestctl install --skip-db-namespace
```
To explore namespaces management in details, refer to the section on [namespace management](../administer/manage_namespaces.md).

Enter the specific names for the namespaces you want Percona Everest to manage, separating each name with a comma. [These](../use/multi-namespaces.md#default-namespaces-in-percona-everest) namespaces are restricted and cannot be used for deploying databases. Make sure that you enter **at least** one namespace.

- **Install Percona Everest using the wizard**
{.power-number}

Alternatively, you can set multiple namepaces in the headless mode:
1. Run the following command.
```sh
everestctl install
```

```sh
everestctl install --namespaces <namespace-name1>,<namespace-name2> --operator.mongodb=true --operator.postgresql=true --operator.xtradb-cluster=true --skip-wizard
```
Replace `<namespace-name>` with the desired name for your namespace.
2. Enter the specific names for the namespaces you want Percona Everest to manage, separating each name with a comma. [These](../use/multi-namespaces.md#default-namespaces-in-percona-everest) namespaces are restricted and cannot be used for deploying databases.

??? example "Example"
```
everestctl install --namespaces dev,prod --operator.mongodb=true --operator.postgresql=true --operator.xtradb-cluster=true --skip-wizard
```
3. If you skip adding the namespaces while installing Percona Everest, you can add them later using the following command.

To gain a deeper understanding of how to install different operators in various namespaces, refer to the [configure multiple namespaces](../use/multi-namespaces.md#configure-multiple-namespaces) section.
```sh
everestctl namespaces add <NAMESPACE>
```

- **Install Percona Everest using the headless mode**
{.power-number}

1. Run the following command. You can set multiple namepaces in the headless mode. Replace `<namespace-name>` with the desired name for your namespace.
```sh
everestctl install --namespaces <namespace-name1>,<namespace-name2> --operator.mongodb=true --operator.postgresql=true --operator.xtradb-cluster=true --skip-wizard
```

??? example "Example"
```
everestctl install --namespaces dev,prod --operator.mongodb=true --operator.postgresql=true --operator.xtradb-cluster=true --skip-wizard
```

2. If you skip adding the namespaces while installing Percona Everest, you can add them later using the following command.

```sh
everestctl namespaces add <NAMESPACE>
```


3. Update the password for the `admin` user:
Expand Down
92 changes: 60 additions & 32 deletions docs/install/installEverestCLI.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,81 @@
# Install Everest CLI
# Install Percona Everest CLI

!!! info "Important"
Installing the Percona Everest CLI is only necessary if you want to use it to install Percona Everest; it is **not** required if you prefer to install Percona Everest with Helm.

You can download the latest version of Everest CLI by visiting the latest release page in [this repository](https://github.com/percona/everest/releases/latest).

## Linux and WSL

To install Everest CLI on Linux or WSL, run the following commands:
=== "Linux and WSL"

To install Everest CLI on Linux or WSL, run the following commands:
{.power-number}

1. Download the latest version of Everest CLI.

```sh
curl -sSL -o everestctl-linux-amd6 https://github.com/percona/everest/releases/latest/download/everestctl-linux-amd64
```

2. Install the Everest CLI binary to /usr/local/bin/.

```sh
sudo install -m 555 everestctl-linux-amd64 /usr/local/bin/everestctl
```

3. Remove the Everest CLI binary to clean up.

```sh
rm everestctl-linux-amd64
```

=== "macOS (Apple Silicon)"

To install Everest CLI on macOS with Apple Silicon, run the following commands:
{.power-number}

1. Download the latest version of Everest CLI for Apple Silicon.

```bash
# Download the latest version of Everest CLI
curl -sSL -o everestctl-linux-amd64 https://github.com/percona/everest/releases/latest/download/everestctl-linux-amd64
```sh
curl -sSL -o everestctl-darwin-arm64 https://github.com/percona/everest/releases/latest/download/everestctl-darwin-arm64
```

# Install the Everest CLI binary to /usr/local/bin/
sudo install -m 555 everestctl-linux-amd64 /usr/local/bin/everestctl
2. Install the Everest CLI binary to /usr/local/bin/.

# Remove the Everest CLI binary to clean up
rm everestctl-linux-amd64
```
```sh
sudo install -m 555 everestctl-darwin-arm64 /usr/local/bin/everestctl
```
3. Remove the Everest CLI binary to clean up

## macOS (Apple Silicon)
```sh
rm everestctl-darwin-arm64
```

To install Everest CLI on macOS with Apple Silicon, run the following commands:
=== "macOS (Intel CPU)"

```bash
# Download the latest version of Everest CLI for Apple Silicon
curl -sSL -o everestctl-darwin-arm64 https://github.com/percona/everest/releases/latest/download/everestctl-darwin-arm64
To install Everest CLI on macOS with an Intel CPU, run the following commands:
{.power-number}

# Install the Everest CLI binary to /usr/local/bin/
sudo install -m 555 everestctl-darwin-arm64 /usr/local/bin/everestctl

# Remove the Everest CLI binary to clean up
rm everestctl-darwin-arm64
```
1. Download the latest version of Everest CLI for Intel CPUs.

## macOS (Intel CPU)
```sh
curl -sSL -o everestctl-darwin-amd64 https://github.com/percona/everest/releases/latest/download/everestctl-darwin-amd64
```

To install Everest CLI on macOS with an Intel CPU, run the following commands:
2. Install the Everest CLI binary to /usr/local/bin/.

```bash
# Download the latest version of Everest CLI for Intel CPUs
curl -sSL -o everestctl-darwin-amd64 https://github.com/percona/everest/releases/latest/download/everestctl-darwin-amd64
```sh
sudo install -m 555 everestctl-darwin-amd64 /usr/local/bin/everestctl
```

# Install the Everest CLI binary to /usr/local/bin/
sudo install -m 555 everestctl-darwin-amd64 /usr/local/bin/everestctl
3. Remove the Everest CLI binary to clean up.

# Remove the Everest CLI binary to clean up
rm everestctl-darwin-amd64
```
```sh
rm everestctl-darwin-amd64
```

### Next steps
## Next steps

Start by installing Percona Everest:

Expand Down
Loading

0 comments on commit 28d0801

Please sign in to comment.