everest

module
v0.10.0-rc4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2024 License: Apache-2.0

README

Percona Everest

!image

Note: Percona Everest is now in Beta, and we need your feedback! We want you to be a part of this journey and help us shape our product.

Percona Everest is an open source cloud-native database platform that helps developers deploy code faster, scale deployments rapidly, and reduce database administration overhead while regaining control over their data, database configuration, and DBaaS costs.

Here’s why you should try Percona Everest:

  • Launch database instance with just a few clicks
  • Enable your team to develop faster and reduce time to market
  • Scale seamlessly
  • Simplify maintenance
  • Monitor and optimize
  • Automate backups
  • Ensure data security

If you'd like to get a complete understanding of the features offered by Percona Everest, click on this link.

Documentation

For comprehensive information about Percona Everest, see the documentation.

Installation

Ready to try out Percona Everest? Check the Quickstart install section for easy-to-follow steps.

Prerequisites

Before getting started with Percona Everest, do the following:

  1. Set up a Kubernetes cluster.

    Percona Everest assists with installing all the necessary operators and required packages, but does not deploy a Kubernetes cluster.

    We recommend setting up Percona Everest on the Amazon Elastic Kubernetes Service (EKS) or Google Kubernetes Engine (GKE).

  2. Verify that you have access to the Kubernetes cluster that you want to use with Everest. By default, Everest uses the kubeconfig file available under ~/.kube/config.

    To verify access to the Kubernetes cluster, run the following command:

    kubectl get nodes
    

Install Percona Everest

To install and provision Percona Everest to Kubernetes:

  1. Install the latest version of the Everest CLI by running the following commands:

    Linux and WSL

    curl -sSL -o everestctl-linux-amd64 https://github.com/percona/everest/releases/latest/download/everestctl-linux-amd64
    sudo install -m 555 everestctl-linux-amd64 /usr/local/bin/everestctl
    rm everestctl-linux-amd64
    

    macOS (Apple Silicon)

    curl -sSL -o everestctl-darwin-arm64 https://github.com/percona/everest/releases/latest/download/everestctl-darwin-arm64
    sudo install -m 555 everestctl-darwin-arm64 /usr/local/bin/everestctl
    rm everestctl-darwin-arm64
    

    macOS (Intel CPU)

    curl -sSL -o everestctl-darwin-amd64 https://github.com/percona/everest/releases/latest/download/everestctl-darwin-amd64
    sudo install -m 555 everestctl-darwin-amd64 /usr/local/bin/everestctl
    rm everestctl-darwin-amd64
    
  2. Install Everest and provision the Kubernetes cluster using one of the following commands:

    everestctl install
    

    Enter the specific names for the namespaces you want Everest to manage, separating each name with a comma.

    Note: Make sure that you enter at least one namespace.

    Alternatively, you can set multiple namepaces in the headless mode:

    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.

    Note: Ensure that you copy the authorization token displayed on the terminal in this step. You will need this token to log in to the Percona Everest UI.

  3. Access the Everest UI/API using one of the following options for exposing it, as Everest is not exposed with an external IP by default:

    • Run the following command to use Kubectl port-forwarding for connecting to Everest without exposing the service.

      kubectl port-forward svc/everest 8080:8080 -n everest-system
      
    • Use the following command to change the Everest service type to LoadBalancer:

      kubectl patch svc/everest -n everest-system -p '{"spec": {"type": "LoadBalancer"}}'
      
  4. Retrieve the external IP address for the Everest service. This is the address where you can then launch Everest at the end of the installation procedure. In this example, the external IP address used is the default 127.0.0.1:

    kubectl get svc/everest -n everest-system
    
  5. The Percona Everest app will be available at http://127.0.0.1:8080.

    Now, you can open your browser and create databases in Percona Everest.

Contributing

We believe that community is the backbone of Percona Everest. That's why we always welcome and encourage you to actively contribute and help us enhance Percona Everest.

See the Contribution Guide for more information on how you can contribute.

Communication

We value your thoughts and opinions and we would be thrilled to hear from you! Join us on Forum to ask questions, share your feedback, and spark creative ideas with our community.

Submitting Bug Reports

If you find a bug in Percona Everest, submit a report to that project's JIRA issue tracker or create a GitHub issue in this repository.

Learn more about submitting bugs, new features ideas and improvements in the documentation.

Directories

Path Synopsis
Package api ...
Package api ...
Package client provides primitives to interact with the openapi HTTP API.
Package client provides primitives to interact with the openapi HTTP API.
cmd
everest Copyright (C) 2023 Percona LLC
everest Copyright (C) 2023 Percona LLC
cli
everest Copyright (C) 2023 Percona LLC
everest Copyright (C) 2023 Percona LLC
config
Package config ...
Package config ...
Package commands ...
Package commands ...
common
Package common contains common types for all commands.
Package common contains common types for all commands.
token
Package token holds commands for token command.
Package token holds commands for token command.
Package data provides access to embedded data.
Package data provides access to embedded data.
pkg
auth
Package auth holds logic for authentication.
Package auth holds logic for authentication.
common
Package common holds common constants used across Everest.
Package common holds common constants used across Everest.
convertors
Package convertors provides data size convert functinality.
Package convertors provides data size convert functinality.
install
Package install ...
Package install ...
kubernetes
Package kubernetes ...
Package kubernetes ...
kubernetes/client
Package client ...
Package client ...
kubernetes/client/customresources
Package customresources provides methods to work with custom everest k8s resources.
Package customresources provides methods to work with custom everest k8s resources.
kubernetes/client/database
Package database TODO
Package database TODO
logger
Package logger provides functionality related to logging.
Package logger provides functionality related to logging.
output
Package output provides utilities to print output in commands.
Package output provides utilities to print output in commands.
pmm
Package pmm provides methods for working with PMM.
Package pmm provides methods for working with PMM.
token
Package token holds the main logic for token commands.
Package token holds the main logic for token commands.
uninstall
Package uninstall ...
Package uninstall ...
upgrade
Package upgrade implements upgrade logic for the CLI.
Package upgrade implements upgrade logic for the CLI.
version
Package version provides methods to determine the correct version of components.
Package version provides methods to determine the correct version of components.
Package public embeds the FE app into the BE
Package public embeds the FE app into the BE

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL