Как я могу создать скрипт для ресурсов Spinnaker?

Мы оцениваем внедрение Spinnaker и хотели бы понять, какой API, если таковой имеется, доступен для создания ресурсов Spinnaker? Если я хочу создать сценарий / шаблон для создания моего приложения в Spinnaker, как лучше всего это сделать?

Насколько я понимаю на данный момент, это сценарий создания вашей инфраструктуры вне Spinnaker (например, CloudFormation), загрузка его из вашей учетной записи AWS, а затем сохранение библиотеки файлов конвейера JSON, которые можно скопировать / вставить в JSON. форма для конвейеров, которые будут добавлены послесловия.


person Neil    schedule 22.12.2015    source источник


Ответы (2)


Все элементы, которыми вы можете управлять через пользовательский интерфейс Spinnaker (группы серверов, балансировщики нагрузки, группы безопасности, приложения, проекты, конвейеры), можно использовать в сценариях через REST API Spinnaker. Документация по API на данный момент отсутствует (но скоро, следите за обновлениями). На данный момент вы можете наблюдать за сетевым взаимодействием пользовательского интерфейса с API с помощью инструментов разработчика, чтобы получить примеры полезных данных.

Для другой, более статической облачной инфраструктуры (VPC, подсети и т. Д.) У нас действительно нет истории через API Spinnaker, и мы бы порекомендовали взглянуть на Terraform или CloudFormation.

person cfieber    schedule 23.12.2015

Документация кажется устаревшей. У меня была аналогичная проблема с созданием конвейера с использованием конвейеров-шаблонов. Он отлично работал с Deck (UI), где в качестве конвейера json, как описано в https://www.spinnaker.io/reference/pipeline/templates/#pipeline-json не сработало.

После создания конвейера из шаблона конвейера с использованием пользовательского интерфейса я проанализировал полезную нагрузку и понял, что в документации отсутствуют некоторые поля в полезной нагрузке. Приведенная ниже полезная нагрузка у меня работала нормально. Я бы посоветовал вам проанализировать полезную нагрузку через пользовательский интерфейс в браузере и использовать ее как ссылку.

{
  "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": []
}
person Ashish Thakur    schedule 23.10.2019