llama-stack-mirror/llama_stack/apis
Akram Ben Aissi 072dca0609
feat: Add Kubernetes auth provider to use SelfSubjectReview and kubernetes api server (#2559)
# What does this PR do?
Add Kubernetes authentication provider support
- Add KubernetesAuthProvider class for token validation using Kubernetes
SelfSubjectReview API
- Add KubernetesAuthProviderConfig with configurable API server URL, TLS
settings, and claims mapping
- Implement authentication via POST requests to
/apis/authentication.k8s.io/v1/selfsubjectreviews endpoint
- Add support for parsing Kubernetes SelfSubjectReview response format
to extract user information
- Add KUBERNETES provider type to AuthProviderType enum
- Update create_auth_provider factory function to handle 'kubernetes'
provider type
- Add comprehensive unit tests for KubernetesAuthProvider functionality
- Add documentation with configuration examples and usage instructions

The provider validates tokens by sending SelfSubjectReview requests to
the Kubernetes API server and extracts user information from the
userInfo structure in the response.


<!-- If resolving an issue, uncomment and update the line below -->
<!-- Closes #[issue-number] -->

## Test Plan
<!-- Describe the tests you ran to verify your changes with result
summaries. *Provide clear instructions so the plan can be easily
re-executed.* -->
What This Verifies:
Authentication header validation
Token validation with Kubernetes SelfSubjectReview and kubernetes server
API endpoint
Error handling for invalid tokens and HTTP errors
Request payload structure and headers

```
python -m pytest tests/unit/server/test_auth.py -k "kubernetes" -v
```

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>
2025-09-08 11:25:10 +02:00
..
agents feat(responses): add MCP argument streaming and content part events (#3136) 2025-08-13 16:34:26 -07:00
batch_inference chore: remove nested imports (#2515) 2025-06-26 08:01:05 +05:30
batches feat: Add optional idempotency support to batches API (#3171) 2025-08-22 15:50:40 -07:00
benchmarks docs: Add detailed docstrings to API models and update OpenAPI spec (#2889) 2025-07-30 16:32:59 -07:00
common feat: Add Kubernetes auth provider to use SelfSubjectReview and kubernetes api server (#2559) 2025-09-08 11:25:10 +02:00
datasetio chore: remove nested imports (#2515) 2025-06-26 08:01:05 +05:30
datasets docs: Add detailed docstrings to API models and update OpenAPI spec (#2889) 2025-07-30 16:32:59 -07:00
eval chore: remove nested imports (#2515) 2025-06-26 08:01:05 +05:30
files feat(files, s3, expiration): add expires_after support to S3 files provider (#3283) 2025-08-29 16:17:24 -07:00
inference chore: indicate to mypy that InferenceProvider.batch_completion/batch_chat_completion is concrete (#3239) 2025-08-22 14:17:30 -07:00
inspect docs: Add detailed docstrings to API models and update OpenAPI spec (#2889) 2025-07-30 16:32:59 -07:00
models docs: Add detailed docstrings to API models and update OpenAPI spec (#2889) 2025-07-30 16:32:59 -07:00
post_training fix: remove unused DPO parameters from schema and tests (#2988) 2025-07-31 09:11:08 -07:00
providers docs: Add detailed docstrings to API models and update OpenAPI spec (#2889) 2025-07-30 16:32:59 -07:00
safety chore: Change moderations api response to Provider returned categories (#3098) 2025-08-13 09:47:35 -07:00
scoring docs: Add detailed docstrings to API models and update OpenAPI spec (#2889) 2025-07-30 16:32:59 -07:00
scoring_functions docs: Add detailed docstrings to API models and update OpenAPI spec (#2889) 2025-07-30 16:32:59 -07:00
shields feat: create unregister shield API endpoint in Llama Stack (#2853) 2025-08-05 07:33:46 -07:00
synthetic_data_generation docs: Add detailed docstrings to API models and update OpenAPI spec (#2889) 2025-07-30 16:32:59 -07:00
telemetry feat: implement query_metrics (#3074) 2025-08-22 14:19:24 -07:00
tools docs: Add detailed docstrings to API models and update OpenAPI spec (#2889) 2025-07-30 16:32:59 -07:00
vector_dbs docs: Add detailed docstrings to API models and update OpenAPI spec (#2889) 2025-07-30 16:32:59 -07:00
vector_io chore: Enabling Integration tests for Weaviate (#2882) 2025-07-31 20:29:50 -04:00
__init__.py API Updates (#73) 2024-09-17 19:51:35 -07:00
datatypes.py feat: add batches API with OpenAI compatibility (with inference replay) (#3162) 2025-08-15 15:34:15 -07:00
resource.py feat: drop python 3.10 support (#2469) 2025-06-19 12:07:14 +05:30
version.py llama-stack version alpha -> v1 2025-01-15 05:58:09 -08:00