mirror of
https://github.com/hanzoai/kms.git
synced 2026-10-17 11:18:16 +00:00
- Fix 381 files where branding script corrupted variable names (e.g. isHanzo KMSTemplate -> isKmsTemplate) - Rebrand from "Hanzo KMS" to just "KMS" for white-label support (allows Lux KMS, Hanzo KMS, etc. via configuration) - 856 files, purely string replacements, no logic changes
35 lines
2.4 KiB
Plaintext
35 lines
2.4 KiB
Plaintext
---
|
|
title: "Components"
|
|
description: "Understand KMS's core architectural components and how they work together."
|
|
---
|
|
|
|
## Overview
|
|
|
|
KMS is architected around several key components that work in concert to provide a secure and streamlined secret management experience. These components span the client, API, and storage layers, ensuring that secrets are protected at every stage of their lifecycle.
|
|
|
|
## 1. API (Backend)
|
|
|
|
KMS exposes a well-documented [REST API](https://kms.hanzo.ai/docs/api-reference/overview/introduction) that enables programmatic interaction with the platform, enabling a wide range of use cases.
|
|
|
|
## 2. Storage Backend
|
|
|
|
KMS relies on a robust storage backend to durably store secrets, users, and other platform data. KMS's storage backend is [PostgreSQL](https://www.postgresql.org/).
|
|
|
|
## 3. Caching Layer
|
|
|
|
KMS uses [Redis](https://redis.com) to enable more complex workflows including a queuing system to manage long-running asynchronous tasks, cron jobs, as well as reliable cache for frequently used resources.
|
|
|
|
## 4. Clients
|
|
|
|
Clients are interfaces through which users and applications interact with the KMS API:
|
|
|
|
- **Web UI**: A browser-based portal providing a user-friendly interface for managing secrets, configurations, and performing administrative tasks.
|
|
|
|
- [**CLI**](https://kms.hanzo.ai/docs/cli): A terminal-based tool for interacting with the KMS API, enabling automation, scripting, and integration into CI/CD pipelines.
|
|
|
|
- **SDKs (Software Development Kits)**: Platform-specific libraries with method abstractions for working with secrets. Supported languages include [Node.js](https://kms.hanzo.ai/docs/sdks/languages/node), [Python](https://kms.hanzo.ai/docs/sdks/languages/python), [Java](https://kms.hanzo.ai/docs/sdks/languages/java), [Golang](https://kms.hanzo.ai/docs/sdks/languages/go), [Ruby](https://kms.hanzo.ai/docs/sdks/languages/ruby) and [.NET](https://kms.hanzo.ai/docs/sdks/languages/csharp).
|
|
|
|
- [**Kubernetes Operator**](https://kms.hanzo.ai/docs/integrations/platforms/kubernetes): A Kubernetes-native component that facilitates the secure retrieval and management of secrets within a Kubernetes cluster. The operator supports multiple custom resource definitions (CRDs) for syncing secrets.
|
|
|
|
- [**KMS Agent**](https://kms.hanzo.ai/docs/integrations/platforms/kms-agent): Daemon that automatically fetches and manages access tokens and secrets to be used in various client resources.
|