Closed strideynet closed 1 year ago
https://github.com/gravitational/teleport-actions
Initial action for cached installation of Teleport: https://github.com/gravitational/teleport-actions/pulls/2
Initial setup action has now been merged/released. This allows the setup of the Teleport binaries, and attempts to use the GitHub cache.
I have completed a PoC building support into tbot for automatically configuring tsh and tctl with the generated identity file. This may be a suitable option other than using an Action for this functionality.
Another use case - ease of setup of kubectl
against a specific cluster.
This ticket will be broken up and replaced by tickets on https://github.com/gravitational/teleport-actions for individual actions.
https://docs.github.com/en/actions/creating-actions
Current Situation
What's not so great about this:
--oneshot
and other options which we could just assume.tsh
andtbot
.What would be great:
The action completes the following:
Thoughts on security:
Incremental approach:
tsh
- this will potentially involve changes totsh
itself.Research
setup-go
https://github.com/actions/setup-go
Setup Go does some of what we want to do (download binaries and place them into the path)
Uses '@actions/tool-cache'
https://github.com/actions/toolkit/tree/main/packages/cache
https://github.com/tonistiigi/go-actions-cache/blob/master/api.md
https://github.com/actions/typescript-action
Passing env vars to future steps
https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-environment-variable
Adding to path
https://github.com/actions/toolkit/blob/master/packages/core/src/core.ts#L57
Implementation
Docker VS Javascript