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

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

Open
wants to merge 48 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
f7e15b4
adding boilerplate for gitlab plugin
Bee-Mar May 25, 2024
5306195
basic functionality for public facing gitlab plugins working
Bee-Mar May 25, 2024
34359d8
consolidated gitlab and github logic
Bee-Mar May 25, 2024
73dc9af
still work in progress, but bitbucket and gitlab public urls are handled
Bee-Mar May 26, 2024
6c4c0f0
Merge branch 'main' of https://github.com/jetify-com/devbox into feat…
Bee-Mar Jun 17, 2024
844926f
slightly closer
Bee-Mar Jun 17, 2024
8973282
Merge branch 'main' of https://github.com/jetify-com/devbox into feat…
Bee-Mar Jun 30, 2024
8234390
basic retrieval of private plugins. need to clean it up
Bee-Mar Jul 1, 2024
e855a1c
removed bad debug stmt
Bee-Mar Jul 1, 2024
2ddf616
added port and subgroup arguments to handle more edge cases of privat…
Bee-Mar Jul 3, 2024
9c4bc59
changed to use explicit ssh protocol
Bee-Mar Jul 3, 2024
6448a7b
added check to see if the plugin file exists
Bee-Mar Jul 3, 2024
23bcc4c
devbox schema for plugin layout
Bee-Mar Jul 13, 2024
97ee2c7
update draft version
Bee-Mar Jul 13, 2024
2a81f8b
Merge branch 'main' of https://github.com/jetify-com/devbox into feat…
Bee-Mar Jul 13, 2024
1db728a
wip;
Bee-Mar Jul 14, 2024
bd2b547
reworking things to work with the flake.Ref struct
Bee-Mar Jul 15, 2024
e17c830
removing undo tree file
Bee-Mar Jul 15, 2024
de013d9
reworking things to use a json structure as input for plugins
Bee-Mar Jul 16, 2024
e1c50ac
placeholder
Bee-Mar Jul 19, 2024
ea64956
revisiting the json schema stuff
Bee-Mar Jul 24, 2024
ac42e18
Merge branch 'main' of https://github.com/jetify-com/devbox into feat…
Bee-Mar Jul 28, 2024
158880a
basic gitlab repo working
Bee-Mar Jul 28, 2024
23bd741
bitbucket function at basic level
Bee-Mar Jul 28, 2024
d07086f
fixed github url structure
Bee-Mar Jul 28, 2024
3372b09
substitute slashes for periods when using repo name in plugin.name to…
Bee-Mar Jul 28, 2024
b47c544
some cleanup
Bee-Mar Jul 28, 2024
e3d7e55
pull main; wip
Bee-Mar Oct 30, 2024
c9a7554
include all plugin caches in `devbox update`
Bee-Mar Oct 30, 2024
665eca9
corrected arg provided to slog error func
Bee-Mar Oct 30, 2024
d16d1af
update port to be int in ref struct (silly mistake)
Bee-Mar Nov 1, 2024
c93d661
private plugins with hashing check done
Bee-Mar Nov 1, 2024
a721ad4
update example devbox.json files for unit tests
Bee-Mar Nov 1, 2024
352be83
some cleanup
Bee-Mar Nov 1, 2024
ab5053b
cleaning up some tests
Bee-Mar Nov 10, 2024
0839434
Merge branch 'main' of https://github.com/jetify-com/devbox into feat…
Bee-Mar Nov 10, 2024
01220b1
basic tests for gitlab and bitbucket
Bee-Mar Nov 10, 2024
089acf9
added tests for ssh archives
Bee-Mar Nov 10, 2024
f7a3207
Merge branch 'main' of https://github.com/jetify-com/devbox into feat…
Bee-Mar Nov 24, 2024
174ba55
moved call to fetch plugin inside lambda
Bee-Mar Nov 24, 2024
2d9f7a1
removed overriding of GitHub flake type
Bee-Mar Nov 24, 2024
ce63909
added comment
Bee-Mar Nov 24, 2024
e856460
wip
Bee-Mar Dec 22, 2024
2994677
pulled upstream
Bee-Mar Dec 22, 2024
b05fc25
truly...no idea why i went down that rabbit hole in the first place
Bee-Mar Dec 22, 2024
c93d43e
Update update.go
Bee-Mar Dec 23, 2024
fce2ea9
removed old updateme comments
Bee-Mar Dec 24, 2024
8b613b4
Merge branch 'feature/json-plugin-schema' of github.com:bee-mar/devbo…
Bee-Mar Dec 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 116 additions & 5 deletions .schema/devbox-plugin.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,10 @@
"description": "Shell specific options and hooks for the plugin.",
"items": {
"init_hook": {
"type": ["array", "string"],
"type": [
"array",
"string"
],
"description": "Shell command to run right before initializing the user's shell, running a script, or starting a service"
},
"scripts": {
Expand All @@ -123,7 +126,10 @@
"patternProperties": {
".*": {
"description": "Alias name for the script.",
"type": ["array", "string"],
"type": [
"array",
"string"
],
"items": {
"type": "string",
"description": "The script's shell commands."
Expand All @@ -137,10 +143,115 @@
"description": "List of additional plugins to activate within your devbox shell",
"type": "array",
"items": {
"description": "Name of the plugin to activate.",
"type": "string"
"type": "object",
"properties": {
"owner": {
"description": "Username or organization name",
"type": "string"
},
"repo": {
"description": "Repository name",
"type": "string"
},
"type": {
"description": "Type of connection (https, ssh, file, builtin)",
"type": "string",
"enum": [
"https",
"ssh",
"file",
"builtin"
],
"default": "https"
},
"host": {
"description": "Host of the repository (e.g., gitlab, github, bitbucket, localhost)",
"type": "string"
},
"port": {
"description": "Port to use for the connection",
"type": "integer",
"minimum": 1,
"maximum": 65535,
"default": 0
},
"dir": {
"description": "Subdirectory that should be accessed in the repo. Defaults to the path key if not provided",
"type": "string"
},
"ref": {
"description": "Git reference",
"type": "string"
},
"rev": {
"description": "Git revision (only relevant for https or ssh types)",
"type": "string"
}
},
"required": [
"owner",
"repo"
],
"dependencies": {
"host": {
"not": {
"properties": {
"type": {
"enum": [
"builtin"
]
}
}
}
},
"owner": {
"not": {
"properties": {
"type": {
"enum": [
"builtin"
]
}
}
}
},
"rev": {
"oneOf": [
{
"properties": {
"type": {
"enum": [
"https",
"ssh"
]
}
}
},
{
"properties": {
"type": {
"enum": [
"file",
"builtin"
]
}
},
"not": {
"required": [
"rev"
]
}
}
]
}
},
"additionalProperties": false
}
}
},
"required": ["name", "version", "description"]
"required": [
"name",
"version",
"description"
]
}
Loading