> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/automate-protect-and-extend/vi/tu-dong-hoa/recipes-organization.md).

# Tổ chức công thức

Trang này thảo luận về các kho lưu trữ và catalog, là các vùng chứa được dùng để tổ chức recipe của tenant và VM. Cũng bao gồm hướng dẫn chia sẻ recipe.

## Kho lưu trữ

### Kho lưu trữ là gì?

Kho lưu trữ là một bộ sưu tập recipe của site. Một kho lưu trữ có thể chứa nhiều catalog recipe.

```mermaid
graph TD
    A["Kho lưu trữ"] --> B("Catalog 1")
    A --> C("Catalog 2")
    A --> D("Catalog 3")
    B --> E("Recipe VM")
    B --> F("Recipe VM")
    C --> G("Recipe tenant")
    C --> H("Recipe tenant")
    D --> I("Recipe VM")
    D --> J("Recipe tenant")
    D --> K("Recipe VM")
```

* **Các kho lưu trữ cục bộ**: các catalog/recipe được tạo và duy trì trên hệ thống cục bộ.
* **Các kho lưu trữ từ xa**: các catalog recipe, được tạo và duy trì trên một hệ thống VergeOS riêng biệt, được truy xuất để sử dụng trên hệ thống cục bộ. Chia sẻ qua các kho lưu trữ từ xa giúp không cần phải quản trị cùng một recipe ở nhiều nơi.

### Các kho lưu trữ được cài đặt tự động

***"Marketplace"***\
Các hệ thống ở cấp host được cài đặt với ***Marketplace***, một kho lưu trữ đặc biệt, từ xa, do VergeOS cung cấp, bao gồm nhiều recipe VM Linux và Windows sẵn sàng sử dụng. Theo mặc định, các catalog recipe có trong Marketplace được đặt phạm vi="global", cho phép chúng cũng được tất cả tenant của hệ thống sử dụng.

***"Local"***\
Theo mặc định, hệ thống VergeOS mới của bạn sẽ có một kho lưu trữ cục bộ trống tên là ***"Local"*** sẵn sàng để tạo các catalog/recipe mới.

## Catalog

### Catalog là gì?

Catalog cho phép bạn nhóm các recipe liên quan trong một kho lưu trữ. Ví dụ, một catalog có thể chứa nhiều recipe VM Windows, trong khi catalog khác chứa tất cả recipe VM dựa trên Linux. Quản trị viên có thể dùng catalog để tổ chức theo bất kỳ cách nào phù hợp với tổ chức của họ. Catalog có thể được cấu hình là riêng tư hoặc được chia sẻ với các tenant của bạn hay các hệ thống VergeOS bên ngoài khác.

### Tạo một Catalog mới

1. Đi tới **Kho lưu trữ** > **Danh sách** từ menu trên cùng, và **nhấp đúp vào kho lưu trữ** nơi catalog sẽ nằm. Điều này cần là một kho lưu trữ cục bộ; các kho lưu trữ từ xa được duy trì ở hệ thống từ xa. (Kho lưu trữ mặc định *"Local"* được tạo trong mỗi hệ thống/tenant VergeOS mới thường sẽ được dùng.)
2. Nhấp **Catalog** ở menu bên trái rồi nhấp **Mới**.
3. Cung cấp một **Tên** mô tả cho catalog. Tùy chọn, có thể thêm thông tin quản trị bổ sung vào trường mô tả.
4. Chọn một **Phạm vi công bố** để xác định khả năng truy cập của catalog:
   * **Riêng tư** - chỉ khả dụng cho riêng Cloud VergeOS này.
   * **Không** - đã tắt, không khả dụng ở bất kỳ đâu
   * **Tenant** - khả dụng cho Cloud cụ thể này và các tenant của chính nó
   * **Toàn cục** - khả dụng cho hệ thống cụ thể này, các tenant của nó và các hệ thống VergeOS bên ngoài (cần thông tin đăng nhập người dùng)

## Chia sẻ recipe

### Chia sẻ Catalog với tenant của bạn

1. Đặt **Phạm vi công bố =** ***'Tenant'*** (hoặc 'Toàn cục', cũng sẽ cho phép truy cập từ các hệ thống bên ngoài bằng thông tin xác thực phù hợp).
2. **Chuyển sang giao diện UI của tenant** cho các bước còn lại.
3. Đi tới ***Nhà cung cấp dịch vụ*** kho lưu trữ và nhấp **Làm mới**.
4. **Nhấp đúp vào catalog mong muốn** để xem các recipe bên trong.
5. Nhấp **Recipe VM** -hoặc- **Recipe tenant** để xem danh sách tương ứng.
6. **Chọn các recipe mong muốn.**
7. Nhấp **Tải xuống/Cập nhật** ở menu bên trái để tải xuống vào môi trường tenant. Khi một recipe hiển thị trạng thái *Trực tuyến* nó có sẵn để sử dụng.

{% hint style="info" %}
**Khi một recipe được cập nhật tại nguồn, nó sẽ hiển thị thông báo trong giao diện UI của tenant cho biết có bản cập nhật sẵn sàng để tải xuống.**
{% endhint %}

### Chia sẻ Catalog tới một hệ thống từ xa

**Cấp quyền truy cập cho một Catalog (phía chia sẻ)**

1. Tạo một **người dùng mới, với Loại: API** để hệ thống/tenant từ xa dùng để xác thực. Hãy lưu ý tên người dùng và mật khẩu.
2. Đi tới **Bảng điều khiển catalog** (Repositories > Catalogs > nhấp đúp vào catalog dự định).
3. Nhấp **Quyền** ở menu bên trái.
4. Nhấp **Thêm người dùng** ở menu bên trái.
5. Đặt các trường sau cho quyền mới:
   * **Người được cấp**: người dùng API đã tạo ở trên
   * **Quyền:** Liệt kê và Đọc
   * **Loại:** Catalog
   * **Tên:** tên của catalog đang được chia sẻ
6. Nhấp **Gửi** để lưu quyền mới.

**Kết nối tới một Catalog từ xa (phía nhận):**

1. Đi tới **Kho lưu trữ** > **+ Kho lưu trữ mới**.
2. Hoàn tất **các trường** cho kho lưu trữ mới:
   * **Tên**: một tên mô tả giúp phân biệt kho lưu trữ này.
   * **Mô tả**: (tùy chọn) thông tin bổ sung được nhập tại đây có thể hữu ích cho việc quản trị sau này.
   * **Kiểu**: Từ xa
   * **URL**: địa chỉ IP hoặc DNS của hệ thống lưu trữ, ví dụ `https://VergeOS.example.com`
   * **Người dùng/Mật khẩu**: sử dụng thông tin xác thực của người dùng API đã tạo trên hệ thống host (ở trên).
   * **Cho phép chứng chỉ không an toàn**: tùy chọn này được cung cấp để hỗ trợ chứng chỉ tự ký trong cùng một mạng riêng; sử dụng URL công khai mà không có SSL an toàn có thể rủi ro và không được khuyến nghị.
   * **Tầng nhanh nhất tối đa**: cho phép bạn chỉ định tầng tốt nhất để dùng cho ổ đĩa của recipe (ví dụ recipe có một ổ đĩa ở tầng 2 trên hệ thống từ xa, nếu cài đặt này được đặt là tầng 4, ổ đĩa sẽ được chuyển lên tầng 4 khi tải xuống.)
3. Nhấp **Gửi** để lưu kho lưu trữ mới.
4. Sau khi tạo, hãy điều hướng tới **bảng điều khiển kho lưu trữ** và nhấp **Làm mới** để tải lại các catalog của nó. Recipe có thể được tải xuống cục bộ và khi đó sẽ sẵn sàng để dùng khi tạo VM/tenant mới.

{% hint style="info" %}
**Khi hệ thống từ xa tạo kho lưu trữ kết nối với hệ thống của bạn, họ sẽ có quyền truy cập vào bất kỳ catalog nào của bạn mà người dùng API được chỉ định có quyền.**
{% endhint %}

{% hint style="info" %}
**Khi một recipe được cập nhật tại nguồn, nó sẽ hiển thị thông báo trong giao diện UI của hệ thống từ xa cho biết có bản cập nhật sẵn sàng để tải xuống.**
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/automate-protect-and-extend/vi/tu-dong-hoa/recipes-organization.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
