{"id":18960803,"url":"https://github.com/layer5io/kubeopenapi-jsonschema","last_synced_at":"2025-04-19T10:49:27.714Z","repository":{"id":42173279,"uuid":"380556220","full_name":"layer5io/kubeopenapi-jsonschema","owner":"layer5io","description":null,"archived":false,"fork":false,"pushed_at":"2023-07-24T11:14:19.000Z","size":221,"stargazers_count":16,"open_issues_count":0,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-29T07:11:20.403Z","etag":null,"topics":["hacktoberfest","kubernetes","openapi","service-mesh","service-mesh-management"],"latest_commit_sha":null,"homepage":"https://layer5.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/layer5io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING-gitflow.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2021-06-26T17:10:15.000Z","updated_at":"2023-10-08T20:16:16.000Z","dependencies_parsed_at":"2022-08-12T08:40:32.398Z","dependency_job_id":null,"html_url":"https://github.com/layer5io/kubeopenapi-jsonschema","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":"layer5io/layer5-repo-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/layer5io%2Fkubeopenapi-jsonschema","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/layer5io%2Fkubeopenapi-jsonschema/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/layer5io%2Fkubeopenapi-jsonschema/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/layer5io%2Fkubeopenapi-jsonschema/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/layer5io","download_url":"https://codeload.github.com/layer5io/kubeopenapi-jsonschema/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249195360,"owners_count":21228184,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","kubernetes","openapi","service-mesh","service-mesh-management"],"created_at":"2024-11-08T14:09:29.772Z","updated_at":"2025-04-16T04:32:18.540Z","avatar_url":"https://github.com/layer5io.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KubeOpenAPI - JSON Schema\n\nThis is a very basic node based CLI for converting OpenAPI schema to JSON Schema Draft 4\n\n\n```\nUsage: kubeopenapi-jsonschema [options]\n\nOptions:\n  -t, --type [type]           set type of input, can be either yaml or json (default: \"yaml\")\n  -l, --location \u003clocation\u003e   location of the schema\n  -f, --filter [query]        give a query if a OpenAPISchema is nested\n  --kubernetes                enable kubernetes specific filters (default: false)\n  -o [output-format]          output format (default: \"json\")\n  --o-filter [output-filter]  output filter query\n  --silent                    skip output (default: false)\n  --resolve [resolve-filter]  root of the OpenAPI spec to resolve the $ref. It is important to note that this jsonpath MUST evaluate to one object (default: \"\")\n  -h, --help                  display help for command\n```\n\n## Example\n\nDownload the binaries from the github releases. Only linux-x64, darwin-x64 and windows-x64 binaries are released\n\n```bash\nkubeopenapi-jsonschema --location ./k8s.json -f '$.definitions' -t json --o-filter '$[0][?(@[\"x-kubernetes-group-version-kind\"][0].kind==\"Deployment\")].properties.spec' --resolve \"$\"\n```\n\nThe above will consume kubernetes open API schema and will produce schema for Kubernetes `Deployment`\n\n\n```bash\nkubeopenapi-jsonschema --location ./istio.yaml -t yaml --filter '$[?(@.kind==\"CustomResourceDefinition\")]..schema.openAPIV3Schema.properties.spec' --o-filter '$' \n```\n\nThe above will consume istio CRD manifest and will produce schema for all of the CustomResourceDefinition objects\n\n\u003cdiv\u003e\u0026nbsp;\u003c/div\u003e\n\n## Join the Community!\n\n\u003ca name=\"contributing\"\u003e\u003c/a\u003e\u003ca name=\"community\"\u003e\u003c/a\u003e\nOur projects are community-built and welcome collaboration. 👍 Be sure to see the \u003ca href=\"https://docs.google.com/document/d/17OPtDE_rdnPQxmk2Kauhm3GwXF1R5dZ3Cj8qZLKdo5E/edit\"\u003eLayer5 Community Welcome Guide\u003c/a\u003e for a tour of resources available to you and jump into our \u003ca href=\"http://slack.layer5.io\"\u003eSlack\u003c/a\u003e!\n\n\u003cp style=\"clear:both;\"\u003e\n\u003ca href =\"https://layer5.io/community/meshmates\"\u003e\u003cimg alt=\"MeshMates\" src=\".github\\readme\\images\\Layer5-MeshMentors.png\" style=\"margin-right:10px; margin-bottom:7px;\" width=\"28%\" align=\"left\" /\u003e\u003c/a\u003e\n\u003ch3\u003eFind your MeshMate\u003c/h3\u003e\n\n\u003cp\u003eMeshMates are experienced Layer5 community members, who will help you learn your way around, discover live projects and expand your community network. \nBecome a \u003cb\u003eMeshtee\u003c/b\u003e today!\u003c/p\u003e\n\nFind out more on the \u003ca href=\"https://layer5.io/community\"\u003eLayer5 community\u003c/a\u003e. \u003cbr /\u003e\n\u003cbr /\u003e\u003cbr /\u003e\u003cbr /\u003e\u003cbr /\u003e\n\u003c/p\u003e\n\n\u003cdiv\u003e\u0026nbsp;\u003c/div\u003e\n\n\u003ca href=\"https://slack.meshery.io\"\u003e\n\n\u003cpicture align=\"right\"\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\".github/readme/images//slack-dark-128.png\"  width=\"110px\" align=\"right\" style=\"margin-left:10px;margin-top:10px;\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\".github/readme/images//slack-128.png\" width=\"110px\" align=\"right\" style=\"margin-left:10px;padding-top:5px;\"\u003e\n  \u003cimg alt=\"Shows an illustrated light mode meshery logo in light color mode and a dark mode meshery logo dark color mode.\" src=\".github/readme/images//slack-128.png\" width=\"110px\" align=\"right\" style=\"margin-left:10px;padding-top:13px;\"\u003e\n\u003c/picture\u003e\n\u003c/a\u003e\n\n\u003ca href=\"https://meshery.io/community\"\u003e\u003cimg alt=\"Layer5 Cloud Native Community\" src=\".github/readme/images//community.svg\" style=\"margin-right:8px;padding-top:5px;\" width=\"140px\" align=\"left\" /\u003e\u003c/a\u003e\n\n\u003cp\u003e\n✔️ \u003cem\u003e\u003cstrong\u003eJoin\u003c/strong\u003e\u003c/em\u003e any or all of the weekly meetings on \u003ca href=\"https://calendar.google.com/calendar/b/1?cid=bGF5ZXI1LmlvX2VoMmFhOWRwZjFnNDBlbHZvYzc2MmpucGhzQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20\"\u003ecommunity calendar\u003c/a\u003e.\u003cbr /\u003e\n✔️ \u003cem\u003e\u003cstrong\u003eWatch\u003c/strong\u003e\u003c/em\u003e community \u003ca href=\"https://www.youtube.com/playlist?list=PL3A-A6hPO2IMPPqVjuzgqNU5xwnFFn3n0\"\u003emeeting recordings\u003c/a\u003e.\u003cbr /\u003e\n✔️ \u003cem\u003e\u003cstrong\u003eAccess\u003c/strong\u003e\u003c/em\u003e the \u003ca href=\"https://drive.google.com/drive/u/4/folders/0ABH8aabN4WAKUk9PVA\"\u003eCommunity Drive\u003c/a\u003e by completing a community \u003ca href=\"https://layer5.io/newcomer\"\u003eMember Form\u003c/a\u003e.\u003cbr /\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003ci\u003eNot sure where to start?\u003c/i\u003e Grab an open issue with the \u003ca href=\"https://github.com/issues?q=is%3Aopen+is%3Aissue+archived%3Afalse+org%3Alayer5io+org%3Ameshery+org%3Aservice-mesh-performance+org%3Aservice-mesh-patterns+label%3A%22help+wanted%22+\"\u003ehelp-wanted label\u003c/a\u003e.\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flayer5io%2Fkubeopenapi-jsonschema","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flayer5io%2Fkubeopenapi-jsonschema","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flayer5io%2Fkubeopenapi-jsonschema/lists"}