everest

module
v1.1.0-rc2 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2024 License: Apache-2.0

README

Percona Everest

!image

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. Also, visit our Storybook to check documentation for our UI components (under development).

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 ...
accounts
Package accounts holds commands for accounts command.
Package accounts holds commands for accounts command.
common
Package common contains common types for all commands.
Package common contains common types for all commands.
settings
Package settings ...
Package settings ...
settings/oidc
Package oidc ...
Package oidc ...
Package data provides access to embedded data.
Package data provides access to embedded data.
pkg
accounts
Package accounts ...
Package accounts ...
accounts/cli
Package cli holds commands for accounts command.
Package cli holds commands for accounts command.
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/accounts
Package accounts provides functionality for managing Everest user accounts
Package accounts provides functionality for managing Everest user accounts
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
kubernetes/informer
Package informer provides generic utilities to work with Kubernetes informers.
Package informer provides generic utilities to work with Kubernetes informers.
logger
Package logger provides functionality related to logging.
Package logger provides functionality related to logging.
oidc
Package oidc ...
Package oidc ...
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.
rbac
Package rbac provides RBAC middleware utilies for the Everest API server.
Package rbac provides RBAC middleware utilies for the Everest API server.
rbac/configmap-adapter
Package configmapadapter provides a Casbin adapter that uses a Kubernetes ConfigMap as the storage.
Package configmapadapter provides a Casbin adapter that uses a Kubernetes ConfigMap as the storage.
rbac/fileadapter
Package fileadapter provides a file adapter for Casbin.
Package fileadapter provides a file adapter for Casbin.
rbac/utils
Package utils contains utility functions for RBAC.
Package utils contains utility functions for RBAC.
session
Package session provides a session manager for creating and verifying JWT tokens.
Package session provides a session manager for creating and verifying JWT tokens.
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.
version_service
Package versionservice provides an interface for the Perocona version service.
Package versionservice provides an interface for the Perocona version service.
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