Skip to main content

No project description provided

Project description

The Ortelius Command Line Interface

The Ortelius Command Line Interface supports integration with DevOps tools and CI/CD pipelines.

The CLI Python script interacts with the Ortelius REST APIs to perform:

  • Approve the Application Version
  • Move the _Application Version- using the supplied task
  • Create/replace the Component Version for the Application Version
  • Assign a Component Version to an Application version
  • Assign the key/values pairs to the Component version
  • Create a bash file from the Component .toml file
  • Export a Domain including all objects to stdout
  • Imports the export file into the new Domain
  • Deploy the Application Version
  • Upload Swagger and SBOM files to Component Version

CLI Prerequisites

  1. Install Python 3.8 or newer

  2. Install Ortelius CLI

    pip install --upgrade ortelius-cli

Get Started with a POC

Refer to the Ortelius sample POC to get started. This POC provides you the steps to incorporate Ortelius into your Pipeline, with SBOM generation.

Ortelius' CLI using the dhapi module

Arguments:

ACTION - one of the following

  • deploy - deploy the Application to the Environment Usage: --dhurl --dhuser --dhpass --appname --appversion (optional) --deployenv

  • approve - approve the Application Version Usage: --dhurl --dhuser --dhpass --appname --appversion (optional)

  • move - move the Application Version using the supplied task Usage: --dhurl --dhuser --dhpass --appname --appversion (optional) --from_domain --task

  • updatecomp - create/replace the Component Version for the Application Version with SBOM (CycloneDX or SPDX formats). Usage: --dhurl --dhuser --dhpass --rsp --autoappinc (optional) --compautoinc (optional) --consumes (optional) --provides (optional) --deppkg cyclonedx@ (optional) --deppkg spdx@ (optional)

Component TOML Definition for --rsp parameter
# Application Name and Version to create an associate the Component Version to
# NOTE: Only needed if you need to assoicate the Component Version to the Application Version

Application = ""          # Name of the Applcation including the full Domain Name
Application_Version = ""  # The semantic version for the Application Version

# Component Name, Variant and Version
Name = ""
Variant = "${GIT_BRANCH}"
Version = "v1.0.0.${BUILD_NUM}-g${GIT_COMMIT}"                  # 1.0.0 should be replace with your starting version string

# Export the derived IMAGE_TAG, DOCKERREPO values to the CI/CD Tool via a shell script when using the `envscript` command line action
[Export]
IMAGE_TAG = "${Variant}-${Version}"
DOCKERREPO = "${DockerRepo}"

# Key/Values to associate to the Component Version.  Custom key/values can be added under this section.
[Attributes]
BuildId = "${BUILDID}"                                      # Identifier for the CI job (DERIVED IF NOT SPECIFIED)
BuildNumber = "${BUILD_NUM}"                                # Build number for the CI job (DERIVED IF NOT SPECIFIED)
BuildUrl = "${BUILD_URL}"                                   # Build url for the CI job (DERIVED IF NOT SPECIFIED)
Chart = ""                                                  # Helm Chart for the Component
ChartNamespace = ""                                         # Name space for the Component to be deployed to
ChartRepo = ""                                              # Helm Chart Repo Name
ChartRepoUrl = ""                                           # Helm Chart Repo Url
ChartVersion = ""                                           # Helm Chart version
CustomAction = ""                                           # Custom Action to assign to the Component
DeployAlways = ""                                           # Set the Always Deploy option Y/N, default is N
DockerBuildDate = ""                                        # Timestamp when the image was created (DERIVED IF NOT SPECIFIED)
DockerRepo = "${DOCKERREPO}"                                # Registry which the image was pushed to
DockerSha = "${DIGEST}"                                     # Digest for the image (DERIVED IF NOT SPECIFIED)
DockerTag = "${DOCKERTAG}"                                  # Tag for the image
GitBranch = "${GIT_BRANCH}"                                 # Git branch in the git repo (DERIVED IF NOT SPECIFIED)
GitBranchCreateCommit = "${GIT_BRANCH_CREATE_COMMIT}"       # Git commit that the branch was created from (DERIVED IF NOT SPECIFIED)
GitBranchCreateTimestamp = "${GIT_BRANCH_CREATE_TIMESTAMP}" # Timestamp of when the branch was created (DERIVED IF NOT SPECIFIED)
GitBranchParent = "${GIT_BRANCH_PARENT}"                    # The parent branch for the current branch (DERIVED IF NOT SPECIFIED)
GitCommit = "${GIT_COMMIT}"                                 # Git commit that triggered the CI job (DERIVED IF NOT SPECIFIED)
GitCommitAuthors = "${GIT_COMMIT_AUTHORS}"                  # List of committers for the repo (DERIVED IF NOT SPECIFIED)
GitCommittersCnt = "${GIT_COMMITTERS_CNT}"                  # Count of GitCommitAuthors (DERIVED IF NOT SPECIFIED)
GitCommitTimestamp = "${GIT_COMMIT_TIMESTAMP}"              # Timestamp of the current commit (DERIVED IF NOT SPECIFIED)
GitContribPercentage = "${GIT_CONTRIB_PERCENTAGE}"          # GitCommittersCnt / GitTotalCommittersCnt * 100 (DERIVED IF NOT SPECIFIED)
GitLinesAdded = "${GIT_LINES_ADDED}"                        # Lines added since the previous commit (DERIVED IF NOT SPECIFIED)
GitLinesDeleted = "${GIT_LINES_DELETED}"                    # Lines deleted since the previous commit (DERIVED IF NOT SPECIFIED)
GitLinesTotal = "${GIT_LINES_TOTAL}"                        # Total line count for the branch (DERIVED IF NOT SPECIFIED)
GitOrg = "${GIT_ORG}"                                       # Orgranization for the repo (DERIVED IF NOT SPECIFIED)
GitRepo = "${GIT_REPO}"                                     # Git repo that triggered the CI job (DERIVED IF NOT SPECIFIED)
GitRepoProject = "${GIT_REPO_PROJECT}"                      # Project name part of the repository url (DERIVED IF NOT SPECIFIED)
GitTag = "${GIT_TAG)"                                       # Git tag in the git repo (DERIVED IF NOT SPECIFIED)
GitTotalCommittersCnt = "${GIT_TOTAL_COMMITTERS_CNT}"       # Total committers working on this repo
GitUrl = "${GIT_URL}"                                       # Full url to the git repo (DERIVED IF NOT SPECIFIED)
License = ""                                                # License file location in the Git Repo (DERIVED IF NOT SPECIFIED)
operator = ""                                               # Operator name
Readme = ""                                                 # Readme file location in the Git Repo (DERIVED IF NOT SPECIFIED)
ServiceOwner = ""                                           # Owner of the Service
ServiceOwnerEmail = ""                                      # Email for the Owner of the Service
ServiceOwnerPhone = ""                                      # Phone number for the Owner of the Service
Swagger = ""                                                # Swagger/OpenApi file location in the Git Repo (DERIVED IF NOT SPECIFIED)
  • assign - assigns a Component Version to an Application Version Usage: --dhurl --dhuser --dhpass --compname --compvariant (optional) --compversion (optional) --appname --appversion (optional)

  • kv - assigns the key/values pairs to the Component Version Usage: --dhurl --dhuser --dhpass --compname --compvariant (optional) --compversion (optional) --kvconfig

  • envscript - creates a bash file from the Component toml file Usage: --envvars --envvars_sh

  • export - exports a Domain including all objects to stdout Usage: --dhurl --dhuser --dhpass --from_dom

  • import - imports the export file into the new Domain Usage: --dhurl --dhuser --dhpass --from_dom --to_dom

Parameter Usage

Parameter Descriptions
appautoinc Application Auto Increment Version
appname Application Name
appversion Application Version
cert Customer SSL Certificate File
changerequest Change Request for Component, use multiple time for each Change Request Id
cluster_json json from kubectl get deploy -n default -o json
compattr Component attributes, use multiple time for each attr
compautoinc Component auto increment version
compname Component Name
compvariant Component Variant
compversion Component Version
consumes json file that lists the endpoints the Component consumes. [ {"verb", "get", "path": "/weather"}]
crdatasource Change Request Data Source for the Component
deploydata The json file that contains the Application, Environment and log details
deploydatasave Name of the json file to save the new Component and Application Versions names to
deployenv Deployment Environment
deppkg File name for the Safety, CycloneDx, SPDX json scan data, use multiple time for each file. Parameter format is: @ where type=safety, cyclonedx, spdx
dhpass Ortelius Password
dhurl Ortelius Url
dhuser Ortleius User
docker docker Kind of the Component item
envs Environments to Associate Application Version to, use multiple time for each env
envvars_sh Environment Variables Output shell file
envvars Component TOML file
file file Kind of the Component item
from_domain Move from Domain
fromdom From Domain
importfile File to Import
kvconfig Directory containing the json and properties file
logdeployment Records a deployment by a external program
msbranch New microservice branch being added to the cluster
msname New microservice being added to the cluster
provides json file that lists the Endpoints the Component provides. [ {"verb", "get", "path": "/checkout"}]
rsp Response File for Parameters, ie component.toml
task Task to use for move
todom To Domain

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ortelius_cli-9.3.281.tar.gz (39.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ortelius_cli-9.3.281-py3-none-any.whl (34.2 kB view details)

Uploaded Python 3

File details

Details for the file ortelius_cli-9.3.281.tar.gz.

File metadata

  • Download URL: ortelius_cli-9.3.281.tar.gz
  • Upload date:
  • Size: 39.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.9

File hashes

Hashes for ortelius_cli-9.3.281.tar.gz
Algorithm Hash digest
SHA256 608fcad69451c8397fc4cc9747e91d039dbc980826bb0bc712cdc88e088d69fe
MD5 99ae9200fe12e4dc9569619aed5a21a4
BLAKE2b-256 36ff0abad22e35bebe1341d6d539416cecbd2a88f7ec9dd30e6c88422038a9f1

See more details on using hashes here.

File details

Details for the file ortelius_cli-9.3.281-py3-none-any.whl.

File metadata

  • Download URL: ortelius_cli-9.3.281-py3-none-any.whl
  • Upload date:
  • Size: 34.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.9

File hashes

Hashes for ortelius_cli-9.3.281-py3-none-any.whl
Algorithm Hash digest
SHA256 3e8b4564a7b4a4b9730dd3b9bff45f0e32f6725ef8109433260d2db15badb029
MD5 fe2e0f20475ff589d4ea6508cb4eee6c
BLAKE2b-256 72e6814bc9c4bf16fe87e11c4bcfe5953afd1123a5227a130898ae7827a78467

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page