Deployment Guide | Honeycomb

We use cookies or similar technologies to personalize your online experience & tailor marketing to you. Many of our product features require cookies to function properly.

Read our privacy policy I accept cookies from this site

Deployment Guide

This feature is available as part of the Honeycomb Enterprise plan.

The following sections detail the recommended deployment options for Secure Tenancy infrastructure with the Kubernetes platform.

Use the technical infrastructure choice that makes sense for your scenario. If you seek information on public cloud-based platforms, see our recommended infrastructure guidelines.

Prerequisites  🔗

This guide assumes that you have the following infrastructure setup:

  • A Kubernetes cluster
  • A DNS resolvable hostname
  • kubectl and helm CLI tools are available

In addition to this infrastructure, this guide assumes pre-existing knowledge of building containers using Docker.

Kubernetes (Helm)  🔗

Honeycomb maintains several helm charts, one of which allows deployment of the Secure Tenancy proxy. These charts are publicly documented in Honeycomb’s helm-charts repository on GitHub.

Creating a Docker Image  🔗

With Kubernetes, you will need to provide a container with the Secure Tenancy application installed.

Honeycomb does not currently provide any public Docker images. To generate one, follow these steps:

  1. Navigate to the Secure Tenancy tab on the Honeycomb Team Settings page.
  2. Download the Secure Proxy .tbz file, which will contain the elements required to build the Docker image.
  3. Extract the tarball as in the example Dockerfile below.
FROM debian:stretch-slim

RUN mkdir -p /srv/hny && \
    apt-get update && \
    apt-get install -y ca-certificates openssl bzip2
WORKDIR /srv/hny

COPY bin/honeycomb_secure_proxy-$VERSION.tbz secure-tenancy.tbz
RUN tar --strip-components 1 -xjf secure-tenancy.tbz && \
    rm secure-tenancy.tbz

Configuring Helm  🔗

The following values should be configured for your Secure Tenancy setup in the values.yaml file:

  • API key
  • Dataset name (must be created within a Secure Tenancy enabled team)
  • Database connection information

For additional assistance on setting up the values.yaml file, please refer to our helm-charts/secure-tenancy documentation.

To point Secure Tenancy to your MySQL database, see the instructions from the helm-charts repository.

Running Helm  🔗

The helm chart will create all the resources you need with the exception of a database of your chosen type.

  • Deployment (compute portion for the proxies)
  • ConfigMap
  • HorizontalPodAutoscaler
  • Ingress
  • Secrets
  • Service

To initialize the repo and create the resources, run the following commands:

helm repo add honeycomb https://honeycombio.github.io/helm-charts
helm install secure-tenancy honeycomb/secure-tenancy --values ib-values.yaml --debug -n honeycomb-st 
kubectl --namespace honeycomb-st port-forward $POD_NAME 8080

Validating Secure Tenancy  🔗

To validate that the helm chart has been deployed properly, you can perform:

helm list -n honeycomb-st

This will output the deployment status for the helm chart deployment.

NAME                    NAMESPACE       REVISION    UPDATED                                 STATUS          CHART                            APP VERSION
secure-tenancy          honeycomb-st    1           2021-07-15 10:24:25.492387 -0700 PDT    deployed        secure-tenancy-0.1.3             1.7.0

To view your Secure Tenancy proxy locally (bypassing the hostname configured via k8s ingress), you can run the command:

kubectl --namespace honeycomb-st port-forward $POD_NAME 8080

Additionally, you should be able to see events appear in your Secure Tenancy dataset created above.

Removing Secure Tenancy  🔗

To remove the helm charts and their assets, run the command:

helm uninstall secure-tenancy -n honeycomb-st --debug