ebbdb42c05
Set up TypeDoc to auto-generate comprehensive API reference documentation from TypeScript source code. Changes: - Installed typedoc and typedoc-plugin-markdown (v0.2.0 plugins) - Created typedoc.json configuration with 9 entry points - Added docs:api and docs:watch npm scripts - Fixed test file imports (validateNamespace → isValidNamespace) - Updated tsconfig.json to exclude test files from compilation - Generated markdown API documentation in docs/api-reference/generated/ Generated API documentation: - 9 modules documented (lib/, hooks/, types/) - lib/crypto - 14 encryption/certificate functions - lib/controller - 5 Kubernetes API functions - lib/validators - 6 validation functions - lib/retry - Exponential backoff utilities - lib/rbac - RBAC permission checking - types - Result types, branded types, interfaces - hooks/useSealedSecretEncryption - Encryption React hook - hooks/usePermissions - RBAC React hooks - hooks/useControllerHealth - Health monitoring hook Benefits: - Auto-generated from TypeScript source (stays in sync) - Markdown format for easy integration - Type signatures and JSDoc included - Function parameters and return types documented - Links between related types and functions Phase 2 deliverables (2-3 days estimated, completed in 1 session): ✅ TypeDoc installed and configured ✅ Entry points identified for all core modules ✅ API documentation generated (9 modules, 40+ functions) ✅ npm scripts added for docs generation ✅ Test files excluded from documentation Next: Phase 3 - User tutorials and guides Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
66 lines
1.5 KiB
Markdown
66 lines
1.5 KiB
Markdown
[**Headlamp Sealed Secrets API v0.2.0**](../../../README.md)
|
|
|
|
***
|
|
|
|
[Headlamp Sealed Secrets API](../../../README.md) / [hooks/useControllerHealth](../README.md) / useControllerHealth
|
|
|
|
# Function: useControllerHealth()
|
|
|
|
> **useControllerHealth**(`autoRefresh?`, `refreshIntervalMs?`): `object`
|
|
|
|
Defined in: [src/hooks/useControllerHealth.ts:30](https://github.com/cpfarhood/headlamp-sealed-secrets-plugin/blob/bdf19cd3bf5a2d679b7ba949108fe9df1843c5f4/headlamp-sealed-secrets/src/hooks/useControllerHealth.ts#L30)
|
|
|
|
Custom hook for monitoring controller health
|
|
|
|
Automatically checks controller health on mount and can optionally
|
|
refresh at a specified interval.
|
|
|
|
## Parameters
|
|
|
|
### autoRefresh?
|
|
|
|
`boolean` = `false`
|
|
|
|
Whether to automatically refresh health status
|
|
|
|
### refreshIntervalMs?
|
|
|
|
`number` = `30000`
|
|
|
|
Refresh interval in milliseconds (default: 30000ms = 30s)
|
|
|
|
## Returns
|
|
|
|
`object`
|
|
|
|
Object with health status, loading state, and manual refresh function
|
|
|
|
### health
|
|
|
|
> **health**: [`ControllerHealthStatus`](../../../lib/controller/interfaces/ControllerHealthStatus.md)
|
|
|
|
### loading
|
|
|
|
> **loading**: `boolean`
|
|
|
|
### refresh()
|
|
|
|
> **refresh**: () => `Promise`\<`void`\> = `fetchHealth`
|
|
|
|
#### Returns
|
|
|
|
`Promise`\<`void`\>
|
|
|
|
## Example
|
|
|
|
```ts
|
|
// Manual refresh only
|
|
const { health, loading, refresh } = useControllerHealth();
|
|
|
|
// Auto-refresh every 30 seconds
|
|
const { health, loading } = useControllerHealth(true, 30000);
|
|
|
|
// Auto-refresh every 10 seconds
|
|
const { health, loading } = useControllerHealth(true, 10000);
|
|
```
|