Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More β†’
Socket
Sign inDemoInstall
Socket

@cto.ai/ops-rc

Package Overview
Dependencies
Maintainers
10
Versions
89
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cto.ai/ops-rc

πŸ’» CTO.ai - The CLI built for Teams πŸš€

  • 1.18.12
  • npm
  • Socket score

Version published
Weekly downloads
25
decreased by-74.49%
Maintainers
10
Weekly downloads
Β 
Created
Source

ops

πŸ’» CTO.ai Ops - The CLI built for Teams πŸš€

Release oclif Version Downloads/week License

Usage

$ npm install -g @cto.ai/ops-rc
$ ops COMMAND
running command...
$ ops (-v|--version|version)
@cto.ai/ops-rc/1.18.12 darwin-x64 node-v12.19.1
$ ops --help [COMMAND]
USAGE
  $ ops COMMAND
...

Commands

ops account:reset

Reset your password.

Reset your password.

USAGE
  $ ops account:reset

ops account:signin

Log in to your account.

Log in to your account.

USAGE
  $ ops account:signin

OPTIONS
  -h, --help               show CLI help
  -i, --interactive        Interactive Mode
  -p, --password=password  Password
  -u, --user=user          Username or email

ops account:signout

Log out from your account.

Log out from your account.

USAGE
  $ ops account:signout

OPTIONS
  -h, --help  show CLI help

ops account:signup

Creates an account to use with ops CLI.

Creates an account to use with ops CLI.

USAGE
  $ ops account:signup

OPTIONS
  -h, --help  show CLI help

ops account:support

Contact our support team with questions.

Contact our support team with questions.

USAGE
  $ ops account:support

OPTIONS
  -h, --help  show CLI help

ops add [OPNAME]

Add an op to your team.

Add an op to your team.

USAGE
  $ ops add [OPNAME]

ARGUMENTS
  OPNAME  Name of the public op to be added to your team. It should be of the format - @teamname/opName:versionName

OPTIONS
  -h, --help  show CLI help

ops build [PATH]

Build your op for sharing.

Build your op for sharing.

USAGE
  $ ops build [PATH]

ARGUMENTS
  PATH  Path to the op you want to build.

OPTIONS
  -h, --help  show CLI help
  --nocache   Do not use cache when building the image

  --ops=ops   List of workflows from ops.yml you want to build. example:
              ops build ./ops.yml --ops commandName serviceName pipelineName

ops certs CERTIFICATETYPE NAMEORPATH

Save an SSL certificate and key for your service

Save an SSL certificate and key for your service

USAGE
  $ ops certs CERTIFICATETYPE NAMEORPATH

ARGUMENTS
  CERTIFICATETYPE  (ssl) The type of certificate to store
  NAMEORPATH       Name or path of the service to save SSL for.

OPTIONS
  -h, --help             Show help screen
  --cert-file=cert-file  Path to your certificate file
  --key-file=key-file    Path to your key file

ops cleanup [OPNAME]

Clean up locally cached docker images.

Clean up locally cached docker images.

USAGE
  $ ops cleanup [OPNAME]

ARGUMENTS
  OPNAME  Name of the op to be cleaned up

OPTIONS
  -h, --help  show CLI help

ops configs:delete

Delete a config stored for the active team

Delete a config stored for the active team

USAGE
  $ ops configs:delete

OPTIONS
  -h, --help     show CLI help
  -k, --key=key  Secret Key Name

ops configs:list

List all the configs that are stored for the active team

List all the configs that are stored for the active team

USAGE
  $ ops configs:list

OPTIONS
  -h, --help  show CLI help

ops configs:set

Add a new config key & value

Add a new config key & value

USAGE
  $ ops configs:set

OPTIONS
  -f, --from-file=from-file  path to a file containing the value of the config to set
  -k, --key=key              the key of the config to set
  -v, --value=value          the value of the config to set

ops generate:token

Generate a long live access token.

Generate a long live access token.

USAGE
  $ ops generate:token

OPTIONS
  -h, --help  show CLI help

ops help [COMMAND]

display help for ops

display help for <%= config.bin %>

USAGE
  $ ops help [COMMAND]

ARGUMENTS
  COMMAND  command to show help for

OPTIONS
  --all  see all commands in CLI

See code: @oclif/plugin-help

ops init [NAME]

Create a new Application

Create a new Application

USAGE
  $ ops init [NAME]

ARGUMENTS
  NAME  provide a name or pass a github url to a template

OPTIONS
  -h, --help               show CLI help
  -k, --kind=kind          the kind of Application to create (command, pipeline, etc.)
  -t, --template=template  the name of the template to use

ops list

Lists the Ops you have in your team.

Lists the Ops you have in your team.

USAGE
  $ ops list

OPTIONS
  -h, --help  show CLI help

ops publish PATH

Publish a workflow to your team.

Publish a workflow to your team.

USAGE
  $ ops publish PATH

ARGUMENTS
  PATH  Path to the op you want to publish.

OPTIONS
  -c, --changelog=changelog  Provide a publish changelog
  -h, --help                 show CLI help
  -o, --ops=ops              Provide the list of workflows that you want to publish.
  --nocache                  Do not use cache when building the image

ops remove OP

Remove a workflow from your team.

Remove a workflow from your team.

USAGE
  $ ops remove OP

ARGUMENTS
  OP  The name and version of the command or workflow you want to remove. E.g. my-command:0.1.0
      Don't include team name or version if using the --all flag

OPTIONS
  -h, --help  show CLI help
  --all       Allows you to remove all versions of an op on your current team.

ops run [NAMEORPATH]

Run a workflow from your team or the registry.

Run a workflow from your team or the registry.

USAGE
  $ ops run [NAMEORPATH]

ARGUMENTS
  NAMEORPATH  Name or path of the workflow you want to run.

OPTIONS
  -B, --batch  Runs the workflow in non-interactive batch mode.
  -b, --build  Builds the workflow before running. Must provide a path to the op.
  -h, --help   show CLI help
  --nocache    Do not use cache when building the image

ops search [FILTER]

Search for workflows in our registry.

Search for workflows in our registry.

USAGE
  $ ops search [FILTER]

ARGUMENTS
  FILTER  Filter results by workflow name or description.

OPTIONS
  -h, --help  show CLI help

ops secrets:delete

Delete a secret stored for the active team

Delete a secret stored for the active team

USAGE
  $ ops secrets:delete

OPTIONS
  -h, --help     show CLI help
  -k, --key=key  Secret Key Name

ops secrets:list

List all the keys that are stored for the active team

List all the keys that are stored for the active team

USAGE
  $ ops secrets:list

OPTIONS
  -h, --help  show CLI help

ops secrets:register

Register a secrets provider for a team

Register a secrets provider for a team

USAGE
  $ ops secrets:register

ops secrets:set

Add a key & value

Add a key & value

USAGE
  $ ops secrets:set

OPTIONS
  -f, --from-file=from-file  path to a file containing the value of the secret to set
  -k, --key=key              the key of the secret to set
  -v, --value=value          the value of the secret to set

ops secrets:unregister

Unregister a secrets provider for a team

Unregister a secrets provider for a team

USAGE
  $ ops secrets:unregister

ops start [NAMEORPATH]

Start a service, pipeline or command on our cloud.

Start a service, pipeline or command on our cloud.

USAGE
  $ ops start [NAMEORPATH]

ARGUMENTS
  NAMEORPATH  Name or path of the workflow you want to run.

OPTIONS
  -h, --help  show CLI help

ops status

See the status of currently running cloud services

See the status of currently running cloud services

USAGE
  $ ops status

OPTIONS
  -h, --help  show CLI help

ops stop [RUNID]

Stop a service running in The Ops Cloud

Stop a service running in The Ops Cloud

USAGE
  $ ops stop [RUNID]

ARGUMENTS
  RUNID  Run ID of the service to stop

OPTIONS
  -h, --help  show CLI help

ops team:create

Create your team.

Create your team.

USAGE
  $ ops team:create

OPTIONS
  -h, --help       show CLI help
  -n, --name=name

ops team:info

Shows basic team information for the team you are currently on.

Shows basic team information for the team you are currently on.

USAGE
  $ ops team:info

OPTIONS
  -h, --help  show CLI help

ops team:invite

Invite your team members.

Invite your team members.

USAGE
  $ ops team:invite

OPTIONS
  -h, --help               show CLI help

  -i, --invitees=invitees  A comma-separated string of usernames/emails we want to invite. E.g. ("user1,
                           user2@gmail.com, user3@something")

ops team:join

Accept an invite to join a team.

Accept an invite to join a team.

USAGE
  $ ops team:join

ops team:list

Shows the list of your teams.

Shows the list of your teams.

USAGE
  $ ops team:list

OPTIONS
  -h, --help  show CLI help

ops team:remove [MEMBER]

Remove your team members.

Remove your team members.

USAGE
  $ ops team:remove [MEMBER]

ARGUMENTS
  MEMBER  The username of the team member you want to remove from the team.

OPTIONS
  -h, --help  show CLI help

ops team:switch

Switch your currently active team.

Switch your currently active team.

USAGE
  $ ops team:switch

OPTIONS
  -h, --help  show CLI help

ops update

Update The Ops CLI.

Update The Ops CLI.

USAGE
  $ ops update

OPTIONS
  -h, --help  show CLI help

ops whoami

Display your user information

Display your user information

USAGE
  $ ops whoami

OPTIONS
  -h, --help  show CLI help

OClif Source Repo

Useful reference for writing tests:

Testing

Isolate tests (run only specific tests in that file):

test.only('it should run only tests suffixed with .only', async () => {

Unit Tests (test directory)

How to run Unit Tests

  1. npm test or npm t

Tips

Run a single unit test, or filter them by filename:

npx jest --testPathPattern=keycloak

E2E Tests (test_e2e directory)

The CLI has a number of robused E2E tests that are hosted inside of CTO.ai's private CI/CD infra.

We are planning to expose this system via Github Actions in the future, but for now, a CTO.ai team member will review your PR and test coverage.

How to run E2E tests locally

The default test server is staging, but you can override this by passing in your own OPS_REGISTRY_HOST and OPS_API_HOST values from your shell config.

Run tests against staging (as part of the CTO.ai platform developer workflow):

  1. Run npm run configdev to point the ops binary at the development Typescript app (instead of the production Javascript bundle)
  2. Ensure you have a .env.staging file (you can generate one by running scripts/make-env.sh)
  3. Set your NODE_ENV to 'staging': export NODE_ENV=staging
  4. npm run test:e2e

Run tests against Minikube (as part of the CTO.ai platform developer workflow):

  1. Create a user in Keycloak with the following credentials:
- username: 'existing_user'
- email: 'e2e_existing_user1@cto.ai'
- password: 'password'
  1. Change the userID in test_e2e/utils/constants.ts EXISTING_USER_ID to Step 1's userID
  2. Create existing_user team in Database if haven't already
  3. Change the teamID in teste2e/utils/constants.ts EXISTING_TEAM_ID to step 3's teamID
  4. Create a cto.ai team in Database if haven't already
  5. Publish this following command:
- Team: β€˜cto.ai’
- name: β€˜github’
- version: β€˜latest’
- public: true
  1. Publish the write_a_file_op command found in test_e2e/sample_ops/write_a_file_op
  2. Publish the echo_message_workflow workflow found in test_e2e/sample_ops/echo_message_workflow
  3. Add the ops-cli-confidential client to Keycloak. The ops-cli-confidential.json file can be found in Keybase
  4. Run npm run configdev to point the ops binary at the development Typescript app (instead of the production Javascript bundle)
  5. Ensure you have a .env.test file (you can generate one by running scripts/make-env.sh)
  6. Modify the vars in .env.test to match your minikube IP
  7. Set your NODE_ENV to 'test': export NODE_ENV=test
  8. npm run test:e2e

Tips

Run a single E2E test, or filter test files by filename:

npm run test:e2e --testPathPattern=signin

Releases

Releases are now handled by .gitlab/workflows/release.yml, which is triggered via a pushed tag that matches v*. This workflow will run npm publish and publish the current semantic version in the package.json. Steps to trigger a successful release:

  1. update the package version in package.json
  2. create and push a new tag that corresponds with the package version: v{package_version} i.e. "v1.14.7"

Keywords

FAQs

Package last updated on 07 Jul 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚑️ by Socket Inc