如何编写配置Spinnaker资源的脚本?

如何编写配置Spinnaker资源的脚本?,spinnaker,Spinnaker,我们正在评估Spinnaker的采用情况,希望了解哪些API(如果有的话)可用于创建Spinnaker资源?如果我想在Spinnaker中为我的应用程序创建脚本/模板,最好的方法是什么 正如我目前所看到的,最好的方法是在Spinnaker之外编写基础设施的创建脚本(例如CloudFormation),从AWS帐户加载该脚本,然后保留一个管道JSON文件库,这些文件可以复制/粘贴到JSON表单中,以便在之后添加管道。您可以通过Spinnaker UI管理的所有项目(服务器组、负载平衡器、安全组、应

我们正在评估Spinnaker的采用情况,希望了解哪些API(如果有的话)可用于创建Spinnaker资源?如果我想在Spinnaker中为我的应用程序创建脚本/模板,最好的方法是什么


正如我目前所看到的,最好的方法是在Spinnaker之外编写基础设施的创建脚本(例如CloudFormation),从AWS帐户加载该脚本,然后保留一个管道JSON文件库,这些文件可以复制/粘贴到JSON表单中,以便在之后添加管道。

您可以通过Spinnaker UI管理的所有项目(服务器组、负载平衡器、安全组、应用程序、项目、管道)都可以通过Spinnaker的REST API编写脚本。目前还缺少API文档(但很快就会出现,请继续关注)。现在,您可以通过开发人员工具观看UI与API的网络交互,以获得示例有效负载


对于其他更静态的云基础设施(VPC、子网等),我们并没有通过Spinnaker的API真正了解情况,建议查看Terraform或CloudFormation,文档似乎已经过时。我在使用管道模板创建管道时遇到了类似的问题。它使用Deck(UI)工作得很好,因为中描述的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": []
}