kustomize: quote newTag string to avoid all-digit tag misparse

When git rev-parse --short HEAD produces an all-digit SHA (e.g. 0045691),
kustomize's Go JSON decoder unmarshals it as a number and fails with:
  json: cannot unmarshal number into Go struct field Image.images.newTag of type string
Quoting the value forces YAML to treat it as a string in all cases.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2 files changed
tree: 2aa887c1d0b8ec1388c695cc4c32f7e5a347b84a
  1. .github/
  2. actions/
  3. clusters/
  4. demos/
  5. deploy/
  6. enterprise-util/
  7. nuvolaris/
  8. tests/
  9. tools/
  10. .asf.yaml
  11. .dockerignore
  12. .env.dist
  13. .env.sample
  14. .envrc
  15. .gitattributes
  16. .gitignore
  17. .gitmodules
  18. .licenserc.yaml
  19. cron.sh
  20. dbinit.sh
  21. DESIGN.md
  22. detect.sh
  23. DISCLAIMER
  24. Dockerfile
  25. init.src
  26. kaniko-build.yaml
  27. LICENSE
  28. NOTICE
  29. operator-deploy.yaml
  30. OPERATOR.md
  31. poetry.lock
  32. profile.ipy
  33. pyproject.toml
  34. quota.sh
  35. README.md
  36. registries.yaml
  37. run.sh
  38. shell.nix
  39. Taskfile.yml
  40. TaskfileBuild.yml
  41. TaskfileDev.yml
  42. TaskfileOlaris.yml
  43. TaskfileTest.yml
  44. test_profile.ipy
  45. whisk-system.sh
  46. wskadmin.sh
README.md

Apache OpenServerless Operator

In this readme there are information for developers.

We describe how to build and test the operator in our development environment

Please refer to the website for user information.

For PR-driven infrastructure tests on GitHub, use a PR label in the form <test>-<commit-hash>, for example k3s-abcdef1.

How to build and use an operator image

Ensure you have satisfied the prerequisites below. Most notably, you need to use our development virtual machine and you need write access to a GitHub repository.

Once you have satisfied the prerequisites, you can build an image you can use in the development machine.

Build an image with:

task build

Please note that it will build the image locally and push in an internal registry, even if it is name is ghcr.io/${GITHUB_USER}/openserverless-operator.

To be able to build, the task build will commit and push all your changes and then build the operator from the public sources in your local k3s.

It will also show the logs for the latest build.

You can then deploy it with:

task deploy

Once you have finished with development you can create a public image with task publish that will publish the tag and trigger a creation of the image.

Prerequisites

  1. Please set up and use a development VM as described here

  2. With VSCode, access the development VM, open the workspace openserverless/openserverless.code-workspace and then open a terminal with operator subproject: this will enable the nix environment with direnv (provided by the VM).

  3. Create a fork of github.com/apache/openserverless-operator

  4. Copy .env.dist in .env and put your GitHub username in it

  5. Since the build requires you push your sources in your repo, you need the credentials to access it. The fastest way is to create a personal token

  6. Now set up a remote to access your repo and set it as your default upstream branch.

git remote add fork https://<GITHUB_USERNAME>:<GITHUB_TOKEN>@github.com/<GITHUB_USERNAME>/openserverless-operator
git branch -u https://github.com/<GITHUB_USERNAME>/openserverless-operator

That's it. Now you can use task build to build the image.

  1. Deploy the operator

To deploy a testing configuration of the Apache OpenServerless operator execute the command

task all

The operator instance will be configured applying the test/k3s/whisk.yaml template. All the components are activated except TLS and MONITORING.