You're Invited: Meet the Socket team at BSidesSF and RSAC - April 27 - May 1.RSVP
Socket
Sign inDemoInstall
Socket

fabrictestbed

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fabrictestbed

FABRIC Python Client Library with CLI

1.8.4
PyPI
Maintainers
2

PyPI

FABRIC TESTBED USER LIBRARY AND CLI

Fabric User CLI for experiments

Overview

This package supports User facing APIs as well as CLI.

  • Tokens: Token management
  • Slices: Slice management
  • Slivers: Sliver management
  • Resources: Resource management

CLI Commands

CommandSubCommandActionInputOutput
tokensissueIssue token with projectId and scopeprojectId Project Id, scope ScopePoints user to Credential Manager to generate the tokens
tokenrefreshRefresh tokenprojectId Project Id, scope Scope, refreshtoken Refresh TokenReturns new identity and refresh tokens
tokenrevokeRevoke tokenrefreshtoken Refresh TokenSuccess or Failure status
slicesqueryQuery user slice(s)idtoken Identity Token, refreshtoken Refresh Token, projectId Project Id, scope Scope, sliceid Slice IdList of Slices or Graph ML representing slice identified by Slice Id
slicescreateCreate user sliceidtoken Identity Token, refreshtoken Refresh Token, projectId Project Id, scope Scope, slicename Slice Name, slicegraph Slice graphList of Slivers created for the Slice
slicesdeleteDelete user sliceidtoken Identity Token, refreshtoken Refresh Token, projectId Project Id, scope Scope, sliceid Slice IdSuccess or Failure Status
sliversqueryQuery user sliver(s)idtoken Identity Token, refreshtoken Refresh Token, projectId Project Id, scope Scope, sliceid Slice Id, sliverid Sliver IdList of Slivers for the slice identified by Slice Id or Sliver identified by Sliver Id
resourcesqueryQuery resourcesidtoken Identity Token, refreshtoken Refresh Token, projectId Project Id, scope ScopeGraph ML representing the available resources

API

SliceManager class implements the API supporting the operations listed above. Check example in Usage below.

Requirements

Python 3.9+

Installation

Multiple installation options possible. For CF development the recommended method is to install from GitHub MASTER branch:

$ mkvirtualenv fabrictestbed
$ workon fabrictestbed
$ pip install git+https://github.com/fabric-testbed/fabric-cli.git

For inclusion in tools, etc, use PyPi

$ mkvirtualenv fabrictestbed
$ workon fabrictestbed
$ pip install fabrictestbed

Pre-requisites for the install example above

Ensure that following are installed

  • virtualenv
  • virtualenvwrapper

NOTE: Any of the virtual environment tools (venv, virtualenv, or virtualenvwrapper) should work.

Usage (API)

User API supports token and orchestrator commands. Please refer to Jupyter Notebooks here for examples.

Usage (CLI)

Configuration

User CLI expects the user to set following environment variables:

export FABRIC_ORCHESTRATOR_HOST=orchestrator.fabric-testbed.net
export FABRIC_CREDMGR_HOST=cm.fabric-testbed.net
export FABRIC_TOKEN_LOCATION=<location of the token file downloaded from the Portal>
export FABRIC_PROJECT_ID=<Project Id of the project for which resources are being provisioned>

Alternatively, user can pass these as parameters to the commands.

To enable CLI auto-completion, add following line to your ~/.bashrc
eval "$(_FABRIC_CLI_COMPLETE=source_bash fabric-cli)"

Open a new shell to enable completion. Or run the eval command directly in your current shell to enable it temporarily.

User CLI supports token and orchestrator commands:

(usercli) $ fabric-cli
Usage: fabric-cli [OPTIONS] COMMAND [ARGS]...

Options:
  -v, --verbose
  --help         Show this message and exit.

Commands:
  resources  Resource management (set $FABRIC_ORCHESTRATOR_HOST to the...
  slices     Slice management (set $FABRIC_ORCHESTRATOR_HOST to the...
  slivers    Sliver management (set $FABRIC_ORCHESTRATOR_HOST to the...
  tokens     Token management (set $FABRIC_CREDMGR_HOST to the Credential...

Token Management Commands

List of the token commands supported can be found below:

(usercli) $ fabric-cli tokens
Usage: fabric-cli tokens [OPTIONS] COMMAND [ARGS]...

  Token management (set $FABRIC_CREDMGR_HOST to the Credential Manager
  Server)

Options:
  --help  Show this message and exit.

Commands:
  issue    Issue token with projectId and scope
  refresh  Refresh token
  revoke   Revoke token

Resource Management Commands

List of the resource commands supported can be found below:

$ fabric-cli resources
Usage: fabric-cli resources [OPTIONS] COMMAND [ARGS]...

  Query Resources (set $FABRIC_ORCHESTRATOR_HOST to the Control Framework
  Orchestrator)

Options:
  --help  Show this message and exit.

Commands:
  query  issue token with projectId and scope

Slice Management Commands

(usercli) $ fabric-cli slices
Usage: fabric-cli slices [OPTIONS] COMMAND [ARGS]...

  Slice management (set $FABRIC_ORCHESTRATOR_HOST to the Orchestrator)

Options:
  --help  Show this message and exit.

Commands:
  create  Create user slice
  delete  Delete user slice
  query   Query user slice(s)

Sliver Management Commands

(usercli) $ fabric-cli slivers
Usage: fabric-cli slivers [OPTIONS] COMMAND [ARGS]...

  Sliver management (set $FABRIC_ORCHESTRATOR_HOST to the Orchestrator)

Options:
  --help  Show this message and exit.

Commands:
  query  Query user slice sliver(s)

Keywords

Swagger

FAQs

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