Skip to content

Commit 391c938

Browse files
authored
Merge pull request #375 from sboldyreva/jetty
Add Jetty page
2 parents 537508f + 84dd26a commit 391c938

4 files changed

Lines changed: 200 additions & 0 deletions

File tree

docs/.vuepress/components/ELSTechnology.vue

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,11 @@ const techData = [
229229
versions: "5.11.10.Final",
230230
link: "./hibernate/",
231231
},
232+
{
233+
name: "Eclipse Jetty",
234+
versions: "9.4.24.v20191120 | 9.4.53.v20231009",
235+
link: "./jetty/",
236+
},
232237
{
233238
name: "Logback",
234239
versions: "1.1.7 | 1.2.13",

docs/.vuepress/config-client/sidebar.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,10 @@ export default {
168168
path: '/els-for-libraries/hibernate/',
169169
icon: '/images/hibernate.webp',
170170
},
171+
{
172+
path: '/els-for-libraries/jetty/',
173+
icon: '/images/jetty.webp',
174+
},
171175
{
172176
path: '/els-for-libraries/apache-commons-lang/',
173177
icon: '/images/apache.webp',
744 Bytes
Loading
Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
# Eclipse Jetty
2+
3+
TuxCare's Endless Lifecycle Support (ELS) for Eclipse Jetty provides security patches, and selected bug fixes, that are integral to the stable operation of applications running on Eclipse Jetty.
4+
5+
## Supported Versions
6+
7+
* Eclipse Jetty 9.4.24.v20191120, 9.4.53.v20231009
8+
9+
## Connection to ELS for Eclipse Jetty Repository
10+
11+
This guide outlines the steps needed to integrate the TuxCare ELS for Eclipse Jetty repository into your Java application. The repository provides trusted Java libraries that can be easily integrated into your **Maven** and **Gradle** projects.
12+
13+
### Step 1: Get user credentials
14+
15+
You need a username and password in order to use TuxCare ELS Eclipse Jetty repository. Anonymous access is disabled. To receive a username and password please contact [sales@tuxcare.com](mailto:sales@tuxcare.com).
16+
17+
### Step 2: Configure Registry
18+
19+
1. Navigate to the directory depending on your operating system.
20+
* Windows
21+
```text
22+
Maven: C:\Users\{username}\.m2
23+
Gradle: C:\Users\{username}\.gradle
24+
```
25+
* macOS
26+
```text
27+
Maven: /Users/{username}/.m2
28+
Gradle: /Users/{username}/.gradle
29+
```
30+
* Linux
31+
```text
32+
Maven: /home/{username}/.m2
33+
Gradle: /home/{username}/.gradle
34+
```
35+
36+
2. Add the TuxCare repository and plugin repository to your build configuration.
37+
38+
:::tip
39+
For Maven, you may choose any valid `<id>` value instead of `tuxcare-registry`, but the same value must be used in both `settings.xml` and `pom.xml`.
40+
:::
41+
42+
<CodeTabs :tabs="[
43+
{ title: 'Maven (~/.m2/settings.xml)', content: mavencreds },
44+
{ title: 'Gradle (~/.gradle/gradle.properties)', content: gradlecreds }
45+
]" />
46+
47+
Here `USERNAME` and `PASSWORD` are your credentials mentioned in the [Step 1](#step-1-get-user-credentials).
48+
49+
### Step 3: Update Build Configuration
50+
51+
Add the TuxCare Eclipse Jetty repository and plugins to your build configuration:
52+
53+
<CodeTabs :tabs="[
54+
{ title: 'Maven (pom.xml)', content: mavenrepo },
55+
{ title: 'Gradle (build.gradle)', content: gradlerepo }
56+
]" />
57+
58+
* To fully switch from the official Eclipse Jetty repository, replace it with the TuxCare repository.
59+
* To keep both, add TuxCare after the official one.
60+
61+
Example Maven and Gradle projects are available on GitHub. Remember to set the required environment variables.
62+
* [Maven](https://github.com/cloudlinux/securechain-java/tree/main/examples/maven)
63+
* [Gradle](https://github.com/cloudlinux/securechain-java/tree/main/examples/gradle)
64+
65+
### Step 4: Update Dependencies
66+
67+
Replace the Eclipse Jetty dependencies in your build file with the TuxCare-maintained versions to cover both direct and transitive dependencies.
68+
69+
You can find a specific artifact version in your TuxCare account on [Nexus](https://nexus.repo.tuxcare.com/repository/els_spring/) (anonymous access is restricted).
70+
71+
<CodeTabs :tabs="[
72+
{ title: 'Maven (pom.xml)', content: mavendeps },
73+
{ title: 'Gradle (build.gradle)', content: gradledeps}
74+
]" />
75+
76+
### Step 5: Verify and Build
77+
78+
1. To confirm the TuxCare Eclipse Jetty repository is set up correctly, use your build tool to list the project's dependencies. It shows both direct and transitive dependencies in the classpath.
79+
80+
<CodeTabs :tabs="[
81+
{ title: 'Maven', content: `mvn dependency:tree -Dverbose` },
82+
{ title: 'Gradle', content: `./gradlew dependencies --configuration runtimeClasspath` }
83+
]" />
84+
85+
2. After reviewing the dependencies, include any library from the repository into your project and then run a build:
86+
87+
<CodeTabs :tabs="[
88+
{ title: 'Maven', content: `mvn clean install` },
89+
{ title: 'Gradle', content: `./gradlew build` }
90+
]" />
91+
92+
The build tool you're using should be able to identify and resolve dependencies from the TuxCare ELS for Eclipse Jetty repository.
93+
94+
### Conclusion
95+
96+
You've successfully integrated the TuxCare ELS for Eclipse Jetty repository into your project. You can now benefit from the secure and vetted Eclipse Jetty libraries it provides.
97+
98+
## Vulnerability Exploitability eXchange (VEX)
99+
100+
VEX is a machine-readable format that tells you if a known vulnerability is actually exploitable in your product. It reduces false positives, helps prioritize real risks.
101+
102+
TuxCare provides VEX for Eclipse Jetty ELS versions: [security.tuxcare.com/vex/cyclonedx/els_lang_java/org.eclipse.jetty/](https://security.tuxcare.com/vex/cyclonedx/els_lang_java/org.eclipse.jetty/).
103+
104+
## How to Upgrade to a Newer Version of TuxCare Packages
105+
106+
If you have already installed a package with a `tuxcare.1` suffix and want to upgrade to a newer release (for example, `tuxcare.3`), you need to update version strings in your Maven or Gradle build file.
107+
108+
<!-- ## Resolved CVEs in ELS for Eclipse Jetty
109+
110+
<ClientOnly>
111+
<ResolvedCveTable project="jetty" />
112+
</ClientOnly>
113+
114+
-->
115+
116+
<script setup>
117+
const mavencreds =
118+
`<?xml version="1.0" encoding="UTF-8"?>
119+
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0">
120+
<servers>
121+
<server>
122+
<id>tuxcare-registry</id>
123+
<username>USERNAME</username>
124+
<password>PASSWORD</password>
125+
</server>
126+
</servers>
127+
</settings>`
128+
129+
const gradlecreds =
130+
`tuxcare_registry_url=https://nexus.repo.tuxcare.com/repository/els_spring/
131+
tuxcare_registry_user=USERNAME
132+
tuxcare_registry_password=PASSWORD`
133+
134+
const mavenrepo =
135+
`<repositories>
136+
<repository>
137+
<id>tuxcare-registry</id>
138+
<url>https://nexus.repo.tuxcare.com/repository/els_spring/</url>
139+
</repository>
140+
</repositories>`
141+
142+
const gradlerepo =
143+
`repositories {
144+
maven {
145+
url = uri(providers.gradleProperty("tuxcare_registry_url").get())
146+
credentials {
147+
username = providers.gradleProperty("tuxcare_registry_user").get()
148+
password = providers.gradleProperty("tuxcare_registry_password").get()
149+
}
150+
authentication { basic(BasicAuthentication) }
151+
}
152+
mavenCentral()
153+
}`
154+
155+
const mavendeps =
156+
`<dependencyManagement>
157+
<dependencies>
158+
<dependency>
159+
<groupId>org.eclipse.jetty</groupId>
160+
<artifactId>jetty-bom</artifactId>
161+
<version>9.4.53.v20231009-tuxcare.1</version>
162+
<type>pom</type>
163+
<scope>import</scope>
164+
</dependency>
165+
</dependencies>
166+
</dependencyManagement>
167+
168+
<dependencies>
169+
<dependency>
170+
<groupId>org.eclipse.jetty</groupId>
171+
<artifactId>jetty-server</artifactId>
172+
</dependency>
173+
</dependencies>`
174+
175+
const gradledeps =
176+
`plugins {
177+
id 'java'
178+
}
179+
180+
dependencyManagement {
181+
imports {
182+
mavenBom 'org.eclipse.jetty:jetty-bom:9.4.53.v20231009-tuxcare.1'
183+
}
184+
}
185+
186+
dependencies {
187+
implementation "org.eclipse.jetty:jetty-server"
188+
}`
189+
190+
</script>
191+

0 commit comments

Comments
 (0)