or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
Moving Namespaces into Pulp Ansible
Problem statement
Collection namespaces need to be moved into pulp ansible so that pulp ansible can carry the namespaces API and provide namespace sync functionality.
Implementation proposal
Data model:
Collection serializer:
Sync pipeline:
foo.collection
andbar.collection
, and am only syncingbar.collection
, then onlybar
should synced, notfoo
.Notes 2022-10-05:
Discussion
What are namepaces used for?
How are namespaces currently implemented?
Namespace model.
Namespaces are a global object (ie not part of any repository). They are linked to a
inbound-{namespace_name}
repo where user's are expected to upload collections for the namespace. When users upload collections they are required to upload them to an inbound repo that matches the namespace on the collection. The user's permissions are then checked against the namespace to verify that they have permission to upload the collection.Pulp Implementation
Requirements
PUT /v3/namespaces/<name>/
allows users to update all of the namespace informationPOST /v3/namespaces/<name>/
allows users to create new namespacesPossible options
Convert namespaces to Content
Convert the namespace object to a Content type. This will allow namespaces to be synced from remote sources, but will greatly complicate the proces of updating namespace metadata and moving collections between repositories.
This is technically possible because even though namespaces don't belong to any repository right now, they are part of the V3 api which is currently scoped to a specific repo, so they can be moved to a repository without breaking changes on the public API.
Pros:
Cons:
Leave namespaces as is
Move the data model and implement the current galaxy_ng data model as it is.
Pros:
Cons:
Hybrid approach
Maintain collection ownership information on a global namespaces object (like it is now) but treat namespace metadata as content. Ownership can't be synced, so it's fine to manage this locally.
Pros:
Cons:
Considerations