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

Adding support for experimental 'metadata' block. #42

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

coryodaniel
Copy link
Member

@coryodaniel coryodaniel commented May 25, 2023

Ready for initial review. This will probably require some tweaking, but wanted to get it up to socialize the idea. There will be accompanying changes in massdriver/massdriver to capture the conf field and store all bundle details on publish.

This adds support for putting top level fields into a 'metadata' block for organization purposes. This enables a few features for massdriver:

  • easier debugging, original config file, not some fields and post-processed schemas only
  • adding fields won't required CLI changes / versioning
  • making way to support metadata.{clouds,tags} for marketplace pages.

It also ships a 'conf' field to the publish endpoint containing the full contents of the massdriver.yaml file. Ideally the 'conf' will just be the post body, but that would require significant changes that I think are better to be done once we aren't handling this in a backwards compat manner.

The goal is that the CLI will not need to be kept aware of changes to the spec and will simply ship the config off to the pkg manager.

This will make it easier to make changes to the structure of massdriver YAML files since it doesnt have to be changed in the pkg manager and the CLI.

TODOs:

  • remove TODOs / notes
  • Fix validate schema logic (bundle.LintSchema)
  • Move JSON Schemas to gh json-schemas repo, pull for CLI & backend
  • Add code to 'upgrade' schema definitions
  • Remove legacy submission code

@coryodaniel coryodaniel requested a review from xpositivityx May 25, 2023 00:25
This adds support for putting top level fields into a 'metadata' block for organization purposes.

It also ships a 'conf' field to the publish endpoint containing the full contents of the `massdriver.yaml` file.

The goal is that the CLI will not need to be kept aware of changes to the spec and will simply ship the config off to the pkg manager.

This will make it easier to make changes to the structure of massdriver YAML files since it doesnt have to be changed in the pkg manager and the CLI.

TODOs:

* [ ] remove TODOs / notes
* [ ] Fix validate schema logic (bundle.LintSchema)
* [ ] Move JSON Schemas to gh json-schemas repo, pull for CLI & backend
* [ ] Add code to 'upgrade' schema definitions
* [ ] Remove legacy
@coryodaniel coryodaniel force-pushed the feature/cory/metadata-top-level branch from 83d75cb to 32e1700 Compare May 25, 2023 00:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants