Skip to content

Commit 67d5b41

Browse files
authored
Merge branch 'main' into repo_sync_working_branch
2 parents 516473c + 6cf4415 commit 67d5b41

File tree

4,149 files changed

+13699
-50284
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

4,149 files changed

+13699
-50284
lines changed

.openpublishing.redirection.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7210,6 +7210,31 @@
72107210
"source_path": "docs/user-guide/about-azure-devops-services-tfs.md",
72117211
"redirect_url": "/azure/devops/user-guide/what-is-azure-devops",
72127212
"redirect_document_id": false
7213+
},
7214+
{
7215+
"source_path": "docs/boards/plans/safe-concepts.md",
7216+
"redirect_url": "/azure/devops/boards/plans/safe-configure-boards#safe-concepts",
7217+
"redirect_document_id": false
7218+
},
7219+
{
7220+
"source_path": "docs/boards/plans/safe-customize.md",
7221+
"redirect_url": "/azure/devops/boards/plans/safe-configure-boards#customization",
7222+
"redirect_document_id": false
7223+
},
7224+
{
7225+
"source_path": "docs/boards/plans/safe-plan-track-boards.md",
7226+
"redirect_url": "/azure/devops/boards/plans/safe-configure-boards#plan-track",
7227+
"redirect_document_id": false
7228+
},
7229+
{
7230+
"source_path": "docs/boards/plans/safe-review-roadmaps-progress.md",
7231+
"redirect_url": "/azure/devops/boards/plans/safe-configure-boards#roadmaps",
7232+
"redirect_document_id": false
7233+
},
7234+
{
7235+
"source_path": "docs/boards/plans/scaled-agile-framework-.md",
7236+
"redirect_url": "/azure/devops/boards/plans/safe-configure-boards",
7237+
"redirect_document_id": false
72137238
}
72147239
]
72157240
}

docs/artifacts/artifact-storage.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,39 @@ The project-level view provides an overview of your total storage usage as well
6565

6666
[!INCLUDE [](includes/increase-storage-limit.md)]
6767

68+
## FAQs
69+
70+
#### Q: What counts toward my total billed storage?
71+
72+
A: All package types: npm, NuGet, Python, Maven, Cargo, and Universal Packages are included in your billed storage. Packages saved from upstream sources also count toward your billed storage. However, Pipeline Artifacts and Pipeline Caching do not contribute to storage charges.
73+
74+
#### Q: Do packages in the recycle bin affect my storage usage?
75+
76+
A: Yes, packages in the recycle bin still count toward your total storage. They are automatically deleted after 30 days, but you can manually remove them earlier by deleting them from the recycle bin.
77+
78+
#### Q: What happens if I remove my Azure Subscription from my Azure DevOps organization?
79+
80+
A: Removing your Azure Subscription from your Azure DevOps organization limits your access to the free tier. If your storage usage exceeds 2 GiB, you will have read-only access to packages. To publish new packages, you must reduce your storage usage below 2 GiB, or reconnect your Azure subscription and set up billing to [upgrade your storage tier](#increase-artifacts-storage-limit).
81+
82+
#### Q: Why does my storage usage show as 0 GiB even though I have artifacts stored?
83+
84+
A: The smallest unit of storage measurement is 1 GiB. If your usage is below that threshold, it will display as 0 GiB.
85+
86+
#### Q: How long does it take for deleted artifacts to reflect in billed storage?
87+
88+
A: Storage metrics typically update within 24 hours, but it may take up to 48 hours. If you're unable to upload artifacts, a temporary workaround is to increase your usage level and reduce it again once metrics refresh.
89+
90+
> [!NOTE]
91+
> The **Used** column in your **Organization settings** > **Billing** page is updated once a day, so changes may not be reflected right away. However, the **Artifacts** > **Storage** page in your **Organization settings** is updated more frequently, which could result in a slight discrepancy between the two pages.
92+
93+
#### Q: How can I manage retention for outdated packages?
94+
95+
A: You can configure retention policies to automatically delete outdated packages. However, packages promoted to a view are exempt from these policies. See [How to use retention policies to delete old packages](how-to/delete-and-recover-packages.md#delete-packages-automatically-with-retention-policies) for more details.
96+
97+
#### Q: How do I manually delete specific packages?
98+
99+
A: See [Delete and recover packages](how-to/delete-and-recover-packages.md) for step-by-step instructions.
100+
68101
## Related articles
69102

70103
- [Get started with NuGet packages in Azure Artifacts](get-started-nuget.md)

docs/artifacts/artifacts-key-concepts.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,7 @@ You must be a feed owner also to delete feeds. Deleted feeds remain in the recyc
6262

6363
## Related content
6464

65-
- [What are feeds?](./concepts/feeds.md)
66-
67-
- [Feed views](./concepts/views.md)
65+
- [Azure Artifacts best practices](concepts/best-practices.md)
6866

6967
- [Azure Artifacts Upstream Sources](./concepts/upstream-sources.md)
7068

docs/artifacts/cargo/cargo-upstream-source.md

Lines changed: 48 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,58 @@
11
---
22
title: Consume Cargo packages from Crates.io
3-
description: How to consume Crates from Crates.io with Azure Artifacts
3+
description: Learn how to consume Crates from Crates.io with Azure Artifacts.
44
ms.service: azure-devops-artifacts
55
ms.author: rabououn
66
author: ramiMSFT
77
ms.topic: quickstart
8-
ms.date: 12/13/2023
8+
ms.date: 10/01/2025
99
monikerRange: '>= azure-devops-2022'
1010
"recommendations": "true"
1111
---
1212

13-
# Use packages from Crates.io
13+
# Use Cargo packages from Crates.io
1414

1515
[!INCLUDE [version-gt-eq-2022](../../includes/version-gt-eq-2022.md)]
1616

1717
Azure Artifacts upstream sources enable developers to consume packages from public registries like Crates.io and nuget.org. This article will guide you through setting up your project and using the command line to consume Crates from Crates.io.
1818

19-
This article will guide you through how to:
20-
21-
> [!div class="checklist"]
22-
> * Create an Azure Artifacts feed
23-
> * Connect to your feed
24-
> * Consume crates from upstream
25-
2619
## Prerequisites
2720

28-
- An Azure DevOps organization. [Create an organization](../../organizations/accounts/create-organization.md) if you haven't already.
29-
30-
- An Azure DevOps project. [Create a project](../../organizations/projects/create-project.md#create-a-project) if you don't have one.
31-
32-
- Download and install [rustup](https://rustup.rs/).
21+
| **Product** | **Requirements** |
22+
|--------------------|--------------------|
23+
| **Azure DevOps** | - An Azure DevOps [organization](../../organizations/accounts/create-organization.md).<br>- An Azure DevOps [project](../../organizations/projects/create-project.md).<br> - Download and install [rustup](https://rustup.rs/). You'll need Cargo version 1.74.0 or later. |
3324

3425
## Create a feed
3526

36-
Azure Artifacts recommends having a dedicated feed for consuming crates from crates.io and a separate feed exclusively for publishing internal crates.
27+
Azure Artifacts recommends having a dedicated feed for consuming crates from crates.io and a separate feed exclusively for publishing internal crates. If you already have an Azure Artifacts feed, skip to the next section. Otherwise, create a new one as follows:
3728

38-
1. Sign in to your Azure DevOps organization, and then navigate to your project.
29+
1. Sign in to your Azure DevOps organization, then navigate to your project.
3930

4031
1. Select **Artifacts**, and then select **Create Feed**.
4132

42-
1. Enter a **Name** for your feed, define its **Visibility**, and then select your **Scope**. Make sure to check the **Upstream sources** checkbox to include packages from public registries.
33+
1. Provide a **Name** for your feed, select the **Visibility** to define who can view your packages, and choose the feed **Scope**. Check the **Include packages from common public sources** checkbox to enable upstream sources on your feed.
4334

4435
1. Select **Create** when you're done.
4536

46-
:::image type="content" source="media/create-cargo-upstream-feed.png" alt-text="A screenshot showing how to create a feed for cargo upstream.":::
37+
:::image type="content" source="media/cargo-crates-feed.png" alt-text="A screenshot displaying how to create a feed to consume crates from Crates.io upstream.":::
4738

4839
## Connect to your feed
4940

41+
Now that you have a feed, you need to set up your *config.toml* file, configure a credential provider, then log in to the registry to authenticate with your feed.
42+
43+
#### Project setup
44+
5045
::: moniker range="azure-devops"
5146

5247
#### [Private feed](#tab/privatefeed/)
5348

54-
1. Sign in to your Azure DevOps organization, and then navigate to your project.
55-
56-
1. Select **Artifacts**, and then select your feed from the dropdown menu.
49+
1. Sign in to your Azure DevOps organization, then navigate to your project.
5750

58-
1. Select **Connect to feed**, and then select **Cargo** from the left navigation pane.
51+
1. Select **Artifacts**, then select your feed from the dropdown menu.
5952

60-
1. If this is the first time using Cargo with Azure Artifacts, make sure you have installed [rustup](https://rustup.rs/).
53+
1. Select **Connect to feed**, then select **Cargo** from the left navigation pane.
6154

62-
1. Add the provided snippet from the **Project setup** section to your *.cargo/config.toml* file in your source repository:
55+
1. Copy the snippet from the **Project setup** section and paste it into your *.cargo/config.toml* file in your source repository. It should look similar to the following:
6356

6457
- **Project-scoped feed**:
6558

@@ -83,15 +76,15 @@ Azure Artifacts recommends having a dedicated feed for consuming crates from cra
8376
8477
#### [Public feed](#tab/publicfeed/)
8578
86-
1. Sign in to your Azure DevOps organization, and then navigate to your project.
79+
1. Sign in to your Azure DevOps organization, then navigate to your project.
8780
88-
1. Select **Artifacts**, and then select your feed from the dropdown menu.
81+
1. Select **Artifacts**, then select your feed from the dropdown menu.
8982
90-
1. Select **Connect to feed**, and then select **Cargo** from the left navigation pane.
83+
1. Select **Connect to feed**, then select **Cargo** from the left navigation pane.
9184
92-
1. If this is the first time using Cargo with Azure Artifacts, make sure you have installed [rustup](https://rustup.rs/).
85+
1. If this is the first time using Cargo with Azure Artifacts, select **Get the tools** and install [rustup](https://rustup.rs/).
9386
94-
1. Add the provided snippet from the **Project setup** section to your *.cargo/config.toml* file in your source repository depending on your scenario. See [Feed roles and permissions](../feeds/feed-permissions.md#feed-roles-and-permissions) to learn more about the different roles and their permissions:
87+
1. Copy the following snippet and paste it into your *.cargo/config.toml* file in your source repository, depending on your role. See [Feed roles and permissions](../feeds/feed-permissions.md#feed-roles-and-permissions) to learn more about the different roles and their permissions:
9588
9689
- **Feed Readers and anonymous users**:
9790
@@ -103,7 +96,7 @@ Azure Artifacts recommends having a dedicated feed for consuming crates from cra
10396
replace-with = "<FEED_NAME>"
10497
```
10598
106-
- **Feed and Upstream Readers, Feed Publishers, and Feed Owners**: Be sure to include the additional flag (*~force-auth*) for proper authentication with your feed, as shown below:
99+
- **Feed and Upstream Readers, Feed Publishers, and Feed Owners**: Be sure to include the additional flag `~force-auth` for proper authentication with your feed, as shown below:
107100
108101
```
109102
[registries]
@@ -117,15 +110,13 @@ Azure Artifacts recommends having a dedicated feed for consuming crates from cra
117110
118111
::: moniker range="azure-devops-2022"
119112
120-
1. Sign in to your Azure DevOps collection, and then navigate to your project.
113+
1. Sign in to your Azure DevOps collection, then navigate to your project.
121114
122-
1. Select **Artifacts**, and then select your feed from the dropdown menu.
115+
1. Select **Artifacts**, then select your feed from the dropdown menu.
123116
124-
1. Select **Connect to feed**, and then select **Cargo** from the left navigation pane.
117+
1. Select **Connect to feed**, then select **Cargo** from the left navigation pane.
125118
126-
1. If this is the first time using Cargo with Azure Artifacts, make sure you have installed [rustup](https://rustup.rs/).
127-
128-
1. Add the provided snippet from the **Project setup** section to your *.cargo/config.toml* file in your source repository:
119+
1. Copy the snippet from the **Project setup** section and paste it into your *.cargo/config.toml* file in your source repository. It should look similar to:
129120
130121
- **Project-scoped feed**:
131122
@@ -149,13 +140,13 @@ Azure Artifacts recommends having a dedicated feed for consuming crates from cra
149140
150141
::: moniker-end
151142
152-
## Configure a credential provider
143+
#### Configure a credential provider
153144
154-
To use Cargo with Azure Artifacts, you need to set up a credential provider. The provided settings will configure a default credential helper for the current user:
145+
To use Cargo with Azure Artifacts, you need to set up a [credential provider](https://doc.rust-lang.org/nightly/cargo/reference/credential-provider-protocol.html#credential-provider-protocol). The following settings will set a default credential helper for the user:
155146
156147
#### [Windows](#tab/Windows/)
157148
158-
Paste the following snippet in your %USERPROFILE%\.cargo\config.toml:
149+
Paste the following snippet in your *%USERPROFILE%\.cargo\config.toml*:
159150
160151
```
161152
[registry]
@@ -164,7 +155,7 @@ global-credential-providers = ["cargo:token", "cargo:wincred"]
164155
165156
#### [Linux](#tab/Linux/)
166157
167-
Paste the following snippet in your ~/.cargo/config.toml:
158+
Paste the following snippet in your *~/.cargo/config.toml*:
168159
169160
```
170161
[registry]
@@ -173,7 +164,7 @@ global-credential-providers = ["cargo:token", "cargo:libsecret"]
173164
174165
#### [macOS](#tab/macOS/)
175166
176-
Paste the following snippet in your ~/.cargo/config.toml:
167+
Paste the following snippet in your *~/.cargo/config.toml*:
177168
178169
```
179170
[registry]
@@ -182,11 +173,11 @@ global-credential-providers = ["cargo:token", "cargo:macos-keychain"]
182173
183174
* * *
184175
185-
## Log in to your registry
176+
#### Log in to your registry
186177
187178
1. Create a [Personal access token](../../organizations/accounts/use-personal-access-tokens-to-authenticate.md#create-a-pat) with **Packaging** > **Read & write** scopes to authenticate with your feed.
188179
189-
1. Run the following command to log in to your registry. Replace the placeholder with your feed's name, and paste the personal access token you created in the previous step when prompted:
180+
1. Run the following command to log in to your registry. Replace *<FEED_NAME>* with your feed name, and when promoted, paste the personal access token you created earlier.
190181
191182
#### [PowerShell ](#tab/PowerShell/)
192183
@@ -211,16 +202,14 @@ global-credential-providers = ["cargo:token", "cargo:macos-keychain"]
211202
212203
## Save packages from Crates.io
213204
214-
[!INCLUDE [save-requires-collaborator](../includes/save-requires-collaborator.md)]
215-
216-
Now that we have set up our project, configured a credential provider, and logged into our feed, we can begin consuming packages from upstream. Azure Artifacts saves a copy of any package you install from upstream to your feed.
205+
Now that your project is set up, the credential provider is configured, and you're authenticated with your feed, you can begin consuming packages from upstream sources. Azure Artifacts automatically saves a copy of any package you install from upstream to your feed.
217206
218-
In this example, we consume the `serde` crate, a serialization/deserialization framework:
207+
The following example demonstrates how to consume the `reqwest` crate, an HTTP client library used for making HTTP requests:
219208
220-
1. Run the following command in your project directory to add the crate to your *cargo.toml*:
209+
1. Add the crate to your *Cargo.toml* by running the following command in your project directory:
221210
222211
```
223-
cargo add serde
212+
cargo add reqwest
224213
```
225214
226215
1. Run the following command to build your project and consume your crate:
@@ -229,12 +218,16 @@ In this example, we consume the `serde` crate, a serialization/deserialization f
229218
cargo build
230219
```
231220
232-
Once your package is installed, a copy will be saved to your feed. Navigate to your feed to verify its presence. Your package should be available in your feed, as shown below:
221+
Once the package is installed, a copy will be saved to your feed. You can verify this by navigating to your feed in Azure DevOps. The package should be available in your feed, as shown below:
222+
223+
:::image type="content" source="media/consume-crate-from-cargo-upstream.png" alt-text="A screenshot displaying the reqwest crate listed in an Azure Artifacts feed after being saved from Crates.io." lightbox="media/consume-crate-from-cargo-upstream.png":::
224+
225+
[!INCLUDE [save-requires-collaborator](../includes/save-requires-collaborator.md)]
226+
227+
## Related content
233228
234-
:::image type="content" source="media/crate-from-upstream.png" alt-text="A screenshot showing the *serde* crate consumed from upstream.":::
229+
- [Publish Cargo packages from the command line](cargo-publish.md)
235230
236-
## Related articles
231+
- [Publish Cargo packages with Azure Pipelines YAML/Classic](../../pipelines/artifacts/cargo-pipelines.md)
237232
238-
- [Publish Cargo packages with Azure Pipelines](../../pipelines/artifacts/cargo-pipelines.md)
239-
- [Delete and recover packages](../how-to/delete-and-recover-packages.md)
240233
- [Configure permissions](../feeds/feed-permissions.md)
48.2 KB
Loading
33.9 KB
Loading

docs/artifacts/concepts/best-practices.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ This section outlines best practices for consuming packages with Azure Artifacts
6363
6464
- **Ensure the order of sources reflects your desired package resolution strategy**:
6565

66-
The feed checks upstream sources sequentially and will return the package from the first source that contains it. Be mindful of the order to ensure your feed resolves packages from the correct source. See [Order your upstream sources intentionally](upstream-sources.md#2-order-your-upstream-sources-intentionally) and [Search order](upstream-sources.md#search-order) for more details.
66+
The feed checks upstream sources sequentially and will return the package from the first source that contains it. Be mindful of the order to ensure your feed resolves packages from the correct source. See [Order your upstream sources intentionally](upstream-sources.md#order-your-upstream-sources-intentionally) and [Search order](upstream-sources.md#search-order) for more details.
6767

6868
- **Add external sources using the feed locator**:
6969

-57.5 KB
Binary file not shown.
-58.4 KB
Binary file not shown.
-48.8 KB
Binary file not shown.

0 commit comments

Comments
 (0)