Error running Kustomize based pipeline


I had been trying to make deployments through kustomize, and getting some error:

Failed on startup: Unmatched expected artifact ExpectedArtifact(matchArtifact=Artifact(type=gcs/object, customKind=false, name=gs://xxxxxxxxxxxx-staging-settings/config/kustomization.yml, version=null, location=null, reference=null, metadata={id=8b8faad5-8ecc-44c2-a812-d18ad308a922}, artifactAccount=gcs-install-account, provenance=null, uuid=null), usePriorArtifact=false, useDefaultArtifact=false, defaultArtifact=Artifact(type=null, customKind=true, name=null, version=null, location=null, reference=null, metadata={id=bbde3c3f-37d2-4d0d-b122-f857c9571266}, artifactAccount=null, provenance=null, uuid=null), id=8aa08dde-1a1c-451e-a8d2-a3d9aee0ea11, boundArtifact=null) could not be resolved.

I have uploaded kustomize.yml to GCS and configured a GCS bucket to allow access from the service account configured on spinnaker per the doc below:

Even though everything seems to be setup properly, the pipeline seems to stop at the very first stage.

Could anyone point out what could be wrong?

FYI: what I have tried so far

  1. used custom base64 artifact with base64 encoded kustomize.yml
  2. used bitbucket to specify the kustomize.yml

Additional Seems like this could be some issue with how I have setup bitbucket.

It only requires username and password to add bitbucket account on Spinnaker:
http s ://

The spinnaker web UI only allows to enter the File path:
http s ://

The help on File path UI says “The file’s path from the git root, in the form ‘path/to/file.json’”, however the spinnaker reference from the above says "The full path (including filename) for retrieval via the Bitbucket API. Example: https : //$ORG/$REPO/raw/$VERSION/$FILEPATH."

I tried both the git root file path and the full URL of bitbucket API and neither worked.

Another speculation that I have is that this could be some issue with the kustomization yaml file that I wrote.

kustomize works when running “kustomize build” however fails on “kubectl kustomize .” with the error message below:
> kubectl kustomize .
Error: json: cannot unmarshal object into Go struct field Kustomization.patchesStrategicMerge of type patch.StrategicMerge

  # Use the current working directory
  kubectl kustomize .
  # Use some shared configuration directory
  kubectl kustomize /home/configuration/production
  # Use a URL
  kubectl kustomize

  kubectl kustomize <dir> [flags] [options]

Use "kubectl options" for a list of global command-line options (applies to all commands).

Any hints are welcome.