You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[ ] Check if this is a typo or other quick fix and ignore the rest :)
## Type of change
Update existing docs for Chainguard Repository support for Java
libraries
### What should this PR do?
Add content about Java to Chainguard Repository content:
- Move general fallback/policy content into the Libraries overview and
link to it from other pages
- Update the chainguard-repository/overview page to include Java
- Mention Chainguard Repository in the Java overview and in Build Config
- Reframe the Java Global Config page to say Chainguard Repository is
the recommended config
### Why are we making this change?
Product update to support Chainguard Repository for Java
### What are the acceptance criteria?
Java should be mentioned in content about Chainguard Repository, content
should be clear and accurate
### How should this PR be tested?
Review the deploy preview to ensure that content appears as expected
---------
Signed-off-by: s-stumbo <sally.stumbo@chainguard.dev>
Signed-off-by: s-stumbo <100295939+s-stumbo@users.noreply.github.com>
Copy file name to clipboardExpand all lines: content/chainguard/chainguard-repository/overview.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,14 +21,16 @@ As of this writing, the Chainguard Repository contains the following artifact ty
21
21
| Artifact type | Description |
22
22
| ----- | ----- |
23
23
|[Chainguard Libraries for JavaScript](/chainguard/libraries/javascript/overview/)| Open source language dependencies rebuilt from source for JavaScript (npm). |
24
+
|[Chainguard Libraries for Java](/chainguard/libraries/java/overview/)| Open source language dependencies rebuilt from source for Java (Maven). |
24
25
25
26
## Endpoints
26
27
27
28
Each artifact type is accessible via its own endpoint:
28
29
29
30
| Artifact type | Endpoint |
30
31
| ----- | ----- |
31
-
| Libraries for JavaScript |`libraries.cgr.dev/javascript`|
32
+
| Libraries for [JavaScript](/chainguard/libraries/javascript/overview/)|`https://libraries.cgr.dev/javascript/`|
33
+
| Libraries for [Java](/chainguard/libraries/java/overview/)|`https://libraries.cgr.dev/java/`|
32
34
33
35
See each artifact type's documentation for authentication and configuration details.
34
36
@@ -74,5 +76,6 @@ Access the Console at [console.chainguard.dev](https://console.chainguard.dev).
74
76
75
77
## Learn more
76
78
77
-
*[Chainguard Repository for JavaScript Libraries](/chainguard/libraries/chainguard-repository/)
79
+
*[Chainguard Libraries for JavaScript](/chainguard/libraries/javascript/overview/)
80
+
*[Chainguard Libraries for Java](/chainguard/libraries/java/overview/)
Copy file name to clipboardExpand all lines: content/chainguard/libraries/browse.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,9 @@ The list includes the following columns:
50
50
51
51
At the bottom of the page, see a total count of available libraries.
52
52
53
-
As a part of Chainguard Repository, [upstream fallback and policy controls](/chainguard/libraries/javascript/overview/#upstream-fallback-policy-and-controls) are available for Chainguard Libraries for JavaScript. When fallback is configured for your organization, you will see all packages including those built by Chainguard and those that are mirrored from upstream npm. For a given package, you can see whether it is being served from Chainguard's rebuilt artifacts or proxied from upstream npm.
53
+
As a part of Chainguard Repository, [upstream fallback and policy controls](/chainguard/libraries/overview/#upstream-fallback-and-controls) are available for Chainguard Libraries and can be enabled via `chainctl` commands. For JavaScript, you can also enable upstream fallback in the Chainguard Console.
54
+
55
+
When fallback is configured for your organization, you will see all JavaScript packages -- including those built by Chainguard and those that are mirrored from upstream npm -- in the Console. For a given package, you can see whether it is being served from Chainguard's rebuilt artifacts or proxied from upstream npm. For Java and Python, you cannot currently view upstream vs. Chainguard-built packages via the Chainguard Console.
Copy file name to clipboardExpand all lines: content/chainguard/libraries/java/build-configuration.md
+44-32Lines changed: 44 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,6 +35,8 @@ other engineers running relevant application builds. They must also be performed
35
35
on any build server such as Jenkins, TeamCity, GitHub or other infrastructure
36
36
that builds the applications or otherwise downloads and uses relevant libraries.
37
37
38
+
The `https://libraries.cgr.dev/java/` endpoint is also the [Chainguard Repository](/chainguard/chainguard-repository/overview/) endpoint for Java. By default, it serves only Chainguard-built artifacts. When [upstream fallback](/chainguard/libraries/overview/#upstream-fallback-and-controls) is enabled for your organization, the same endpoint can also serve requested versions from Maven Central under Chainguard security controls.
39
+
38
40
## Library access approaches
39
41
40
42
### Repo manager
@@ -284,25 +286,27 @@ Java.
284
286
#### Configure direct access
285
287
286
288
If you are not using a repository manager at your organization, you can
287
-
configure access to the Chainguard Libraries for Java repository directly.
288
-
Ensure that the Chainguard repository is located above the necessary override
289
-
for the built-in `central` repository and any other repositories. If you are participating in the beta for CVE remediation, include the `https://libraries.cgr.dev/java-remediated/` repository first.
289
+
configure access to the Chainguard Libraries for Java repository directly. If [upstream fallback](/chainguard/libraries/overview/#upstream-fallback-and-controls) is enabled for your organization, the `https://libraries.cgr.dev/java/` repository can serve both Chainguard-built artifacts and eligible upstream Maven Central artifacts through the same endpoint. If upstream fallback is not enabled, continue to configure Maven Central or your Maven Central proxy after the Chainguard repository, as shown in the following example.
290
+
291
+
If you are participating in the beta for CVE remediation, include the `https://libraries.cgr.dev/java-remediated/` repository first.
292
+
293
+
If you are using direct access with the Chainguard Repository and you want Chainguard policy controls to apply consistently, configure Chainguard as a global Maven mirror. Without a global mirror, Maven can fall back to its built-in Maven Central definition when Chainguard reports a dependency as unavailable, bypassing the policy and malware scanning controls provided by Chainguard.
290
294
291
295
The following `~/.m2/settings.xml` configures direct access with Chainguard's remediated Java repository as
292
-
the primary repository, falling back to the standard Chainguard Libraries repository when a remediated version is not available, and then to Maven Central as a fallback for transitive
293
-
dependencies not available from Chainguard. It uses placeholder values
294
-
`CG_PULLTOKEN_USERNAME` and `CG_PULLTOKEN_PASSWORD` or [environment
296
+
the primary repository, falling back to the standard Chainguard Libraries repository when a remediated version is not available. If a library is not yet built by Chainguard and you have enabled upstream fallback, then upstream packages will be subject to malware scanning and any cooldown policies you have configured. This settings file uses [environment
295
297
variables](/chainguard/libraries/access/#env) for the pull token detailed in
@@ -380,6 +390,8 @@ is configured. Alternatively you can add the `repositories` and
380
390
`pluginRepositories` to individual project `pom.xml` files. Authentication
381
391
details must remain within the settings file.
382
392
393
+
If your `settings.xml` is using credentials set as environment variables, ensure the variables are exported.
394
+
383
395
### Minimal example project
384
396
385
397
Use the following steps to create a minimal example project for Maven with Chainguard Libraries for Java. For testing purposes, you can use direct access and environment variables as
0 commit comments