-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(extensions): add install extensions from registry #223
Merged
kjuulh
merged 4 commits into
feat/extensions-with-git-operations
from
feat/extensions-with-install
Jun 13, 2024
Merged
feat(extensions): add install extensions from registry #223
kjuulh
merged 4 commits into
feat/extensions-with-git-operations
from
feat/extensions-with-install
Jun 13, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
c1a61e2
to
ab46ad1
Compare
428cffd
to
b5ce033
Compare
mahlunar
reviewed
Jun 10, 2024
b5ce033
to
6d2ad20
Compare
222bfc9
to
9c865a6
Compare
This pr includes everything up to actually downloading the extension from the upstream registry Such as pulling an example registry entry ```json { "name": "SuperExtender", "description": "Enhances your experience with superpowers.", "version": "1.0.3", "downloadUrls": [ { "architecture": "amd64", "os": "linux", "url": "https://example.com/linux/amd64/superextender.tar.gz", "checksum": "efgh5678" }, { "architecture": "x86", "os": "windows", "url": "https://example.com/windows/x86/superextender.zip", "checksum": "ijkl91011" }, { "architecture": "arm64", "os": "darwin", "url": "https://example.com/windows/x86/superextender.zip", "checksum": "ijkl91011" } ] } ``` Which will match on the current os using $GOOS and $GOARCH set by golang itself. We may however have to depend on some other variables if go is not installed by I believe it should work anyway"
Signed-off-by: Kasper J. Hermansen <[email protected]>
Signed-off-by: Kasper J. Hermansen <[email protected]>
a2b238c
to
5866709
Compare
* feat(extensions): add github release downloader This specifically adds a downloader for github releases it uses either the SHUTTLE_EXTENSIONS_GITHUB_ACCESS_TOKEN or GITHUB_ACCESS_TOKEN for access to the releases The downloader expects a full url from the registry as seen in a previous pr Signed-off-by: Kasper J. Hermansen <[email protected]> * chore: reword bearer Signed-off-by: Kasper J. Hermansen <[email protected]> * feat(extensions): add execute command (#225) * feat(extensions): add execute command this adds Extensions to the global cmd.go resulting in another section showing up when doing a shuttle --help To execute an extension simply shuttle myExtension where myExtension is the name of the downloaded extension. All args are passed to the child as well Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: remember to add error Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: without empty line Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: adds github remote registry index (#226) * feat: with github registry Signed-off-by: Kasper J. Hermansen <[email protected]> * fix: shuttle extensions Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: can download private files Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: remove fluff Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: fix review comments Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: it needs to implement the functions Signed-off-by: Kasper J. Hermansen <[email protected]> --------- Signed-off-by: Kasper J. Hermansen <[email protected]> --------- Signed-off-by: Kasper J. Hermansen <[email protected]> --------- Signed-off-by: Kasper J. Hermansen <[email protected]>
kjuulh
added a commit
that referenced
this pull request
Jun 13, 2024
* feat(extensions): with git operations Quite simply implements fetch and clone to make sure we can pull a registry Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: add git registry Signed-off-by: Kasper J. Hermansen <[email protected]> * feat(extensions): add install extensions from registry (#223) * "feat(extensions): add install extensions from registry This pr includes everything up to actually downloading the extension from the upstream registry Such as pulling an example registry entry ```json { "name": "SuperExtender", "description": "Enhances your experience with superpowers.", "version": "1.0.3", "downloadUrls": [ { "architecture": "amd64", "os": "linux", "url": "https://example.com/linux/amd64/superextender.tar.gz", "checksum": "efgh5678" }, { "architecture": "x86", "os": "windows", "url": "https://example.com/windows/x86/superextender.zip", "checksum": "ijkl91011" }, { "architecture": "arm64", "os": "darwin", "url": "https://example.com/windows/x86/superextender.zip", "checksum": "ijkl91011" } ] } ``` Which will match on the current os using $GOOS and $GOARCH set by golang itself. We may however have to depend on some other variables if go is not installed by I believe it should work anyway" * feat: print error Signed-off-by: Kasper J. Hermansen <[email protected]> * fix: review comments, wording etc. Signed-off-by: Kasper J. Hermansen <[email protected]> * feat(extensions): add github release downloader (#224) * feat(extensions): add github release downloader This specifically adds a downloader for github releases it uses either the SHUTTLE_EXTENSIONS_GITHUB_ACCESS_TOKEN or GITHUB_ACCESS_TOKEN for access to the releases The downloader expects a full url from the registry as seen in a previous pr Signed-off-by: Kasper J. Hermansen <[email protected]> * chore: reword bearer Signed-off-by: Kasper J. Hermansen <[email protected]> * feat(extensions): add execute command (#225) * feat(extensions): add execute command this adds Extensions to the global cmd.go resulting in another section showing up when doing a shuttle --help To execute an extension simply shuttle myExtension where myExtension is the name of the downloaded extension. All args are passed to the child as well Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: remember to add error Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: without empty line Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: adds github remote registry index (#226) * feat: with github registry Signed-off-by: Kasper J. Hermansen <[email protected]> * fix: shuttle extensions Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: can download private files Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: remove fluff Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: fix review comments Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: it needs to implement the functions Signed-off-by: Kasper J. Hermansen <[email protected]> --------- Signed-off-by: Kasper J. Hermansen <[email protected]> --------- Signed-off-by: Kasper J. Hermansen <[email protected]> --------- Signed-off-by: Kasper J. Hermansen <[email protected]> --------- Signed-off-by: Kasper J. Hermansen <[email protected]> --------- Signed-off-by: Kasper J. Hermansen <[email protected]>
kjuulh
added a commit
that referenced
this pull request
Jun 13, 2024
* feat: add registry and global storage Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: remove bullet Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: remember to initiate install Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: make sure to check permissions Signed-off-by: Kasper J. Hermansen <[email protected]> * chore: make registry private Signed-off-by: Kasper J. Hermansen <[email protected]> * feat(extensions): with git operations (#222) * feat(extensions): with git operations Quite simply implements fetch and clone to make sure we can pull a registry Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: add git registry Signed-off-by: Kasper J. Hermansen <[email protected]> * feat(extensions): add install extensions from registry (#223) * "feat(extensions): add install extensions from registry This pr includes everything up to actually downloading the extension from the upstream registry Such as pulling an example registry entry ```json { "name": "SuperExtender", "description": "Enhances your experience with superpowers.", "version": "1.0.3", "downloadUrls": [ { "architecture": "amd64", "os": "linux", "url": "https://example.com/linux/amd64/superextender.tar.gz", "checksum": "efgh5678" }, { "architecture": "x86", "os": "windows", "url": "https://example.com/windows/x86/superextender.zip", "checksum": "ijkl91011" }, { "architecture": "arm64", "os": "darwin", "url": "https://example.com/windows/x86/superextender.zip", "checksum": "ijkl91011" } ] } ``` Which will match on the current os using $GOOS and $GOARCH set by golang itself. We may however have to depend on some other variables if go is not installed by I believe it should work anyway" * feat: print error Signed-off-by: Kasper J. Hermansen <[email protected]> * fix: review comments, wording etc. Signed-off-by: Kasper J. Hermansen <[email protected]> * feat(extensions): add github release downloader (#224) * feat(extensions): add github release downloader This specifically adds a downloader for github releases it uses either the SHUTTLE_EXTENSIONS_GITHUB_ACCESS_TOKEN or GITHUB_ACCESS_TOKEN for access to the releases The downloader expects a full url from the registry as seen in a previous pr Signed-off-by: Kasper J. Hermansen <[email protected]> * chore: reword bearer Signed-off-by: Kasper J. Hermansen <[email protected]> * feat(extensions): add execute command (#225) * feat(extensions): add execute command this adds Extensions to the global cmd.go resulting in another section showing up when doing a shuttle --help To execute an extension simply shuttle myExtension where myExtension is the name of the downloaded extension. All args are passed to the child as well Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: remember to add error Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: without empty line Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: adds github remote registry index (#226) * feat: with github registry Signed-off-by: Kasper J. Hermansen <[email protected]> * fix: shuttle extensions Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: can download private files Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: remove fluff Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: fix review comments Signed-off-by: Kasper J. Hermansen <[email protected]> * feat: it needs to implement the functions Signed-off-by: Kasper J. Hermansen <[email protected]> --------- Signed-off-by: Kasper J. Hermansen <[email protected]> --------- Signed-off-by: Kasper J. Hermansen <[email protected]> --------- Signed-off-by: Kasper J. Hermansen <[email protected]> --------- Signed-off-by: Kasper J. Hermansen <[email protected]> --------- Signed-off-by: Kasper J. Hermansen <[email protected]> --------- Signed-off-by: Kasper J. Hermansen <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pr includes everything up to actually downloading the extension from the upstream registry
Such as pulling an example registry entry
Which will match on the current os using $GOOS and $GOARCH set by golang itself. We may however have to depend on some other variables if go is not installed by I believe it should work anyway"
Builds on: #222