oedp Command Reference ​

oedp ​

OptionShortcutDescription
--version-vDisplays the version

oedp info ​

Displays project details (defaults to current directory).

OptionShortcutMandatoryDescription
--project [path]-pNoProject path, defaults to current directory.

oedp run [action] ​

Executes a project action (defaults to current directory). [action] refers to a plugin method (query via oedp info).

OptionShortcutMandatoryDescription
--project [path]-pNoProject path, defaults to current directory.
--debug-dNoRuns in debug mode.
--time-tNoRecords timestamps and execution time for each step in the script.
--local-lNoDeploys locally (not supported by all plugins).

oedp list ​

Lists available plugins from plugin sources.

oedp init [plugin] ​

Initializes a plugin to the specified path. [plugin] can be a plugin archive path, a download URL, or a plugin name.

  • If [plugin] is a local plugin archive (ending with .tar.gz), it will be directly initialized to the target path.
  • If [plugin] is a download URL (ending with .tar.gz), it will be downloaded to the cache path /var/oedp/plugin/ first, then initialized.
  • If [plugin] is a plugin name, it will be searched from configured plugin sources, downloaded to the cache path, and then initialized.
OptionShortcutMandatoryDescription
--project [path]-pNoProject path. If it does not exist, it will be created.
--dir [path]-dNoParent directory of the project. If it does not exist, it will be created. If neither project path nor parent path is specified, the parent path defaults to the current directory.
--force-fNoForce overwrite. Use with caution; if the path exists, all files in that path will be deleted before initialization.

Example: Assuming the current directory is the home directory ~, the following five commands all initialize an oeDeploy plugin with directory ~/kubernetes-1.31.1:

bash
oedp init kubernetes-1.31.1
oedp init kubernetes-1.31.1.tar.gz
oedp init https://repo.oepkgs.net/openEuler/rpm/openEuler-24.03-LTS/contrib/oedp/plugins/kubernetes-1.31.1.tar.gz
oedp init kubernetes-1.31.1 -p ~/kubernetes-1.31.1
oedp init kubernetes-1.31.1 -d ~

oedp repo ​

Plugin source management.

  • Supports local and remote plugin sources.
  • Plugin source names must be unique.
SubcommandDescription
listLists all configured plugin sources.
updateUpdates plugin index cache.
set [name] [url]Adds or modifies a plugin source URL.
del [name]Deletes a plugin source.
enable [name]Enables a plugin source.
disable [name]Disables a plugin source.
make [plugins_dir] [url_prefix] [output_dir] [extra_item]Generates plugin source index file; extra_item is optional.
make-local [path]Generates local plugin source index file; path is optional (defaults to current directory).

Example plugin source configuration file /etc/oedp/config/repo/repo.conf:

ini
[openEuler]
url = https://repo.oepkgs.net/openEuler/rpm/openEuler-24.03-LTS/contrib/oedp/plugins/
enabled = true

[local]
url = file:///root/.oedp/plugins/
enabled = false

oedp Tool Files and Paths ​

PathDescription
/etc/oedp/config/Configuration file directory.
/etc/oedp/config/repo/cache/Plugin source index cache directory; each enabled plugin source generates a [name].yaml file.
/etc/oedp/config/repo/detailsPlugin configuration cache directory (portion after removing workspace from each plugin), used by DevStore to read icons and README.
/etc/oedp/config/repo/repo.confPlugin source configuration file.
/usr/lib/oedp/src/Source code directory.
/var/oedp/log/Log file directory.
/var/oedp/plugin/Plugin cache directory.

oeDeploy Plugin Sources ​

Plugin Source Format Specification ​

oeDeploy supports automatically obtaining installation and deployment plugins from accessible plugin sources and initializing them locally.

The root directory of a plugin source must contain an index file index.yaml, which describes the detailed information of all accessible plugins in the current source, including download URLs.

oeDeploy provides the oedp repo make and oedp repo make-local commands to automatically generate index.yaml.

Example index.yaml:

yaml
apiversion: v1
plugins:
- anythingLLM:
  - name: anythingLLM
    version: 1.0.0
    updated: 2025-07-26T17:43:28+0800
    author: ''
    url: https://gitee.com/openeuler/oeDeploy/tree/master/plugins/anythingLLM
    description: oeDeploy plugin for anythingLLM fast deployment
    description_zh: 用于anythingLLM快速部署的oeDeploy插件
    description_en: oeDeploy plugin for anythingLLM fast deployment
    readme: ''
    icon: ''
    localhost_available: true
    type: app
    sha256sum: 54f22780afadd02559e4a5bfdf672c6f2af1f17a73fe08fc4e3cd82aeee0cdef
    size: 12820
    urls:
    - https:/repo.oepkgs.net/openEuler/rpm/openEuler-24.03-LTS/contrib/oedp/plugins/anythingLLM.tar.gz
- deepseek-r1:
  - name: deepseek-r1
    version: 1.0.0
    updated: 2025-05-27T21:33:00+0800
    author: ''
    url: ''
    description: deepseek-r1 1.0.0
    description_zh: ''
    description_en: ''
    readme: ''
    icon: ''
    localhost_available: false
    type: app
    sha256sum: 9c991734052aa32c2ca362835115c6f2cb51026226f0aecbfeda134348812408
    size: 4787
    urls:
    - https:/repo.oepkgs.net/openEuler/rpm/openEuler-24.03-LTS/contrib/oedp/plugins/deepseek-r1.tar.gz

Top-level field meanings:

FieldMeaning
pluginsContains multiple plugin names (sorted alphabetically by default). Each plugin name may contain multiple versions of the plugin (sorted in descending version order by default).
apiversionVersion of the index file format. Reserved field, not yet effective. Default value v1.

Plugin field meanings:

FieldMeaningHow to obtain
namePlugin name. Allows version numbers in the plugin name, representing the software version, not the plugin version.Same as plugin archive name (without .tar.gz)
versionPlugin version number, not the version of the deployed software.Read from main.yaml
updatedPlugin update time, formatted as %Y-%m-%dT%H:%M:%S%z. May be empty.Plugin packaging time
authorPlugin publisher. May be empty.Read from main.yaml
descriptionPlugin brief description (used as default when multilingual descriptions are missing). May be empty.Read from main.yaml
description_zhPlugin brief description (Chinese, for search matching). May be empty.Read from main.yaml
description_enPlugin brief description (English, for search matching). May be empty.Read from main.yaml
iconPlugin icon URL, for web display. May be empty.Read from main.yaml
typePlugin type. Reserved field, not yet effective. Default value app.Read from main.yaml
localhost_availableWhether the plugin supports local single-node deployment. May be empty, default false.Read from main.yaml
sha256sumSHA256 checksum of the plugin file, used for integrity verification during download.SHA256 calculation
sizePlugin file size in bytes.Actual size of the archive
urlsPlugin download URLs, multiple allowed. All URLs must be within the scope of the current plugin source directory.Prefix concatenated with relative path

Plugin Source Construction Methods ​

Method 1: Using the oedp repo make command ​

Execute the following command to generate the index file index.yaml in one step:

bash
oedp repo make [plugins_dir] [url_prefix] [output_dir] [extra_item]
  • plugins_dir is the root directory of the plugin source in the current Linux environment. The command automatically identifies all qualified oeDeploy plugins (archives with .tar.gz extension) under this directory (including all subdirectories).

  • url_prefix is the URL index prefix for each plugin source, i.e., the publicly exposed root directory of the plugin source.

  • output_dir is the directory where the index file index.yaml will be output.

  • extra_item (optional) is the path to a YAML file containing extra items, used to merge additional plugin version information into the index.

The command automatically handles the following:

  1. Merges plugin versions from the main directory and extra file
  2. Sorts by version number from largest to smallest
  3. Automatically deduplicates entries with the same plugin name and version

For example, suppose the directory /root/build_workspace/storages/plugins on the current Linux environment contains multiple oeDeploy plugins, and this directory is mapped to http://x.x.x.x:8080/plugins as a file server exposed externally.

oeDeploy plugin information not stored in the current environment is recorded in /root/build_workspace/storages/extra.yaml.

Executing the following command generates an index.yaml in the /root/build_workspace/storages/plugins directory, where the urls field of each plugin is its real access URL on the file server, allowing direct downloads.

bash
oedp repo make \
/root/build_workspace/storages/plugins \
http://x.x.x.x:8080/plugins \
/root/build_workspace/storages/plugins \
/root/build_workspace/storages/extra.yaml

Method 2: Using the oedp repo make-local command ​

For local plugin sources, a simpler command is available:

bash
oedp repo make-local [path]
  • path (optional) is the plugin directory path, defaults to current directory. The command automatically converts it to an absolute path.

This command is equivalent to oedp repo make path file://path path, suitable for quick construction of local plugin sources.

For example, to generate a local plugin source index in the /opt/oedp/plugins directory:

bash
cd /opt/oedp/plugins
oedp repo make-local

Or:

bash
oedp repo make-local /opt/oedp/plugins