Skip to content

fix(schema): json schema fixes for use with yaml-schema supporting code editors

Isaac Hirschfeld requested to merge fix-schemas into v4

The following changes fix some issues with using the schema jsons with yaml-schema extensions (like vscode)

Example settings.json to enable this functionality with the yaml extension

{
    "yaml.schemas": {
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/bundle.json": [ "/meta.yaml", "/meta.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/alerts.json": ["/alerts/*.yaml", "/alerts/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/blueprints.json": ["/blueprints/*.yaml", "/blueprints/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/bootenvs.json": ["/bootenvs/*.yaml", "/bootenvs/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/catalog_items.json": ["/catalog_items/*.yaml", "/catalog_items/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/clusters.json": ["/clusters/*.yaml", "/clusters/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/contexts.json": ["/contexts/*.yaml", "/contexts/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/endpoints.json": ["/endpoints/*.yaml", "/endpoints/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/identity_providers.json": ["/identity_providers/*.yaml", "/identity_providers/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/jobs.json": ["/jobs/*.yaml", "/jobs/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/leases.json": ["/leases/*.yaml", "/leases/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/machines.json": ["/machines/*.yaml", "/machines/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/params.json": ["/params/*.yaml", "/params/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/plugins.json": ["/plugins/*.yaml", "/plugins/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/pools.json": ["/pools/*.yaml", "/pools/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/profiles.json": ["/profiles/*.yaml", "/profiles/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/reservations.json": ["/reservations/*.yaml", "/reservations/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/resource_brokers.json": ["/resource_brokers/*.yaml", "/resource_brokers/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/roles.json": ["/roles/*.yaml", "/roles/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/stages.json": ["/stages/*.yaml", "/stages/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/subnets.json": ["/subnets/*.yaml", "/subnets/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/tasks.json": ["/tasks/*.yaml", "/tasks/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/tenants.json": ["/tenants/*.yaml", "/tenants/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/trigger_providers.json": ["/trigger_providers/*.yaml", "/trigger_providers/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/triggers.json": ["/triggers/*.yaml", "/triggers/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/users.json": ["/users/*.yaml", "/users/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/version_sets.json": ["/version_sets/*.yaml", "/version_sets/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/work_orders.json": ["/work_orders/*.yaml", "/work_orders/*.yml"],
        "https://gitlab.com/rackn/provision/-/raw/v4/schema/workflows.json": ["/workflows/*.yaml", "/workflows/*.yml"],
    }
}

There are still a few changes that could be made to add more required entries to objects to specify min properties needed for valid objects

Merge request reports