apache / apache/hop

[Feature Request]: Support Kubernetes authentication for HashiCorp Vault variable resolver

Closed
#8,302 1 comment 0 reactions 0 assignees View on GitHub
awaiting triage Hop Server P2
Dominant language
Java
Stars
1.5k
Forks
476
Avg merge
18h 32m
Merged PRs (30d)
216

Description

### What would you like to happen?

### Problem

Apache Hop's HashiCorp Vault variable resolver currently supports authentication using long-lived Vault tokens.

While this works, using long-lived tokens is not ideal in Kubernetes environments, where workloads can authenticate using short-lived, automatically managed credentials.

We are currently implementing the HashiCorp Vault variable resolver in a Kubernetes-based environment, and would like to avoid having to provision and manage long-lived Vault tokens for Hop.

### Proposed solution

Add support for the Kubernetes authentication method to the HashiCorp Vault variable resolver.

The resolver should be able to authenticate against Vault using a Kubernetes ServiceAccount token, allowing Vault to validate the workload identity through its Kubernetes authentication backend.

The expected flow would be roughly:

- Apache Hop is running inside a Kubernetes pod.
- The pod has a Kubernetes ServiceAccount assigned to it.
- Hop reads the ServiceAccount JWT/token available inside the pod.
- Hop authenticates against Vault using the Kubernetes auth method.
- Vault returns a short-lived Vault token.
- The resolver uses that token to retrieve the requested secrets.
- The Vault token can be renewed or re-authenticated as appropriate, without requiring a long-lived token to be configured in Hop.
-
### Motivation

Using Kubernetes authentication would provide several advantages:

- Avoids storing long-lived Vault tokens in Hop configuration.
- Uses short-lived credentials managed by Kubernetes.
- Better aligns with Vault's recommended authentication mechanisms for workloads running in Kubernetes.
- Reduces the risk associated with leaked or compromised long-lived Vault tokens.
- Makes the HashiCorp Vault variable resolver easier to deploy in cloud-native environments.

### Issue Priority

Priority: 2

### Issue Component

Component: Hop Server

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or resolver entry point. Start by locating Apache Hop's HashiCorp Vault variable resolver and its existing long-lived token authentication path, then compare it with the Kubernetes authentication flow described here. Done means the resolver can authenticate with a Kubernetes ServiceAccount token and retrieve secrets using the resulting short-lived Vault token.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, kubernetes
Domain
authentication, backend, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.