Giter Site home page Giter Site logo

keel'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

keel's People

Contributors

ajordens avatar anotherchrisberry avatar asher avatar bpowell avatar cfieber avatar danielpeach avatar dbyron-sf avatar dependabot[bot] avatar dmart avatar emjburns avatar ezimanyi avatar gal-yardeni avatar glauco avatar jessesanford avatar jonsie avatar kskewes-sf avatar lorin avatar luispollo avatar marchello2000 avatar mergify[bot] avatar mflis avatar nabuskey avatar nimakaviani avatar osoriano avatar plumpy avatar ranihorev avatar robfletcher avatar robzienert avatar spinnakerbot avatar srekapalli avatar

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

keel's Issues

Resource deletion

Do we want the ability for users to define a desired state of “this resource MUST NOT exist” and delete it if it ever does?

Core: Rule processing

Periodic validation of current vs desired asset state and convergence via appropriate plugin.

EC2: classic load balancers

Description / convergence of load balancers. Should be at least equivalent functionality to earlier Keel implementation.

Mocking framework

Hi,

hope find you well with this cold call.

I am an author of mocking framework for Kotlin

I see you are using mockito-kotlin.

I just want you to be aware that there is solution that fully supports Kotlin and ask to try it in your new/current projects.

I can help you if you answer to this issue.

Thanks and please star it

API: Protobuf APIs for core & asset plugins

Clients need to be able to pull in protos for e.g. Core and EC2 without any Java dependencies (crucially any dependencies of the asset plugins themselves) coming along for the ride.

API: Registering assets via REST

REST -> Protobuf -> Keel. This should include defining any gRPC API necessary to get desired asset descriptions from the REST "plugin" to the core application.

Cannot upsert security group description

Description is a required field when creating a security group. However the upsertSecurityGroup stage does not allow it to be changed. This can cause Keel to spin forever trying to actuate the desired state.

Event based diff/merge loop

Raise an event to go check resource state vs desired. That way we can trigger the same event on resource upsert for instant action.

EC2: security groups

Description / convergence of security groups. Should be at least equivalent functionality to earlier Keel implementation.

Core: Enforce / generate resource names

When a resource is created the metadata/name should be auto-generated using an appropriate mechanism for each resource type that creates a unique name/id.

Horizontal scaling of diff/actuation

Currently we're using Spring events to trigger diff/actuation of a resource but that ties processing to a single instance. We should:

  1. ensure only one instance is triggering diff/actuation of a given resource.
  2. allow diff/actuation to be performed on a different instance to the one requesting it.

SQS? Keiko?

Separate resource validation / normalization from annealing

Instead of the validate method being part of the ResourceHandler interface we should create a ResourceValidator, allowing multiple to be registered for each resource kind. This has a couple of benefits:

  1. Separation of concerns.
  2. Ability to include Netflix-specific validation in keel-nflx.

We'll need to ensure all validators for a given resource kind can run in any order.

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.