From c221b4ccca82dae42bab3883b4d15c0a00495b3d Mon Sep 17 00:00:00 2001 From: Sofia Boldyreva Date: Mon, 24 Nov 2025 14:13:17 +0100 Subject: [PATCH] Separate ELS for Runtimes --- README.md | 3 +- docs/.vuepress/client.ts | 2 + docs/.vuepress/components/ELSRTechnology.vue | 312 ++++++++++++++++++ docs/.vuepress/components/ELSTechnology.vue | 47 --- docs/.vuepress/config-client/documents.ts | 5 + docs/.vuepress/config-client/sidebar.ts | 58 ++-- docs/.vuepress/public/images/almalinux.webp | Bin 0 -> 2026 bytes docs/.vuepress/public/images/debian.webp | Bin 1620 -> 1614 bytes docs/.vuepress/public/images/rocky.webp | Bin 0 -> 1334 bytes docs/.vuepress/public/images/windows.webp | Bin 0 -> 1060 bytes docs/.vuepress/routes.json | 7 +- .../.vuepress/theme/components/Breadcrumb.vue | 1 + docs/els-for-runtimes/README.md | 61 ++++ .../dotnet/README.md | 0 .../nodejs/README.md | 0 .../openjdk/README.md | 0 .../php/README.md | 0 .../python/README.md | 0 18 files changed, 417 insertions(+), 79 deletions(-) create mode 100644 docs/.vuepress/components/ELSRTechnology.vue create mode 100644 docs/.vuepress/public/images/almalinux.webp create mode 100644 docs/.vuepress/public/images/rocky.webp create mode 100644 docs/.vuepress/public/images/windows.webp create mode 100644 docs/els-for-runtimes/README.md rename docs/{els-for-runtimes-and-libraries => els-for-runtimes}/dotnet/README.md (100%) rename docs/{els-for-runtimes-and-libraries => els-for-runtimes}/nodejs/README.md (100%) rename docs/{els-for-runtimes-and-libraries => els-for-runtimes}/openjdk/README.md (100%) rename docs/{els-for-runtimes-and-libraries => els-for-runtimes}/php/README.md (100%) rename docs/{els-for-runtimes-and-libraries => els-for-runtimes}/python/README.md (100%) diff --git a/README.md b/README.md index 7d58bb830..b493e9f67 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,8 @@ yarn docs:dev ``` docs/ ├── .vuepress/ # VuePress config and components -├── els-for-os/ # Extended Lifecycle Support for OS +├── els-for-os/ # Endless Lifecycle Support for OS +├── els-for-runtimes/ # ELS for Runtimes ├── els-for-runtimes-and-libraries/ # ELS for languages/frameworks ├── els-for-applications/ # ELS for applications ├── enterprise-support-for-almalinux/ diff --git a/docs/.vuepress/client.ts b/docs/.vuepress/client.ts index 3ca64860a..d1c5ad38f 100644 --- a/docs/.vuepress/client.ts +++ b/docs/.vuepress/client.ts @@ -17,6 +17,7 @@ import CodeTabs from "./components/CodeTabs.vue"; import CodeWithCopy from "./components/CodeWithCopy.vue"; import TableTabs from "./components/TableTabs.vue"; import ELSTechnology from "./components/ELSTechnology.vue"; +import ELSRTechnology from "./components/ELSRTechnology.vue"; import ResolvedCveTable from './components/ResolvedCveTable.vue' @@ -31,6 +32,7 @@ export default defineClientConfig({ app.component("ResolvedCveTable", ResolvedCveTable); app.component("TableTabs", TableTabs); app.component("ELSTechnology", ELSTechnology); + app.component("ELSRTechnology", ELSRTechnology); }, layouts: { Layout, diff --git a/docs/.vuepress/components/ELSRTechnology.vue b/docs/.vuepress/components/ELSRTechnology.vue new file mode 100644 index 000000000..46a57589a --- /dev/null +++ b/docs/.vuepress/components/ELSRTechnology.vue @@ -0,0 +1,312 @@ + + + + + + + + diff --git a/docs/.vuepress/components/ELSTechnology.vue b/docs/.vuepress/components/ELSTechnology.vue index e0e593422..6011398dd 100644 --- a/docs/.vuepress/components/ELSTechnology.vue +++ b/docs/.vuepress/components/ELSTechnology.vue @@ -89,11 +89,6 @@ const techData = [ versions: "Multiple", link: "./spring/", }, - { - name: "OpenJDK", - versions: "7 | 8 | 11 | 17", - link: "./openjdk/", - }, { name: "Dom4j", versions: "1.6.1", @@ -440,11 +435,6 @@ const techData = [ versions: "0.10.0", link: "./node-forge/", }, - { - name: "Node.js", - versions: " 12 | 14 | 16 | 18 | 20", - link: "./nodejs/", - }, { name: "pdfjs-dist", versions: "2.16.105", @@ -561,11 +551,6 @@ const techData = [ ecosystem: "Python", ecosystemIcon: "/images/python.webp", projects: [ - { - name: "Python", - versions: "2.7 | 3.6 ", - link: "./python/", - }, { name: "aiohttp", versions: "3.8.1 | 3.8.4 | 3.8.5", @@ -763,38 +748,6 @@ const techData = [ }, ], }, - { - ecosystem: "PHP", - ecosystemIcon: "/images/php.webp", - projects: [ - { - name: "PHP", - versions: "5.2 | 5.3 | 5.4 | 5.5 | 5.6 | 7.0 | 7.1 | 7.2 | 7.3 | 7.4 | 8.0 | 8.1 | 8.2 | 8.3 | 8.4", - link: "./php/", - }, - ], - }, - { - ecosystem: "C#", - ecosystemIcon: "/images/csharp.webp", - projects: [ - { - name: ".NET", - versions: "6", - link: "./dotnet/", - }, - ], - }, - { - ecosystem: "Ruby", - ecosystemIcon: "/images/ruby.webp", - projects: [ - { - name: "Ruby", - versions: "3.1", - }, - ], - }, ]; const filteredData = computed(() => { diff --git a/docs/.vuepress/config-client/documents.ts b/docs/.vuepress/config-client/documents.ts index 8e51b3a5c..7e7201d79 100644 --- a/docs/.vuepress/config-client/documents.ts +++ b/docs/.vuepress/config-client/documents.ts @@ -44,6 +44,11 @@ export default [ description: "provides security fixes for language runtimes and software libraries beyond their official end-of-life date.", link: "/els-for-runtimes-and-libraries/", }, + { + title: "ELS for Runtimes", + description: "provides security fixes for language runtimes beyond their official end-of-life date.", + link: "/els-for-runtimes/", + }, { title: "ELS for Applications", description: "provides security fixes for open-source applications after official support ends.", diff --git a/docs/.vuepress/config-client/sidebar.ts b/docs/.vuepress/config-client/sidebar.ts index 2130a70ca..7eb671695 100644 --- a/docs/.vuepress/config-client/sidebar.ts +++ b/docs/.vuepress/config-client/sidebar.ts @@ -78,6 +78,34 @@ export default { ] }, ], + '/els-for-runtimes/': [ + { + collapsable: false, + children: [ + "/els-for-runtimes/", + { + path: '/els-for-runtimes/openjdk/', + icon: '/images/openjdk-logo.webp', + }, + { + path: '/els-for-runtimes/python/', + icon: '/images/python.webp', + }, + { + path: '/els-for-runtimes/php/', + icon: '/images/php-logo.webp', + }, + { + path: '/els-for-runtimes/dotnet/', + icon: '/images/dotnet-logo.webp', + }, + { + path: '/els-for-runtimes/nodejs/', + icon: '/images/nodejs.webp', + }, + ] + }, + ], '/els-for-runtimes-and-libraries/': [ { collapsable: false, @@ -92,10 +120,6 @@ export default { path: '/els-for-runtimes-and-libraries/spring/', icon: '/images/spring-logo.webp', }, - { - path: '/els-for-runtimes-and-libraries/openjdk/', - icon: '/images/openjdk-logo.webp', - }, { path: '/els-for-runtimes-and-libraries/apache-struts/', icon: '/images/strut-logo.webp', @@ -137,10 +161,6 @@ export default { type: 'section-header', icon: '/images/python.webp', }, - { - path: '/els-for-runtimes-and-libraries/python/', - icon: '/images/python.webp', - }, { path: '/els-for-runtimes-and-libraries/celery/', icon: '/images/celery.webp', @@ -173,24 +193,6 @@ export default { path: '/els-for-runtimes-and-libraries/python-libraries/', icon: '/images/python.webp', }, - { - title: 'PHP', - type: 'section-header', - icon: '/images/php-logo.webp', - }, - { - path: '/els-for-runtimes-and-libraries/php/', - icon: '/images/php-logo.webp', - }, - { - title: 'C#', - type: 'section-header', - icon: '/images/csharp.webp', - }, - { - path: '/els-for-runtimes-and-libraries/dotnet/', - icon: '/images/dotnet-logo.webp', - }, { title: 'JavaScript', type: 'section-header', @@ -340,10 +342,6 @@ export default { path: '/els-for-runtimes-and-libraries/node-forge/', icon: '/images/node-forge-logo.webp', }, - { - path: '/els-for-runtimes-and-libraries/nodejs/', - icon: '/images/nodejs.webp', - }, { path: '/els-for-runtimes-and-libraries/nth-check/', icon: '/images/nth-check-logo.webp', diff --git a/docs/.vuepress/public/images/almalinux.webp b/docs/.vuepress/public/images/almalinux.webp new file mode 100644 index 0000000000000000000000000000000000000000..8f15a9b31482da80970b497ede7c6908ef8cd47b GIT binary patch literal 2026 zcmaKsdpuP68^^!n8oB&(c_o)jty@Gc6=E?e%uMWbVi?3SF3ELgP%eX{U$asTm3Bhd zaY@XQBG=s7FmerR5!0$Qv6x)OtucG#kM@uK{l4GxJm2^Cc|Nc6eV%h(=RjyXyFbJM za6N5{!{f}{Bmn@1J9Y#B^vRRB4g|afh>mS90;fX5B1w?FEz*tPjudAD1U$bCA0jzo zhyK;WD&Fvp_Kp6(D*k^^!q1;fge6?qG)VB_a7_v@D+KPa&Nln*u;n&iij0VaHMngi zIYTF5_Jdg`@E`2^4<<&Cw)JVS#xgV{YWuA1vE7}Nf0)ZTc-;k?Dj)+0*aO?`{^315 z!hZ(9Yy|*e+Siyb9f0T808kqJ8q>%FKsE({>fW!hug@gHhvf6+b|SDB3J3sTu^0ep z0s!)T07!a#$-(Y_)P{sps&HN5@C*bYz#kw18iWBNFo4MzeyK*_IO+_}!9*BtDldAh z`Ve}!i4ihZ9SUDr{o6}-WvHIZzMfGJ)ISN zUYoKSA1m;jPFk|IPg-B~Yc`EZ4s8!VAEd>_I2^kL%4L4SX%;kp;KtzxiYpG>D2N`J z#7jA|%uJYh##PElf6P@UQeyRGEnFCbVR@s~iGIU!Lb_ni#(5%&eW3Ju`<<3d;Jo}; znph_ET}s<3B??K5tgsDC+S`zdBI?m8h|E~ORNO&Aj9##L^S5*<3T+PtT4mH52Stdi zmESbtCBL?nx0;|w2epwIi(*O-5N`?xyb_sU`F4wn-^+%si6df@v zeAEj4S;*5_S>nWsHe-M+x_)X%-!IMG+nsKLe$Hc3WM{wp_W)?G{M zDp^km5saRdvDQMFT13(Y*<#I0>K07O-A9^@9%HT}9G#CRU%NCD7kipY@&=7gytSX; z_vD&u&Q*npxyLE4uaeQRSJU^Oej(aZ-l2tVB9tN@zGV#ixLarr`08h??sh_`=pNpf zsm&a4o4Trw{KoI*ndx(MtQpO9U|*6+_bs7)!~#)MHiH0&IkA&%^h$h-&T~xcPz;AM zt|wYBu8-xE$u}KQO^~HlXG~u@wTNlVHrJMp?U2qPTb4`TS?xA-Vr3!5t6CltFVJ)K zkG&@!Y&i6B7k9~RD(?6EG0Ux==;xuf{$Zt&13@YkDDp2YuYC7Ih4*AB@tZZ6jJy0{ zGk%&&gwp_udi#Fr&60;`3AJbHHO6>|H%BuF!d(tPYc{kV*;~<+Ws$JE!lTpR3_Cod zs8@)I@nV*8d;5|_=esLrw7(0*SNBt==O2x&JXorRmdule_`Y21{2(Wp!1$eY9MeC> zT*17pXNp4?@`fy~Enitmg<@w^798=d2mt>bku^d9RO|sc2wfxigR%-eOtaHCn4hoj z*>xdF`o|DZZw|~?mdnpoh;xGR7rE(kf@70l3V~x$$(1uMyXJQf$ zvFWmjSUA9O?GxsmD--6mjR>y@4+wZ|Y*$|U>Nlgo0{-Bbx0ej$t$}Vzup;Iy#EsLL zGu8qPD+y+LE5;#u@WZK6`Q}k39)d07J0bIk z`~2^%v4@eOrnC8>*NVgptZ^giNew)H zYIQ#SHD%Nl`Bdc-4`0~FlI|AO0<4OogRRA!CPL+7?fiREhXPj!PfBtw#-j*vMJA3) zlz@HpIpR1WulM^hPDgysk$?LnF;FkNdep~|@S|KI_4(N~#%+PS-W5m1_s&RpLgcG= z3QwbO6gQn`t1$)`tylx4{6kaxsLEeZDAb6etI*!_3+3!(i%B9bhFllsuE{dx3;z+U z{-Kjv!KxDW^*^Whk|VT*gq+_1Oy0oENoQ^+bQHg1r!Wb9#3AEIrb+~zd7BBiA# zB6^duFVf_~uP9{wynM^Lac^9uNC(K=AUO&5?oXsBd(4vD7wR;d;-#@>?KNA`c|eDe zC|JFqvMHFGmenJ8vV)lyaif8*>(g>onI;^zMX>I5L3fr+k18_5!Q3wUc{2ci1D<$D A-~a#s literal 0 HcmV?d00001 diff --git a/docs/.vuepress/public/images/debian.webp b/docs/.vuepress/public/images/debian.webp index f696f2c327b8bef46e58374690b627dc88cd27d4..7decdeec7b84d09635c1feb3adca0e0b1eb0cd65 100644 GIT binary patch literal 1614 zcmaKsdpwj`7{||;a%U8ZF+L3{Ln@}^QW-OrL9APfw*9z_K^UgNR_-*6v8+iKp+W`; zsU}RU%PwuM@xi)gjBTsUWoKeXZn5w1hyG~yIq&nF?|Giz=Um?R^Bz|_8yg!*0M1$y zoXkghtR@i3GHV=Q*?#AHbltVLqgA>Lz_P zLaK$qO>O_duPXjODdR^DCqWV+@7H~EB^FGWxzAdRz_X{TMS zAohb86YvH5e!(OvO{`CcG$$w_k>a()CO(}!In><^>ZKt^fpFjoh=3qIKQx9c>^=ad zA^_m5t(ZBFon z5=|Ma5kDG5FVup^YK%QHpYzyW=FC(X%ZsYz6K4-B-nn80Gs%~!bGPuSaG%7_6w1#U z=U=TLX`QsMd8i&<(mKK!6)NHj$(eOGERbv8Gev{iZT`AT@s~e!mPxzj?W-G9nNc~J`Eu$Pq5Atslu73~XRtaH_4mwy!+f#B=6g0N;u5d%@J;iV-rFb~=! zD@D(Cr6?whuSN0}ELLGvb74}%qV9ftJ*?h^lNgk(3oo)L9RD1pnb_!3_Sg6W5~8wq znd>gZKIy+0xAb>nO(1Tv*IN-)DepihV?z4+4uA4_ZLGd<$!A%lggSr9l6!j^uNW4q zX;`&pn!~y2h@tI%NU+ahiQ3B>LFtjsi7X)-lgaNy-@YoW)0AU1CC@NZo~1H!f6h=v z(%1*>Ma|l9Wp0v?K8IN=CRVbu&GyGA1+590&c)LSdNJQhsSHS4Eovqlq3bv*J?&`U zy}WnCFv;3HKEa9byz-|X)!y2zUQUZdmJLoM@018pHeRaF-`-{Zv~%vHU*0>JyMe<- z4*d)SNMxrV;hz5fp4vT)#0nNSB7K>aeOT|-QF$x$*t3Dy9b@>hUGng(7M8KXex)kmUqtTRzY01jgAa zbfMn%>Kt-ZD3iMs}|0RVT_uu7v)*5s?;(mlp!CPyo zQq#JRstOQ&Ufzh|M~@Mfh`}b?^$|fr)mRS^t>(1AjPBMK>?y{?0+d9{qhF_Y*xJ)3cu&{;|%KT&5;TN4DDoLSI zNSSl(L7COK8QvM*pC}vUew)7aSI^0;zH7m!KeB|K_*1Ntv!BoB6d&WvXHZeEF1&*` z>fdolcf-x<U!*ds(;gpq=i)VI>g4XbwlG1b{GoaL!_1Z7C#$%;=&}<8UV~zt zr`h3#F1MX+xQs@ox(#mkhaMA$7%#K*@ks84%KWlj9P-G^sfKQtN3)-OZI+ad`KRCR zD<3W8WyVQtYoW}0UmZ2eC)!nY*Uzt~?R)K{egm=MsAkaQjy>P_poAg2Y6@LI{{sDp Ba4Y}- literal 1620 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 U_RnQAUflUt%dhiv#|#Dr0Pe`<*8l(j literal 0 HcmV?d00001 diff --git a/docs/.vuepress/public/images/windows.webp b/docs/.vuepress/public/images/windows.webp new file mode 100644 index 0000000000000000000000000000000000000000..92a384b890316a067521e56c7d45557097a94f59 GIT binary patch literal 1060 zcmWIYbaRtoVPFV%bqWXzu!!JdU|=u+Vm$^1eFg?kXXk(uj6f~};|UPS0+h$ zTO=LA)&Q}SAZ!~DyS${J1gIte#4ZX6at5+ffNYI)Bz6)KJGr0;q`n8J#wItX6l50& zfPBZ3nim=jq&a|ChM|}th{2t~3FLnu9|-anF)&zsWnf^QfDlWX$-uC^m4QLx7D7yA z0Rsbn3j@Qp^9V6Sm=q)yC4!9u#s&jZS{ehxr{xR`ypaqH!WS4AxT3*wKmv!`6o67P zKzHQ>VLC$&Ln?y;gC|2CLozTb6&Q?wk!r|b=I9gPk;Dizb!X3udWJrg+pA_*&zDd( zo*dNv=7wV0nYb3?Z*~>j=k~CqrKKJFpSSYg^pg9=>4L%w4&+LwTFYG4R=ChAC&|I! z(r(-C!@<~eE|!~p;f|IPKMsaZFFM+MHa)$?+_9lcSfGowlBeN@$%?CQ&!`+VnN%Uz zz)?|tfG5dmrb1k<&XcUo91fTIBsMB2MTot=yn;<#%rn5^&~JCg)~rpe|5v6+GcVVh z<`Zwh;F2_d(vinJRVEGki&h*v{iBoH@xU)*W7fI5cqX+KI4YG*x~}cg@HBm;(2PmS z^Aq{SSst!F)ALO5f=zqJ(6KIU-)+}3RmZeHI|) zmr+X}82om*MpN9EC@U!{_xxz!?Mz}guiE>MajEeG`vxzD|BM~XUzq=#-~N9APul)( z|DV+{*hlYGbFfv}y84jv0fv8X&z1B)$yGJc>?;hdx?BIN+1}o<{^8f6P|p~q{@7*n zf6b|n*7VXp)%@Ap>h}TvsfW_9NZI->e7M?hLDu&7tcLbyU#YO=8}{#+ko&PB(YA8o x?Aep2i~ikhX1-;aS4r~AQ { diff --git a/docs/els-for-runtimes/README.md b/docs/els-for-runtimes/README.md new file mode 100644 index 000000000..c3e5301a2 --- /dev/null +++ b/docs/els-for-runtimes/README.md @@ -0,0 +1,61 @@ + + +# Endless Lifecycle Support for Runtimes + + + +## Vulnerability Coverage and Target Response Times + +TuxCare employs the Common Vulnerability Scoring System (CVSS v3.1) to assess the severity of security vulnerabilities. Our severity rating system for patching vulnerabilities integrates both NVD scoring and vendor scoring (when available). When the vendor's score is lower than the NVD score, we prioritize the NVD score. + +Aligning with many industry standards and regulatory requirements, TuxCare is committed to delivering timely security updates. For instance, the Payment Card Industry Data Security Standard (PCI DSS) mandates that all 'High' vulnerabilities (CVSS score of 7.0+) must be addressed within 30 days. Other regulations and standards, such as the Health Insurance Portability and Accountability Act (HIPAA) for healthcare or the Federal Information Security Management Act (FISMA) for government agencies, uphold similar requirements. + +TuxCare will make commercially reasonable efforts to adhere to the following guidelines when addressing vulnerabilities: + +* **High and Critical CVEs (CVSS 7+):** Patches provided within 14 days +* **Medium-severity CVEs (CVSS 4.0 to 6.9):** Patches provided within 60 days +* **Low-severity CVEs:** Patches provided within 90 days. + * **For .NET patches may be provided upon custom request.** +* TuxCare may offer a mitigation strategy as an alternative to a direct code fix. + +## Incident Reporting and Response Timeframe + +Customers can report vulnerabilities by submitting a ticket through the [TuxCare Support Portal](https://tuxcare.com/support-portal/). TuxCare commits to providing an initial response to any reported issue within 3 days. + +Requests for customer-directed security patches for CVEs that are outside of the ELS for Runtimes scope will be reviewed within 3 working days. If the request is accepted, we will provide the patch within the next 60 days. + +Handling Multiple Vulnerabilities: In cases where several CVEs are reported simultaneously for fixing, TuxCare will discuss and agree upon resolution timelines separately with the customer. + +## Enhanced Transparency & Visibility + +TuxCare's commitment to transparency and visibility is foundational to our ELS for Runtimes offering. We aim to provide comprehensive details about how each package is built, verified, and distributed, ensuring complete trust in the software supply chain. + +* **SLSA Compliance**: All packages are built and signed to ensure verifiable Supply-chain Levels for Software Artifacts (SLSA) compliance. They are securely constructed from vetted sources, include attestations for all dependencies, and undergo continuous testing to maintain integrity and security. +* **Software Bill of Materials (SBOM)**: We provide complete visibility into the software supply chain with a comprehensive inventory of every package in the codebase, ensuring transparency and accountability in your software ecosystem. + +:::warning +Note: SBOM support for certain components is in progress and will be available soon. To confirm current availability or expected timeframes, please contact [sales@tuxcare.com](mailto:sales@tuxcare.com). +::: + +* **Enhanced Metadata in Standard Formats:** Each SBOM is provided in universally recognized formats such as SPDX and VEX. These include enhanced metadata like artifact analysis, package health, and vulnerability impact data, ensuring that you have the most detailed and actionable information at your fingertips. +* **Verifiable Integrity and Provenance**: Our packages and metadata provide comprehensive end-to-end provenance, detailing how each package was constructed and tested, ensuring that all components in your software stack are trustworthy. + +:::warning +Note: This feature is under consideration for future development and may be available at a later date. If you are interested, please contact [sales@tuxcare.com](mailto:sales@tuxcare.com). +::: + +* **Secure Distribution**: Signed versions of the packages and their metadata are distributed from a registry managed, secured, and protected by TuxCare, guaranteeing that your software updates are authentic and untampered. + +## Support Duration + +TuxCare provides continuous security patching for all supported end-of-life (EOL) technologies for as long as your organization requires them, eliminating the need for rushed or disruptive upgrades. + +All updates are delivered at a fixed price for the full term of your contract, ensuring predictable costs and uninterrupted protection. + +## Technical Support + +TuxCare provides technical support according to the: +* Standard [support policy](https://tuxcare.com/TuxCare-support-policy.pdf) **(excluding .NET)**. +* The **.NET-specific** [support policy](https://tuxcare.com/TuxCare-els-windows-support-policy.pdf). + +It delivers 24/7/365 access to the TuxCare’s support team through the [TuxCare Support Portal](https://tuxcare.com/support-portal/) and to the TuxCare’s online knowledge base. diff --git a/docs/els-for-runtimes-and-libraries/dotnet/README.md b/docs/els-for-runtimes/dotnet/README.md similarity index 100% rename from docs/els-for-runtimes-and-libraries/dotnet/README.md rename to docs/els-for-runtimes/dotnet/README.md diff --git a/docs/els-for-runtimes-and-libraries/nodejs/README.md b/docs/els-for-runtimes/nodejs/README.md similarity index 100% rename from docs/els-for-runtimes-and-libraries/nodejs/README.md rename to docs/els-for-runtimes/nodejs/README.md diff --git a/docs/els-for-runtimes-and-libraries/openjdk/README.md b/docs/els-for-runtimes/openjdk/README.md similarity index 100% rename from docs/els-for-runtimes-and-libraries/openjdk/README.md rename to docs/els-for-runtimes/openjdk/README.md diff --git a/docs/els-for-runtimes-and-libraries/php/README.md b/docs/els-for-runtimes/php/README.md similarity index 100% rename from docs/els-for-runtimes-and-libraries/php/README.md rename to docs/els-for-runtimes/php/README.md diff --git a/docs/els-for-runtimes-and-libraries/python/README.md b/docs/els-for-runtimes/python/README.md similarity index 100% rename from docs/els-for-runtimes-and-libraries/python/README.md rename to docs/els-for-runtimes/python/README.md