@bluefly/openstandardagents 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +41 -0
- package/.eslintrc.cjs +43 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +39 -0
- package/.github/dependabot.yml +58 -0
- package/.github/workflows/ci.yml +154 -0
- package/.github/workflows/codeql.yml +41 -0
- package/.github/workflows/dependabot-auto-merge.yml +28 -0
- package/.github/workflows/release.yml +103 -0
- package/.prettierignore +7 -0
- package/.prettierrc.json +10 -0
- package/.redocly.yaml +9 -0
- package/.releaserc.json +84 -0
- package/.releaserc.json.disabled +81 -0
- package/CHANGELOG.md +152 -0
- package/CONTRIBUTING.md +249 -0
- package/LICENSE +190 -0
- package/README.md +280 -0
- package/bin/ossa +8 -0
- package/bin/validate-ossa-0.2.2.ts +244 -0
- package/dist/di-container.d.ts +18 -0
- package/dist/di-container.d.ts.map +1 -0
- package/dist/di-container.js +43 -0
- package/dist/di-container.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/repositories/manifest.repository.d.ts +26 -0
- package/dist/repositories/manifest.repository.d.ts.map +1 -0
- package/dist/repositories/manifest.repository.js +90 -0
- package/dist/repositories/manifest.repository.js.map +1 -0
- package/dist/repositories/schema.repository.d.ts +30 -0
- package/dist/repositories/schema.repository.d.ts.map +1 -0
- package/dist/repositories/schema.repository.js +143 -0
- package/dist/repositories/schema.repository.js.map +1 -0
- package/dist/services/generation.service.d.ts +54 -0
- package/dist/services/generation.service.d.ts.map +1 -0
- package/dist/services/generation.service.js +298 -0
- package/dist/services/generation.service.js.map +1 -0
- package/dist/services/migration.service.d.ts +30 -0
- package/dist/services/migration.service.d.ts.map +1 -0
- package/dist/services/migration.service.js +231 -0
- package/dist/services/migration.service.js.map +1 -0
- package/dist/services/runtime/openai.adapter.d.ts +94 -0
- package/dist/services/runtime/openai.adapter.d.ts.map +1 -0
- package/dist/services/runtime/openai.adapter.js +209 -0
- package/dist/services/runtime/openai.adapter.js.map +1 -0
- package/dist/services/validation.service.d.ts +45 -0
- package/dist/services/validation.service.d.ts.map +1 -0
- package/dist/services/validation.service.js +362 -0
- package/dist/services/validation.service.js.map +1 -0
- package/dist/services/validators/anthropic.validator.d.ts +9 -0
- package/dist/services/validators/anthropic.validator.d.ts.map +1 -0
- package/dist/services/validators/anthropic.validator.js +105 -0
- package/dist/services/validators/anthropic.validator.js.map +1 -0
- package/dist/services/validators/autogen.validator.d.ts +9 -0
- package/dist/services/validators/autogen.validator.d.ts.map +1 -0
- package/dist/services/validators/autogen.validator.js +111 -0
- package/dist/services/validators/autogen.validator.js.map +1 -0
- package/dist/services/validators/crewai.validator.d.ts +9 -0
- package/dist/services/validators/crewai.validator.d.ts.map +1 -0
- package/dist/services/validators/crewai.validator.js +117 -0
- package/dist/services/validators/crewai.validator.js.map +1 -0
- package/dist/services/validators/cursor.validator.d.ts +9 -0
- package/dist/services/validators/cursor.validator.d.ts.map +1 -0
- package/dist/services/validators/cursor.validator.js +88 -0
- package/dist/services/validators/cursor.validator.js.map +1 -0
- package/dist/services/validators/index.d.ts +15 -0
- package/dist/services/validators/index.d.ts.map +1 -0
- package/dist/services/validators/index.js +15 -0
- package/dist/services/validators/index.js.map +1 -0
- package/dist/services/validators/langchain.validator.d.ts +9 -0
- package/dist/services/validators/langchain.validator.d.ts.map +1 -0
- package/dist/services/validators/langchain.validator.js +103 -0
- package/dist/services/validators/langchain.validator.js.map +1 -0
- package/dist/services/validators/langflow.validator.d.ts +9 -0
- package/dist/services/validators/langflow.validator.d.ts.map +1 -0
- package/dist/services/validators/langflow.validator.js +92 -0
- package/dist/services/validators/langflow.validator.js.map +1 -0
- package/dist/services/validators/langgraph.validator.d.ts +9 -0
- package/dist/services/validators/langgraph.validator.d.ts.map +1 -0
- package/dist/services/validators/langgraph.validator.js +123 -0
- package/dist/services/validators/langgraph.validator.js.map +1 -0
- package/dist/services/validators/llamaindex.validator.d.ts +9 -0
- package/dist/services/validators/llamaindex.validator.d.ts.map +1 -0
- package/dist/services/validators/llamaindex.validator.js +121 -0
- package/dist/services/validators/llamaindex.validator.js.map +1 -0
- package/dist/services/validators/openai.validator.d.ts +9 -0
- package/dist/services/validators/openai.validator.d.ts.map +1 -0
- package/dist/services/validators/openai.validator.js +126 -0
- package/dist/services/validators/openai.validator.js.map +1 -0
- package/dist/services/validators/vercel-ai.validator.d.ts +9 -0
- package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -0
- package/dist/services/validators/vercel-ai.validator.js +99 -0
- package/dist/services/validators/vercel-ai.validator.js.map +1 -0
- package/dist/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
- package/dist/spec/v0.1.9/ecosystem-compliance.json +235 -0
- package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
- package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
- package/dist/spec/v0.1.9/reasoning-compliance.json +654 -0
- package/dist/spec/v0.2.2/kagent-enhancements.json +395 -0
- package/dist/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
- package/dist/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
- package/dist/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
- package/dist/spec/v0.2.3/CHANGELOG.md +176 -0
- package/dist/spec/v0.2.3/README.md +154 -0
- package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/dist/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
- package/dist/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
- package/dist/spec/v0.2.4-dev/CHANGELOG.md +403 -0
- package/dist/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
- package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
- package/dist/spec/v0.2.5-dev/CHANGELOG.md +171 -0
- package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
- package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
- package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
- package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
- package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
- package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
- package/dist/types/index.d.ts +178 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/openapi-extensions.d.ts +164 -0
- package/dist/types/openapi-extensions.d.ts.map +1 -0
- package/dist/types/openapi-extensions.js +6 -0
- package/dist/types/openapi-extensions.js.map +1 -0
- package/docs/OSSA-COMPLIANT-BADGE.md +248 -0
- package/docs/README.md +31 -0
- package/docs/VERSIONING.md +284 -0
- package/docs/agent-openapi-spec.yml +942 -0
- package/docs/getting-started.md +87 -0
- package/docs/migration/general-agent-schema.yml +255 -0
- package/docs/migration/migration-manifest.json +64 -0
- package/docs/openapi-extensions.md +930 -0
- package/docs/schemas/openapi-extensions.schema.json +486 -0
- package/examples/adk-integration/code-review-workflow.yml +136 -0
- package/examples/adk-integration/customer-support.yml +263 -0
- package/examples/adk-integration/data-pipeline.yml +173 -0
- package/examples/advanced/patterns/compliance-context-production.json +53 -0
- package/examples/advanced/patterns/model-router.ts +274 -0
- package/examples/advanced/patterns/smart-model-routing.ts +248 -0
- package/examples/advanced/workflows/hybrid-model-strategy.yaml +232 -0
- package/examples/agent-manifests/critics/critic-agent.yaml +149 -0
- package/examples/agent-manifests/governors/governor-agent.yaml +128 -0
- package/examples/agent-manifests/integrators/integrator-agent.yaml +103 -0
- package/examples/agent-manifests/judges/judge-agent.yaml +153 -0
- package/examples/agent-manifests/monitors/monitor-agent.yaml +122 -0
- package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +247 -0
- package/examples/agent-manifests/sample-compliant-agent.yaml +147 -0
- package/examples/agent-manifests/workers/worker-agent.yaml +82 -0
- package/examples/anthropic/claude-assistant.ossa.json +45 -0
- package/examples/architecture/model-configuration/ollama-integration.ts +110 -0
- package/examples/autogen/multi-agent.ossa.json +37 -0
- package/examples/bridge-configurations.yaml +346 -0
- package/examples/bridges/Dockerfile.production +87 -0
- package/examples/bridges/__pycache__/aiflow-bridge-enhanced.cpython-313.pyc +0 -0
- package/examples/bridges/__pycache__/aiflow-phoenix-tracing.cpython-313.pyc +0 -0
- package/examples/bridges/__pycache__/test_aiflow_integration.cpython-313.pyc +0 -0
- package/examples/bridges/aiflow-bridge-enhanced.py +462 -0
- package/examples/bridges/aiflow-bridge-example.yml +310 -0
- package/examples/bridges/aiflow-phoenix-tracing.py +310 -0
- package/examples/bridges/aiflow-registration-api.openapi.yml +439 -0
- package/examples/bridges/k8s/configmap.yaml +121 -0
- package/examples/bridges/k8s/deployment-simple.yaml +34 -0
- package/examples/bridges/k8s/deployment.yaml +275 -0
- package/examples/bridges/k8s/hpa.yaml +126 -0
- package/examples/bridges/k8s/ingress.yaml +155 -0
- package/examples/bridges/kagent-bridge-example.yml +94 -0
- package/examples/bridges/load-tests/Dockerfile +28 -0
- package/examples/bridges/load-tests/k6-load-test.js +302 -0
- package/examples/bridges/load-tests/requirements.txt +20 -0
- package/examples/bridges/loadtest/k6-scenarios.js +270 -0
- package/examples/bridges/phase4/SLO-SLA.yaml +249 -0
- package/examples/bridges/phase4/chaos-tests.yaml +226 -0
- package/examples/bridges/requirements.txt +24 -0
- package/examples/bridges/test_aiflow_integration.py +341 -0
- package/examples/common_npm/agent-router.ossa.yaml +182 -0
- package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +60 -0
- package/examples/compliance-agent.yml +155 -0
- package/examples/crewai/research-team.ossa.json +36 -0
- package/examples/cursor/code-review-agent.ossa.json +47 -0
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +609 -0
- package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +68 -0
- package/examples/enterprise/agent.yml +452 -0
- package/examples/extensions/drupal-v1.yml +266 -0
- package/examples/extensions/kagent-v1.yml +167 -0
- package/examples/getting-started/hello-world-complete.ossa.yaml +266 -0
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +376 -0
- package/examples/kagent/README.md +31 -0
- package/examples/kagent/compliance-validator.ossa.yaml +111 -0
- package/examples/kagent/cost-optimizer.ossa.yaml +93 -0
- package/examples/kagent/documentation-agent.ossa.yaml +91 -0
- package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +269 -0
- package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +106 -0
- package/examples/kagent/k8s-troubleshooter.ossa.yaml +257 -0
- package/examples/kagent/security-scanner.ossa.yaml +140 -0
- package/examples/langchain/chain-agent.ossa.json +42 -0
- package/examples/langflow/workflow-agent.ossa.json +39 -0
- package/examples/langgraph/state-machine-agent.ossa.json +59 -0
- package/examples/llamaindex/rag-agent.ossa.json +41 -0
- package/examples/migration-guides/from-langchain-to-ossa.yaml +309 -0
- package/examples/minimal/agent.yml +152 -0
- package/examples/minimal/openapi.yaml +95 -0
- package/examples/openai/swarm-agent.ossa.json +59 -0
- package/examples/openapi-extensions/README.md +87 -0
- package/examples/openapi-extensions/minimal-agent-api.openapi.yml +288 -0
- package/examples/openapi-extensions/orchestrator-agent-api.openapi.yml +633 -0
- package/examples/openapi-extensions/worker-agent-api.openapi.yml +533 -0
- package/examples/production/agent.yml +713 -0
- package/examples/production/document-analyzer-openai.yml +134 -0
- package/examples/quickstart/support-agent.ossa.yaml +59 -0
- package/examples/service-registry-usage.ts +423 -0
- package/examples/spec-examples/audit-agent.yml +147 -0
- package/examples/spec-examples/chat-agent.yml +189 -0
- package/examples/spec-examples/compliance-agent.yml +204 -0
- package/examples/spec-examples/data-processing-agent.yml +132 -0
- package/examples/spec-examples/development-agent.yml +138 -0
- package/examples/spec-examples/edge-agent.yml +101 -0
- package/examples/spec-examples/integration-agent.yml +129 -0
- package/examples/spec-examples/monitoring-agent.yml +130 -0
- package/examples/spec-examples/serverless-agent.yml +82 -0
- package/examples/spec-examples/workflow-agent.yml +223 -0
- package/examples/templates/ossa-compliance.yaml +56 -0
- package/examples/typescript/advanced/demo-registry.ts +168 -0
- package/examples/typescript/mcpb-agent-example.ts +358 -0
- package/examples/vercel/edge-agent.ossa.json +43 -0
- package/infrastructure/docker-compose.yml +33 -0
- package/junit.xml +1 -0
- package/openapi/drupal-agent-api.openapi.yaml +348 -0
- package/openapi/gitlab-orchestrator.openapi.yaml +330 -0
- package/openapi/helm-generator.openapi.yaml +389 -0
- package/openapi/ossa-core-api.openapi.yaml +1448 -0
- package/openapi/ossa-registry-api.openapi.yaml +980 -0
- package/openapi/ossa-registry.openapi.yaml +782 -0
- package/openapi/self-evolving-ecosystem.openapi.yaml +1530 -0
- package/openapi/unified-agent-gateway.openapi.yaml +833 -0
- package/ossa-website-swarm-tasks.json +105 -0
- package/package.json +132 -0
- package/release.config.js +64 -0
- package/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
- package/spec/v0.1.9/ecosystem-compliance.json +235 -0
- package/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
- package/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
- package/spec/v0.1.9/reasoning-compliance.json +654 -0
- package/spec/v0.2.2/kagent-enhancements.json +395 -0
- package/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
- package/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
- package/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
- package/spec/v0.2.3/CHANGELOG.md +176 -0
- package/spec/v0.2.3/README.md +154 -0
- package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
- package/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
- package/spec/v0.2.4-dev/CHANGELOG.md +403 -0
- package/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
- package/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
- package/spec/v0.2.5-dev/CHANGELOG.md +171 -0
- package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
- package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
- package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
- package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
- package/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
- package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
- package/test-results.xml +1 -0
- package/website/.lighthouserc.js +20 -0
- package/website/.prettierrc +10 -0
- package/website/Dockerfile +17 -0
- package/website/app/about/page.tsx +295 -0
- package/website/app/api/validate/route.ts +88 -0
- package/website/app/blog/[slug]/page.tsx +167 -0
- package/website/app/blog/page.tsx +162 -0
- package/website/app/docs/[[...slug]]/page.tsx +349 -0
- package/website/app/docs/core-concepts/project-structure/page.tsx +349 -0
- package/website/app/ecosystem/page.tsx +375 -0
- package/website/app/examples/page.tsx +123 -0
- package/website/app/globals.css +108 -0
- package/website/app/layout.tsx +106 -0
- package/website/app/page.tsx +409 -0
- package/website/app/playground/page.tsx +507 -0
- package/website/app/robots.ts +19 -0
- package/website/app/rss.xml/route.ts +74 -0
- package/website/app/schema/page.tsx +970 -0
- package/website/app/sitemap.ts +56 -0
- package/website/app/specification/page.tsx +211 -0
- package/website/components/InstallCommand.tsx +96 -0
- package/website/components/Logo.tsx +24 -0
- package/website/components/StructuredData.tsx +65 -0
- package/website/components/docs/DocsSearch.tsx +104 -0
- package/website/components/docs/DocsSidebar.tsx +118 -0
- package/website/components/docs/MarkdownContent.tsx +183 -0
- package/website/components/docs/VersionSelector.tsx +49 -0
- package/website/components/examples/ExamplesViewer.tsx +293 -0
- package/website/components/layout/Footer.tsx +111 -0
- package/website/components/layout/Header.tsx +170 -0
- package/website/components/schema/SchemaExplorer.tsx +213 -0
- package/website/content/blog/OpenAPI-AI-Agents-Standard.md +285 -0
- package/website/content/blog/Why-Formal-Standards-Matter-Now.md +209 -0
- package/website/content/blog/introducing-ossa-framework.md +328 -0
- package/website/content/blog/ossa-production-results.md +279 -0
- package/website/content/blog/welcome-to-ossa.md +43 -0
- package/website/content/blog/why-ai-agents-need-open-standard.md +98 -0
- package/website/content/docs/00-HOME.md +160 -0
- package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +107 -0
- package/website/content/docs/OpenAPI-Extensions.md +498 -0
- package/website/content/docs/architecture/execution-flow.md +335 -0
- package/website/content/docs/architecture/multi-agent-systems.md +737 -0
- package/website/content/docs/architecture/overview.md +121 -0
- package/website/content/docs/architecture/stack-integration.md +461 -0
- package/website/content/docs/changelog.md +246 -0
- package/website/content/docs/contributing.md +599 -0
- package/website/content/docs/core-concepts/project-structure.md +348 -0
- package/website/content/docs/ecosystem/framework-support.md +821 -0
- package/website/content/docs/ecosystem/overview.md +366 -0
- package/website/content/docs/examples/Migration-Guides.md +214 -0
- package/website/content/docs/examples.md +71 -0
- package/website/content/docs/for-audiences/Enterprises.md +256 -0
- package/website/content/docs/for-audiences/Students-Researchers.md +122 -0
- package/website/content/docs/for-audiences/architects.md +224 -0
- package/website/content/docs/for-audiences/developers.md +220 -0
- package/website/content/docs/getting-started/5-minute-overview.md +85 -0
- package/website/content/docs/getting-started/Hello-World.md +184 -0
- package/website/content/docs/getting-started/first-agent.md +196 -0
- package/website/content/docs/getting-started/installation.md +155 -0
- package/website/content/docs/getting-started/running-agents.md +107 -0
- package/website/content/docs/integrations/aiflow.md +104 -0
- package/website/content/docs/integrations/drupal.md +105 -0
- package/website/content/docs/migration-guides/00-index.md +76 -0
- package/website/content/docs/migration-guides/README.md +133 -0
- package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +1750 -0
- package/website/content/docs/migration-guides/crewai-to-ossa.md +274 -0
- package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +2017 -0
- package/website/content/docs/migration-guides/index.md +133 -0
- package/website/content/docs/migration-guides/langchain-to-ossa.md +1714 -0
- package/website/content/docs/migration-guides/langflow-to-ossa.md +2075 -0
- package/website/content/docs/migration-guides/openai-to-ossa.md +1202 -0
- package/website/content/docs/openapi-extensions/examples.md +550 -0
- package/website/content/docs/openapi-extensions/index.md +495 -0
- package/website/content/docs/openapi-extensions/operation-extensions.md +398 -0
- package/website/content/docs/openapi-extensions/root-extensions.md +364 -0
- package/website/content/docs/pre-release/index.md +175 -0
- package/website/content/docs/quick-reference.md +17 -0
- package/website/content/docs/schema-reference/agent-spec.md +406 -0
- package/website/content/docs/schema-reference/autonomy.md +568 -0
- package/website/content/docs/schema-reference/constraints.md +543 -0
- package/website/content/docs/schema-reference/index.md +176 -0
- package/website/content/docs/schema-reference/llm-config.md +445 -0
- package/website/content/docs/schema-reference/observability.md +654 -0
- package/website/content/docs/schema-reference/ossa-manifest.md +309 -0
- package/website/content/docs/schema-reference/taxonomy.md +509 -0
- package/website/content/docs/schema-reference/tools.md +628 -0
- package/website/content/docs/templates/blog-post.md +43 -0
- package/website/content/docs/use-cases/00-index.md +395 -0
- package/website/content/docs/use-cases/cicd-code-review.md +1236 -0
- package/website/content/docs/use-cases/customer-support.md +1234 -0
- package/website/content/docs/use-cases/enterprise-compliance.md +1208 -0
- package/website/content/docs/use-cases/research-multi-agent.md +1161 -0
- package/website/lib/version.ts +18 -0
- package/website/next.config.js +17 -0
- package/website/next.config.ts +16 -0
- package/website/nginx.conf +32 -0
- package/website/package-lock.json +9145 -0
- package/website/package.json +53 -0
- package/website/postcss.config.js +7 -0
- package/website/postcss.config.mjs +9 -0
- package/website/scripts/sync-version.js +44 -0
- package/website/scripts/sync-wiki.ts +261 -0
- package/website/tailwind.config.js +58 -0
- package/website/tailwind.config.ts +65 -0
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
# OSSA v1.0 KAgent Example
|
|
2
|
+
# Kubernetes Troubleshooter Agent with KAgent Bridge
|
|
3
|
+
# Fully compatible with kagent.dev/v1alpha2
|
|
4
|
+
|
|
5
|
+
ossaVersion: "1.0"
|
|
6
|
+
|
|
7
|
+
agent:
|
|
8
|
+
id: k8s-troubleshooter
|
|
9
|
+
name: Kubernetes Troubleshooter
|
|
10
|
+
version: 1.0.0
|
|
11
|
+
description: Autonomous Kubernetes cluster troubleshooting agent with diagnostic capabilities
|
|
12
|
+
role: monitoring
|
|
13
|
+
tags:
|
|
14
|
+
- kubernetes
|
|
15
|
+
- troubleshooting
|
|
16
|
+
- infrastructure
|
|
17
|
+
- diagnostics
|
|
18
|
+
|
|
19
|
+
runtime:
|
|
20
|
+
type: k8s
|
|
21
|
+
image: ossa/k8s-troubleshooter:1.0.0
|
|
22
|
+
resources:
|
|
23
|
+
cpu: "500m"
|
|
24
|
+
memory: "512Mi"
|
|
25
|
+
health_check:
|
|
26
|
+
type: http
|
|
27
|
+
endpoint: /health
|
|
28
|
+
port: 8080
|
|
29
|
+
initial_delay_seconds: 30
|
|
30
|
+
period_seconds: 10
|
|
31
|
+
timeout_seconds: 5
|
|
32
|
+
failure_threshold: 3
|
|
33
|
+
|
|
34
|
+
capabilities:
|
|
35
|
+
- name: diagnose_pod_failures
|
|
36
|
+
description: Diagnose why pods are failing or crashing
|
|
37
|
+
input_schema:
|
|
38
|
+
type: object
|
|
39
|
+
required:
|
|
40
|
+
- namespace
|
|
41
|
+
- pod_name
|
|
42
|
+
properties:
|
|
43
|
+
namespace:
|
|
44
|
+
type: string
|
|
45
|
+
description: Kubernetes namespace
|
|
46
|
+
pod_name:
|
|
47
|
+
type: string
|
|
48
|
+
description: Pod name pattern
|
|
49
|
+
output_schema:
|
|
50
|
+
type: object
|
|
51
|
+
properties:
|
|
52
|
+
status:
|
|
53
|
+
type: string
|
|
54
|
+
enum: [healthy, degraded, failed]
|
|
55
|
+
issues:
|
|
56
|
+
type: array
|
|
57
|
+
items:
|
|
58
|
+
type: object
|
|
59
|
+
properties:
|
|
60
|
+
type:
|
|
61
|
+
type: string
|
|
62
|
+
severity:
|
|
63
|
+
type: string
|
|
64
|
+
enum: [critical, warning, info]
|
|
65
|
+
message:
|
|
66
|
+
type: string
|
|
67
|
+
remediation:
|
|
68
|
+
type: string
|
|
69
|
+
timeout_seconds: 120
|
|
70
|
+
retry_policy:
|
|
71
|
+
max_attempts: 3
|
|
72
|
+
backoff: exponential
|
|
73
|
+
|
|
74
|
+
- name: analyze_resource_constraints
|
|
75
|
+
description: Analyze CPU and memory resource constraints
|
|
76
|
+
input_schema:
|
|
77
|
+
type: object
|
|
78
|
+
required:
|
|
79
|
+
- namespace
|
|
80
|
+
properties:
|
|
81
|
+
namespace:
|
|
82
|
+
type: string
|
|
83
|
+
output_schema:
|
|
84
|
+
type: object
|
|
85
|
+
properties:
|
|
86
|
+
cpu_pressure:
|
|
87
|
+
type: boolean
|
|
88
|
+
memory_pressure:
|
|
89
|
+
type: boolean
|
|
90
|
+
recommendations:
|
|
91
|
+
type: array
|
|
92
|
+
items:
|
|
93
|
+
type: string
|
|
94
|
+
timeout_seconds: 60
|
|
95
|
+
|
|
96
|
+
- name: check_network_connectivity
|
|
97
|
+
description: Verify network connectivity between services
|
|
98
|
+
input_schema:
|
|
99
|
+
type: object
|
|
100
|
+
required:
|
|
101
|
+
- source_service
|
|
102
|
+
- target_service
|
|
103
|
+
properties:
|
|
104
|
+
source_service:
|
|
105
|
+
type: string
|
|
106
|
+
target_service:
|
|
107
|
+
type: string
|
|
108
|
+
namespace:
|
|
109
|
+
type: string
|
|
110
|
+
default: default
|
|
111
|
+
output_schema:
|
|
112
|
+
type: object
|
|
113
|
+
properties:
|
|
114
|
+
reachable:
|
|
115
|
+
type: boolean
|
|
116
|
+
latency_ms:
|
|
117
|
+
type: number
|
|
118
|
+
errors:
|
|
119
|
+
type: array
|
|
120
|
+
items:
|
|
121
|
+
type: string
|
|
122
|
+
|
|
123
|
+
policies:
|
|
124
|
+
compliance:
|
|
125
|
+
- soc2-type2
|
|
126
|
+
- iso27001
|
|
127
|
+
data_residency:
|
|
128
|
+
- US
|
|
129
|
+
encryption: true
|
|
130
|
+
audit: true
|
|
131
|
+
pii_handling: prohibit
|
|
132
|
+
|
|
133
|
+
integration:
|
|
134
|
+
protocol: http
|
|
135
|
+
endpoints:
|
|
136
|
+
base_url: http://k8s-troubleshooter:8080
|
|
137
|
+
health: /health
|
|
138
|
+
metrics: /metrics
|
|
139
|
+
openapi: /api/openapi.json
|
|
140
|
+
auth:
|
|
141
|
+
type: jwt
|
|
142
|
+
config:
|
|
143
|
+
issuer: https://auth.company.com
|
|
144
|
+
audience: k8s-troubleshooter
|
|
145
|
+
rate_limits:
|
|
146
|
+
requests_per_second: 10
|
|
147
|
+
requests_per_minute: 500
|
|
148
|
+
burst: 20
|
|
149
|
+
|
|
150
|
+
monitoring:
|
|
151
|
+
traces: true
|
|
152
|
+
metrics: true
|
|
153
|
+
logs: true
|
|
154
|
+
health_check: http://localhost:8080/health
|
|
155
|
+
phoenix_arise:
|
|
156
|
+
enabled: true
|
|
157
|
+
project: infrastructure-agents
|
|
158
|
+
export_interval_seconds: 60
|
|
159
|
+
|
|
160
|
+
dependencies:
|
|
161
|
+
required:
|
|
162
|
+
- agent_id: security-scanner
|
|
163
|
+
min_version: 1.0.0
|
|
164
|
+
max_version: 2.0.0
|
|
165
|
+
optional:
|
|
166
|
+
- agent_id: cost-optimizer
|
|
167
|
+
fallback: skip_optimization
|
|
168
|
+
|
|
169
|
+
metadata:
|
|
170
|
+
author: Platform Team
|
|
171
|
+
maintainer: platform-team@company.com
|
|
172
|
+
homepage: https://github.com/company/k8s-troubleshooter
|
|
173
|
+
repository: https://github.com/company/k8s-troubleshooter
|
|
174
|
+
documentation: https://docs.company.com/agents/k8s-troubleshooter
|
|
175
|
+
license: Apache-2.0
|
|
176
|
+
keywords:
|
|
177
|
+
- kubernetes
|
|
178
|
+
- troubleshooting
|
|
179
|
+
- monitoring
|
|
180
|
+
- diagnostics
|
|
181
|
+
|
|
182
|
+
# Multi-framework bridge configuration
|
|
183
|
+
bridge:
|
|
184
|
+
# KAgent bridge for Kubernetes-native deployment
|
|
185
|
+
kagent:
|
|
186
|
+
enabled: true
|
|
187
|
+
api_version: kagent.dev/v1alpha2
|
|
188
|
+
agent_type: declarative
|
|
189
|
+
deployment:
|
|
190
|
+
replicas: 2
|
|
191
|
+
resources:
|
|
192
|
+
requests:
|
|
193
|
+
cpu: "250m"
|
|
194
|
+
memory: "256Mi"
|
|
195
|
+
limits:
|
|
196
|
+
cpu: "500m"
|
|
197
|
+
memory: "512Mi"
|
|
198
|
+
model_config: gpt-4
|
|
199
|
+
system_message: |
|
|
200
|
+
You are an expert Kubernetes troubleshooter. You diagnose pod failures,
|
|
201
|
+
network issues, resource constraints, and configuration problems.
|
|
202
|
+
You use kubectl and monitoring tools to identify root causes and suggest remediation steps.
|
|
203
|
+
a2a_config:
|
|
204
|
+
skills:
|
|
205
|
+
- id: diagnose_pod_failures
|
|
206
|
+
name: Diagnose Pod Failures
|
|
207
|
+
description: Identify why pods are failing or crashing in Kubernetes
|
|
208
|
+
examples:
|
|
209
|
+
- Why is my-app-pod crashing in the production namespace?
|
|
210
|
+
- Diagnose ImagePullBackOff errors in the staging environment
|
|
211
|
+
tags:
|
|
212
|
+
- kubernetes
|
|
213
|
+
- pods
|
|
214
|
+
- diagnostics
|
|
215
|
+
- id: analyze_resource_constraints
|
|
216
|
+
name: Analyze Resource Constraints
|
|
217
|
+
description: Check for CPU and memory pressure in namespaces
|
|
218
|
+
examples:
|
|
219
|
+
- Are there resource constraints in the production namespace?
|
|
220
|
+
- Check memory pressure for my-service
|
|
221
|
+
tags:
|
|
222
|
+
- kubernetes
|
|
223
|
+
- resources
|
|
224
|
+
- performance
|
|
225
|
+
- id: check_network_connectivity
|
|
226
|
+
name: Check Network Connectivity
|
|
227
|
+
description: Verify network connectivity between Kubernetes services
|
|
228
|
+
examples:
|
|
229
|
+
- Can frontend-service reach backend-service?
|
|
230
|
+
- Test network connectivity from app-a to app-b
|
|
231
|
+
tags:
|
|
232
|
+
- kubernetes
|
|
233
|
+
- networking
|
|
234
|
+
- connectivity
|
|
235
|
+
|
|
236
|
+
# MCP bridge for Claude Desktop/Cursor integration
|
|
237
|
+
mcp:
|
|
238
|
+
enabled: true
|
|
239
|
+
server_type: stdio
|
|
240
|
+
tools:
|
|
241
|
+
- name: diagnose_pod
|
|
242
|
+
description: Diagnose Kubernetes pod issues
|
|
243
|
+
input_schema:
|
|
244
|
+
type: object
|
|
245
|
+
properties:
|
|
246
|
+
namespace:
|
|
247
|
+
type: string
|
|
248
|
+
pod_name:
|
|
249
|
+
type: string
|
|
250
|
+
output_schema:
|
|
251
|
+
type: object
|
|
252
|
+
properties:
|
|
253
|
+
status:
|
|
254
|
+
type: string
|
|
255
|
+
issues:
|
|
256
|
+
type: array
|
|
257
|
+
capability: diagnose_pod_failures
|
|
258
|
+
|
|
259
|
+
# A2A protocol bridge for agent-to-agent communication
|
|
260
|
+
a2a:
|
|
261
|
+
enabled: true
|
|
262
|
+
card_url: https://company.com/agents/k8s-troubleshooter/card.json
|
|
263
|
+
schema_version: "1.0"
|
|
264
|
+
|
|
265
|
+
# OpenAPI bridge for REST API integration
|
|
266
|
+
openapi:
|
|
267
|
+
enabled: true
|
|
268
|
+
spec_url: http://k8s-troubleshooter:8080/api/openapi.json
|
|
269
|
+
spec_version: "3.1"
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
apiVersion: ossa/v1
|
|
2
|
+
kind: Agent
|
|
3
|
+
metadata:
|
|
4
|
+
name: k8s-troubleshooter
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
description: Autonomous Kubernetes cluster troubleshooting agent with diagnostic capabilities
|
|
7
|
+
labels:
|
|
8
|
+
kubernetes: "true"
|
|
9
|
+
troubleshooting: "true"
|
|
10
|
+
infrastructure: "true"
|
|
11
|
+
diagnostics: "true"
|
|
12
|
+
annotations:
|
|
13
|
+
ossa.io/migration: v1.0 to v0.2.2
|
|
14
|
+
ossa.io/migrated-date: 2025-10-29
|
|
15
|
+
spec:
|
|
16
|
+
role: monitoring
|
|
17
|
+
taxonomy:
|
|
18
|
+
domain: infrastructure
|
|
19
|
+
subdomain: kubernetes
|
|
20
|
+
capability: troubleshooting
|
|
21
|
+
tools:
|
|
22
|
+
- type: mcp
|
|
23
|
+
name: diagnose_pod_failures
|
|
24
|
+
server: k8s-troubleshooter
|
|
25
|
+
capabilities:
|
|
26
|
+
- with_input_schema
|
|
27
|
+
- type: mcp
|
|
28
|
+
name: analyze_resource_constraints
|
|
29
|
+
server: k8s-troubleshooter
|
|
30
|
+
capabilities:
|
|
31
|
+
- with_input_schema
|
|
32
|
+
- type: mcp
|
|
33
|
+
name: check_network_connectivity
|
|
34
|
+
server: k8s-troubleshooter
|
|
35
|
+
capabilities:
|
|
36
|
+
- with_input_schema
|
|
37
|
+
observability:
|
|
38
|
+
tracing:
|
|
39
|
+
enabled: true
|
|
40
|
+
metrics:
|
|
41
|
+
enabled: true
|
|
42
|
+
logging:
|
|
43
|
+
level: info
|
|
44
|
+
format: json
|
|
45
|
+
extensions:
|
|
46
|
+
mcp:
|
|
47
|
+
enabled: true
|
|
48
|
+
server_type: stdio
|
|
49
|
+
tools:
|
|
50
|
+
- name: diagnose_pod_failures
|
|
51
|
+
description: Diagnose why pods are failing or crashing
|
|
52
|
+
- name: analyze_resource_constraints
|
|
53
|
+
description: Analyze CPU and memory resource constraints
|
|
54
|
+
- name: check_network_connectivity
|
|
55
|
+
description: Verify network connectivity between services
|
|
56
|
+
buildkit:
|
|
57
|
+
deployment:
|
|
58
|
+
replicas:
|
|
59
|
+
min: 1
|
|
60
|
+
max: 4
|
|
61
|
+
health_check:
|
|
62
|
+
path: /health
|
|
63
|
+
port: 8080
|
|
64
|
+
container:
|
|
65
|
+
image: ossa/k8s-troubleshooter:1.0.0
|
|
66
|
+
runtime: k8s
|
|
67
|
+
resources: &a1
|
|
68
|
+
cpu: 500m
|
|
69
|
+
memory: 512Mi
|
|
70
|
+
kagent:
|
|
71
|
+
kubernetes:
|
|
72
|
+
namespace: default
|
|
73
|
+
labels:
|
|
74
|
+
app: k8s-troubleshooter
|
|
75
|
+
resourceLimits: *a1
|
|
76
|
+
deployment:
|
|
77
|
+
replicas: 2
|
|
78
|
+
strategy: rolling-update
|
|
79
|
+
runtime:
|
|
80
|
+
type: k8s
|
|
81
|
+
image: ossa/k8s-troubleshooter:1.0.0
|
|
82
|
+
resources: *a1
|
|
83
|
+
health_check:
|
|
84
|
+
type: http
|
|
85
|
+
endpoint: /health
|
|
86
|
+
port: 8080
|
|
87
|
+
initial_delay_seconds: 30
|
|
88
|
+
period_seconds: 10
|
|
89
|
+
timeout_seconds: 5
|
|
90
|
+
failure_threshold: 3
|
|
91
|
+
integration:
|
|
92
|
+
protocol: http
|
|
93
|
+
endpoints:
|
|
94
|
+
base_url: http://k8s-troubleshooter:8080
|
|
95
|
+
health: /health
|
|
96
|
+
metrics: /metrics
|
|
97
|
+
openapi: /api/openapi.json
|
|
98
|
+
auth:
|
|
99
|
+
type: jwt
|
|
100
|
+
config:
|
|
101
|
+
issuer: https://auth.company.com
|
|
102
|
+
audience: k8s-troubleshooter
|
|
103
|
+
rate_limits:
|
|
104
|
+
requests_per_second: 10
|
|
105
|
+
requests_per_minute: 500
|
|
106
|
+
burst: 20
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
# ============================================================================
|
|
2
|
+
# OSSA kAgent Reference Implementation: Kubernetes Troubleshooter Agent
|
|
3
|
+
# ============================================================================
|
|
4
|
+
#
|
|
5
|
+
# This manifest demonstrates OSSA compliance for Kubernetes-native agent
|
|
6
|
+
# deployments with comprehensive diagnostic and troubleshooting capabilities.
|
|
7
|
+
#
|
|
8
|
+
# Key Features:
|
|
9
|
+
# - K8s runtime integration with pod/node discovery
|
|
10
|
+
# - RBAC-based permission model for safe cluster operations
|
|
11
|
+
# - MCP server integration for kubectl command execution
|
|
12
|
+
# - Supervised autonomy with approval gates
|
|
13
|
+
# - Service mesh integration (Istio/Ambient)
|
|
14
|
+
# - Agent-to-Agent (A2A) communication patterns
|
|
15
|
+
# - Audit logging for compliance and observability
|
|
16
|
+
#
|
|
17
|
+
# Domain: infrastructure.kubernetes.troubleshooting
|
|
18
|
+
# ============================================================================
|
|
19
|
+
|
|
20
|
+
apiVersion: ossa/v1
|
|
21
|
+
kind: Agent
|
|
22
|
+
metadata:
|
|
23
|
+
# Basic agent identification metadata
|
|
24
|
+
name: k8s-troubleshooter
|
|
25
|
+
version: 1.0.0
|
|
26
|
+
description: "Autonomous Kubernetes cluster troubleshooting agent with diagnostic capabilities"
|
|
27
|
+
|
|
28
|
+
spec:
|
|
29
|
+
# =========================================================================
|
|
30
|
+
# TAXONOMY: Agent Classification & Capabilities
|
|
31
|
+
# =========================================================================
|
|
32
|
+
# Defines the functional domain and specialization of this agent within
|
|
33
|
+
# the infrastructure ecosystem. Used for discovery, routing, and validation.
|
|
34
|
+
taxonomy:
|
|
35
|
+
domain: infrastructure # Primary domain: infrastructure/devops
|
|
36
|
+
subdomain: kubernetes # K8s-specific agent
|
|
37
|
+
capability: troubleshooting # Core capability: diagnostics & remediation
|
|
38
|
+
|
|
39
|
+
# =========================================================================
|
|
40
|
+
# ROLE: Agent Behavior & Expertise Profile
|
|
41
|
+
# =========================================================================
|
|
42
|
+
# Instructs the LLM on this agent's purpose, expertise areas, and approach.
|
|
43
|
+
# Guides decision-making for K8s diagnosis and troubleshooting workflows.
|
|
44
|
+
role: |
|
|
45
|
+
You are an expert Kubernetes troubleshooter. You diagnose pod failures, network issues,
|
|
46
|
+
resource constraints, and configuration problems. You use kubectl and monitoring tools
|
|
47
|
+
to identify root causes and suggest remediation steps.
|
|
48
|
+
|
|
49
|
+
# =========================================================================
|
|
50
|
+
# LLM CONFIGURATION: Model Selection & Behavior
|
|
51
|
+
# =========================================================================
|
|
52
|
+
# Configures the Large Language Model backend used for reasoning and
|
|
53
|
+
# diagnostic recommendations. Temperature kept low (0.2) for consistency.
|
|
54
|
+
llm:
|
|
55
|
+
provider: openai # LLM provider for inference
|
|
56
|
+
model: gpt-4 # Model with strong K8s/YAML reasoning
|
|
57
|
+
temperature: 0.2 # Low temperature: consistent diagnostics
|
|
58
|
+
maxTokens: 4000 # Token budget for diagnostic analysis
|
|
59
|
+
|
|
60
|
+
# =========================================================================
|
|
61
|
+
# TOOLS: MCP Server Integration & Capabilities
|
|
62
|
+
# =========================================================================
|
|
63
|
+
# Declares MCP (Model Context Protocol) servers that provide K8s API access
|
|
64
|
+
# and kubectl execution capabilities. MCP enables structured interaction
|
|
65
|
+
# with Kubernetes cluster resources and diagnostic tools.
|
|
66
|
+
tools:
|
|
67
|
+
# ===== Kubernetes MCP Server =====
|
|
68
|
+
# Provides direct access to Kubernetes API resources and kubectl execution
|
|
69
|
+
# for pod inspection, log retrieval, and event analysis
|
|
70
|
+
- type: mcp
|
|
71
|
+
server: kubernetes-mcp
|
|
72
|
+
namespace: default # Default K8s namespace for queries
|
|
73
|
+
capabilities:
|
|
74
|
+
- get_pods # Query pod status and configuration
|
|
75
|
+
- get_logs # Stream pod container logs
|
|
76
|
+
- get_events # Retrieve K8s cluster events
|
|
77
|
+
- describe_resource # Get detailed resource descriptions
|
|
78
|
+
- get_metrics # Access Prometheus/kubelet metrics
|
|
79
|
+
|
|
80
|
+
# ===== BuildKit Agent Protocol Server =====
|
|
81
|
+
# Provides documentation search and log analysis capabilities
|
|
82
|
+
# for correlating K8s issues with known patterns and solutions
|
|
83
|
+
- type: mcp
|
|
84
|
+
server: buildkit-agent-protocol
|
|
85
|
+
namespace: default
|
|
86
|
+
capabilities:
|
|
87
|
+
- search_documentation # Search troubleshooting KB/runbooks
|
|
88
|
+
- analyze_logs # Pattern matching in aggregated logs
|
|
89
|
+
|
|
90
|
+
# =========================================================================
|
|
91
|
+
# AUTONOMY: Permission Model & Action Gates
|
|
92
|
+
# =========================================================================
|
|
93
|
+
# Defines the supervision level, approval requirements, and permitted actions.
|
|
94
|
+
# Follows principle of least privilege for cluster safety.
|
|
95
|
+
autonomy:
|
|
96
|
+
level: supervised # Requires human approval for actions
|
|
97
|
+
approval_required: true # All actions need explicit approval
|
|
98
|
+
|
|
99
|
+
# ===== ALLOWED READ-ONLY ACTIONS =====
|
|
100
|
+
# Safe diagnostic operations that don't modify cluster state
|
|
101
|
+
allowed_actions:
|
|
102
|
+
- read_pods # Query pod metadata/status
|
|
103
|
+
- read_logs # Access application logs
|
|
104
|
+
- read_events # View cluster events
|
|
105
|
+
- read_metrics # Access performance metrics
|
|
106
|
+
|
|
107
|
+
# ===== BLOCKED DESTRUCTIVE ACTIONS =====
|
|
108
|
+
# Dangerous operations explicitly forbidden to prevent cluster damage
|
|
109
|
+
blocked_actions:
|
|
110
|
+
- delete_pods # Prevent accidental pod termination
|
|
111
|
+
- scale_deployments # Prevent replica count changes
|
|
112
|
+
- modify_configs # Prevent ConfigMap/Secret changes
|
|
113
|
+
|
|
114
|
+
# =========================================================================
|
|
115
|
+
# CONSTRAINTS: Cost & Performance Limits
|
|
116
|
+
# =========================================================================
|
|
117
|
+
# Enforces resource limits to prevent excessive API/LLM usage and costs.
|
|
118
|
+
# Token limits control diagnostic depth; latency limits ensure responsiveness.
|
|
119
|
+
constraints:
|
|
120
|
+
cost:
|
|
121
|
+
maxTokensPerDay: 50000 # Daily token budget for all operations
|
|
122
|
+
maxTokensPerRequest: 4000 # Per-request token limit
|
|
123
|
+
maxCostPerDay: 10.0 # USD cost ceiling per day
|
|
124
|
+
currency: USD
|
|
125
|
+
|
|
126
|
+
performance:
|
|
127
|
+
maxLatencySeconds: 30 # Max response time for diagnostics
|
|
128
|
+
maxConcurrentRequests: 5 # Concurrent diagnostic requests
|
|
129
|
+
|
|
130
|
+
# =========================================================================
|
|
131
|
+
# EXTENSIONS: kAgent-Specific Kubernetes Integration
|
|
132
|
+
# =========================================================================
|
|
133
|
+
# kAgent extensions provide Kubernetes-native deployment configuration,
|
|
134
|
+
# RBAC integration, service mesh support, and compliance frameworks.
|
|
135
|
+
extensions:
|
|
136
|
+
kagent:
|
|
137
|
+
# =====================================================================
|
|
138
|
+
# KUBERNETES RUNTIME CONFIGURATION
|
|
139
|
+
# =====================================================================
|
|
140
|
+
# Configures how the agent pod itself runs within the cluster,
|
|
141
|
+
# including namespace, resource limits, and identification labels.
|
|
142
|
+
kubernetes:
|
|
143
|
+
namespace: production # Production namespace for agent pod
|
|
144
|
+
|
|
145
|
+
# ===== POD LABELS =====
|
|
146
|
+
# Standard Kubernetes labels for discovery, monitoring, and routing
|
|
147
|
+
labels:
|
|
148
|
+
app: k8s-troubleshooter # App identifier for selectors
|
|
149
|
+
team: platform # Team ownership
|
|
150
|
+
environment: production # Environment classification
|
|
151
|
+
|
|
152
|
+
# ===== POD ANNOTATIONS =====
|
|
153
|
+
# Metadata annotations for observability and contact information
|
|
154
|
+
annotations:
|
|
155
|
+
description: "Kubernetes troubleshooting agent"
|
|
156
|
+
contact: "platform-team@company.com" # Escalation contact
|
|
157
|
+
|
|
158
|
+
# ===== RESOURCE LIMITS =====
|
|
159
|
+
# Container resource requests/limits to prevent resource starvation
|
|
160
|
+
# or runaway consumption on cluster nodes
|
|
161
|
+
resourceLimits:
|
|
162
|
+
cpu: "500m" # CPU allocation for agent execution
|
|
163
|
+
memory: "512Mi" # Memory allocation for LLM context
|
|
164
|
+
|
|
165
|
+
# =====================================================================
|
|
166
|
+
# GUARDRAILS: RBAC & Approval Framework
|
|
167
|
+
# =====================================================================
|
|
168
|
+
# Enforces mandatory approvals, resource consumption limits, and
|
|
169
|
+
# specific K8s API action permissions through RBAC-style rules.
|
|
170
|
+
guardrails:
|
|
171
|
+
requireApproval: true # Mandatory approval gate before actions
|
|
172
|
+
|
|
173
|
+
costLimits:
|
|
174
|
+
maxTokensPerDay: 50000 # Daily LLM token consumption limit
|
|
175
|
+
maxCostPerDay: 10.0 # Financial ceiling (USD)
|
|
176
|
+
currency: USD
|
|
177
|
+
|
|
178
|
+
# ===== K8S API PERMISSION MODEL =====
|
|
179
|
+
# RBAC-style permissions for specific Kubernetes API resources
|
|
180
|
+
# Format: kubernetes:<verb>:<resource>
|
|
181
|
+
allowedActions:
|
|
182
|
+
- kubernetes:get:pods # Read pod objects (GET /pods)
|
|
183
|
+
- kubernetes:get:logs # Stream logs (GET /pods/logs)
|
|
184
|
+
- kubernetes:get:events # List events (GET /events)
|
|
185
|
+
|
|
186
|
+
# ===== AUDIT LOGGING =====
|
|
187
|
+
# Records all agent actions for compliance, debugging, and security
|
|
188
|
+
auditLog:
|
|
189
|
+
destination: compliance-engine # Audit destination service
|
|
190
|
+
retention: 7years # Compliance data retention
|
|
191
|
+
|
|
192
|
+
# =====================================================================
|
|
193
|
+
# AGENT-TO-AGENT (A2A) COMMUNICATION CONFIG
|
|
194
|
+
# =====================================================================
|
|
195
|
+
# Enables this agent to communicate with other agents (security-scanner,
|
|
196
|
+
# cost-optimizer) for collaborative diagnostics using JSON-RPC protocol.
|
|
197
|
+
# Supports multi-agent troubleshooting workflows.
|
|
198
|
+
a2aConfig:
|
|
199
|
+
enabled: true # Enable inter-agent communication
|
|
200
|
+
protocol: json-rpc # JSON-RPC 2.0 for agent calls
|
|
201
|
+
|
|
202
|
+
# ===== A2A ENDPOINT REGISTRY =====
|
|
203
|
+
# Other agents this troubleshooter can invoke for specialized analysis
|
|
204
|
+
endpoints:
|
|
205
|
+
- http://security-scanner:8080/a2a # Security audit queries
|
|
206
|
+
- http://cost-optimizer:8080/a2a # Cost analysis queries
|
|
207
|
+
|
|
208
|
+
# ===== AUTHENTICATION =====
|
|
209
|
+
# mTLS (mutual TLS) ensures encrypted, authenticated agent-to-agent
|
|
210
|
+
# communication within the service mesh
|
|
211
|
+
authentication:
|
|
212
|
+
type: mtls # Mutual TLS certificates required
|
|
213
|
+
|
|
214
|
+
# =====================================================================
|
|
215
|
+
# SERVICE MESH INTEGRATION
|
|
216
|
+
# =====================================================================
|
|
217
|
+
# Integrates with Kubernetes service mesh technologies for:
|
|
218
|
+
# - Encrypted inter-pod communication
|
|
219
|
+
# - Observability (traces, metrics)
|
|
220
|
+
# - Traffic policy enforcement
|
|
221
|
+
# - mTLS authentication between agents
|
|
222
|
+
meshIntegration:
|
|
223
|
+
enabled: true # Enable service mesh features
|
|
224
|
+
istioIntegration: true # Istio sidecar injection
|
|
225
|
+
ambientMesh: true # Ambient mode support (Istio 1.14+)
|
|
226
|
+
|
|
227
|
+
# ============================================================================
|
|
228
|
+
# OPERATIONAL NOTES
|
|
229
|
+
# ============================================================================
|
|
230
|
+
#
|
|
231
|
+
# DEPLOYMENT:
|
|
232
|
+
# This manifest deploys an agent pod to the production namespace with
|
|
233
|
+
# K8s cluster discovery enabled. The agent pod receives an Istio sidecar
|
|
234
|
+
# for encrypted inter-agent communication and observability.
|
|
235
|
+
#
|
|
236
|
+
# RBAC REQUIREMENTS:
|
|
237
|
+
# Requires ClusterRole with permissions for:
|
|
238
|
+
# - pods (get, list, watch)
|
|
239
|
+
# - pods/logs (get)
|
|
240
|
+
# - events (get, list, watch)
|
|
241
|
+
# - nodes (get, list)
|
|
242
|
+
# - deployments (get, list)
|
|
243
|
+
#
|
|
244
|
+
# SECURITY CONSIDERATIONS:
|
|
245
|
+
# - All actions require explicit approval via guardrails
|
|
246
|
+
# - No destructive actions permitted (no delete/modify)
|
|
247
|
+
# - mTLS required for agent-to-agent communication
|
|
248
|
+
# - Audit logging for compliance and troubleshooting
|
|
249
|
+
# - Resource limits prevent denial-of-service
|
|
250
|
+
#
|
|
251
|
+
# MONITORING & OBSERVABILITY:
|
|
252
|
+
# - Metrics exported to Prometheus via agent instrumentation
|
|
253
|
+
# - Traces propagated to Jaeger via Istio sidecars
|
|
254
|
+
# - Pod logs aggregated via standard K8s logging
|
|
255
|
+
# - Audit events recorded in compliance-engine
|
|
256
|
+
#
|
|
257
|
+
# ============================================================================
|