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
Copy file name to clipboardExpand all lines: content/chainguard/chainguard-repository/overview.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,17 +10,17 @@ draft: false
10
10
weight: 010
11
11
---
12
12
13
-
The Chainguard Repository is a single, policy-aware endpoint for all artifacts that Chainguard builds and distributes. It gives your organization one place to pull open source artifacts, configure security policies that govern how they are consumed, and monitor coverage and policy enforcement across your environment.
13
+
The Chainguard Repository is a single, policy-managed experience for pulling artifacts that Chainguard either builds or distributes. It gives your organization one place to pull open source artifacts, configure security policies that govern how they are consumed, and monitor coverage and policy enforcement across your environment.
14
14
15
-
All artifacts served through the Chainguard Repository are either rebuilt by Chainguard from verifiable source in a SLSA L2-compliant build environment, or sourced from upstream public registries and protected by configurable policies. As Chainguard builds more artifacts from source, your organization's risk shrinks automatically — without any changes to your configuration or developer workflows.
15
+
All artifacts served through the Chainguard Repository are either rebuilt by Chainguard from verifiable source in a SLSA L2-compliant build environment, or sourced from upstream public registries with configurable policy controls. As Chainguard builds more artifacts from source, your organization's risk shrinks automatically without any changes to your configuration or developer workflows.
16
16
17
17
## Artifact types
18
18
19
19
As of this writing, the Chainguard Repository contains the following artifact types:
20
20
21
21
| Artifact type | Description |
22
22
| ----- | ----- |
23
-
|[Chainguard JavaScript Libraries](/chainguard/libraries/javascript/overview/)| Open source language dependencies rebuilt from source for JavaScript (npm). |
23
+
|[Chainguard Libraries for JavaScript](/chainguard/libraries/javascript/overview/)| Open source language dependencies rebuilt from source for JavaScript (npm). |
24
24
25
25
## Endpoints
26
26
@@ -35,19 +35,19 @@ See each artifact type's documentation for authentication and configuration deta
35
35
36
36
## Policies for Libraries
37
37
38
-
The Chainguard Repository includes a policy engine that lets you define rules governing which artifacts can be consumed and under what conditions. Policies are configured once in the Chainguard Console and enforced automatically across your environment.
38
+
The Chainguard Repository includes a policy engine that lets you define rules governing which artifacts can be consumed and under what conditions. Policies can be configured in the Chainguard Console or with `chainctl`, and are enforced automatically across your environment.
39
39
40
-
For language dependencies, policies apply to both Chainguard-built packages and upstream packages served via the optional fallback to public registries (npm). Available policies include:
40
+
For language dependencies, policies apply to both Chainguard-built packages and upstream packages served via the optional fallback to public registries. Available policies include:
41
41
42
-
***Upstream fallback** — Control whether packages not yet built by Chainguard can be sourced from the upstream public registry.
43
-
***Cooldown** — Block newly published upstream packages for a defined period before they can be pulled, giving the security community time to detect threats. A 7-day cooldown blocks 47% of malicious packages.
42
+
***Upstream fallback**: Control whether packages not yet built by Chainguard can be sourced from the upstream public registry.
43
+
***Cooldown**: Block newly published upstream packages for a defined period before they can be pulled, giving the security community time to detect threats. A 7-day cooldown is set by default when the upstream repository is enabled.
44
44
45
-
All packages — whether Chainguard-built or sourced from upstream — are also scanned for malware before being served. Any package with a detected malware identifier is blocked.
45
+
All upstream packages are checked against public malware identifier feeds, and any package with a known malware idenitifier is blocked before being served.
46
46
47
47
48
-
## **Console**
48
+
## **Management**
49
49
50
-
The Chainguard Console is the central interface for configuring policies and monitoring artifact activity across your organization. Learn more in [Using the Chainguard Console](/chainguard/chainguard-images/how-to-use/images-directory/).
50
+
The Chainguard Console and `chainctl` can be used for configuring and managing policies across your organization. Learn more in [Using the Chainguard Console](/chainguard/chainguard-images/how-to-use/images-directory/) and [Get Started with chainctl](/chainguard/chainctl-usage/getting-started-with-chainctl/).
51
51
52
52
Access the Console at [console.chainguard.dev](https://console.chainguard.dev).
Copy file name to clipboardExpand all lines: content/chainguard/libraries/javascript/global-configuration.md
+63-72Lines changed: 63 additions & 72 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,22 +24,31 @@ and development tools to retrieve the required libraries.
24
24
25
25
If your organization uses the [upstream fallback](/chainguard/libraries/javascript/overview/#upstream-fallback-policy-and-controls)
26
26
feature of Chainguard Repository, you can configure your repository manager
27
-
with a single upstream pointed at `https://libraries.cgr.dev/javascript/`. The
28
-
Chainguard Repository handles fallback and policy; your repository manager
29
-
handles local caching and access control.
27
+
with a single upstream pointed at `https://libraries.cgr.dev/javascript/`. This
28
+
is the recommended setup. The Chainguard Repository handles fallback and policy
29
+
enforcement; your repository manager handles local caching and access control.
30
+
Chainguard also retrieves packages from the public npm Registry on your
31
+
behalf when upstream fallback is enabled. This includes protections such as
32
+
malware detection and a cooldown period for newly published
33
+
packages.
30
34
31
35
At a high level, adopting the use of Chainguard Libraries consists of the following steps:
32
36
33
-
* Add `https://libraries.cgr.dev/javascript/` as a remote repository in your repository manager.
34
-
* Configure it as the single upstream source for JavaScript package retrieval.
35
-
* Additional steps depend on the desired insights and can include the following optional measures:
36
-
* Remove all cached libraries in the proxy repository of the npm Registry. This
37
-
step allows you to validate which libraries are not available from Chainguard
38
-
Libraries and proceed with potential next steps with Chainguard and your own
39
-
development efforts.
40
-
* Remove any repositories that are no longer desired or necessary. Depending on
41
-
your library requirements this step can result in removal of some proxy
42
-
repositories or even removal of all proxy repositories.
37
+
* Configure your environment to use `https://libraries.cgr.dev/javascript/`
38
+
as the single upstream source for JavaScript package retrieval. This can be done
39
+
either:
40
+
* As a remote repository in your repository manager, or
41
+
* Directly in your JavaScript build configuration (for example, npm,
42
+
pnpm, or yarn).
43
+
* Additional steps depend on your visibility and validation goals and can include the following optional measures:
44
+
* Remove all cached libraries in existing proxy repositories. This step
45
+
allows you to validate which libraries are not available from
46
+
Chainguard Libraries and ensures they are retrieved through
47
+
Chainguard for evaluation.
48
+
* Remove any repositories that are no longer desired or necessary.
49
+
Depending on your library requirements, this step can result in
50
+
removal of some proxy repositories or simplification of your
51
+
repository configuration.
43
52
44
53
Adopting the use of a repository manager is the recommended approach to minimize complexity. If your organization does not use a repository manager, refer to the [direct access documentation](/chainguard/libraries/javascript/build-configuration/) for build tools.
45
54
@@ -51,7 +60,7 @@ Configuring your own fallback bypasses the protection that the Chainguard
51
60
Repository provides.
52
61
53
62
However, if upstream fallback is not enabled or you prefer to manage your own fallback
54
-
ordering: you can configure `https://libraries.cgr.dev/javascript/` as a remote
63
+
ordering, you can configure `https://libraries.cgr.dev/javascript/` as a remote
55
64
repository alongside your npm upstream, and combine them in a virtual or group
56
65
repository with Chainguard as the first priority. The per-tool instructions on
57
66
this page follow this pattern.
@@ -60,7 +69,7 @@ this page follow this pattern.
60
69
61
70
## Cloudsmith
62
71
63
-
[Cloudsmith](https://cloudsmith.com/) supports npm registries repositories for
72
+
[Cloudsmith](https://cloudsmith.com/) supports npm registries for
64
73
proxying and hosting. Refer to the [npm registry
65
74
documentation](https://help.cloudsmith.io/docs/npm-registry) and the [npm
66
75
Upstream
@@ -70,10 +79,12 @@ by defining multiple upstream repositories.
70
79
71
80
### Initial configuration
72
81
73
-
Use the following steps to add a repository with the npm registry and the
74
-
Chainguard Libraries for JavaScript repository as npm upstream repositories.
82
+
Use the following steps to configure a repository with the Chainguard Libraries for
83
+
JavaScript repository as an upstream.
75
84
76
-
Configure a *javascript-all* repository:
85
+
Configure a *javascript-all* repository. This repository acts as a single access point
86
+
for JavaScript packages and may also include private packages or additional upstream
87
+
sources, depending on your configuration.
77
88
78
89
1. Log in as a user with administrator privileges.
79
90
1. Select the **Repositories** tab near the top of the screen.
@@ -85,23 +96,10 @@ Configure a *javascript-all* repository:
85
96
infrastructure.
86
97
1. Click **+ Create Repository**.
87
98
88
-
Configure an upstream proxy for the npm registry:
89
-
90
-
1. Click the name of the new *javascript-all* repository on the repositories
91
-
page to configure it.
92
-
1. Access the **Upstreams** tab and click **+ Add Upstream Proxy**.
93
-
1. Configure an upstream proxy with the format **npm** and the following details:
94
-
1. Configure another upstream proxy with the following details
95
-
***Name***javascript-public*
96
-
***Priority***2*
97
-
***Upstream URL**`https://registry.npmjs.org/`
98
-
***Mode***Cache and Proxy*
99
-
1. Click **Create Upstream Proxy**.
100
-
101
99
Configure an upstream proxy for the Chainguard Libraries for JavaScript
102
100
repository:
103
101
104
-
1. Click the name of the new *javascript-chainguard* repository on the
102
+
1. Click the name of the new *javascript-all* repository on the
105
103
repositories page to configure it.
106
104
1. Access the **Upstreams** tab and click **+ Add Upstream Proxy**.
107
105
1. Configure an upstream proxy with the format **npm** and the following details:
@@ -113,10 +111,15 @@ repository:
113
111
access](/chainguard/libraries/access/) in **Authentication Settings**
114
112
1. Click **Create Upstream Proxy**.
115
113
114
+
If you are manually managing fallback, you can add an additional upstream
115
+
proxy for the public npm registry with a lower priority than
116
+
`javascript-chainguard`.
117
+
116
118
Use this setup for initial testing with Chainguard Libraries for JavaScript. For
117
119
production usage, add the `javascript-chainguard` upstream proxy to your production
118
120
repository.
119
121
122
+
120
123
### Build tool access
121
124
122
125
The following steps allow you to determine the URL and authentication details
@@ -160,22 +163,13 @@ for more information.
160
163
161
164
### Initial configuration
162
165
163
-
Use the following steps to add the npm Registry and the Chainguard Libraries for
164
-
JavaScript repository as remote repositories and combine them as a virtual
165
-
repository:
166
+
Use the following steps to add Chainguard Libraries for
167
+
JavaScript as a remote repository:
166
168
167
169
1. Log in as a user with administrator privileges.
168
170
1. Click **Administration** in the top navigation bar.
169
171
1. Select **Repositories** in the left hand navigation.
170
172
171
-
Configure a remote repository for the npm Registry:
172
-
173
-
1. Click **Create a Repository** and choose the **Remote** option.
174
-
1. Select **Npm** as the **Package type**.
175
-
1. Set the **Repository Key** to *javascript-public*.
176
-
1. Set the **URL** to `https://registry.npmjs.org`.
177
-
1. Click **Create Remote Repository**.
178
-
179
173
Configure a remote repository for the Chainguard Libraries for JavaScript
180
174
repository:
181
175
@@ -187,18 +181,19 @@ repository:
187
181
with chainctl](/chainguard/libraries/access/).
188
182
1. Click **Create Remote Repository**.
189
183
190
-
Combine the two repositories in a new virtual repository:
184
+
Create a virtual repository, or add the remote repository to an existing
185
+
virtual repository used for npm packages. A virtual repository may also include private npm packages or
186
+
additional upstream sources, depending on your configuration.
191
187
192
-
1. Click **Create a Repository** and choose the **Virtual** option.
193
-
1. Select **Npm** as the **Package type**.
194
-
1. Set the **Repository Key** to *javascript-all*.
195
-
1. Scroll down to the **Repositories** section.
196
-
1. Add the *javascript-chainguard* and *javascript-public* repositories. Ensure
197
-
the *javascript-chainguard* repository is the first in the displayed list.
198
-
Use the icon on the right of the repository name to drag and drop
199
-
repositories into the desired position.
188
+
1. Click **Create a Repository** → **Virtual**.
189
+
1. Select **Npm**.
190
+
1. Set key to *javascript-all*.
191
+
1. Add `javascript-chainguard`.
200
192
1. Click **Create Virtual Repository**.
201
193
194
+
If you are manually managing fallback, you can configure an additional npm
195
+
remote repository with lower priority.
196
+
202
197
Use this setup for initial testing with Chainguard Libraries for JavaScript. For
203
198
production usage add the `javascript-chainguard` repository to your production
204
199
virtual repository.
@@ -256,30 +251,19 @@ all libraries retrieved from Chainguard.
0 commit comments