我们正在评估Spinnaker的采用情况,并希望了解哪些API(如果有)可用于创建Spinnaker资源?如果我想在Spinnaker中编写脚本/模板化我的应用程序的创建,那么最好的方法是什么?
目前我可以看到脚本是在Spinnaker之外创建您的基础架构(例如CloudFormation),从您的AWS账户加载,然后保留可以复制/粘贴的管道JSON文件库进入管道的JSON表格,将在后面添加。
答案 0 :(得分:4)
您可以通过Spinnaker UI(服务器组,负载均衡器,安全组,应用程序,项目,管道)管理的所有项目都可以通过Spinnaker的REST API编写脚本。目前缺乏API文档(但即将推出,请继续关注)。现在,您可以通过开发人员工具观看UI与API的网络交互,以获取示例有效负载。
对于其他更多静态云基础架构(VPC,子网等),我们并不真正通过Spinnaker的API获得故事,并建议查看Terraform或CloudFormation
答案 1 :(得分:0)
文档似乎已过时。我在使用管道模板创建管道时遇到了类似的问题。使用Deck(UI)可以正常工作,因为https://www.spinnaker.io/reference/pipeline/templates/#pipeline-json中所述的管道json无法正常工作。
使用UI从管道模板创建管道后,我分析了有效负载,并意识到文档缺少有效负载中的某些字段。下面给出的有效负载对我来说很好。我也建议,您应该通过浏览器中的UI分析有效负载并将其用作参考。
{
"schema": "v2",
"template": {
"artifactAccount": "front50ArtifactCredentials",
"reference": "spinnaker://k8s-bake-approve-deploy-s3-23-oct:latest",
"type": "front50/pipelineTemplate"
},
"application": "v2poc",
"name": "test-6",
"triggers": [],
"type": "templatedPipeline",
"stages": [],
"variables": {
"namespace": "default",
"docker_registry": "docker.io",
"k8s_account": "my-k8-account",
"helm_package_s3_object_path": "s3://spin-helm/node-1.0.0.tgz",
"helm_override_file_s3_object_path": "s3://spin-helm/values.yaml",
"docker_registry_org": "athakur",
"docker_repository": "athakur/node",
"hal_s3_account": "my-s3-account",
"hal_docker_registry_account": "my-docker-registry",
"docker_image_tag": "0.1.0",
"spinnaker_application": "v2poc"
},
"exclude": [],
"parameterConfig": [],
"notifications": []
}