Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Feature: Update to JSON Plugin Schema to Support Private Plugin Sources#2470

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
Bee-Mar wants to merge56 commits intojetify-com:main
base:main
Choose a base branch
Loading
fromBee-Mar:feature/json-plugin-schema

Conversation

Bee-Mar
Copy link

@Bee-MarBee-Mar commentedDec 22, 2024
edited
Loading

Summary

The pull request introduces the ability to add plugins from private sources, which includes GitHub, GitLab, Bitbucket and arbitrary hosts. The JSON schema was reworked to be more declarative, which forces the user declare components of the addressed location. Changing the structure allows for future flexibility, and was needed in my case when working with repositories only accessible through an AWS tunnel. Part of the issue I encountered while trying to use the existing parsing logic is GitLab supports up to 20 subgroup levels ("group/subgroup/repo"). The existing parsing logic for GitHub style URIs was insufficient and also reduces flexibility for type of hosting locations that could be theoretically used.

While these changes make theinclude section more verbose, I believe the verbosity is a positive.

In short, the plugin declaration syntax goes from something like this:

"include": ["github:<org>/<repo>?dir=<plugin-dir>"  ]

to

"include": [  {"type":"github","owner":"org","repo":"repository","dir":"subdir"  }]

An example of privately hosted plugins accessible through SSH:

"include": [  {"type":"ssh","host":"localhost","port":1234,"owner":"org","repo":"repository","dir":"subdir"  }]

How was it tested?

New unit tests were added tointernal/plugin/git_test.go, and this has been tested in by creating several repos to use as a test-bed, and ensuring they can be installed by declaring them in thedevbox.json. Additionally, I have used this for my desired purpose, which is to access Devbox plugins only accessible in a privately hosted GitLab repo behind an AWS tunnel.

Addtional unit tests can be added if preferred. Please let me know what changes/improvements you'd like to see.

Thank you in advance for taking the time to review my pull request!

Allsimon reacted with heart emoji
@Bee-MarBee-Mar marked this pull request as ready for reviewDecember 22, 2024 22:40
@Bee-MarBee-Mar changed the titleFeature: Update to JSON Plugin Schema to Allow Private SourcesFeature: Update to JSON Plugin Schema to Support Private Plugin SourcesDec 22, 2024
@Bee-Mar
Copy link
Author

Does anyone have interest in reviewing this pull request?

@Bee-Mar
Copy link
Author

Following up on this again. Is anyone interested in this feature?

Allsimon and penekk reacted with thumbs up emoji

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers
No reviews
Assignees
No one assigned
Labels
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

1 participant
@Bee-Mar

[8]ページ先頭

©2009-2025 Movatter.jp