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
-
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ortelius_cli-9.3.265-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e114a7c1fd5402b8019cd13b728f4073134e81a89f243b419d6be158edbc4372 |
|
MD5 | 64536cc95dee51c676af1e453c2bb49c |
|
BLAKE2b-256 | 2f77428793171f8a1fe7903a1c60edef22286262f676779404f577959948c86b |