Before you start

To get the most out of this guide, you will need to:

Features

The table below outlines the features available for this type of connection.
  • Native - This refers to when a database client connects through a specific protocol, such as an IDE or client libraries through hoop connect <connection-name>.
  • One Off - This term refers to accessing this connection from hoop web panel.
FeatureNativeOne OffDescription
TLS Termination ProxyThe local proxy terminates the connection with TLS, enabling the connection with the remote server to be TLS encrypted.
AuditThe gateway stores and audits the queries being issued by the client.
Data Masking (Google DLP)A policy can be enabled to mask sensitive fields dynamically when performing queries in the database.
Data Masking (MS Presidio)A policy can be enabled to mask sensitive fields dynamically when performing queries in the database.
Credentials OffloadThe user authenticates via SSO instead of using database credentials.
Interactive AccessInteractive access is available when using an IDE or connecting via a terminal to perform analysis exploration.

Configuration

NameTypeRequiredDescription
KUBECONFIGfilesystemyesA Kubeconfig File with permission to access the cluster

Connection Setup

There are multiple ways to set up a connection to Kubernetes. It will depend how do you want users to interact with it.
Cluster administration is done through the kubectl command line.
  • Connection Setup
hoop admin create conn k8s -a <agent> \
	-e KUBECONFIG=file://$HOME/.kube/config \
	-- xargs kubectl
The command above will allow users to execute kubectl commands from the Web Console. This is useful for cluster administration tasks.
Note that xargs is used to pass the command line arguments to kubectl. The input is passed to xargs and then to kubectl as arguments.
  • Command Line Usage Example
hoop exec k8s --input 'get pods'
hoop exec k8s -i 'rollout restart deployment/myapp -n mynamespace'