Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.

Overview

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. Through a powerful abstraction layer, Spinnaker provides compelling tooling that empowers developers to own their application code from commit to delivery. As the most mature and widely productionalized continuous delivery platform, Spinnaker can apply the expertise of Netflix, Google, Microsoft, and Amazon to your SDLC. User companies include Target, Salesforce, Airbnb, Cerner, Adobe, and JPMorgan Chase.

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?

With Spinnaker, 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. 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 Documentation Overview.

If you’re interested in a detailed walkthrough of the Spinnaker systems, check the Reference Material.

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
Comments
  • Deployment fails because it incorrectly interprets values as percentage and not pods

    Deployment fails because it incorrectly interprets values as percentage and not pods

    Issue Summary:

    When configuring deployment to k8s we entered '1' for max surge and max unavailable. Tool tip says to "enter either a number or percentage" but every time we deployed it failed with the following error

    Exception ( Monitor Deploy ) Failure executing: PATCH at: https://35.193.51.144/apis/extensions/v1beta1/namespaces/default/deployments/helloworld. Message: Deployment.apps "helloworld" is invalid: [spec.strategy.rollingUpdate.maxUnavailable: Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: a valid percent string must be a numeric string followed by an ending '%' (e.g. '1%', or '93%', regex used for validation is '[0-9]+%'), spec.strategy.rollingUpdate.maxSurge: Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: a valid percent string must be a numeric string followed by an ending '%' (e.g. '1%', or '93%', regex used for validation is '[0-9]+%'), spec.strategy.rollingUpdate.maxUnavailable: Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: may not be 0 when maxSurge is 0]. Received status: Status(apiVersion=v1, code=422, details=StatusDetails(causes=[StatusCause(field=spec.strategy.rollingUpdate.maxUnavailable, message=Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: a valid percent string must be a numeric string followed by an ending '%' (e.g. '1%', or '93%', regex used for validation is '[0-9]+%'), reason=FieldValueInvalid, additionalProperties={}), StatusCause(field=spec.strategy.rollingUpdate.maxSurge, message=Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: a valid percent string must be a numeric string followed by an ending '%' (e.g. '1%', or '93%', regex used for validation is '[0-9]+%'), reason=FieldValueInvalid, additionalProperties={}), StatusCause(field=spec.strategy.rollingUpdate.maxUnavailable, message=Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: may not be 0 when maxSurge is 0, reason=FieldValueInvalid, additionalProperties={})], group=apps, kind=Deployment, name=helloworld, retryAfterSeconds=null, uid=null, additionalProperties={}), kind=Status, message=Deployment.apps "helloworld" is invalid: [spec.strategy.rollingUpdate.maxUnavailable: Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: a valid percent string must be a numeric string followed by an ending '%' (e.g. '1%', or '93%', regex used for validation is '[0-9]+%'), spec.strategy.rollingUpdate.maxSurge: Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: a valid percent string must be a numeric string followed by an ending '%' (e.g. '1%', or '93%', regex used for validation is '[0-9]+%'), spec.strategy.rollingUpdate.maxUnavailable: Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: may not be 0 when maxSurge is 0], metadata=ListMeta(resourceVersion=null, selfLink=null, additionalProperties={}), reason=Invalid, status=Failure, additionalProperties={}).

    Cloud Provider(s): GKE

    Environment:

    Spinnaker 1.8

    Feature Area:

    Deployment/Pipelines

    Description:

    Deployment fails if you enter # of pods instead of % for max unavailable and max surge

    Steps to Reproduce:

    1. create k8s deployment
    2. check deployment box in deployment configuration
    3. enter 1 for max unavailable and 1 for max surge
    4. trigger deployment (not manual)

    Additional Details:


    bug provider/kubernetes-v1 stale to-be-closed 
    opened by faizalkassamalisc 105
  • Deployments fail with parsing error when triggered by Docker Registry

    Deployments fail with parsing error when triggered by Docker Registry

    Steps to reproduce: While setting up a new Kubernetes deployment step, when checking the "Deployment" checkbox, leave all default values, save, then trigger the step via a Docker Registry update.

    Result:

    Exception ( Monitor Deploy )
    Failure executing: PATCH at: https://10.51.169.25:6443/apis/extensions/v1beta1/namespaces/default/deployments/wrnchforwarder-dev. Message: Deployment.apps "wrnchforwarder-dev" is invalid: [spec.strategy.rollingUpdate.maxUnavailable: Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: a valid percent string must be a numeric string followed by an ending '%' (e.g. '1%', or '93%', regex used for validation is '[0-9]+%'), spec.strategy.rollingUpdate.maxSurge: Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: a valid percent string must be a numeric string followed by an ending '%' (e.g. '1%', or '93%', regex used for validation is '[0-9]+%'), spec.strategy.rollingUpdate.maxUnavailable: Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: may not be 0 when `maxSurge` is 0]. Received status: Status(apiVersion=v1, code=422, details=StatusDetails(causes=[StatusCause(field=spec.strategy.rollingUpdate.maxUnavailable, message=Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: a valid percent string must be a numeric string followed by an ending '%' (e.g. '1%', or '93%', regex used for validation is '[0-9]+%'), reason=FieldValueInvalid, additionalProperties={}), StatusCause(field=spec.strategy.rollingUpdate.maxSurge, message=Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: a valid percent string must be a numeric string followed by an ending '%' (e.g. '1%', or '93%', regex used for validation is '[0-9]+%'), reason=FieldValueInvalid, additionalProperties={}), StatusCause(field=spec.strategy.rollingUpdate.maxUnavailable, message=Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: may not be 0 when `maxSurge` is 0, reason=FieldValueInvalid, additionalProperties={})], group=apps, kind=Deployment, name=wrnchforwarder-dev, retryAfterSeconds=null, additionalProperties={}), kind=Status, message=Deployment.apps "wrnchforwarder-dev" is invalid: [spec.strategy.rollingUpdate.maxUnavailable: Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: a valid percent string must be a numeric string followed by an ending '%' (e.g. '1%', or '93%', regex used for validation is '[0-9]+%'), spec.strategy.rollingUpdate.maxSurge: Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: a valid percent string must be a numeric string followed by an ending '%' (e.g. '1%', or '93%', regex used for validation is '[0-9]+%'), spec.strategy.rollingUpdate.maxUnavailable: Invalid value: intstr.IntOrString{Type:1, IntVal:0, StrVal:"1.0"}: may not be 0 when `maxSurge` is 0], metadata=ListMeta(resourceVersion=null, selfLink=null, additionalProperties={}), reason=Invalid, status=Failure, additionalProperties={}).```
    
    Workaround: Manually change Max Unavailable and Max Surge to any number/percentage, save, then change back to 1/1 (the default values).
    
    Expected result: Deploy occurs properly.
    
    In addition, the bug is complicated by the fact that manual triggered deploys do not encounter this issue.
    stale to-be-closed 
    opened by mike10010100 101
  • Jenkins -> 403 No valid crumb was included in the request

    Jenkins -> 403 No valid crumb was included in the request

    When I intergrated Jenkins through halyard, and executed the pipeline, the pipeline is failing with error 403 No valid crumb was included in the request.

    I have read https://stackoverflow.com/questions/44711696/spinnaker-403-no-valid-crumb-was-included-in-the-request. But disabling "Prevent Cross Site Request Forgery exploits" is not a good option.

    My Cloud Provider Installed halyard in google Cloud VM and deployed all spinnaker components in Kubernetes cluster which is also running in GCP.

    Additional Details, I configured Jenkins URL and username and password through halyard Ref -> https://www.spinnaker.io/reference/halyard/commands/#hal-config-ci-jenkins-master-add

    opened by RTBathula 66
  • Pipeline webhook trigger

    Pipeline webhook trigger "Payload Constraints" does not support mutli-level json payload .

    Issue Summary:

    Pipeline webhook trigger "Payload Constraints" does not support multi-level json payload .

    Cloud Provider(s):

    kubernetes

    Environment:

    spinnaker 1.9.5

    Feature Area:

    Pipeline automated triggers

    Description:

    I want to trigger pipeline with webook with payload constraints . But when the payload json is multi-level, the constraint matching will only match the first level json key and value. I checked the code https://github.com/spinnaker/echo/blob/master/echo-pipelinetriggers/src/main/java/com/netflix/spinnaker/echo/pipelinetriggers/artifacts/ArtifactMatcher.java, found it doesn't check json payload recursively. Moreover, the value match is a subsequence match using match(input).find(), but not a full string match. Not sure whether it's a expected behavior in payload constraints feature.

    Steps to Reproduce:

    Set test webhook payload to trigger pipeline, and hope pipeline be triggered when project=boobar. { "foo": { "project": "boobar", "user": "dummy user" }, "title": "dummy title" }

    When setting payload constraints foo.project=boobar or project=boobar, pipeline will not be triggered. But setting foo="project=boobar"(second level key-value as string) or foo=boobar (subsequence match), pipeline is triggered.

    Additional Details:

    enhancement triggers stale to-be-closed 
    opened by JamieChe 61
  • hal deploy apply causes java.lang.NullPointerException on private cluster

    hal deploy apply causes java.lang.NullPointerException on private cluster

    Issue Summary:

    Switched deployment clusters today... Beforehand this issue was not present. When running hal deploy apply with a clean cluster, the deployment almost completes. When running hal deploy apply again, I receive a nullpointer and only boostraps get deployed.

    Cloud Provider(s):

    GKE/k8s

    Environment:

    Private GKE cluster hal deploy to GKE k8s cluster v1.11 external redis hal --> 1.12.0-20181024113436 spinnaker --> 1.9.5, 1.10.1, 1.10.2

    Feature Area:

    hal

    Description:

    Clean slate:

    > + Deploy spin-clouddriver
    >   Success
    > + Deploy spin-front50
    >   Success
    > + Deploy spin-orca
    >   Success
    > + Deploy spin-deck
    >   Success
    > + Deploy spin-echo
    >   Success
    > + Deploy spin-gate
    >   Success
    > + Deploy spin-igor
    >   Success
    > + Deploy spin-rosco
    >   Success
    > Problems in Global:
    > ! ERROR Unexpected exception: java.lang.NullPointerException
    > 
    > - Failed to deploy Spinnaker.
    > - 
    

    Without DEBUG:

    > on http://localhost:34839/ui/s cluster in account "myk8scluster": View the kube ui - Deploy spin-front50
    >   Connecting to the Kubernetes cluster in account "myk8scluster": View the kube ui on http://localhost:36107/ui/s cluster in account "myk8scluster": View the kube ui - Apply deployment
    >   Failure
    > - Deploy spin-clouddriver
    >   Failure
    > - Deploy spin-front50
    >   Failure
    > - Deploy spin-orca
    >   Failure
    > - Deploy spin-deck
    >   Failure
    > - Deploy spin-echo
    >   Connecting to the Kubernetes cluster in account "myk8scluster": View the kube ui on http://localhost:42467/ui/
    > - Deploy spin-gate
    >   Connecting to the Kubernetes cluster in account "myk8scluster": View the kube ui on http://localhost:46815/ui/
    > - Deploy spin-igor
    >   Connecting to the Kubernetes cluster in account "myk8scluster": View the kube ui on http://localhost:44355/ui/
    > - Deploy spin-rosco
    >   Connecting to the Kubernetes cluster in account "myk8scluster": View the kube ui on http://localhost:44115/ui/
    > Problems in Global:
    > ! ERROR Unexpected exception: java.lang.NullPointerException
    

    With DEBUG enabled:

    > Problems in Global:
    > ! ERROR Unexpected exception: java.lang.NullPointerException
    > 
    > - Failed to deploy Spinnaker.
    > com.netflix.spinnaker.halyard.cli.services.v1.ExpectedDaemonFailureException: Failed to deploy Spinnaker.
    > 	at com.netflix.spinnaker.halyard.cli.services.v1.OperationHandler.get(OperationHandler.java:45)
    > 	at com.netflix.spinnaker.halyard.cli.command.v1.AbstractRemoteActionCommand.runRemoteAction(AbstractRemoteActionCommand.java:50)
    > 	at com.netflix.spinnaker.halyard.cli.command.v1.AbstractRemoteActionCommand.executeThis(AbstractRemoteActionCommand.java:103)
    > 	at com.netflix.spinnaker.halyard.cli.command.v1.NestableCommand.safeExecuteThis(NestableCommand.java:201)
    > 	at com.netflix.spinnaker.halyard.cli.command.v1.NestableCommand.execute(NestableCommand.java:149)
    > 	at com.netflix.spinnaker.halyard.cli.command.v1.NestableCommand.execute(NestableCommand.java:152)
    > 	at com.netflix.spinnaker.halyard.cli.command.v1.NestableCommand.execute(NestableCommand.java:152)
    > 	at com.netflix.spinnaker.halyard.cli.Main.main(Main.java:46)
    > Caused by: java.lang.Exception: Unexpected exception: java.lang.NullPointerException
    > 	at com.netflix.spinnaker.halyard.core.tasks.v1.DaemonTaskHandler.lambda$reduceChildren$0(DaemonTaskHandler.java:59)
    > 	at java.util.stream.ReduceOps$1ReducingSink.accept(ReduceOps.java:80)
    > 	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
    > 	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    > 	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    > 	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
    > 	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    > 	at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:484)
    > 	at com.netflix.spinnaker.halyard.core.tasks.v1.DaemonTaskHandler.reduceChildren(DaemonTaskHandler.java:41)
    > 	at com.netflix.spinnaker.halyard.deploy.deployment.v1.DistributedDeployer.deploy(DistributedDeployer.java:231)
    > 	at com.netflix.spinnaker.halyard.deploy.deployment.v1.DistributedDeployer.deploy(DistributedDeployer.java:56)
    > 	at com.netflix.spinnaker.halyard.deploy.services.v1.DeployService.deploy(DeployService.java:287)
    > 	at com.netflix.spinnaker.halyard.controllers.v1.DeploymentController.lambda$deploy$20(DeploymentController.java:262)
    > 	at com.netflix.spinnaker.halyard.core.DaemonResponse$StaticRequestBuilder.build(DaemonResponse.java:127)
    > 	at com.netflix.spinnaker.halyard.core.tasks.v1.TaskRepository.lambda$submitTask$1(TaskRepository.java:48)
    > 	at java.lang.Thread.run(Thread.java:748)
    

    Steps to Reproduce:

    Create private cluster (GKE). Nodes to use NAT gateway for outgoing traffic Authorize connection from haylard VM to master node Ensure kubectl get namespaces works add k8s account as deployment target hal deploy apply

    Additional Details:

    For the account used to deploy, I switched from v1 to v2 and then back to v1. Uncertain if this may have caused an issue.


    component/halyard provider/kubernetes-v2 stale to-be-closed 
    opened by celamb4 60
  • Support Gitlab CI as Git and CI provider in Igor

    Support Gitlab CI as Git and CI provider in Igor

    At my company we use Gitlab as an SCM hosting solution and we use Gitlab CI to do our CI. We also use Spinnaker, triggering pipelines when new docker images are added to the registry, but we'd like to have the tighter integration that is available for Jenkins (and Travis) and Github (and Stash and Bitbucket).

    For this to happen Igor (and various interface things in Deck) would need to be extended to support Gitlab CI.

    sig/ci 
    opened by mdirkse 53
  • [Kubernetes V2] Add namespace option for deployManifest

    [Kubernetes V2] Add namespace option for deployManifest

    Issue Summary:

    I would like to see an (optional) text field in the UI where I can set the target namespace. With this I won't have to create a deployment manifest for each namespace I deploy to.

    Cloud Provider(s):

    kubernetes

    Environment:

    kubernetes

    Feature Area:

    Kubernetes V2 / Deck-UI

    Description:

    Steps to Reproduce:

    Additional Details:

    enhancement ui provider/kubernetes-v2 stale 
    opened by e96wic 50
  • Unable to define reusable custom types

    Unable to define reusable custom types

    Issue Summary:

    Unable to define reusable custom types or define servers with more than 6.5 GB of memory per core.

    Cloud Provider(s):

    GCE

    Environment:

    Spinnaker running in GKE built through Halyard.

    Feature Area (if this issue is UI/UX related, please tag @spinnaker/ui-ux-team):

    @spinnaker/ui-ux-team, GCE, clouddriver

    Description:

    Spinnaker provides the option to use custom types; however, there is no way to add a custom type. This prevents us from using instances that use extended memory.

    Since GCE allows for the use of custom types, Spinnaker should reflect this.

    You can specify the CPU and memory explicitly. However this is coded to limit it to 6.5GB of Memory per code. At this time, this is an arbitrary limit, as GCE doesn't have the same issue. This can be seen by midifiying the JSON to use something more that 6.5GB and trying to deploy (screenshot below)

    Steps to Reproduce:

    Try to create a server with 4 CPU ad more than 26GB of Memory Screen Shot 2019-08-20 at 10 42 35 AM

    Additional Details:


    provider/gce stale to-be-closed sig/googlecloud 
    opened by awalkermiller 48
  • Enhancement: Add API key support to Spinnaker webhook endpoints

    Enhancement: Add API key support to Spinnaker webhook endpoints

    When hosting Spinnaker in a cloud environment it's easy enough to add authentication to the UI and API... but the webhook endpoint https://spinnaker-api/webhooks/webhook/sourcename is anonymously accessible.

    It'd be nice if, like with Slack webhooks, you could set it so calls to the webhook endpoint would require some sort of API key, perhaps in the query string. This would help reduce risk that malicious users could flood pipelines with repeated fake webhook payloads.

    enhancement component/gate stale to-be-closed 
    opened by tillig 46
  • Orca parses Kubernetes yaml and logs it (& fails pipeline)

    Orca parses Kubernetes yaml and logs it (& fails pipeline)

    Issue Summary:

    Similar to #5585 , Orca is logging some of a Kubernetes ConfigMap manifest during a Deploy Manifest stage.

    I have three hypotheses:

    1. SPeL execution somewhere as some of these ConfigMap's are in json (not base64 encoded) and have strings like ${prometheus_url:raw} and similar $.... SPeL execution is disabled in the pipeline stage though. Slack thread talking about SPeL evaluation issues Related PR? @marchello2000 : https://github.com/spinnaker/orca/pull/3286

    2. Aggregate size of all manifest artifacts. This is because the pipeline rarely fails when it fans to 2 deploy stages, but tends to always fail at fanning to 4+ deploy stages. All cluster manifests are pretty much the same.

    3. Oversized YAML manifest (~3.6MB) as suggested in this slack thread as Tomcat maxPostSize default 2MB.

    Cloud Provider(s):

    Kubernetes

    Environment:

    • Spinnaker on Kubernetes backed by Aurora MySQL (Orca/Clouddriver/Front50) deploying to Kubernetes
    • We use account restrictions via Fiat and a service account for triggers to use.
    • Pipelines triggered by Webhook

    Feature Area:

    Orca & Clouddriver-ro ?

    Description:

    Steps to Reproduce:

    1. Upload large yamls (~4MB) to S3 (we have 7)
    2. Webhook Trigger spinnaker with S3 artifact locations
    3. Fan out to multiple Deploy Stages
    4. Observe error.

    Additional Details:

    We could try increasing Tomcat maxPostSize but not sure which service exactly, for example:

          orca-local.yml: |-
            server:
              tomcat:
                maxPostSize: 0
    

    Logs:

    
    | 2020-03-27 07:41:04.976 | 2020-03-27 07:41:04.976  INFO 1 --- [pool-2-thread-1] c.n.s.o.s.t.SqlActiveExecutionsMonitor   : [] Refreshing active execution gauges (active: 0)                                                                                                                                                                                                                        |
    | 2020-03-27 07:42:01.303 | 2020-03-27 07:42:01.303  INFO 1 --- [    scheduler-5] com.netflix.spinnaker.q.QueueProcessor   : [] Received message StartExecution(executionType=pipeline, executionId=01E4DF1KAV3C5YAZ3XYNMB136F, application=prometheus)                                                                                                                                               |
    | 2020-03-27 07:42:01.356 | 2020-03-27 07:42:01.356  INFO 1 --- [      events-16] c.n.s.orca.front50.Front50Service        : [[email protected]] ---> HTTP GET http://spin-front50.spinnaker:8080/notifications/application/prometheus                                                                                                                                              |
    | 2020-03-27 07:42:01.368 | 2020-03-27 07:42:01.368  INFO 1 --- [    scheduler-5] com.netflix.spinnaker.q.QueueProcessor   : [] Received message StartStage(executionType=pipeline, executionId=01E4DF1KAV3C5YAZ3XYNMB136F, application=prometheus, stageId=01E4DF1KAW677HGGNPVQWVFQVZ)                                                                                                               |
    | 2020-03-27 07:42:01.396 |  at com.netflix.spinnaker.security.AuthenticatedRequest.lambda$propagate$0(AuthenticatedRequest.java:92)                                                                                                                                                                                                                                                                  |
    | 2020-03-27 07:42:01.396 |  at com.netflix.spinnaker.orca.events.ExecutionListenerAdapter.onApplicationEvent(ExecutionListenerAdapter.java:47)                                                                                                                                                                                                                                                       |
    | 2020-03-27 07:42:01.396 |  at com.netflix.spinnaker.orca.events.ExecutionListenerAdapter.onExecutionStarted(ExecutionListenerAdapter.java:57)                                                                                                                                                                                                                                                       |
    | 2020-03-27 07:42:01.396 |  at com.netflix.spinnaker.orca.echo.spring.EchoNotifyingExecutionListener.beforeExecution(EchoNotifyingExecutionListener.groovy:61)                                                                                                                                                                                                                                       |
    | 2020-03-27 07:42:01.396 |  at com.netflix.spinnaker.orca.echo.spring.EchoNotifyingExecutionListener.addApplicationNotifications(EchoNotifyingExecutionListener.groovy:129)                                                                                                                                                                                                                          |
    | 2020-03-27 07:42:01.396 | 2020-03-27 07:42:01.396  WARN 1 --- [      events-16] c.n.s.okhttp.OkHttp3MetricsInterceptor   : [[email protected]] Request GET:http://spin-front50.spinnaker:8080/notifications/application/prometheus is missing [X-SPINNAKER-ACCOUNTS] authentication headers and will be treated as anonymous.                                                     |
    | 2020-03-27 07:42:01.396 |  at com.netflix.spinnaker.orca.echo.spring.EchoNotifyingExecutionListener$_addApplicationNotifications_closure4.call(EchoNotifyingExecutionListener.groovy)                                                                                                                                                                                                               |
    | 2020-03-27 07:42:01.396 |  at com.netflix.spinnaker.orca.echo.spring.EchoNotifyingExecutionListener$_addApplicationNotifications_closure4.doCall(EchoNotifyingExecutionListener.groovy:128)                                                                                                                                                                                                         |
    | 2020-03-27 07:42:01.396 |  at com.netflix.spinnaker.okhttp.OkHttp3MetricsInterceptor.intercept(OkHttp3MetricsInterceptor.java:33)                                                                                                                                                                                                                                                                   |
    | 2020-03-27 07:42:01.396 | Request from: com.netflix.spinnaker.okhttp.MetricsInterceptor.doIntercept(MetricsInterceptor.java:95)                                                                                                                                                                                                                                                                     |
    | 2020-03-27 07:42:01.396 |  at com.netflix.spinnaker.orca.events.ExecutionListenerAdapter.onApplicationEvent(ExecutionListenerAdapter.java:30)                                                                                                                                                                                                                                                       |
    | 2020-03-27 07:42:01.397 | 2020-03-27 07:42:01.397  INFO 1 --- [      events-16] c.n.s.orca.front50.Front50Service        : [[email protected]] <--- HTTP 200 http://spin-front50.spinnaker:8080/notifications/application/prometheus (40ms)                                                                                                                                       |
    | 2020-03-27 07:42:01.419 | 2020-03-27 07:42:01.419  INFO 1 --- [      events-16] c.n.spinnaker.orca.echo.EchoService      : [] ---> HTTP POST http://spin-echo.spinnaker:8089/                                                                                                                                                                                                                       |
    | 2020-03-27 07:42:01.444 | 2020-03-27 07:42:01.444  INFO 1 --- [      events-19] c.n.spinnaker.orca.echo.EchoService      : [[email protected]] ---> HTTP POST http://spin-echo.spinnaker:8089/                                                                                                                                                                                    |
    | 2020-03-27 07:42:01.444 | 2020-03-27 07:42:01.444  INFO 1 --- [      events-16] c.n.spinnaker.orca.echo.EchoService      : [] <--- HTTP 200 http://spin-echo.spinnaker:8089/ (24ms)                                                                                                                                                                                                                 |
    | 2020-03-27 07:42:01.454 | 2020-03-27 07:42:01.454  INFO 1 --- [      events-19] c.n.spinnaker.orca.echo.EchoService      : [[email protected]] <--- HTTP 200 http://spin-echo.spinnaker:8089/ (9ms)                                                                                                                                                                               |
    | 2020-03-27 07:42:01.550 | 2020-03-27 07:42:01.550  INFO 1 --- [    scheduler-5] com.netflix.spinnaker.q.QueueProcessor   : [] Received message RunTask(executionType=pipeline, executionId=01E4DF1KAV3C5YAZ3XYNMB136F, application=prometheus, stageId=01E4DF1KAW677HGGNPVQWVFQVZ, taskId=1, taskType=class com.netflix.spinnaker.orca.clouddriver.tasks.manifest.ResolveDeploySourceManifestTask)  |
    | 2020-03-27 07:42:01.581 | 2020-03-27 07:42:01.581  INFO 1 --- [     handlers-6] c.n.s.orca.clouddriver.OortService       : [[email protected]] ---> HTTP PUT http://spin-clouddriver-ro.spinnaker:7002/artifacts/fetch/                                                                                                                                                           |
    | 2020-03-27 07:42:01.774 | 2020-03-27 07:42:01.774  INFO 1 --- [     handlers-6] c.n.s.orca.clouddriver.OortService       : [[email protected]] <--- HTTP 200 http://spin-clouddriver-ro.spinnaker:7002/artifacts/fetch/ (193ms)                                                                                                                                                   |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.q.QueueProcessor$callback$1$1.run(QueueProcessor.kt:89)                                                                                                                                                                                                                                                                                         |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.audit.ExecutionTrackingMessageHandlerPostProcessor$ExecutionTrackingMessageHandlerProxy.invoke(ExecutionTrackingMessageHandlerPostProcessor.kt:69)                                                                                                                                                                                       |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler.invoke(RunTaskHandler.kt:73)                                                                                                                                                                                                                                                                                      |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.OrcaMessageHandler$DefaultImpls.invoke(OrcaMessageHandler.kt)                                                                                                                                                                                                                                                                    |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.q.MessageHandler$DefaultImpls.invoke(MessageHandler.kt:36)                                                                                                                                                                                                                                                                                      |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler.handle(RunTaskHandler.kt:73)                                                                                                                                                                                                                                                                                      |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler.handle(RunTaskHandler.kt:88)                                                                                                                                                                                                                                                                                      |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler.withTask(RunTaskHandler.kt:202)                                                                                                                                                                                                                                                                                   |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler.withTask(RunTaskHandler.kt:73)                                                                                                                                                                                                                                                                                    |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.OrcaMessageHandler$DefaultImpls.withTask(OrcaMessageHandler.kt:60)                                                                                                                                                                                                                                                               |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler.withStage(RunTaskHandler.kt:73)                                                                                                                                                                                                                                                                                   |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.OrcaMessageHandler$DefaultImpls.withStage(OrcaMessageHandler.kt:74)                                                                                                                                                                                                                                                              |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler.withExecution(RunTaskHandler.kt:73)                                                                                                                                                                                                                                                                               |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.OrcaMessageHandler$DefaultImpls.withExecution(OrcaMessageHandler.kt:95)                                                                                                                                                                                                                                                          |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.OrcaMessageHandler$withStage$1.invoke(OrcaMessageHandler.kt:46)                                                                                                                                                                                                                                                                  |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.OrcaMessageHandler$withStage$1.invoke(OrcaMessageHandler.kt:85)                                                                                                                                                                                                                                                                  |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.OrcaMessageHandler$withTask$1.invoke(OrcaMessageHandler.kt:46)                                                                                                                                                                                                                                                                   |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.OrcaMessageHandler$withTask$1.invoke(OrcaMessageHandler.kt:68)                                                                                                                                                                                                                                                                   |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler$withTask$1.invoke(RunTaskHandler.kt:73)                                                                                                                                                                                                                                                                           |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler$withTask$1.invoke(RunTaskHandler.kt:209)                                                                                                                                                                                                                                                                          |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler$handle$1.invoke(RunTaskHandler.kt:73)                                                                                                                                                                                                                                                                             |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler$handle$1.invoke(RunTaskHandler.kt:127)                                                                                                                                                                                                                                                                            |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler.withAuth(RunTaskHandler.kt:73)                                                                                                                                                                                                                                                                                    |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.AuthenticationAware$DefaultImpls.withAuth(AuthenticationAware.kt:51)                                                                                                                                                                                                                                                             |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.security.AuthenticatedRequest.lambda$propagate$0(AuthenticatedRequest.java:92)                                                                                                                                                                                                                                                                  |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.AuthenticationAware$sam$java_util_concurrent_Callable$0.call(AuthenticationAware.kt)                                                                                                                                                                                                                                             |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler$handle$1$2.invoke(RunTaskHandler.kt:73)                                                                                                                                                                                                                                                                           |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler$handle$1$2.invoke(RunTaskHandler.kt:128)                                                                                                                                                                                                                                                                          |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler.access$withLoggingContext(RunTaskHandler.kt:73)                                                                                                                                                                                                                                                                   |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler.withLoggingContext(RunTaskHandler.kt:379)                                                                                                                                                                                                                                                                         |
    | 2020-03-27 07:42:01.774 | 2020-03-27 07:42:01.774  WARN 1 --- [     handlers-6] c.n.s.okhttp.OkHttp3MetricsInterceptor   : [[email protected]] Request PUT:http://spin-clouddriver-ro.spinnaker:7002/artifacts/fetch/ is missing [X-SPINNAKER-ACCOUNTS] authentication headers and will be treated as anonymous.                                                                  |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler$handle$1$2$1.invoke(RunTaskHandler.kt:130)                                                                                                                                                                                                                                                                        |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.clouddriver.tasks.manifest.ResolveDeploySourceManifestTask.execute(ResolveDeploySourceManifestTask.java:45)                                                                                                                                                                                                                                |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.clouddriver.tasks.manifest.ManifestEvaluator.evaluate(ManifestEvaluator.java:102)                                                                                                                                                                                                                                                          |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.clouddriver.tasks.manifest.ManifestEvaluator.getManifests(ManifestEvaluator.java:111)                                                                                                                                                                                                                                                      |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.clouddriver.tasks.manifest.ManifestEvaluator.getManifestsFromArtifact(ManifestEvaluator.java:130)                                                                                                                                                                                                                                          |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.kork.core.RetrySupport.retry(RetrySupport.java:34)                                                                                                                                                                                                                                                                                              |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.clouddriver.tasks.manifest.ManifestEvaluator.lambda$fetchAndParseManifestYaml$2(ManifestEvaluator.java:160)                                                                                                                                                                                                                                |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.clouddriver.DelegatingOortService.fetchArtifact(DelegatingOortService.java:128)                                                                                                                                                                                                                                                            |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.okhttp.OkHttp3MetricsInterceptor.intercept(OkHttp3MetricsInterceptor.java:33)                                                                                                                                                                                                                                                                   |
    | 2020-03-27 07:42:01.774 | Request from: com.netflix.spinnaker.okhttp.MetricsInterceptor.doIntercept(MetricsInterceptor.java:95)                                                                                                                                                                                                                                                                     |
    | 2020-03-27 07:42:01.774 |  at com.netflix.spinnaker.orca.q.handler.RunTaskHandler$handle$1$2$1.invoke(RunTaskHandler.kt:73)                                                                                                                                                                                                                                                                         |
    | 2020-03-27 07:42:04.979 | 2020-03-27 07:42:04.979  INFO 1 --- [pool-2-thread-1] c.n.s.o.s.t.SqlActiveExecutionsMonitor   : [] Refreshing active execution gauges (active: 1)                                                                                                                                                                                                                        |
    | 2020-03-27 07:42:33.573 | 2020-03-27 07:42:33.573  INFO 1 --- [    scheduler-3] com.netflix.spinnaker.q.QueueProcessor   : [] Received message RunTask(executionType=pipeline, executionId=01E4DF1KAV3C5YAZ3XYNMB136F, application=prometheus, stageId=01E4DF1KAW677HGGNPVQWVFQVZ, taskId=3, taskType=class com.netflix.spinnaker.orca.clouddriver.tasks.MonitorKatoTask)                           |
    | 2020-03-27 07:42:33.717 | 2020-03-27 07:42:33.717  INFO 1 --- [     handlers-7] c.n.s.k.expressions.ExpressionTransform  : [[email protected]] Failed to evaluate {                                                                                                                                                                                                               |
    | 2020-03-27 07:42:33.718 |     "gnetId": 5450,                                                                                                                                                                                                                                                                                                                                                       |
    | 2020-03-27 07:42:33.718 |     "editable": true,                                                                                                                                                                                                                                                                                                                                                     |
    | 2020-03-27 07:42:33.718 |     "description": "Alerts from prometheus.",                                                                                                                                                                                                                                                                                                                             |
    | 2020-03-27 07:42:33.718 |     },                                                                                                                                                                                                                                                                                                                                                                    |
    | 2020-03-27 07:42:33.718 |         ]                                                                                                                                                                                                                                                                                                                                                                 |
    | 2020-03-27 07:42:33.718 |             }                                                                                                                                                                                                                                                                                                                                                             |
    | 2020-03-27 07:42:33.718 |                 "type": "dashboard"                                                                                                                                                                                                                                                                                                                                       |
    | 2020-03-27 07:42:33.718 |                 "name": "Annotations & Alerts",                                                                                                                                                                                                                                                                                                                           |
    | 2020-03-27 07:42:33.718 |                 "iconColor": "rgba(0, 211, 255, 1)",                                                                                                                                                                                                                                                                                                                      |
    | 2020-03-27 07:42:33.718 |                 "hide": true,                                                                                                                                                                                                                                                                                                                                             |
    | 2020-03-27 07:42:33.718 |                 "enable": true,                                                                                                                                                                                                                                                                                                                                           |
    | 2020-03-27 07:42:33.718 |                 "datasource": "-- Grafana --",                                                                                                                                                                                                                                                                                                                            |
    | 2020-03-27 07:42:33.718 |                 "builtIn": 1,                                                                                                                                                                                                                                                                                                                                             |
    | 2020-03-27 07:42:33.718 |             {                                                                                                                                                                                                                                                                                                                                                             |
    
    stale to-be-closed sig/kubernetes 
    opened by karlskewes 45
  • halyard installation with redis storage fails with exception in front50

    halyard installation with redis storage fails with exception in front50

    Deployed Spinnaker using halyard on AWS instance, target being Kubernetes.

    Tried deploying versions 1.4.1, 1.3.1 using halyard.

    hal config storage edit --type s3 hal deploy apply

    After the deploy, there is an exception in front50.log

    [0.1-8080-exec-6] c.n.s.k.w.e.GenericExceptionHandlers : Not Found

    com.netflix.spinnaker.front50.exception.NotFoundException: No applications available at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83) at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:235) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:247) at com.netflix.spinnaker.front50.redis.RedisApplicationDAO.all(RedisApplicationDAO.groovy:64) at com.netflix.spinnaker.front50.redis.RedisApplicationDAO.all(RedisApplicationDAO.groovy:55) at com.netflix.spinnaker.front50.model.ItemDAO$all.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117) at com.netflix.spinnaker.front50.controllers.v2.ApplicationsController.applications(ApplicationsController.groovy:76) at com.netflix.spinnaker.front50.controllers.v2.ApplicationsController$$FastClassBySpringCGLIB$$c0e70d7c.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:64) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) at com.netflix.spinnaker.front50.controllers.v2.ApplicationsController$$EnhancerBySpringCGLIB$$bb46fbe0.applications() at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:222) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)

    After this, application cannot be created in the GUI. It stays in perpetual wait state. Changing the storage to S3, brings up the application. Redis storage configuration seems to be the problem.

    stale 
    opened by rebalag 45
  • Creation of server group with Autoscaling Policy Custom metric utilizations is failing

    Creation of server group with Autoscaling Policy Custom metric utilizations is failing

    Issue Summary: When trying to create a server group using gce account with autoscaling enabled and based on custom metric utilizations and scaling policy either with utilisation target or single instance assignment is failing.

    Cloud Provider(s): GCP

    Feature Area: clouddriver

    Description:

    Steps to Reproduce:

    1. Enable Autoscaling policy while creating server group and choose scaling policy as either single instance assignment or utilisation target

    Additional Details: autoscalingerr autoscaleerr2

    opened by SusmithaGundu 0
  • Join community slack link not working

    Join community slack link not working

    Issue Summary:

    Not able to join your community slack as the site you link to from your docs shows a placeholder page.

    Cloud Provider(s):

    N/A

    Environment:

    N/A

    Feature Area:

    N/A

    Description:

    I was trying to join your community slack, but the page your docs link to just shows a Heroku placeholder page.

    Steps to Reproduce:

    1. Go to the community page in the docs: https://spinnaker.io/docs/community/
    2. Click on the slack link, which takes you to: http://join.spinnaker.io/
    3. See a holding page

    Additional Details:

    opened by gilesrapkinb 0
  • Change of kubectl authentication on GKE

    Change of kubectl authentication on GKE

    Issue Summary: Change of kubectl authentication on GKE

    Cloud Provider(s): Google

    Environment: Spinnaker 1.29.1

    Description: I saw [1] in the GCP news that if you want to use kubectl with GKE-v1.26, it states that you have to install the gke-gcloud-auth-plugin plugin. We also use kubectl in Spinnaker, but after checking the latest version [2], it appears that the gke-gcloud-auth-plugin plugin is not installed. If this is the case, it appears that Spinnaker cannot be used with GKE-v1.26. Is there any support planned?

    [1] https://cloud.google.com/kubernetes-engine/docs/deprecations/auth-plugin?hl=en

    [2] https://github.com/spinnaker/clouddriver/blob/release-1.29.x/Dockerfile.slim#L40

    sig/kubernetes 
    opened by Lark-super 0
  • Echo Spring Cloud Config Server support not working - possibly missing dependencies

    Echo Spring Cloud Config Server support not working - possibly missing dependencies

    Issue Summary:

    I have configured spring.cloud.config.server in spinnakerconfig.yml This is picked up by Igor and Clouddriver services fine on startup, I can see the correct log messsages, i.e. for Igor Located property source: [BootstrapPropertySource {name='bootstrapProperties-vault:igor'}

    But same config for Echo is ignored.

    I can see support was added for Spring Cloud Config Server in Echo here - https://github.com/spinnaker/echo/pull/636/files

    I can also see that dependencies were added as a fix for Igor here - https://github.com/spinnaker/igor/pull/865/files

    I think dependencies are missing for Echo service, as I can't see the Spring Cloud Config JAR in the pod in /opt/echo/lib or in https://github.com/spinnaker/echo/blob/master/echo-web/echo-web.gradle

    Please can you add the dependencies for Echo service if so?

    Thanks

    Cloud Provider:

    GCP

    Environment:

    Deployed via halyard, migrated config to external Vault for Igor and Echo

    Feature Area:

    Echo Trigggers Pub Sub External Configuration

    Steps to Reproduce:

    spinnakerconfig.yml:

    spring:
      profiles:
        include: vault
      cloud:
        config:
          server:
            vault:
              host: <ommitted>
              port: <ommitted>
              scheme: https
              skipSslValidation: true
              backend: <ommitted>
              kvVersion: 2
              token: <ommitted>
              namespace: <ommitted>
    

    echo-local.yml:

    spring:
      cloud:
        config:
          server:
            vault:
              defaultKey: echo
    

    igor.yml:

    spring:
      cloud:
        config:
          server:
            vault:
              defaultKey: igor
    

    Additional Details:

    No logs indicated spring cloud config is being picked up for Echo


    Please delete the instructions below this line prior to submitting

    Instructions:

    Descriptions:

    • Issue Summary: A brief description of what you're seeing.
    • Cloud Provider: AWS, GCP, Kubernetes, Azure, Cloud Foundry, etc.
    • Environment: As much information about your Spinnaker environment and configuration that might be relevant to the issue. For example: "I am running Spinnaker using the Amazon images to deploy into AWS and GCP."
    • Feature Area: Notifications, Pipelines, UI, Jenkins, etc.
    • Description: The behavior you expect to see, and the actual behavior.
    • Steps to reproduce: Ideally, an isolated way to reproduce the behavior (example: GitHub repository with code isolated to the issue that anyone can clone to observe the problem). If not possible, as much information as possible to see this behavior.
    • Additional Details: Additional information such as screenshots and exception logs.
    component/echo 
    opened by samirtahir91 0
  • Halyard is not available on MacOS since Sierra update.

    Halyard is not available on MacOS since Sierra update.

    Issue Summary:

    Cloud Provider(s):

    Environment:

    Feature Area:

    Description:

    Steps to Reproduce:

    Additional Details:


    Please delete the instructions below this line prior to submitting

    Instructions:

    Descriptions:

    • Issue Summary: A brief description of what you're seeing.
    • Cloud Provider: AWS, GCP, Kubernetes, Azure, Cloud Foundry, etc.
    • Environment: As much information about your Spinnaker environment and configuration that might be relevant to the issue. For example: "I am running Spinnaker using the Amazon images to deploy into AWS and GCP."
    • Feature Area: Notifications, Pipelines, UI, Jenkins, etc.
    • Description: The behavior you expect to see, and the actual behavior.
    • Steps to reproduce: Ideally, an isolated way to reproduce the behavior (example: GitHub repository with code isolated to the issue that anyone can clone to observe the problem). If not possible, as much information as possible to see this behavior.
    • Additional Details: Additional information such as screenshots and exception logs.
    opened by sramekmichal 2
  • Spinnaker does not support air-gapped environment

    Spinnaker does not support air-gapped environment

    Issue Summary:

    Spinnaker does not support air-gapped environment

    In an air-gapped environment, we are seeing this error on a jquery call that times out Spinnaker login. TLS (2)

    Cloud Provider(s):

    Kubernetes

    Environment:

    Spinnaker 1.27+ within a kubernetes cluster within an air-gapped environment - no internet access.

    Feature Area:

    Spinnaker UI

    Description:

    See discussion in spinnaker channel for further details, suggestions, comments: https://spinnakerteam.slack.com/archives/C091CCWRJ/p1667930838189599

    Web browser link to thread and associated replies with details of issue: https://app.slack.com/client/T091CRSGH/C091CCWRJ

    Steps to Reproduce:

    Open Spinnaker UI within air-gapped environment.

    Additional Details:


    Please delete the instructions below this line prior to submitting

    Instructions:

    Descriptions:

    • Issue Summary: A brief description of what you're seeing.
    • Cloud Provider: AWS, GCP, Kubernetes, Azure, Cloud Foundry, etc.
    • Environment: As much information about your Spinnaker environment and configuration that might be relevant to the issue. For example: "I am running Spinnaker using the Amazon images to deploy into AWS and GCP."
    • Feature Area: Notifications, Pipelines, UI, Jenkins, etc.
    • Description: The behavior you expect to see, and the actual behavior.
    • Steps to reproduce: Ideally, an isolated way to reproduce the behavior (example: GitHub repository with code isolated to the issue that anyone can clone to observe the problem). If not possible, as much information as possible to see this behavior.
    • Additional Details: Additional information such as screenshots and exception logs.
    opened by jimdumont 0
Releases(v0.83.0)
  • v0.83.0(Dec 19, 2017)

    fix(buildtool): detect variants of the same github repository url feat(buildtool): Added fetch_source command. fix(sh/compatibility): gradle >= 3.2 creates startup scripts using sh instead of bash (#2189) feat(buildtool): Main program skeleton fix(tests/kubernetes): disable daemonset & statefulset tests (#2187) feat(buildtool): Added command processor feat(buildtool): buildtool.source_code_manager module feat(buildtool): buildtool git and util modules chore(remove_http_logging): Remove http logging. (#2157) fix(annotate_source): Remove errant re-tagging if no changes. (#2156) refactor(vm_component_images): Refactor vm image orchestration. feat(build): refresh source from bom (#2140) feat(Testcase) : Adding Daemonset & Statefulsets creation testcase(Co… (#2122) fix(testing): Fixed az agent constructor call. Xenial builds (#2116) chore(build): --log-http to gcloud container builder chore(testing): Remove deprecated trace parameter from dcos testing agent. chore(testing): Dont use deprecated optional citest trace parameters. fix(bake&deploy): s/and/or (#2081) Update gate.py fix(test): Don't crash when server gives non-list response (#2080) fix(google/lbs): Update tests for L7 upsert update. (#2079) fix(http_lb): Update upsert description for UHCs. (#2073) fix(bake_and_deploy): 'image: None' omitted from pipeline (#2070) feat(bom): Set sane default maven url lookup path. (#2054) feat(google): Configure test applications for platform health checks (#2045) chore(kubernetes): Delete very out of date experimental/kubernetes directory. Use Halyard instead. (#2028) update links for getting started docs (#2004) fix(ha_janitor): Add force yes option to gcloud delete script. (#2003) fix(validate): Accomodate change in AWS response when validating. (#1997) chore(validate): Test appengine storage account. (#1998) fix(citest/gce): Fix quotes around string literal. (#1994) fix(validate): Tolerate 404 when checking resovledEnv in citests. (#1990) fix(google_http_lb_tests): Update deploy description for named ports. (#1991) feat(validate): added google cloud logging to validation instances (#1957) refactor(release): Remove unused nebula code (#1978) fix(build): skip orca junit tests (#1970) chore(dev): Accomodate mixed-branch checkouts (#1956) add an option for redis when to install spinnaker (#1662) fix(packer): Set -x in shebang for inline scripts (#1782) docs(tests/appengine): prerequisites for running app engine smoke test (#1936) chore(validate): Preinstall monitoring (#1946) feat(release): Minimum halyard version (#1944) fix(test/bake&deploy): Remove index (#1943) fix(provider/dcos): Fixup base and deck dcos config. (#1932) fix(validate): Tolerate 404's to resolvedEnv, which is no longer visible by default. (#1925) feat(testing): add basic smoke tests for DC/OS (#1899) chore(springBoot): Config and script changes for Spring Boot upgrade (#1911) feat(validate): Support/configure DC/OS accounts and their citests. (#1907) Update spinnaker-gradle-project to 3.15.0 for rpm support (#1828) chore(c2d): Improve first_halyard_boot help-text (#1897) chore(c2d): Improve first_halyard_boot help-text fix(c2d): Startup script overwriting (#1894) fix(halyard-boot): Enable cloud resource manager API (#1892) chore(build): Add only_publish_changelog flag. (#1890) fix(publish_halyard): run_shell_and_log doesn't accept pipes. (#1889) fix(publish_halyard): Avoid Nebula's unsavory opinions. (#1888) fix(publish_halyard): Remove BackgroundProcess references. (#1887) fix(ha_image_janitor): Tag only published images, not aliased. (#1883) fix(c2d): Ensure startup-script is deregistered (#1882) feat(ha_images): Added HA image janitor. (#1877) fix(build_numbers): Use datetime for build numbers, not job numbers. (#1875) fix(dev): Separate stderr and stdout in run_quick (#1870) fix(generate_bom): Exclude Halyard from generated changelogs. (#1867) fix(release): Tag halyard once (#1859) feat(release): Publish Halyard JARS independentlt (#1853) fix(build_release): Specify branch on triggered GCB builds. (#1854) fix(build_release): Specify directory to build with GCB. (#1852) fix(build_release): Missing equals sign. (#1851) fix(build_release): Ignore failed components correctly. (#1850) fix(build_release): Handle GCB triggered build timeouts correctly. (#1849) fix(build_release): Report build errors explicitly. (#1846) feat(build_release): Add GCB container builds via triggers. (#1830) fix(release): Halyard not being published with correct distribution (#1843) fix(c2d): Relax bucket name restrictions be char replacement (#1841) fix(c2d): Fix bug when custom kubeconfig supplied (#1840) fix(build/release): Missing comma (#1839) fix(c2d): Fixes bug where existing kubeconfig would cause script to exit early (#1838) feat(build/debian): Make running unit tests configurable (#1837) fix(build): Dont buffer log output (#1835) feat(testing): Test appengine from gcs bucket (#1833) chore(build): Add '--info' logging to builds. (#1827) Log onexit (#1825) chore(validate): Migrated azure test to new ObservationPredicate API (#1800) fix(testing): Consider an instance still PROVISIONING as being a successful creation. (#1824) fix(generate_bom): Replace removed config_file. (#1811) chore(tests): Drop the explicit executionEngine attribute on canned pipelines. (#1809) fix(generate_bom): Adds container builder base image as param. (#1807) fix(validate): Fixed syntax error (#1805) perf(build): Start with populated cache in container builds. (#1802) chore(validate): Migrate aws tests to new observer predicate API (#1799) chore(validate): Poll less frequently on long operations (#1803) Google tests (#1797) fix(build): gradle-user-home instead of underscores (#1798) chore(validate): more monitoring, less logging (#1791) chore(c2d): Cleanup logs (#1794) feat(launcher): enables necessary apis on halyard boot (#1795) chore(build): Added Dockerfile for gradle cache container image. (#1793) perf(build): Enable using gradle cache on builds. (#1788) fix(publish_gce_release): Set default publish family. (#1792) fix(c2d): Fix multi-provider deploy permission clobbering (#1789) docs(c2d): Parameter docs (#1787) fix(c2d): Ownership of hal files should be ubuntu (#1786) fix(c2d): local scoped to functions only (#1785) feat(c2d): Publish image with family (#1784) feat(c2d): Image family support (#1781) feat(c2d): Adds basic appengine config to c2d image (#1780) feat(validate): Added deploy_google_network and tags options. (#1778) fix(validate): Various validation fixes and enhancements (#1769) make it clear only Ubuntu 14.xx.x is supported now (#1768) fix(c2d): Cleanup c2d halyard install (#1767) fix(c2d): Use local debian install path (#1765) fix(c2d): Run halyard as ubuntu, not spinnaker (#1764) fix(c2d): Fix silly chmod usage error (#1763) fix(install): Supply --user to halyard install script (#1762) fix(generate_bom): Fix up Halyard version entry initialization. (#1758) Fix links in README (#1728) fix(validate): retry aws to accommodate eventual consistency (#1754) feat(build): Build and push rpms (#1753) Adding citests for user data functionality. (#1744) Update git depth of TravisCI checkout. (#1752)

    Source code(tar.gz)
    Source code(zip)
  • v0.82.0(Jun 13, 2017)

    • feat(bom): Adds utility to reconstruct source from BOM. (#1745)
    • fix(annotate): Add the human tags to HEAD. (#1748)
    • fix(annotate): Honor manually specified tag override. (#1747)
    • fix(google_images): Supply Halyard with a user to run as. (#1746)
    • fix(install): Supply --user to halyard install script (#1743)
    • fix(validate): fixed location assumptions in tests. (#1741)
    • fix(validate): Fixed server group check in appengine_smoke_test. (#1740)
    • fix(validate): sudo hal deploy apply (#1737)
    • fix(validate): Fixed hal user from previous commit. (#1736)
    • fix(validate): Install halyard with --user (#1735)
    • chore(validate): various validation cleanup and refactoring (#1734)
    • fix(build): Revert change to build numbers. (#1733)
    • feat(validate): Added --halyard_version (#1730)
    • fix(build): Write Halyard version to test into a global file. (#1731)
    • fix(bom): Quick fix for Debian repo URI. (#1727)
    • fix(bom): Make git artifact source name agnostic. (#1726)
    • fix(build): Write build subprocess output to file. (#1719)
    • feat(bom): Adds artifact sources so BOM is self-describing. (#1715)
    • feat(bom): Include component commit hashes in BOM. (#1720)
    • fix(validate): Fix validating aws deployments (#1718)
    • fix(publish): Change to UTC time and clean git artifacts. (#1716)
    • feat(validate): validate halyard aws. (#1714)
    • chore(install): Halyard bootscript (#1486)
    • feat(halyard): Build halyard image (#1709)
    • fix(publish_bom): Can't cat strings to lists. (#1712)
    • fix(build): Include all subsystems in index. (#1710)
    • fix(build): Space out container builds. (#1707)
    • Create README.md
    • Update README.md
    • feat(halyard): Base install for c2d (#1706)
    • fix(dev): various fixes to build scripts (#1700)
    • Pin redis version on first boot (#1704)
    • Updates PR template contributing URL (#1702)
    • fix(changelog_gist): Don't chop off first component name. (#1701)
    • fix(component_image): Can't gcloud get instances (#1699)
    • fix(changelog): Sanitize changelog and rename changelog post. (#1697)
    • Config network protocol used (#1693)
    • fix(validate): Fixed front50 test (#1694)
    • feat(validation): Monitor validation (#1691)
    • feat(validate): Deploy to EC2 (#1688)
    • fix(bake): Warn when quota may be exhausted (#1689)
    • fix(publish/halyard): Ensure docs are always unique (#1687)
    • fix(validate): pass through hal_user when ssh/scp (#1685)
    • fix(bake): Allow auto-delete flag to propagate (#1686)
    • fix(validate): Handle no-argument flags (#1682)
    • fix(deploy): publish stable halyard version (#1681)
    • fix(publish_changelog): Don't use full path name for 'created by' file
    • fix(google_kato_test): Temporarily remove list image test. (#1680)
    • feat(validate): Run appengine integration tests. (#1676)
    Source code(tar.gz)
    Source code(zip)
  • v0.81.0(May 23, 2017)

    fix(bake): Fixes bake of consul & vault servers (#1601) feat(hal_promote): Adds script to promote stable Halyard. (#1602) feat(publish_bom): Append release version to available versions file. fix(generate_bom): Removed 'hostname' field from BOM. (#1604) fix(hal_k8s_run): Update GCS config command. (#1607) chore(bake): Spit out contents of log files after build completes (#1606 fix(hal_k8s_run): Enable GCS. (#1608) config(provider/openstack): Added extra settings and some documentati… fix(google): Fixed codelab image construction (#1611) fix(google): Install codelab boot scripts. (#1613) feat(publish_changelog): Open changelog PR against upstream docs repo. fix(publish_bom): Set versions.yml entry link to changelog gist. (#1618) fix(release): Temporarily cut over to 'spinnaker-team/spinnakerbuild'. fix(release): Point to correct halyard install scripts. (#1620) fix(ha_images): Get rid of cross-project ssh. (#1625) fix(prevalidate): Support for building patch releases. (#1626) fix(halyard_install): Cut back over to spinnaker-releases repo. (#1627) feat(halyard_release): publish halyard docs when releasing halyard feat(halyard_release): push directly to docs repo (#1629) fix(google_smoke_test): Include operation context name in L4 upsert. feat(halyard_release): push directly to docs repo" (#1633) feat(halyard_release): push directly to docs repo" fix(component_image): Don't leave residual images in build project. fix(echo): Add Slack botName to echo configs (#1637) feat(testing): Script for deploying and validating a bom. (#1636) feat(docs): publish api docs (#1639) feat(gce): adds associate public ip flag to settings.js (#1640) feat(dev): Fixes to google image scripts. (#1642) feat(testing): ValidateBom with kubernetes deployment. (#1643) feat(profiles): Publish a tar.gz for profile directories (#1641) fix(generate_bom): Missing paren and some indentation. (#1644) fix(generate_bom): Unconflate tarfile and profile paths. (#1645) fix(publish_bom): Export GIST_URI for email notification. (#1646) feat(testing): collect logs after validating boms. (#1647) fix(profile): Correctly package contents of tar archives (#1655) fix(google_component_image): Run ssh command with correct script loca chore(validate): Use raw scp/ssh instaed of gcloud (#1658) fix(generate_bom): Don't checkout code branch. (#1659) fix(validate): Add --deploy_verison (#1660) feat(azure): Run azure interoperability tests during validation (#1666) chore(validate): Cleanup error handling and reporting. (#1665) fix(validate): handle overriden test paths. (#1668) fix(azure): Allow azure smoke test to run from anywhere. (#1664) chore(validate) Refactor validate and add azure (#1671) feat(validate): add --test_stack (#1672) fix(bake_and_deploy_test): Change jenkins trigger job name. (#1675) Fix Ubuntu check to stop installation on Ubuntu 16.04 LTS (#1553)

    Source code(tar.gz)
    Source code(zip)
  • v0.80.0(Apr 26, 2017)

    fix(docker-compose):Fixing typo in docker-compose.yml fix(dev): Install kubectl with bootstrap_dev.sh (#1536) fix(halyard_k8s): Institutionalize the actuation. (#1537) fix(dev): Fix path in instructions. (#1539) fix(front50_test): Don't inspect config if host platform is 'native'. (… … fix(dev): fixes deck dev startup (#1538) fix(install): Inject YAML nodes to fix disabling cassandra. (#1540) … fix(bom): Add external dependency versions. (#1542) fix(dev): clean google tarball more (#1549) … fix(dev): build google tarball from existing image (#1551) fix(dev): Recreate disks through instances, not directly from images (#… … Change experimental/kubernetes/ha to remove launch args (#1555) … fix(hal_k8s_run): Update halyard's webhook -> ci change. (#1563) feat(nightly): Publish nightly test results to spinnaker.github.io. (#… … fix(hal_k8s): actuate -> apply. (#1565) chore(dev): Simplify build_googe_image.sh (#1564) … chore(testing): Migrated aws tests from AwsCliAgent to AwsPythonAgent (… … Adding chaosEnabled and chaosMonkey flags to config/settings.js and a… … fix(dev): Fixed image extraction to tar.gz (#1569) fix(config): Add chaos.enabled to spinnaker.yml (#1572) fix(tests): Fixed native test startup / configuration (#1573) … feat(build_image): Add script to build GCE image of one component. (#… … fix(dev): Permit refresh_source to be run from within a non-spinnaker… … feat(changelog): script for publishing changelog (#1578) fix(bom): Fix redis version (#1582) … chore(bake): Bake images for redis, vault-server & consul-server (#1583) fix(component_images): Wait for subprocess and fail if any fail. (#1586) fix(hal_k8s_run): Remove kubeconfig logging. (#1587) initial commit - Azure test (app/security group) (#1560) fix(publish_bom): Update 'hal' commands and repo paths. (#1588) fix(publish): Delete existing VM images when rebaking (#1590) chore(google): allow reuse of a bash support module. (#1591) fix(bake): Replace colon in image names (#1593) fix(bake): Rely on artifact name, not service name for baking (#1594) chore(google): changed scripts building google image and codelab. (#1595 … chore(google): Update codelab config (#1596) feat(halyard_release): Implement support for Halyard release tracks. (#… …

    Source code(tar.gz)
    Source code(zip)
  • v0.79.0(Apr 5, 2017)

    chore(provider/k8s) Add auth endpoint to k8s/simple settings.js. feat(build_release): Use gradle to publish builds instead of manual copy. fix: Make the update_run_scripts default to True. Added noupdate_run_scripts to disable it. refactor(monitoring): Migrate stackdriver_monitor to spinnaker-monitoring repo. fix(docs): Fix the paths to spinnaker-local.yml in the Configure Spinnaker sec…tion of Setting Up Spinnaker for Development in the README. feat(provider/appengine): Add app engine smoke test. feat(bom): BOM generation tool. chore(PR Template): Updated the PR template with commit message conventions. feat(bom): Publish BOM using Halyard. feat(install_dev): Install Halyard when creating a machine. feat(monitoring): Optionally install spinnaker-monitoring from InstallSpinnaker. feat(bom): Added microservice config publishing. feat(bom): Script to 'promote' BOM for release. feat(halyard): Added halyard to list of built artifacts. feat(halyard): Added halyard to list of built artifacts feat(build): Generate Docker images during build script. fix(build): Explicitly pass project to Google Container Builder. fix(dev): Minor fixes to special cases in build_release. feat(bom): Generate and write changelog. feat(build): Build spinnaker distribution to validate with citest. fix(bom): Publish config profiles one at a time. feat(promote): Publish changelog as github gist. feat(build): Add spinnaker-monitoring to bom and build. fix(bom): Longer timeouts for GCB builds. fix(bom): Changed timeouts to seconds. fix(bom): Extended GCB timeouts. fix(bom): Rename 'spinnaker-monitoring-' to 'monitoring-'. fix(config): Fix config publishing for spinnaker-monitoring. feat(bom): Add 'spinnaker' to the release BOM. feat(bom): Added argument for mandatory version during promotion. fix(dev/build): Update path to log on startup. fix(citest) init appengine bindings only if gcp project is set. feat(promote): Push tags and branches to remote repos during publication. fix(tests): Fixed unittests. fix(dev): Fixed change_cassandra for disabling cassandra. fix(build): Replaces removed workflow to build debs with main in Builder. fix(changelog): Fix broken URLs by invoking 'clog' properly. fix(google): Remove build data from google images. fix(dev): Fixed warnings in build_google_image. chore(changelog): Extend changelog keywords. chore(changelog): Remove 'bc' keyword. fix(google): Handle domain names in project names. fix(build): Clean .gradle cache before GCB invocation. feat(release): Deploy built spinnaker version to k8s. fix(kube_smoke_test): Use passed k8s account name in pipeline. fix(dev): start/stop deck. fix(google_kato_test): Default to bindings for spinnaker account fix(google_front50_test): Default bucket and base path from test bindings fix(citest): Dont perform superfluous platform initializations. feat(citest/aws): Aws smoke test. feat(halyard_k8s_pod): Use halyard to configure jenkins for bake and deploy test. fix(dev): Fixes to setting up google development environment.

    Source code(tar.gz)
    Source code(zip)
  • v0.78.0(Feb 18, 2017)

    (azure) config changes for front50 azs (azure) config fix for rosco.yml (google) can config front50 gcs independent of clouddriver compute credentials (appengine) added provider config

    Source code(tar.gz)
    Source code(zip)
  • v0.77.0(Feb 10, 2017)

  • v0.76.0(Feb 8, 2017)

    (azure) support for Azure Storage instead of cassandra (azure) add object_id as packer configuration param (kube) cleanup replica sets (kube) ECR now supported (kube) migrate replica controllers to replica sets

    Source code(tar.gz)
    Source code(zip)
  • v0.75.0(Jan 15, 2017)

    (build) Fix build_google_tarball to specify project when deleting snapshot. (build) Handle SPEL concatenation in python scripts. (build) Get GCR service account email via metadata server. (citest) Update L7 LB tests for read-only forwarding rules. (citest) Refactor to support multiple endpoints/replicas for a given service. (monitoring) Remove deprecated stackdriver hints. (google) Document how to index and use images from additional GCP projects. (google) Add image-sharing link. (citest) Update google_kato_test.available_images for the new result schema. (build) Fix corner cases for python scripts interpreting spring yaml. (citest) Add tool to facilitate deleting GCP resources. (openstack) Add OpenStack as a provider in settings.js. (docker) Clean up default docker config. (monitoring) Optionally log metric deltas across polls in metric_tool. (build) Factor out CI image validation script from Jenkins. (deck) Remove Rosco port from Apache2 ProxyPass config. (rosco) Upgrade packer to v0.12.1.

    Source code(tar.gz)
    Source code(zip)
  • v0.74.0(Dec 13, 2016)

  • v0.73.0(Dec 11, 2016)

  • v0.72.0(Dec 10, 2016)

  • v0.71.0(Dec 10, 2016)

  • v0.70.0(Dec 6, 2016)

    (front50) Increase size of DefaultNotificationDAO and DefaultPipelineDAO threadpools. (k8s) Fix IAM policy for Spinnaker on GCE. (compose) Link Rosco to Orca and Gate. (openstack) Add default config for user data files. (dev) Tweak install to turn off cassandra. (metrics) Refactor collector tool. (metrics) Added stackdriver collector to metric collector as a different deployment option. (fiat) Add Fiat service in RO and Mutate operational modes. (k8s) Changes various /env readinessProbes to /health, because some services refuse to serve traffic (due to /env becoming restricted with Fiat & Spring Security. (install) Suppress output from apache check and tolerate apt-get update failure.

    Source code(tar.gz)
    Source code(zip)
  • v0.69.0(Nov 2, 2016)

  • v0.68.0(Nov 1, 2016)

    Citest

    • Edit references to `$HOME/.spinnaker
    • Update front50 test for v2 migration

    Stackdriver

    • S3 as front50 hints
    • Gate hints

    Install

    • NonInteractive mode when creating codelab image
    Source code(tar.gz)
    Source code(zip)
  • v0.67.0(Oct 27, 2016)

    (citest) Fix bake & Deploy K8s smoke tests. (citest) Fix K8s test account reference. (citest) Disable deck tests when CHROME_BIN isn't set. (stackdriver) Configure spectator/stackdriver per service rather than directly in spinnaker.yml (kubernetes) Provide first_google_boot with kube_config. (citest) GCE L7 test deletes security group and updated health check. (google) Add confdef/confold flags to dist-upgrade in first_google_boot.

    Source code(tar.gz)
    Source code(zip)
  • v0.66.0(Oct 14, 2016)

    (install) create unique temporary directories during install to mitigate failure recovery (config) removed superfluous services.default.primaryAccountName configuration parameter added back env variable defaults to spinnaker.yml where they were in default-spinnaker-local (openstack) initial configuration parameters

    Source code(tar.gz)
    Source code(zip)
  • v0.65.0(Oct 13, 2016)

    (citest) Rewrote contracts to use DICT_MATCHES and LIST_MATCHES. (citest/gce) Added retry to 'delete pipeline' in bake and deploy test. (stackdriver) Config stackdriver label hint for front50. (citest/gce) Fixed httplb test. (k8s) Change release tag from latest to master. (deck) Update deck to resolve bake details url (aka the logs) via gate instead of directly via rosco. (deck) Drop :8087 from various port forwarding examples/commands.

    Source code(tar.gz)
    Source code(zip)
  • v0.64.0(Oct 11, 2016)

  • v0.63.0(Oct 4, 2016)

  • v0.62.0(Sep 28, 2016)

  • v0.61.0(Sep 27, 2016)

    • Added --force_pull option. Dont pull mixed branches by default.
    • Added fiatEnabled flag to autoconfigured settings.js
    • Updated Kubernetes Install IAM requirements.
    • Fix aws.defaults.iamRole typo.
    • Updated install/first_google_boot.sh to accept GCR registry location & Kubernetes project and zone.
    Source code(tar.gz)
    Source code(zip)
  • v0.60.0(Sep 8, 2016)

  • v0.59.0(Sep 8, 2016)

  • v0.58.0(Sep 8, 2016)

  • v0.57.0(Sep 8, 2016)

  • v0.56.0(Sep 8, 2016)

  • v0.55.0(Aug 25, 2016)

  • v0.54.0(Aug 24, 2016)

Owner
Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.
null
Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:

Latest Salt Documentation Open an issue (bug report, feature request, etc.) Salt is the world’s fastest, most intelligent and scalable automation engi

SaltStack 12.9k Jan 4, 2023
Let's Git - Version Control & Open Source Homework

Let's Git - Version Control & Open Source Homework Welcome to this homework for our MOOC: Let's Git! We hope you will learn a lot and have fun working

null 1 Dec 5, 2021
📦 Powerful Package manager which updates plugins & server software for minecraft servers

pluGET A powerful package manager which updates Plugins and Server Software for minecraft servers. Screenshots check all to check installed plugins fo

null 106 Dec 16, 2022
Project 4 Cloud DevOps Nanodegree

Project Overview In this project, you will apply the skills you have acquired in this course to operationalize a Machine Learning Microservice API. Yo

null 1 Nov 21, 2021
Oracle Cloud Infrastructure Object Storage fsspec implementation

Oracle Cloud Infrastructure Object Storage fsspec implementation The Oracle Cloud Infrastructure Object Storage service is an internet-scale, high-per

Oracle 9 Dec 18, 2022
Cross-platform lib for process and system monitoring in Python

Home Install Documentation Download Forum Blog Funding What's new Summary psutil (process and system utilities) is a cross-platform library for retrie

Giampaolo Rodola 9k Jan 2, 2023
Apache Airflow - A platform to programmatically author, schedule, and monitor workflows

Apache Airflow Apache Airflow (or simply Airflow) is a platform to programmatically author, schedule, and monitor workflows. When workflows are define

The Apache Software Foundation 28.6k Jan 1, 2023
Define and run multi-container applications with Docker

Docker Compose Docker Compose is a tool for running multi-container applications on Docker defined using the Compose file format. A Compose file is us

Docker 28.2k Jan 8, 2023
Deploy a simple Multi-Node Clickhouse Cluster with docker-compose in minutes.

Simple Multi Node Clickhouse Cluster I hate those single-node clickhouse clusters and manually installation, I mean, why should we: Running multiple c

Nova Kwok 11 Nov 18, 2022
Oncall is a calendar tool designed for scheduling and managing on-call shifts. It can be used as source of dynamic ownership info for paging systems like http://iris.claims.

Oncall See admin docs for information on how to run and manage Oncall. Development setup Prerequisites Debian/Ubuntu - sudo apt-get install libsasl2-d

LinkedIn 928 Dec 22, 2022
A tool to convert AWS EC2 instances back and forth between On-Demand and Spot billing models.

ec2-spot-converter This tool converts existing AWS EC2 instances back and forth between On-Demand and 'persistent' Spot billing models while preservin

jcjorel 152 Dec 29, 2022
Iris is a highly configurable and flexible service for paging and messaging.

Iris Iris core, API, UI and sender service. For third-party integration support, see iris-relay, a stateless proxy designed to sit at the edge of a pr

LinkedIn 715 Dec 28, 2022
Let's learn how to build, release and operate your containerized applications to Amazon ECS and AWS Fargate using AWS Copilot.

?? Welcome to AWS Copilot Workshop In this workshop, you'll learn how to build, release and operate your containerised applications to Amazon ECS and

Donnie Prakoso 15 Jul 14, 2022
pyinfra automates infrastructure super fast at massive scale. It can be used for ad-hoc command execution, service deployment, configuration management and more.

pyinfra automates/provisions/manages/deploys infrastructure super fast at massive scale. It can be used for ad-hoc command execution, service deployme

Nick Barrett 2.1k Dec 29, 2022
Simple, Pythonic remote execution and deployment.

Welcome to Fabric! Fabric is a high level Python (2.7, 3.4+) library designed to execute shell commands remotely over SSH, yielding useful Python obje

Fabric 13.8k Jan 6, 2023
This repository contains code examples and documentation for learning how applications can be developed with Kubernetes

BigBitBus KAT Components Click on the diagram to enlarge, or follow this link for detailed documentation Introduction Welcome to the BigBitBus Kuberne

null 51 Oct 16, 2022