我需要根据一些标签过滤器列出所有应用程序。
https://argocd_domain/api/v1/applications
为了列出来自 argoCD API 的所有应用程序,我想放置所有可能的过滤器。
Argo CD API 记录在其Swagger 文档中。
将该 JSON 复制并粘贴到Swagger Editor中,您将获得一个格式良好的描述 API 的页面。这是列出应用程序的部分:
处理列表应用程序请求调用的函数ConvertSelectorToLabelsMap
。阅读该解析函数的实现,您可以找到selector
参数的预期格式。
乍一看,格式似乎是逗号分隔的key=value
对列表。
使用 Swagger Editor,我生成了这个测试 URL:
curl -X GET "https://editor.swagger.io/api/v1/applications?selector=label1%3Dvalue1%2Clabel2%3Dvalue2" -H "accept: application/json"
看起来您需要对等号和逗号进行 URL 编码。
您可以通过在 Argo CD 服务器地址中将路径设置为 /swagger-ui 来找到 Swagger 文档。例如http://localhost:8080/swagger-ui
。
您可以在https://cd.apps.argoproj.io/swagger-ui上找到 Argo 的 Swagger UI 的托管版本