Created
May 12, 2023 11:46
-
-
Save rawlingsj/e3af83803015615e2c2ba78930854be2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$schema": "https://json-schema.org/draft/2020-12/schema", | |
"$id": "https://chainguard.dev/melange/pkg/build/configuration", | |
"$ref": "#/$defs/Configuration", | |
"$defs": { | |
"Advisories": { | |
"patternProperties": { | |
".*": { | |
"items": { | |
"$ref": "#/$defs/AdvisoryContent" | |
}, | |
"type": "array" | |
} | |
}, | |
"type": "object" | |
}, | |
"AdvisoryContent": { | |
"properties": { | |
"timestamp": { | |
"type": "string", | |
"format": "date-time" | |
}, | |
"status": { | |
"type": "string" | |
}, | |
"justification": { | |
"type": "string" | |
}, | |
"impact": { | |
"type": "string" | |
}, | |
"action": { | |
"type": "string" | |
}, | |
"fixed-version": { | |
"type": "string" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"timestamp", | |
"status" | |
] | |
}, | |
"Architecture": { | |
"properties": {}, | |
"additionalProperties": false, | |
"type": "object" | |
}, | |
"Configuration": { | |
"properties": { | |
"package": { | |
"$ref": "#/$defs/Package" | |
}, | |
"environment": { | |
"$ref": "#/$defs/ImageConfiguration" | |
}, | |
"pipeline": { | |
"items": { | |
"$ref": "#/$defs/Pipeline" | |
}, | |
"type": "array" | |
}, | |
"subpackages": { | |
"items": { | |
"$ref": "#/$defs/Subpackage" | |
}, | |
"type": "array" | |
}, | |
"data": { | |
"items": { | |
"$ref": "#/$defs/RangeData" | |
}, | |
"type": "array" | |
}, | |
"secfixes": { | |
"$ref": "#/$defs/Secfixes" | |
}, | |
"advisories": { | |
"$ref": "#/$defs/Advisories" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"package" | |
] | |
}, | |
"Copyright": { | |
"properties": { | |
"paths": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
}, | |
"attestation": { | |
"type": "string" | |
}, | |
"license": { | |
"type": "string" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"paths", | |
"attestation", | |
"license" | |
] | |
}, | |
"DataItem": { | |
"properties": { | |
"key": { | |
"type": "string" | |
}, | |
"value": { | |
"type": "string" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object" | |
}, | |
"DataItemList": { | |
"items": { | |
"$ref": "#/$defs/DataItem" | |
}, | |
"type": "array" | |
}, | |
"Dependencies": { | |
"properties": { | |
"runtime": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
}, | |
"provides": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object" | |
}, | |
"Group": { | |
"properties": { | |
"GroupName": { | |
"type": "string" | |
}, | |
"GID": { | |
"type": "integer" | |
}, | |
"Members": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"GroupName", | |
"GID", | |
"Members" | |
] | |
}, | |
"ImageConfiguration": { | |
"properties": { | |
"contents": { | |
"properties": { | |
"repositories": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
}, | |
"keyring": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
}, | |
"packages": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object" | |
}, | |
"entrypoint": { | |
"properties": { | |
"Type": { | |
"type": "string" | |
}, | |
"Command": { | |
"type": "string" | |
}, | |
"shell-fragment": { | |
"type": "string" | |
}, | |
"Services": { | |
"type": "object" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"Type", | |
"Command", | |
"shell-fragment", | |
"Services" | |
] | |
}, | |
"cmd": { | |
"type": "string" | |
}, | |
"work-dir": { | |
"type": "string" | |
}, | |
"accounts": { | |
"properties": { | |
"run-as": { | |
"type": "string" | |
}, | |
"Users": { | |
"items": { | |
"$ref": "#/$defs/User" | |
}, | |
"type": "array" | |
}, | |
"Groups": { | |
"items": { | |
"$ref": "#/$defs/Group" | |
}, | |
"type": "array" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"run-as", | |
"Users", | |
"Groups" | |
] | |
}, | |
"archs": { | |
"items": { | |
"$ref": "#/$defs/Architecture" | |
}, | |
"type": "array" | |
}, | |
"environment": { | |
"patternProperties": { | |
".*": { | |
"type": "string" | |
} | |
}, | |
"type": "object" | |
}, | |
"paths": { | |
"items": { | |
"$ref": "#/$defs/PathMutation" | |
}, | |
"type": "array" | |
}, | |
"os-release": { | |
"$ref": "#/$defs/OSRelease" | |
}, | |
"vcs-url": { | |
"type": "string" | |
}, | |
"annotations": { | |
"patternProperties": { | |
".*": { | |
"type": "string" | |
} | |
}, | |
"type": "object" | |
}, | |
"include": { | |
"type": "string" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object" | |
}, | |
"Input": { | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"default": { | |
"type": "string" | |
}, | |
"required": { | |
"type": "boolean" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"description", | |
"default", | |
"required" | |
] | |
}, | |
"Needs": { | |
"properties": { | |
"Packages": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"Packages" | |
] | |
}, | |
"OSRelease": { | |
"properties": { | |
"Name": { | |
"type": "string" | |
}, | |
"ID": { | |
"type": "string" | |
}, | |
"version-id": { | |
"type": "string" | |
}, | |
"pretty-name": { | |
"type": "string" | |
}, | |
"home-url": { | |
"type": "string" | |
}, | |
"bug-report-url": { | |
"type": "string" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"Name", | |
"ID", | |
"version-id", | |
"pretty-name", | |
"home-url", | |
"bug-report-url" | |
] | |
}, | |
"Package": { | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"version": { | |
"type": "string" | |
}, | |
"epoch": { | |
"type": "integer" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"commit": { | |
"type": "string" | |
}, | |
"target-architecture": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
}, | |
"copyright": { | |
"items": { | |
"$ref": "#/$defs/Copyright" | |
}, | |
"type": "array" | |
}, | |
"dependencies": { | |
"$ref": "#/$defs/Dependencies" | |
}, | |
"options": { | |
"$ref": "#/$defs/PackageOption" | |
}, | |
"scriptlets": { | |
"$ref": "#/$defs/Scriptlets" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"name", | |
"version", | |
"epoch", | |
"target-architecture" | |
] | |
}, | |
"PackageOption": { | |
"properties": { | |
"no-provides": { | |
"type": "boolean" | |
}, | |
"no-depends": { | |
"type": "boolean" | |
}, | |
"no-commands": { | |
"type": "boolean" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"no-provides", | |
"no-depends", | |
"no-commands" | |
] | |
}, | |
"PathMutation": { | |
"properties": { | |
"Path": { | |
"type": "string" | |
}, | |
"Type": { | |
"type": "string" | |
}, | |
"UID": { | |
"type": "integer" | |
}, | |
"GID": { | |
"type": "integer" | |
}, | |
"Permissions": { | |
"type": "integer" | |
}, | |
"Source": { | |
"type": "string" | |
}, | |
"Recursive": { | |
"type": "boolean" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"Path", | |
"Type", | |
"UID", | |
"GID", | |
"Permissions", | |
"Source", | |
"Recursive" | |
] | |
}, | |
"Pipeline": { | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"uses": { | |
"type": "string" | |
}, | |
"with": { | |
"patternProperties": { | |
".*": { | |
"type": "string" | |
} | |
}, | |
"type": "object" | |
}, | |
"runs": { | |
"type": "string" | |
}, | |
"pipeline": { | |
"items": { | |
"$ref": "#/$defs/Pipeline" | |
}, | |
"type": "array" | |
}, | |
"inputs": { | |
"patternProperties": { | |
".*": { | |
"$ref": "#/$defs/Input" | |
} | |
}, | |
"type": "object" | |
}, | |
"needs": { | |
"$ref": "#/$defs/Needs" | |
}, | |
"label": { | |
"type": "string" | |
}, | |
"if": { | |
"type": "string" | |
}, | |
"assertions": { | |
"$ref": "#/$defs/PipelineAssertions" | |
}, | |
"sbom": { | |
"$ref": "#/$defs/SBOM" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object" | |
}, | |
"PipelineAssertions": { | |
"properties": { | |
"required-steps": { | |
"type": "integer" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object" | |
}, | |
"RangeData": { | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"items": { | |
"$ref": "#/$defs/DataItemList" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"name", | |
"items" | |
] | |
}, | |
"SBOM": { | |
"properties": { | |
"language": { | |
"type": "string" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"language" | |
] | |
}, | |
"Scriptlets": { | |
"properties": { | |
"trigger": { | |
"properties": { | |
"Script": { | |
"type": "string" | |
}, | |
"Paths": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"Script", | |
"Paths" | |
] | |
}, | |
"pre-install": { | |
"type": "string" | |
}, | |
"post-install": { | |
"type": "string" | |
}, | |
"pre-deinstall": { | |
"type": "string" | |
}, | |
"post-deinstall": { | |
"type": "string" | |
}, | |
"pre-upgrade": { | |
"type": "string" | |
}, | |
"post-upgrade": { | |
"type": "string" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object" | |
}, | |
"Secfixes": { | |
"patternProperties": { | |
".*": { | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
} | |
}, | |
"type": "object" | |
}, | |
"Subpackage": { | |
"properties": { | |
"range": { | |
"type": "string" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"pipeline": { | |
"items": { | |
"$ref": "#/$defs/Pipeline" | |
}, | |
"type": "array" | |
}, | |
"dependencies": { | |
"$ref": "#/$defs/Dependencies" | |
}, | |
"options": { | |
"$ref": "#/$defs/PackageOption" | |
}, | |
"scriptlets": { | |
"$ref": "#/$defs/Scriptlets" | |
}, | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
}, | |
"commit": { | |
"type": "string" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"name" | |
] | |
}, | |
"User": { | |
"properties": { | |
"UserName": { | |
"type": "string" | |
}, | |
"UID": { | |
"type": "integer" | |
}, | |
"GID": { | |
"type": "integer" | |
} | |
}, | |
"additionalProperties": false, | |
"type": "object", | |
"required": [ | |
"UserName", | |
"UID", | |
"GID" | |
] | |
} | |
} | |
}% |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment