All Projects → spinnaker → roer

spinnaker / roer

Licence: Apache-2.0 License
A thin Spinnaker CLI

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Labels

Projects that are alternatives of or similar to roer

spingo
A collection of Terraform and bash scripts to setup an enterprise-grade Spinnaker deployment on Google Cloud Platform
Stars: ✭ 36 (-18.18%)
Mutual labels:  spinnaker
terraform-provider-spinnaker
Terraform Provider to manage spinnaker pipelines
Stars: ✭ 36 (-18.18%)
Mutual labels:  spinnaker
sPyNNaker8
The PyNN 0.8 interface to sPyNNaker.
Stars: ✭ 19 (-56.82%)
Mutual labels:  spinnaker
winnaker
An audit tool that tests the whole system functionality of Spinnaker
Stars: ✭ 34 (-22.73%)
Mutual labels:  spinnaker
spinnaker sdk camera driver
Point Grey (FLIR) Spinnaker based camera driver (Blackfly S etc.)
Stars: ✭ 106 (+140.91%)
Mutual labels:  spinnaker
cloud-native-pipelines
Cloud-native pipelines leveraging Concourse, Pivotal Build Service and Spinnaker to deploy apps
Stars: ✭ 15 (-65.91%)
Mutual labels:  spinnaker
spinnaker-pipeline-trigger
Pipeline trigger for Spinnaker utilizing SNS
Stars: ✭ 15 (-65.91%)
Mutual labels:  spinnaker
continuous-delivery-spinnaker-gke
Tutorial for deploying, configuring and running Spinnaker on GKE for continuous delivery
Stars: ✭ 34 (-22.73%)
Mutual labels:  spinnaker
Spinnaker
Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.
Stars: ✭ 8,215 (+18570.45%)
Mutual labels:  spinnaker
ploio
Safe, Reliable, and Fast Production Deployments for Kubernetes
Stars: ✭ 11 (-75%)
Mutual labels:  spinnaker
sPyNNaker
The SpiNNaker implementation of the PyNN neural networking language
Stars: ✭ 86 (+95.45%)
Mutual labels:  spinnaker
spinnaker tools
SpiNNaker API, sark, sc&mp, bmp firmware and build tools
Stars: ✭ 18 (-59.09%)
Mutual labels:  spinnaker

roer

END OF LIFE: Roer has been EOL'd. Please use spin instead: https://github.com/spinnaker/spin

A thin CLI for Spinnaker.

This project is aimed to provide a thin, limited client that's suitable for CI environments where you may want to publish Pipeline Templates or update pipeline configurations in Spinnaker. For a CLI to help configure and operate use halyard: config & operating utilities are not in Roer's scope.

You can download the most recent version from the Releases tab.

Usage

Make sure your Spinnaker installation has pipeline-templates enabled:

hal config features edit --pipeline-templates true

Export SPINNAKER_API pointing to your Gate API.

NAME:
   roer - Spinnaker CLI

USAGE:
   main [global options] command [command options] [arguments...]

VERSION:
   dev

COMMANDS:
     pipeline           pipeline tasks
     pipeline-template  pipeline template tasks
     help, h            Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --verbose, -v               show debug messages
   --certPath value, -c value  HTTPS x509 cert path
   --keyPath value, -k value   HTTPS x509 key path
   --version                   print the version

Commands

pipeline-template

NAME:
   roer pipeline-template - pipeline template tasks

USAGE:
   roer pipeline-template  command [command options] [arguments...]

VERSION:
   dev

COMMANDS:
     publish  publish a pipeline template
     plan     validate a pipeline template and or plan a configuration
     convert  converts an existing, non-templated pipeline config into a scaffolded template

Publish template for use:

$ SPINNAKER_API=https://localhost:7002 \
  go run cmd/roer/main.go pipeline-template publish examples/wait-template.yml

Plan a pipeline run using the template (invalid config example):

$ SPINNAKER_API=https://localhost:7002 \
  go run cmd/roer/main.go pipeline-template plan examples/wait-config-invalid.yml
{
  "errors": [
    {
      "location": "configuration:stages.noConfigStanza",
      "message": "Stage configuration is unset",
      "severity": "FATAL"
    },
    {
      "location": "configuration:stages.noConfigStanza",
      "message": "A configuration-defined stage should have either dependsOn or an inject rule defined",
      "severity": "WARN"
    }
  ],
  "message": "Pipeline template is invalid",
  "status": "BAD_REQUEST"
}

Plan a pipeline run using the template (valid config example):

$ SPINNAKER_API=https://localhost:7002 \
  go run cmd/roer/main.go pipeline-template plan examples/wait-config.yml
{
  "application": "spintest",
  "id": "unknown",
  "keepWaitingPipelines": false,
  "limitConcurrent": true,
  "name": "mpt",
  "notifications": [],
  "parameterConfig": [],
  "stages": [
    {
      "id": "947eb68b-1b03-4f33-b7c2-b3fa38eeef94",
      "name": "wait",
      "refId": "wait",
      "requisiteStageRefIds": [],
      "type": "wait",
      "waitTime": 5
    }
  ],
  "trigger": {
    "parameters": {},
    "type": "manual",
    "user": "anonymous"
  }
}

pipeline

Create or update a managed pipeline within an application:

$ SPINNAKER_API=https://localhost:7002 \
  go run cmd/roer/main.go pipeline save examples/wait-config.yml

Development

All dependencies have been vendored into the repository and are managed via govendor. You can sync the deps with govendor sync.

$ go run cmd/roer/main.go

Extending

You can extend the interface, as well as inject your own HTTP client by providing your own main.go. This can be useful if you need to provide custom auth logic, or if you want to add new commands, but not contribute them directly to the project.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].