Skip to content
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): with git operations #222

Conversation

kjuulh
Copy link
Contributor

@kjuulh kjuulh commented Jan 25, 2024

Quite simply implements fetch and clone to make sure we can pull a registry

Git repository is the only registry implemented for now, and is run like this:

shuttle ext update --registry git=github.com/lunarway/shuttle-extensions.git

or

export SHUTTLE_EXTENSIONS_REGISTRY="git=github.com/lunarway/shuttle-extensions.git"
shuttle ext update

Builds on: #221

@github-actions github-actions bot added the minor label Jan 25, 2024
@kjuulh kjuulh force-pushed the feat/with-extensions-registry-download branch from 6afadc1 to 45c92b2 Compare January 26, 2024 09:17
@kjuulh kjuulh force-pushed the feat/extensions-with-git-operations branch from c1a61e2 to ab46ad1 Compare January 26, 2024 09:17
@kjuulh kjuulh self-assigned this Jun 7, 2024
@kjuulh kjuulh marked this pull request as ready for review June 7, 2024 11:48
@kjuulh kjuulh requested a review from a team as a code owner June 7, 2024 11:48
@kjuulh kjuulh force-pushed the feat/with-extensions-registry-download branch from 45c92b2 to b27b0a0 Compare June 13, 2024 09:58
kjuulh added 2 commits June 13, 2024 12:28
Quite simply implements fetch and clone to make sure we can pull a registry

Signed-off-by: Kasper J. Hermansen <[email protected]>
Signed-off-by: Kasper J. Hermansen <[email protected]>
@kjuulh kjuulh force-pushed the feat/extensions-with-git-operations branch from 222bfc9 to 9c865a6 Compare June 13, 2024 10:28
* "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]>
@kjuulh kjuulh merged commit cf18b9d into feat/with-extensions-registry-download Jun 13, 2024
2 checks passed
@kjuulh kjuulh deleted the feat/extensions-with-git-operations branch June 13, 2024 12:57
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
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants