终极Kargo API参考手册:完整端点文档与使用示例
终极Kargo API参考手册完整端点文档与使用示例【免费下载链接】kargoApplication lifecycle orchestration项目地址: https://gitcode.com/gh_mirrors/ka/kargoKargoGitHub加速计划是一款强大的应用生命周期编排工具提供了丰富的API端点来管理项目、推广任务、货运验证等核心功能。本指南将详细介绍Kargo API的主要端点、请求参数、响应格式及实用示例帮助开发者快速集成和高效使用Kargo的全部功能。Kargo API架构概览 Kargo采用RESTful API设计风格所有端点均遵循统一的URL命名规范和请求/响应格式。API版本控制通过URL路径实现当前稳定版本为v1alpha1。Kargo独立部署拓扑结构展示了API服务与其他组件的交互关系核心API命名空间Kargo API主要分为以下几个功能模块项目管理创建、查询和管理项目资源推广管理处理应用推广流程和任务货运管理管理和验证应用 artifacts仓库管理配置和监控制品仓库用户认证处理用户登录和权限控制认证与授权 所有Kargo API请求都需要进行身份验证。目前支持两种认证方式API Token认证通过创建API令牌进行认证POST /v1alpha1/api-tokens请求体示例{ name: my-token, expiresIn: 720h }响应将包含创建的令牌信息需妥善保存{ token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..., expiresAt: 2023-12-31T23:59:59Z }使用令牌时在HTTP请求头中添加Authorization: Bearer your-token管理员登录管理员可以通过用户名密码登录获取临时令牌POST /v1alpha1/admin-login核心API端点详解项目管理API创建项目POST /v1alpha1/projects请求体示例{ name: my-project, description: My first Kargo project, labels: { environment: production } }响应示例{ metadata: { name: my-project, uid: a1b2c3d4-e5f6-7890-abcd-1234567890ab, creationTimestamp: 2023-06-01T12:00:00Z }, spec: { description: My first Kargo project, labels: { environment: production } }, status: { phase: Active } }Kargo UI中创建项目的界面与API请求参数对应列出所有项目GET /v1alpha1/projects响应示例{ items: [ { metadata: { name: my-project, uid: a1b2c3d4-e5f6-7890-abcd-1234567890ab }, status: { phase: Active } }, // 更多项目... ], totalCount: 5 }推广管理API创建推广任务POST /v1alpha1/projects/{project}/promotions请求体示例{ name: v1.0.0-release, stageName: production, freightName: freight-abc123, description: Promote v1.0.0 to production }响应示例{ metadata: { name: v1.0.0-release, uid: b2c3d4e5-f6a7-8901-bcde-234567890abc }, spec: { stageName: production, freightName: freight-abc123 }, status: { phase: Pending, startTime: 2023-06-01T14:30:00Z } }Kargo UI中的推广确认界面对应API中的创建推广任务请求获取推广状态GET /v1alpha1/projects/{project}/promotions/{promotion}响应将包含推广的详细状态信息包括当前阶段、开始时间、完成时间如果已完成以及任何错误信息。货运管理API批准货运POST /v1alpha1/projects/{project}/freights/{freight}/approve请求体示例{ stageName: production, comment: Approved after security review }响应示例{ metadata: { name: freight-abc123 }, status: { approvedStages: [production], verificationStatus: Succeeded } }Kargo UI中显示货运已验证并批准的状态界面事件API与Webhook集成Kargo提供了丰富的事件系统可以通过API查询事件或配置webhook接收事件通知。列出项目事件GET /v1alpha1/projects/{project}/events响应示例{ items: [ { id: event-12345, type: PromotionSucceeded, project: my-project, message: Promotion v1.0.0-release succeeded, timestamp: 2023-06-01T15:45:00Z, payload: { promotion: { name: v1.0.0-release, stageName: production } } }, // 更多事件... ] }Webhook接收器配置Kargo支持多种webhook接收器用于在新制品发布时触发仓库发现流程。详细配置方法请参考Webhook Receivers文档。实用API示例使用cURL创建项目curl -X POST https://kargo-api.example.com/v1alpha1/projects \ -H Authorization: Bearer $KARGO_TOKEN \ -H Content-Type: application/json \ -d { name: demo-project, description: API example project }使用Python查询推广状态import requests KARGO_API_URL https://kargo-api.example.com/v1alpha1 PROJECT_NAME my-project PROMOTION_NAME v1.0.0-release TOKEN your-api-token headers { Authorization: fBearer {TOKEN}, Content-Type: application/json } response requests.get( f{KARGO_API_URL}/projects/{PROJECT_NAME}/promotions/{PROMOTION_NAME}, headersheaders ) if response.status_code 200: promotion response.json() print(fPromotion status: {promotion[status][phase]}) if promotion[status][phase] Failed: print(fError: {promotion[status][message]})错误处理与故障排除Kargo API使用标准HTTP状态码表示请求结果200 OK请求成功201 Created资源创建成功400 Bad Request请求参数错误401 Unauthorized认证失败403 Forbidden权限不足404 Not Found资源不存在500 Internal Server Error服务器内部错误错误响应格式示例{ error: { code: INVALID_ARGUMENT, message: Invalid project name: must contain only lowercase letters, numbers and hyphens, details: [ { field: name, issue: invalid format } ] } }进一步学习资源完整API文档Promotion Steps参考事件参考文档Kargo CLI工具通过本指南您应该已经掌握了Kargo API的核心功能和使用方法。如需了解更多高级功能和最佳实践请参考官方文档或联系Kargo社区支持。【免费下载链接】kargoApplication lifecycle orchestration项目地址: https://gitcode.com/gh_mirrors/ka/kargo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考