databricks-cli/bundle/schema
shreyas-goenka 7faa9dea9b
Use tracker for reference loop tracking (#252)
We incorrectly relied on map key iteration order to print debug trace.
This PR switches over to using the tracker struct to allow more reliable
json schema reference loop detection and logging

This also fixes the failing TestSelfReferenceLoopErrors and
TestCrossReferenceLoopErrors tests
2023-03-16 12:57:57 +01:00
..
docs Add openapi descriptions to bundle resources (#229) 2023-03-15 03:18:51 +01:00
README.md Add openapi descriptions to bundle resources (#229) 2023-03-15 03:18:51 +01:00
docs.go Add openapi descriptions to bundle resources (#229) 2023-03-15 03:18:51 +01:00
docs_test.go Add openapi descriptions to bundle resources (#229) 2023-03-15 03:18:51 +01:00
openapi.go Use tracker for reference loop tracking (#252) 2023-03-16 12:57:57 +01:00
openapi_test.go Use tracker for reference loop tracking (#252) 2023-03-16 12:57:57 +01:00
schema.go Use tracker for reference loop tracking (#252) 2023-03-16 12:57:57 +01:00
schema_test.go Use tracker for reference loop tracking (#252) 2023-03-16 12:57:57 +01:00
tracker.go Use tracker for reference loop tracking (#252) 2023-03-16 12:57:57 +01:00

README.md

Overview

docs/bundle_descriptions.json contains both autogenerated as well as manually written descriptions for the json schema. Specifically

  1. resources : almost all descriptions are autogenerated from the OpenAPI spec
  2. environments : almost all descriptions are copied over from root level entities (eg: bundle, artifacts)
  3. bundle : manually editted
  4. include : manually editted
  5. workspace : manually editted
  6. artifacts : manually editted

These descriptions are rendered in the inline documentation in an IDE

SOP: Add schema descriptions for new fields in bundle config

  1. You can autogenerate empty descriptions for the new fields by running bricks bundle schema --only-docs > ~/bricks/bundle/schema/docs/bundle_descriptions.json
  2. Manually edit bundle_descriptions.json to add your descriptions
  3. Again run bricks bundle schema --only-docs > ~/bricks/bundle/schema/docs/bundle_descriptions.json to copy over any applicable descriptions to environments
  4. push to repo

SOP: Update descriptions in resources from a newer openapi spec

  1. Run bricks bundle schema --only-docs --openapi PATH_TO_SPEC > ~/bricks/bundle/schema/docs/bundle_descriptions.json
  2. push to repo