Bake (Manifest) with Helm Chart - Spinnaker 1.8/kubernetes v2


#1

I have an application, and attempting to deploy a kubernetes manifest using a Helm Chart

  1. I have packaged the Helm chart in github as a .tgz file
  2. I have gone into Pipeline/Add Stage/Type=Bake(Manifest)
  3. In ‘Bake (Manifest) Configuration’ I have selected ‘Render Engine=HELM2’
  4. I want to use my Github .tgz file as ‘Expected Artifact’ .

Problem is that the ‘Expected Artifact’ is a dropdown list of available artifacts. In my case this is an empty list - that is my problem !

Does this artifact need to be brought into the pipeline by an earlier stage ? If so what stage type should I use to bring it in - its not obvious to me …

Grateful for some help/advice,

Many Thanks,

Malcolm


#2

@k8sSpin have a look at this video that i made recently, it should explain a lot: https://kb.armory.io/kubernetes/using-spinnaker-and-helm/. Let me know if you have anymore questions!


#3

Ethan,

Thank you for pointing me tol the video - can understand this much better now.

I’ve set this up in my environment, to pull the s3 artifact using a webhook trigger.
Looks like I am getting an authorization error (403 in the logs) but struggling to pin it down.

Any tips for debugging please ?

I’ve enabled artifacts/s3 via Halyard, and setup the account name (I’ve used the spinnaker IAM account which writes all of the spinnaker config to s3, and have my helm chart in a folder under the same bucket), apiEndpoint, apiRegion, and region.

When I run the ‘curl’, I can see in the ‘echo’ logs that the pipeline is triggered, and then I get the following

2018-07-24 12:19:04.827  INFO 1 --- [it-/orchestrate] c.n.s.e.p.orca.OrcaService               : ---> HTTP POST http://spin-orca.spinnaker:8083/orchestrate
2018-07-24 12:19:04.836  INFO 1 --- [it-/orchestrate] c.n.s.e.p.orca.OrcaService               : <--- HTTP 403 http://spin-orca.spinnaker:8083/orchestrate (8ms)

i.e. a 403 back from Orca

In the orca logs I get

2018-07-24 12:22:17.097  INFO 1 --- [0.0-8083-exec-4] c.n.s.orca.front50.Front50Service        : [] ---> HTTP GET http://spin-front50.spinnaker:8080/pipelines/pipe-master-dev?refresh=false
2018-07-24 12:22:17.098  INFO 1 --- [0.0-8083-exec-4] c.n.s.orca.front50.Front50Service        : [] <--- HTTP 403 http://spin-front50.spinnaker:8080/pipelines/pipe-master-dev?refresh=false (1ms)

I cant see any further meaningful information in the spin-front logs.

Thanks,

Malcolm


#4

Not quite the same problem as k8sSpin, but around the same area: I can’t seem to have spinnaker show me any artifact sources in the UI.

I have setup a kubernetes provider (was initially v2 but then switched to v1 after reading that the v2 provider was not compatible with the s3 artifact provider) and an s3 artifact provider.

I then attempt to make a pipeline with a “Bake (Manifest)” stage but it doesn’t show me anywhere I can configure that the helm chart is supposed to come from S3.

Any help here would be appreciated.

Thanks,
Nikhil


#5
  • What version of Spinnaker are you running?
  • Have you created an S3 artifact in the “Expected Artifacts” section of the pipeline’s configuration?
  • Can you provide a screenshot of both the pipeline configuration screen and the bake manifest stage configuration that you see in your browser?
  • Can you check if there are any JS errors in the browser console?

#6
  • I’m using 1.9.3.
  • No I have not, is there a way to do this within the GUI without editing JSON? If so I have not noticed it.


#7

Also I don’t see any JS errors on the browser when looking at the stages config page for the pipeline.


#8

OK, can you check whether the artifacts feature is enabled? Run hal config -q and look for a features section. Inside there should be a key, artifacts and it should be set to true.

If that feature flag isn’t sent to true then run the following:

hal config features edit --artifacts true
hal deploy apply

After that you should see an Expected Artifacts section in your pipeline configuration screen that looks like this:


#9

Thanks, I didn’t enable the feature. Now I see these options in the web interface.