This repository contains the source for the operations management system. It contains the sources for both the CLI and the Service.
The OMS CLI tool is used to bootstrap Codesphere cluster on customer sites and replaces the formerly used private cloud installer.
You can install the OMS CLI in a few ways:
If you have the GitHub CLI installed, you can install the OMS CLI with a command like the following.
Note that some commands may require you to elevate to the root user with sudo.
gh release download -R codesphere-cloud/oms -O /usr/local/bin/oms -p "oms*darwin_arm64"
chmod +x /usr/local/bin/oms
gh release download -R codesphere-cloud/oms -O /usr/local/bin/oms -p "oms*linux_amd64"
chmod +x /usr/local/bin/oms
This option requires to have the wget and jq utils installed. Download the OMS CLI and add permissions to run it with the following commands:
Note that some commands may require you to elevate to the root user with sudo.
wget -qO- 'https://api.github.com/repos/codesphere-cloud/oms/releases/latest' | jq -r '.assets[] | select(.name | match("oms.*darwin_arm64")) | .browser_download_url' | xargs wget -O oms
mv oms /usr/local/bin/oms
chmod +x /usr/local/bin/oms
wget -qO- 'https://api.github.com/repos/codesphere-cloud/oms/releases/latest' | jq -r '.assets[] | select(.name | match("oms.*linux_amd64")) | .browser_download_url' | xargs wget -O oms
mv oms /usr/local/bin/oms
chmod +x /usr/local/bin/oms
You can also download the pre-compiled binaries from the OMS Releases page.
Note that some commands may require you to elevate to the root user with sudo.
-
Go to the latest release.
-
Download the appropriate release for your operating system and architecture (e.g.,
oms_darwin_amd64for macOS,oms_linux_amd64for Linux, oroms_windows_amd64for Windows). -
Move the
omsbinary to a directory in your system'sPATH(e.g.,/usr/local/binon Linux/Mac, or a directory added toPathenvironment variable on Windows). -
Make the binary executable (e.g. by running
chmod +x /usr/local/bin/omson Mac or Linux)
The OMS CLI organizes its functionality into several top-level commands, each with specific subcommands and flags.
See our Usage Documentation for usage information about the specific subcommands.
For the complete infrastructure preparation and installation workflow, see Prepare infrastructure and install Codesphere.
make build-cliSee also [CONTRIBUTION.md]
The service implementation is currently WIP
make build-servicePlease review our Code of Conduct to understand our community expectations. We welcome contributions! All contributions to this project must be made in accordance with the Developer Certificate of Origin (DCO). See our full Contributing Guidelines for details.
Set the package version alongside the existing operation skip steps:
operations:
codesphere:
version: 1.111.0
hash: abc123 # Optional: omit to select the latest build of this version.
skip: [load-container-images]oms install codesphere --config config.yaml --priv-key age-key.txtThe install command resolves the configured build through the package portal and
downloads its installer-lite.tar.gz archive into OMS_WORKDIR (default
./oms-workdir). Existing archives use the shared downloader's resume support,
and the checksum is verified after downloading.
Plain versions such as 1.95.0 resolve to portal tags such as codesphere-v1.95.0.
The install command also supports merged configuration files; the last configured
version wins. Existing skip-step behavior is unchanged.
An explicit oms install codesphere --package <archive> overrides the configured
version and supports offline installation. oms download package <version> and
--version <version> retain their existing behavior of downloading to the current
directory and continue requiring an explicit version.
The existing scalar form, operations: {codesphere: 1.111.0}, remains supported.
Config generation writes the explicit object form. Branch names such as master
are supported in either form. A supplied full Git hash can also match the abbreviated hash stored by the portal.
Quote numeric-looking versions such as "1.10" to preserve them as YAML strings.
oms init install-config --codesphere-version 1.111.0 --codesphere-hash abc123--codesphere-hash is optional. In interactive mode these flags provide defaults for
the version and hash questions; entered answers take precedence. In non-interactive
mode they set the generated values directly. Bootstrap's --install-version and optional
--install-hash are also written to the generated config. GCP installations then
read that config instead of passing a package override; local package overrides
and the download required before registry mirroring remain supported.
When a bootstrap install config contains operations.codesphere.version, bootstrap
automatically installs that version using the optional configured hash. Explicit
--install-version or --install-local options override the config selection;
--install-hash overrides the configured hash.