Eck Compliant Licensing

Published
Length
3 min read

Luis Felipe Dias

All posts

You set up eck compliant licensing by storing a signed license file inside a Kubernetes secret. The Elastic Cloud on Kubernetes operator reads this secret and applies the license to your clusters. Most platform teams start with the free basic tier to run search pods in test clusters. As usage grows, teams add paid features for security alerts, role rules, and log checks. Still, teams often grant broad cluster admin roles during this setup just to make license updates work. Overly broad roles let

Compliant Licensing: the complete guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free white paper. No spam. Unsubscribe anytime.

You set up eck compliant licensing by storing a signed license file inside a Kubernetes secret. The Elastic Cloud on Kubernetes operator reads this secret and applies the license to your clusters. Most platform teams start with the free basic tier to run search pods in test clusters. As usage grows, teams add paid features for security alerts, role rules, and log checks. Still, teams often grant broad cluster admin roles during this setup just to make license updates work. Overly broad roles let any developer change cluster state or read sensitive indices.

How eck compliant licensing works in Kubernetes

Elastic Cloud on Kubernetes uses a custom controller pattern to manage search, log, and app nodes. An admin first downloads a valid license file from the vendor portal. Next, the admin stores that file inside a standard Kubernetes secret in the same namespace. The operator watches that secret and pushes the license state to each managed cluster. When the secret updates, the operator syncs the new tier to the running nodes right away.

Each license tier turns specific security features on or off across the whole deployment. The basic tier gives you core search tools and simple role rules at no cost. Paid tiers add directory log in, field-level rules, and audit logs for regulated teams. If you turn on paid features without the right secret, the operator flags a license mismatch. You must either upgrade the secret or turn off the paid settings in your spec file.

What native license management solves and what it misses

Native operator licensing keeps your cluster tier in sync across node restarts and version upgrades. It makes sure you only run the software features that match your current vendor contract. You do not need to log in to each node by hand to upload a new key. The operator handles the whole lifecycle from one central secret inside your cluster.

Yet a valid license and native role setup only decide who can log in to the cluster. They do not inspect what individual queries, commands, or API requests do in flight. A user with a valid role can still run a broad query that dumps raw index data. Native controls also require you to manage role mappings inside every separate cluster you run. When engineers debug live issues through Kubernetes commands, cluster roles rarely stop risky data reads. Teams still need a way to check live commands and mask fields like emails or card numbers.

Compliant Licensing: architecture patterns and best practices

Continue reading? Get the full guide.

Free. No spam. Unsubscribe anytime.

Best practices for managing cluster licenses and roles

Keep your license secrets in a locked namespace that only the operator and lead admins can read. Set up alerts to warn your team thirty days before a paid license expires. When a license expires, some cluster checks and security rules may stop working as expected. Review your cluster specs before any change to confirm no one enabled unlicensed features by mistake.

Pair your license checks with strict role rules for every person and app that queries the cluster. Give developers read-only roles for daily work instead of full admin keys. Limit who can run direct shell commands against the search pods in Kubernetes. When you combine clean license state with tight query controls, your data stays safe during audits.

Check database and API queries on the wire

Identity tools, roles, and network rules decide who opens a session. Setup alone cannot check what each query does or mask sensitive values in a response once a session starts. When workflows touch Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes APIs, SSH, or internal HTTP APIs, hoop.dev sits inline in the wire protocol beside those services as an open-source proxy, a sidecar for your Postgres or API. On every query an AI agent or engineer runs against production, hoop.dev decides to pass, mask, block, or hold it for human review.

Your login details and client tools stay as they are while hoop.dev guardrails refuse bad deletes or drops before they run, and hoop.dev data masking rewrites matched sensitive values in responses in memory. Furthermore, hoop.dev holds SOC 2 Type II, is MIT licensed, and writes every query and decision to an audit trail that generates evidence for HIPAA, GDPR, and PCI DSS. See the source on GitHub.

Frequently asked questions

What happens when an Elastic Cloud on Kubernetes license expires?

When a paid license expires, the cluster loses access to advanced security and alerting features. Core search and data writes usually keep running, but you must renew the secret to restore full operations.

Can I run multiple clusters under one operator license secret?

Yes, the operator can apply one license secret to all managed clusters in the same scope. You just need to make sure your vendor contract covers the total resource size of those nodes.

How do I switch from a trial license to a basic license?

First, turn off any paid settings in your cluster spec files so the nodes match basic rules. Then update the license secret or revert the cluster setting to the default basic tier.

Save the open-source gateway.

hoop is MIT-licensed infrastructure for controlling how AI agents reach production data. Star hoophq/hoop so you can inspect it, deploy it, or share it when your team starts governing agent access.