From abdf44a327b05cbc5cab03855ce368cecfb51de7 Mon Sep 17 00:00:00 2001 From: Kunitsyn Oleg Date: Tue, 19 Aug 2025 14:25:41 +0200 Subject: [PATCH 1/3] [ODM-12644] Replace explorer with spotlight --- Earthfile | 22 +- .../fs/usr/share/nginx/html/index.html | 23 - openapi/explorer/package-lock.json | 718 ------------------ openapi/explorer/package.json | 15 - .../fs/etc/nginx/conf.d/default.conf | 0 .../fs/usr/share/nginx/html/index.html | 20 + 6 files changed, 25 insertions(+), 773 deletions(-) delete mode 100644 openapi/explorer/fs/usr/share/nginx/html/index.html delete mode 100644 openapi/explorer/package-lock.json delete mode 100644 openapi/explorer/package.json rename openapi/{explorer => spotlight}/fs/etc/nginx/conf.d/default.conf (100%) create mode 100644 openapi/spotlight/fs/usr/share/nginx/html/index.html diff --git a/Earthfile b/Earthfile index e34f4289..dc6b577f 100644 --- a/Earthfile +++ b/Earthfile @@ -167,32 +167,20 @@ swagger: SAVE IMAGE --push ${HARBOR_DOCKER_REGISTRY}/swagger:${OPENAPI_VERSION} SAVE IMAGE --push ${HARBOR_DOCKER_REGISTRY}/swagger:latest -explorer-build: - FROM node:22.18.0-alpine - DO github.com/genestack/earthly-libs+NPM_PREPARE - - CACHE /root/.npm - - COPY openapi/explorer/package.json openapi/explorer/package-lock.json . - RUN npm install - - SAVE ARTIFACT node_modules/openapi-explorer/dist/browser/openapi-explorer.min.js - -explorer: +spotlight: FROM nginxinc/nginx-unprivileged:1.29.0-alpine COPY +build/v1/schemas /usr/share/nginx/html/schemas/ COPY +build/v1/odmApi.yaml /usr/share/nginx/html/ - COPY --pass-args +explorer-build/openapi-explorer.min.js /usr/share/nginx/html/ - COPY openapi/explorer/fs / + COPY openapi/spotlight/fs / ARG --required OPENAPI_VERSION - SAVE IMAGE --push ${HARBOR_DOCKER_REGISTRY}/explorer:${OPENAPI_VERSION} - SAVE IMAGE --push ${HARBOR_DOCKER_REGISTRY}/explorer:latest + SAVE IMAGE --push ${HARBOR_DOCKER_REGISTRY}/spotlight:${OPENAPI_VERSION} + SAVE IMAGE --push ${HARBOR_DOCKER_REGISTRY}/spotlight:latest main: BUILD +swagger - BUILD +explorer + BUILD +spotlight BUILD +docs BUILD +r-api-client BUILD +python-api-client diff --git a/openapi/explorer/fs/usr/share/nginx/html/index.html b/openapi/explorer/fs/usr/share/nginx/html/index.html deleted file mode 100644 index 4afe14a0..00000000 --- a/openapi/explorer/fs/usr/share/nginx/html/index.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - OpenAPI Explorer Development Test - - - - - - - - diff --git a/openapi/explorer/package-lock.json b/openapi/explorer/package-lock.json deleted file mode 100644 index cb9ca152..00000000 --- a/openapi/explorer/package-lock.json +++ /dev/null @@ -1,718 +0,0 @@ -{ - "name": "ui", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "ui", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "openapi-explorer": "^2.1.663" - } - }, - "node_modules/@apidevtools/json-schema-ref-parser": { - "version": "9.1.2", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.1.2.tgz", - "integrity": "sha512-r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg==", - "license": "MIT", - "dependencies": { - "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.6", - "call-me-maybe": "^1.0.1", - "js-yaml": "^4.1.0" - } - }, - "node_modules/@authress/login": { - "version": "2.3.287", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/@authress/login/-/login-2.3.287.tgz", - "integrity": "sha512-kdZP9K0E9VZEOL2xH2sNdDF3LflNMVjFiwmpHa1Kh0oxgOt1by1RxRGcwFE/8Ns/uok25J5ZNyHjOPPcI5kJIQ==", - "license": "Apache-2.0", - "dependencies": { - "cookie": "^0.5.0", - "lodash.take": "^4.1.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@babel/runtime": { - "version": "7.23.9", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/@babel/runtime/-/runtime-7.23.9.tgz", - "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==", - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.23.9", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/@babel/runtime-corejs3/-/runtime-corejs3-7.23.9.tgz", - "integrity": "sha512-oeOFTrYWdWXCvXGB5orvMTJ6gCZ9I6FBjR+M38iKNXCsPxr4xT0RTdg5uz1H7QP8pp74IzPtwritEr+JscqHXQ==", - "license": "MIT", - "dependencies": { - "core-js-pure": "^3.30.2", - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@jsdevtools/ono": { - "version": "7.1.3", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/@jsdevtools/ono/-/ono-7.1.3.tgz", - "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", - "license": "MIT" - }, - "node_modules/@lit-labs/ssr-dom-shim": { - "version": "1.2.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.0.tgz", - "integrity": "sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==", - "license": "BSD-3-Clause" - }, - "node_modules/@lit/reactive-element": { - "version": "1.6.3", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/@lit/reactive-element/-/reactive-element-1.6.3.tgz", - "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", - "license": "BSD-3-Clause", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.0.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "license": "MIT" - }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", - "license": "MIT" - }, - "node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/base64url": { - "version": "3.0.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/base64url/-/base64url-3.0.1.tgz", - "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/call-me-maybe": { - "version": "1.0.2", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/call-me-maybe/-/call-me-maybe-1.0.2.tgz", - "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", - "license": "MIT" - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/color": { - "version": "4.2.3", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - }, - "engines": { - "node": ">=12.5.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "license": "MIT", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/core-js-pure": { - "version": "3.35.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/core-js-pure/-/core-js-pure-3.35.1.tgz", - "integrity": "sha512-zcIdi/CL3MWbBJYo5YCeVAAx+Sy9yJE9I3/u9LkFABwbeaPhTMRWraM8mYFp9jW5Z50hOy7FVzCc8dCrpZqtIQ==", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/drange": { - "version": "1.1.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/drange/-/drange-1.1.1.tgz", - "integrity": "sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/i18next": { - "version": "21.10.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/i18next/-/i18next-21.10.0.tgz", - "integrity": "sha512-YeuIBmFsGjUfO3qBmMOc0rQaun4mIpGKET5WDwvu8lU7gvwpcariZLNtL0Fzj+zazcHUrlXHiptcFhBMFaxzfg==", - "funding": [ - { - "type": "individual", - "url": "https://locize.com" - }, - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - } - ], - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.17.2" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/lit": { - "version": "2.8.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/lit/-/lit-2.8.0.tgz", - "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", - "license": "BSD-3-Clause", - "dependencies": { - "@lit/reactive-element": "^1.6.0", - "lit-element": "^3.3.0", - "lit-html": "^2.8.0" - } - }, - "node_modules/lit-element": { - "version": "3.3.3", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/lit-element/-/lit-element-3.3.3.tgz", - "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", - "license": "BSD-3-Clause", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.1.0", - "@lit/reactive-element": "^1.3.0", - "lit-html": "^2.8.0" - } - }, - "node_modules/lit-html": { - "version": "2.8.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/lit-html/-/lit-html-2.8.0.tgz", - "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", - "license": "BSD-3-Clause", - "dependencies": { - "@types/trusted-types": "^2.0.2" - } - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", - "license": "MIT" - }, - "node_modules/lodash.clonedeepwith": { - "version": "4.5.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.0.tgz", - "integrity": "sha512-QRBRSxhbtsX1nc0baxSkkK5WlVTTm/s48DSukcGcWZwIyI8Zz+lB+kFiELJXtzfH4Aj6kMWQ1VWW4U5uUDgZMA==", - "license": "MIT" - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "license": "MIT" - }, - "node_modules/lodash.take": { - "version": "4.1.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/lodash.take/-/lodash.take-4.1.1.tgz", - "integrity": "sha512-3T118EQjnhr9c0aBKCCMhQn0OBwRMz/O2WaRU6VH0TSKoMCmFtUpr0iUp+eWKODEiRXtYOK7R7SiBneKHdk7og==", - "license": "MIT" - }, - "node_modules/marked": { - "version": "4.3.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", - "license": "MIT", - "bin": { - "marked": "bin/marked.js" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "license": "MIT", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/openapi-data-validator": { - "version": "2.0.52", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/openapi-data-validator/-/openapi-data-validator-2.0.52.tgz", - "integrity": "sha512-m1A2t/mkYOUw8+bgzK5/xwQYwFWM290xvHQS5wdFcu+6go2aH+/hfZMzJwrgMq4X6wL4AVtv2hM5jI3CaHRfgQ==", - "license": "Apache-2.0", - "dependencies": { - "@apidevtools/json-schema-ref-parser": "^9.0", - "ajv": "^8.5", - "ajv-formats": "^2.1", - "content-type": "^1.0", - "lodash.clonedeep": "^4.5", - "lodash.get": "^4.4", - "media-typer": "^1.1", - "require-from-string": "^2.0.2" - }, - "engines": { - "node": ">=14.5.0" - } - }, - "node_modules/openapi-explorer": { - "version": "2.2.768", - "resolved": "https://registry.npmjs.org/openapi-explorer/-/openapi-explorer-2.2.768.tgz", - "integrity": "sha512-mMGN91EFg5pT7MLZHvSeEk+vLDuCXoIFURcDJPR2YjX6Plc9qLeCXCnVTUqV7TxyZA5IA66GGCK2pRV1hHS8Sw==", - "license": "Apache-2.0", - "dependencies": { - "@authress/login": "^2.0", - "base64url": "^3.0.1", - "buffer": "^6.0.3", - "color": "^4.2.3", - "create-hash": "^1.2.0", - "i18next": "^21.9.0", - "json5": "^2.2.3", - "lit": "^2.3.1", - "lodash.clonedeep": "^4.5.0", - "lodash.merge": "^4.6.2", - "marked": "^4.0.16", - "openapi-data-validator": "^2.0.40", - "openapi-resolver": "^4.1.53", - "prismjs": "^1.29.0", - "randexp": "^0.5.3", - "xml-but-prettier": "^1.0.1" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/openapi-resolver": { - "version": "4.1.53", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/openapi-resolver/-/openapi-resolver-4.1.53.tgz", - "integrity": "sha512-wjK5/uRYX2TcsLB+yBTqBnBBUfXOF7DLMcXaVWbzMbs5JKr7LzH3I+TwrWUVIsZg+2Gy6l3dSGHVCOZxyI+JKA==", - "license": "Apache-2.0", - "dependencies": { - "@apidevtools/json-schema-ref-parser": "^9.0.9", - "@babel/runtime-corejs3": "^7.18.9", - "js-yaml": "^4.1.0", - "lodash.clonedeepwith": "^4.5.0" - } - }, - "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/randexp": { - "version": "0.5.3", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/randexp/-/randexp-0.5.3.tgz", - "integrity": "sha512-U+5l2KrcMNOUPYvazA3h5ekF80FHTUG+87SEAmHZmolh1M+i/WyTCxVzmi+tidIa1tM4BSe8g2Y/D3loWDjj+w==", - "license": "MIT", - "dependencies": { - "drange": "^1.0.2", - "ret": "^0.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "license": "MIT" - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ret": { - "version": "0.2.2", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/ret/-/ret-0.2.2.tgz", - "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "license": "MIT", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "license": "(MIT AND BSD-3-Clause)", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/xml-but-prettier": { - "version": "1.0.1", - "resolved": "https://nexus.devops.gs.team/repository/npm-proxy-npmjs/xml-but-prettier/-/xml-but-prettier-1.0.1.tgz", - "integrity": "sha512-C2CJaadHrZTqESlH03WOyw0oZTtoy2uEg6dSDF6YRg+9GnYNub53RRemLpnvtbHDFelxMx4LajiFsYeR6XJHgQ==", - "license": "MIT", - "dependencies": { - "repeat-string": "^1.5.2" - } - } - } -} diff --git a/openapi/explorer/package.json b/openapi/explorer/package.json deleted file mode 100644 index d5fdcb42..00000000 --- a/openapi/explorer/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "ui", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "openapi-explorer": "^2.1.663" - } -} diff --git a/openapi/explorer/fs/etc/nginx/conf.d/default.conf b/openapi/spotlight/fs/etc/nginx/conf.d/default.conf similarity index 100% rename from openapi/explorer/fs/etc/nginx/conf.d/default.conf rename to openapi/spotlight/fs/etc/nginx/conf.d/default.conf diff --git a/openapi/spotlight/fs/usr/share/nginx/html/index.html b/openapi/spotlight/fs/usr/share/nginx/html/index.html new file mode 100644 index 00000000..7e6552b5 --- /dev/null +++ b/openapi/spotlight/fs/usr/share/nginx/html/index.html @@ -0,0 +1,20 @@ + + + + + + Elements in HTML + + + + + + + + + + From 4a215377af99606a6886c2c7c9fe392838ecd2bc Mon Sep 17 00:00:00 2001 From: Kunitsyn Oleg Date: Tue, 19 Aug 2025 15:03:25 +0200 Subject: [PATCH 2/3] [ODM-12644] Fix apiDescriptionUrl --- openapi/spotlight/fs/usr/share/nginx/html/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi/spotlight/fs/usr/share/nginx/html/index.html b/openapi/spotlight/fs/usr/share/nginx/html/index.html index 7e6552b5..9e1c9f6d 100644 --- a/openapi/spotlight/fs/usr/share/nginx/html/index.html +++ b/openapi/spotlight/fs/usr/share/nginx/html/index.html @@ -11,7 +11,7 @@ From 3c644a3edad39df7c1333dfaf7fc60a92bdda2cf Mon Sep 17 00:00:00 2001 From: Kunitsyn Oleg Date: Wed, 20 Aug 2025 08:01:18 +0200 Subject: [PATCH 3/3] [ODM-12776] Spotlight to stoplight --- Earthfile | 10 +++++----- .../fs/etc/nginx/conf.d/default.conf | 0 .../fs/usr/share/nginx/html/index.html | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) rename openapi/{spotlight => stoplight}/fs/etc/nginx/conf.d/default.conf (100%) rename openapi/{spotlight => stoplight}/fs/usr/share/nginx/html/index.html (90%) diff --git a/Earthfile b/Earthfile index dc6b577f..b18be9b4 100644 --- a/Earthfile +++ b/Earthfile @@ -167,20 +167,20 @@ swagger: SAVE IMAGE --push ${HARBOR_DOCKER_REGISTRY}/swagger:${OPENAPI_VERSION} SAVE IMAGE --push ${HARBOR_DOCKER_REGISTRY}/swagger:latest -spotlight: +stoplight: FROM nginxinc/nginx-unprivileged:1.29.0-alpine COPY +build/v1/schemas /usr/share/nginx/html/schemas/ COPY +build/v1/odmApi.yaml /usr/share/nginx/html/ - COPY openapi/spotlight/fs / + COPY openapi/stoplight/fs / ARG --required OPENAPI_VERSION - SAVE IMAGE --push ${HARBOR_DOCKER_REGISTRY}/spotlight:${OPENAPI_VERSION} - SAVE IMAGE --push ${HARBOR_DOCKER_REGISTRY}/spotlight:latest + SAVE IMAGE --push ${HARBOR_DOCKER_REGISTRY}/stoplight:${OPENAPI_VERSION} + SAVE IMAGE --push ${HARBOR_DOCKER_REGISTRY}/stoplight:latest main: BUILD +swagger - BUILD +spotlight + BUILD +stoplight BUILD +docs BUILD +r-api-client BUILD +python-api-client diff --git a/openapi/spotlight/fs/etc/nginx/conf.d/default.conf b/openapi/stoplight/fs/etc/nginx/conf.d/default.conf similarity index 100% rename from openapi/spotlight/fs/etc/nginx/conf.d/default.conf rename to openapi/stoplight/fs/etc/nginx/conf.d/default.conf diff --git a/openapi/spotlight/fs/usr/share/nginx/html/index.html b/openapi/stoplight/fs/usr/share/nginx/html/index.html similarity index 90% rename from openapi/spotlight/fs/usr/share/nginx/html/index.html rename to openapi/stoplight/fs/usr/share/nginx/html/index.html index 9e1c9f6d..b2e28d47 100644 --- a/openapi/spotlight/fs/usr/share/nginx/html/index.html +++ b/openapi/stoplight/fs/usr/share/nginx/html/index.html @@ -11,7 +11,7 @@