Code Monkey home page Code Monkey logo

spinnaker's Introduction

Slack Status Build Status

Welcome to the Spinnaker Project

Spinnaker is an open-source continuous delivery platform for releasing software changes with high velocity and confidence. Spinnaker provides a single platform that allows you to safely deploy and manage your application in multiple cloud environments (AWS, GCP, Kubernetes and more!). With automated canary analysis and multiple ways to initiate deployments, you can safely promote your code from a git commit into a dev environment all the way through multiple production environments with confidence in the results. Spinnaker is the most mature and widely productionalized continuous delivery platform built upon the work of Netflix, Google, Microsoft, Amazon and numerous other companies to allow fast, safe deploys. Used by numerous organizations including Target, Salesforce, Airbnb, Cerner, Adobe, JPMorgan Chase and more!

Project status and updates

Note that this repo is only used for issue tracking across the various services at this time. Releases are not managed here nor are updates regularly made to this repository. Please see the following for more information about spinnaker and it’s state:

More about spinnaker

Manage your SDLC in Spinnaker using the GUI (graphical user interface), or config-as-code. View, manage, and construct application workflows involving one or all of these resources:

Facilitate GitOps, and grant developers control of provisioning infrastructure for apps. Use Spinnaker’s Clouddriver to deploy to all of the major public cloud providers and Kubernetes. You may even orchestrate configuration and firmware changes as part of Spinnaker delivery pipelines.

Why Do I Need Spinnaker?

Use Spinnaker to create a “paved road” for application delivery, with guardrails that ensure only valid infrastructure and configuration reach production.

Free development teams from burdensome ops provisioning while automating reinforcement of business and regulatory requirements. Delivery automation strategies such as canary deployments provide the safety necessary to capture value from quick innovation, while protecting against business and end-user impact.

Tech Specs

Spinnaker consists of a number of independent microservices, with the Halyard CLI tool or the Kubernetes Operator (Beta) managing the lifecycle of the other services. A variety of SDLC tools integrate with Spinnaker, and its plugin framework makes Spinnaker more easily customizable to your needs. Plugins allow us to add system integrations without updating Spinnaker, broadening its potential to easily leverage the entire software delivery toolchain. With this in place, Spinnaker is evolving towards a smaller threat surface, enabling performance and operational advantages. Meanwhile, managed delivery, a newer Spinnaker featureset, provides declarative definitions of common infrastructure and other requirements; users can declare requirements using those prebuilt definitions and move changes through environments via a visual interface.


This repository centralizes issue tracking across Spinnaker for each microservice. The core code making up Spinnaker’s microservices is found in the other Spinnaker repositories.

Using Spinnaker

Spinnaker users should refer to the main Spinnaker site and Installation guide.

For more information on how Spinnaker is designed, see the Concepts topic in the documentation Overview.

If you’re interested in a detailed walkthrough of the Spinnaker systems, check the Spinnaker How-to guides, videos, and codelabs.

Setting Up Spinnaker For Development

To pull Spinnaker from source and set it up to run locally against any of the Cloud Providers, follow the Developer Setup Guide

spinnaker's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spinnaker's Issues

Pipeline configuration step: Auto-create Jenkins job

Right now we assume that the Jenkins job exists for a step, however, feedback from JedBerg was that it would be wonderful if we could just create the job. We know we can do this (Aye does it as well as a bunch of others), but what are the implications here?

Pond: Handle mimir workflows

This is mostly going to be development work in Mimir to update the tasks to hit pond. Mimir tasks should have a 1:1 correlation with pond actions so there may be some gaps to fill in in pond as well

Placeholder: Version all the things story

What do we do about our JSON representation? What's our story here? What features are we missing to allow people to do something interesting w/this.

Key questions:

How do we audit or version changes to the cloud? This is an RE requirement.

Kato

Task Repository: Dynomite -
https://github.com/spinnaker/kato/issues/6

Create and Tag ENIs -
https://github.com/spinnaker/kato/issues/20

Management of Security Groups -
https://github.com/spinnaker/kato/issues/27

Management of Load Balancers -
https://github.com/spinnaker/kato/issues/30

AWS - Suspend/Resume Scaling Processes -
https://github.com/spinnaker/kato/issues/28

AWS - Scaling Policies -
https://github.com/spinnaker/kato/issues/29

Support free-form detail in cluster name -
https://github.com/spinnaker/kato/issues/16

Placeholder: DNS for non ELB instances

  • It would be great to see route53/DNS support built into spinnaker for non-ELB usecases. We have a number of internal tools that register a .{test,prod}.netflix.net for internal use and don't need an ELB. Today, we do that by requiring some code on each instance that registers and deregisters to route53 - it's finicky and not very resilient. Seems like this should be an available workflow task in spinnaker.

Placeholder: HA story w/Spinnaker

Right now we operate in US west 1 or something like that -- how do we deal w/a region outage? Do we need to do a "chaos monkey-like drill" w/RE sometime?

Placeholder: Expose global reservation and usage information

We have numerous AWS accounts, some which have purchased instance reservations (e.g. PROD, Encoding, Dataeng) and others which simply "borrow" (e.g. TEST, MPLBONUS) at the billing level. We need to have a common interface which allows those accounts with reservations to understand how much reserved capacity is available by instance type, whereas accounts which borrow need to understand if all "borrowable" capacity has been consumed. In the latter case if the borrowable reservations are being fully consumed any additional usage will incur on-demand charges.

As Spinnaker will be providing a cross-account view for a number of views (IIRC) this should fit easily into that model.

The following wiki page captures more context on the reservation usage model: https://confluence.netflix.com/display/CLDPERF/EC2+Reservation+Management

Timeline: We have one team (encoding) who is looking to consume this information as soon as available. They are now ready to start consuming spare capacity from the PROD account. Let me know if you have any questions.

ACA integration for canary stage

Used by Edge.
JSON configuration templates
Needs a previous ASG/Cluster/Instance for baseline
Needs to run for at least 1 hr
Control cluster could be used to test new hardware profile (going from m1.* to m2.*)

canary.test.netflix.net

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.