* Build version checker - multiple fixes
In several files, the command 'go run' has been updated to 'CC=gcc go run'. This ensures that gcc is used when compiling the Go code, to provide better cross platform support. Prior to this change, the Go compiler was making platform specific builds.
This was a significant issue with the 'kube operator' goal where the built binary could not operate across different platforms.
The change has been applied consistently throughout the codebase in 'Makefile', 'container_image_triggers.go', 'version.mk', 'os_repos.go', and 'build.assets/Makefile' files. Compliance with this new standard should be maintained going forward for any new compilation requests.
* Update .drone.yml
* Replace CC=gcc environment variable with CGO_ENABLED=0
The CC=gcc environment variable was replaced with CGO_ENABLED=0 as CGO is not needed.
* Update .drone.yml
Tagging a release with an invalid semver string (especially an almost-but-
not-quite-valid semver string) can cause an incorrect environment to be
selected when publishing packages during promotion, with the attendant
risk of polluting production artefact repositories.
This change attempts to force the use of correctly-formed semver strings by
- validating the semver string on application (i.e. as part of make version)
- validating that the GITTAG value used to trigger a build is valid semver, and
- as a harm reduction measure, changing the semver check tool to interpret
an invalid semver string as if it had pre-release or build metadata.
This is a backstop, just in case a malformed tag sneaks through outside of
our automation.
Changelog: none
Update the version in tsh.app (tsh and tshdev) `Info.plist` files when
`make version` (`make update-version`) is run. If the version number has
any semver prerelease tags, then the tsh version number will be set to
"1.0", as those tags are not valid in the CFBundleShortVersionString or
CFBundleVersion fields. For a release without a semver tag, the value
will be set.
This will update the CFBundleVersion and CFBundleShortVersionString
fields of the `Info.plist` file.
This commit contains re-written plist files as they get reindented by
the tool, the CFBundleVersion becomes "1.0" (was "1") and one empty
element is shortened to the empty-element form.
Link: https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleversion
Link: https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring
This commit adds the Teleport operator. The operator reconciles
TeleportUsers and TeleportRoles Kubernetes resources with Users and
Roles Teleport resources.