All Projects → target → winnaker

target / winnaker

Licence: MIT license
An audit tool that tests the whole system functionality of Spinnaker

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Labels

Projects that are alternatives of or similar to winnaker

spinnaker sdk camera driver
Point Grey (FLIR) Spinnaker based camera driver (Blackfly S etc.)
Stars: ✭ 106 (+211.76%)
Mutual labels:  spinnaker
cloud-native-pipelines
Cloud-native pipelines leveraging Concourse, Pivotal Build Service and Spinnaker to deploy apps
Stars: ✭ 15 (-55.88%)
Mutual labels:  spinnaker
spinnaker-pipeline-trigger
Pipeline trigger for Spinnaker utilizing SNS
Stars: ✭ 15 (-55.88%)
Mutual labels:  spinnaker
continuous-delivery-spinnaker-gke
Tutorial for deploying, configuring and running Spinnaker on GKE for continuous delivery
Stars: ✭ 34 (+0%)
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 (+24061.76%)
Mutual labels:  spinnaker
ploio
Safe, Reliable, and Fast Production Deployments for Kubernetes
Stars: ✭ 11 (-67.65%)
Mutual labels:  spinnaker
sPyNNaker
The SpiNNaker implementation of the PyNN neural networking language
Stars: ✭ 86 (+152.94%)
Mutual labels:  spinnaker
spinnaker tools
SpiNNaker API, sark, sc&mp, bmp firmware and build tools
Stars: ✭ 18 (-47.06%)
Mutual labels:  spinnaker
roer
A thin Spinnaker CLI
Stars: ✭ 44 (+29.41%)
Mutual labels:  spinnaker
spingo
A collection of Terraform and bash scripts to setup an enterprise-grade Spinnaker deployment on Google Cloud Platform
Stars: ✭ 36 (+5.88%)
Mutual labels:  spinnaker
terraform-provider-spinnaker
Terraform Provider to manage spinnaker pipelines
Stars: ✭ 36 (+5.88%)
Mutual labels:  spinnaker
sPyNNaker8
The PyNN 0.8 interface to sPyNNaker.
Stars: ✭ 19 (-44.12%)
Mutual labels:  spinnaker

Winnaker

____    __    ____  __  .__   __. .__   __.      ___       __  ___  _______ .______
\   \  /  \  /   / |  | |  \ |  | |  \ |  |     /   \     |  |/  / |   ____||   _  \
 \   \/    \/   /  |  | |   \|  | |   \|  |    /  ^  \    |  '  /  |  |__   |  |_)  |
  \            /   |  | |  . `  | |  . `  |   /  /_\  \   |    <   |   __|  |      /
   \    /\    /    |  | |  |\   | |  |\   |  /  _____  \  |  .  \  |  |____ |  |\  \----.
    \__/  \__/     |__| |__| \__| |__| \__| /__/     \__\ |__|\__\ |_______|| _| `._____|


Archive notice

In August of 2021, this project was archived.

What is Winnaker?

Winnaker is an auditing tool for Spinnaker. Real testing in a real browser!

What do you need on your work station?

  1. python 2.7
  2. a copy of ChromeDriver in your PATH

What do you need in your system under test?

  1. a spinnaker url
  2. a sample app
  3. a sample pipeline

Run headlessly in Docker

  1. Build Docker:

    docker build -t winnaker .
    
  2. Config : copy the sample env file and edit it.

    cp winnaker/.env-sample .env
    
    
  3. Run :

    docker run --env-file .env -it -v $(pwd)/winnaker-screenshots:/winnaker-screenshots/ winnaker
    
  4. Add options as needed.

Run GUI mode

  1. run
./run.sh
  1. Add options as needed.

What does the default run do?

  • Logs in to spinnaker through chromium browser
  • Searches for sampleapp app
  • Searches for samplepipeline the pipeline
  • Gets the last build status
  • Generates screenshot :
    • ./applications.png
    • ./pipelines.png
    • ./last_build_status.png
    • ./login.png
    • ./stage1.png
  • Any error will result in a non-zero code to the system.
  • Error screenshots will be timestamped.

Screenshots

  • screenshot folder by default is winnaker-screenshots

Options

The config file is located at ./src/config.sh but you can simply add any of the options below to your run.sh command.

optional arguments:
  -h, --help            show this help message and exit
  -s, --start           starts manual execution of the pipeline
  -fb, --forcebake      force bake, to be used wth --start
  -a APP, --app APP     the name of application to look for
  -p PIPELINE, --pipeline PIPELINE
                        the name of pipeline to test
  -nl, --nologin        will not attempt to login
  -hl, --headless       will run in an xvfb display

Examples:

Example 1: Gets the last build status of the default pipeline

./run.sh

Example 2: Starts default pipeline execution

./run.sh -s

Example 3: Start the pipeline with force rebake

./run.sh -s -fb

Example 4: Start build execution on different pipeline than config file

./run.sh -s -p "deploy to npe"

Example 5: override default app specified in the config file

use with --caution--, will override the sample app.

./run.sh -a "differentapp" -p "different pipeline"

How tos

How to setup a Winnaker Hipchat bot

  • create a hipchat bot
  • grab the post url it should look like https://INSERT_HIPCHAT_BASE_URL.com/v2/room/INSERT_ROOM_ID/notification?auth_token=INSERT_TOKEN

How to import the Winnaker python package

  • pip install git+git://github.com/target/winnaker
  • Then in your python script you can import the Winnaker modules. For example you can import the models module via from winnaker import models

How to deploy to minikube

  • Start minikube

     minikube start
    
  • Activate minikube docker in your bash

     eval $(minikube docker-env)
    
  • build docker

     make build-docker-nocache
    
  • Fill out secret and configmaps and change default 5 minute cronjob to your needs. (edit configmap and secret inside kube folder)

  • apply kube files

     kubectl apply -f kube
    
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].