Command Line Interface to interact with Carbyne Stack Virtual Clouds

Related tags

Database cli
Overview

Carbyne Stack Command Line Interface

codecov Codacy Badge Known Vulnerabilities pre-commit Contributor Covenant

This is a CLI tool to communicate with the Carbyne Stack services.

DISCLAIMER: The Carbyne Stack CLI is alpha software. The software is not ready for production use. It has neither been developed nor tested for a specific use case.

IMPORTANT: The Carbyne Stack community has started to implement the CLI from scratch (see the cli-ng repository). As we are focusing on achieving feature parity as soon as possible, this version of the CLI is considered legacy and will no longer be maintained.

Configuration

Prior to the first use of the Carbyne Stack CLI it is required to run the configure command once:

cs configure

This command will guide you through a step-by-step configuration to match your Virtual Cloud setup.

While it is required to run the configuration at least once prior to the first command execution, it is possible to overload some settings using environment variables.

The following environment variables can be used to adapt your configuration without overwriting the default config:

Variable Description
CS_PRIME Modulus N as used by the MPC backend
CS_R Auxiliary modulus R as used by the MPC backend
CS_R_INV Multiplicative inverse for the auxiliary modulus R as used by the MPC backend
CS_NO_SSL_VALIDATION Disable SSL certificate validation
CS_VCP_{n}_BASE_URL Base URL for the provider with ID "{n}"
CS_VCP_{n}_AMPHORA_URL Amphora Service URL for the provider with ID "{n}"
CS_VCP_{n}_CASTOR_URL Castor Service URL for the provider with ID "{n}"
CS_VCP_{n}_EPHEMERAL_URL Ephemeral Service URL for the provider with ID "{n}"

NOTE: Please be aware, that you can only adapt the configuration for providers defined in your default config. It is not possible to add additional or remove existing providers. These variables are used during the configuration process only.

Usage

The general usage of the CLI is as follows:

Usage: cs [options] [command] [subcommand] [subcommand options] [parameter]
  Options:
    --config-file
      Configuration file used instead of reading the default configuration
      from "~/.specs/config".
    --debug
      Set log level to debug.
    --help
      Displays this help message.
  Commands:
    configure      Set the SPECS CLI default configuration
      Usage: configure [options]
        Options:
          --help
            Show help message on how to use and adapt the configuration.
          show
            Prints the CLI configuration that is currently in use.

    amphora      Create and retrieve secrets from Amphora service(s)
      Subcommands:
        create-secret      Creates a new Amphora secret with the given secret data.
          Usage: create-secret [options] SECRET [SECRET... (type: Long)]

                Although it is mandatory to define at least one secret to be
                shared within the new secret, secrets might also be passed on
                StdIn (separated by new line) if omitted on command.

            Options:
              -i, --secret-id
                UUID which will be used as unique identifier to store the secret.
                Default: <Random UUID>
              -t, --tag
                A Tag that will be added to the given secret.
                Format: <KEY>=<VALUE>

        get-secret      Retrieve an secret from Amphora
          Usage: get-secret [options] SECRET_ID
            Options:
              -l, --list-ids-only
                Output secret IDs only

        get-secrets      Lists all Secrets stored on the given Amphora service(s).
          Usage: get-secrets [options]

        create-tag      Adds a new Tag to the given Amphora secret
          Usage: create-tag [options] TAG

                Tag format: <KEY>=<VALUE>

            Options:
            * -i, --secret-id
                ID of the secret for which the tag will be created

        get-tags      Retrieve all tags of an secret from Amphora
          Usage: get-tags [options] SECRET_ID

        overwrite-tags      Replace all tags of an secret with new tags
          Usage: overwrite-tags [options] TAG [TAG...]

                Tag format: <KEY>=<VALUE>

            Options:
            * -i, --secret-id
                ID of the related Amphora secret

        get-tag      Retrieve a tag of an secret from Amphora
          Usage: get-tag [options] TAG_KEY
            Options:
            * -i, --secret-id
                ID of the related Amphora secret

        update-tag      Updates the value of an secret's tag. If a tag with the
                        same key is not already present at the secret, it
                        will be created.
          Usage: update-tag [options] TAG

                Tag format: <KEY>=<VALUE>

            Options:
            * -i, --secret-id
                ID of the related Amphora secret

        delete-tag      Delete a tag from an secret from Amphora
          Usage: delete-tag [options] TAG_KEY
            Options:
            * -i, --secret-id
                ID of the Amphora secret

        delete-secrets      Delete an secret from Amphora
          Usage: delete-secrets [options] SECRET_ID [SECRET_ID...]

                Although it is mandatory to define at least one Secret-ID to be
                deleted, IDs might also be passed on StdIn (separated by new line)
                 if omitted on command.

    castor      Upload to and download from Castor Service
      Subcommands:
        upload-tuple      Upload a tuple file to Castor Service
          Usage: upload-tuple [options] PROVIDER_ID

                Provider-ID as given by the configuration

            Options:
              -i, --chunk-id
                Unique identifier as to be used by Castor
                Default: <Random UUID>
            * -f, --tuple-file
                Tuple file path
            * -t, --tuple-type
                Tuple type, e.g., MULTIPLICATION_TRIPLE_GFP

        get-telemetry      Download telemetry data
          Usage: get-telemetry [options] PROVIDER_ID

                Provider-ID as given by the configuration

            Options:
              -i, --interval
                Interval in seconds to get the telemetry data for

        activate-chunk      Upload a tuple file to Castor Service
          Usage: activate-chunk [options] PROVIDER_ID

                Provider-ID as given by the configuration

            Options:
            * -i, --chunk-id
                Unique identifier of the tuple chunk

    ephemeral      Execute functions using Ephemeral
      Subcommands
        execute      Invokes an Ephemeral function with the given inputs secrets.
          Usage: execute [options] APPLICATION_NAME
            Options:
              -i, --input
                UUID of an Amphora Secret used as secret input for the function
                execution.
                This option can be defined multiple times in order to to use
                multiple secrets as input for the execution.
              -t, --timeout
                Maximum time allowed for the request in seconds.
                Default: 10

License

The Carbyne Stack Command Line Interface is open-sourced under the Apache License 2.0. See the LICENSE file for details.

3rd Party Licenses

For information on how license obligations for 3rd party OSS dependencies are fulfilled see the README file of the Carbyne Stack repository.

Contributing

Please see the Carbyne Stack Contributor's Guide.

Comments
  • Bump log4j-api from 2.14.1 to 2.15.0

    Bump log4j-api from 2.14.1 to 2.15.0

    Bumps log4j-api from 2.14.1 to 2.15.0.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    opened by dependabot[bot] 1
  • Bump log4j-core from 2.14.1 to 2.15.0

    Bump log4j-core from 2.14.1 to 2.15.0

    Bumps log4j-core from 2.14.1 to 2.15.0.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    opened by dependabot[bot] 1
  • [Snyk] Security upgrade com.github.scribejava:scribejava-apis from 8.3.1 to 8.3.3

    [Snyk] Security upgrade com.github.scribejava:scribejava-apis from 8.3.1 to 8.3.3

    This PR was automatically created by Snyk using the credentials of a real user.


    Snyk has created this PR to fix one or more vulnerable packages in the `maven` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • pom.xml

    Vulnerabilities that will be fixed

    With an upgrade:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- medium severity | 616/1000
    Why? Proof of Concept exploit, Has a fix available, CVSS 5.9 | Denial of Service (DoS)
    SNYK-JAVA-COMFASTERXMLJACKSONCORE-3038426 | com.github.scribejava:scribejava-apis:
    8.3.1 -> 8.3.3
    | No | Proof of Concept

    (*) Note that the real score may have changed since the PR was raised.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Denial of Service (DoS)

    needs-triage 
    opened by strieflin 1
  • [Snyk] Security upgrade org.apache.commons:commons-text from 1.9 to 1.10.0

    [Snyk] Security upgrade org.apache.commons:commons-text from 1.9 to 1.10.0

    Snyk has created this PR to fix one or more vulnerable packages in the `maven` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • pom.xml

    Vulnerabilities that will be fixed

    With an upgrade:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- high severity | 691/1000
    Why? Recently disclosed, Has a fix available, CVSS 8.1 | Arbitrary Code Execution
    SNYK-JAVA-ORGAPACHECOMMONS-3043138 | org.apache.commons:commons-text:
    1.9 -> 1.10.0
    | No | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Arbitrary Code Execution

    needs-triage 
    opened by snyk-bot 1
  • [Snyk] Security upgrade io.undertow:undertow-core from 2.2.8.Final to 2.3.0.Final

    [Snyk] Security upgrade io.undertow:undertow-core from 2.2.8.Final to 2.3.0.Final

    Snyk has created this PR to fix one or more vulnerable packages in the `maven` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • pom.xml

    Vulnerabilities that will be fixed

    With an upgrade:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- medium severity | 479/1000
    Why? Has a fix available, CVSS 5.3 | Allocation of Resources Without Limits or Throttling
    SNYK-JAVA-ORGJBOSSXNIO-2994360 | io.undertow:undertow-core:
    2.2.8.Final -> 2.3.0.Final
    | No | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

    needs-triage 
    opened by snyk-bot 0
  • [Snyk] Security upgrade com.github.scribejava:scribejava-apis from 8.3.1 to 8.3.2

    [Snyk] Security upgrade com.github.scribejava:scribejava-apis from 8.3.1 to 8.3.2

    Snyk has created this PR to fix one or more vulnerable packages in the `maven` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • pom.xml

    Vulnerabilities that will be fixed

    With an upgrade:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- medium severity | 509/1000
    Why? Has a fix available, CVSS 5.9 | Denial of Service (DoS)
    SNYK-JAVA-COMFASTERXMLJACKSONCORE-2326698 | com.github.scribejava:scribejava-apis:
    8.3.1 -> 8.3.2
    | No | No Known Exploit high severity | 589/1000
    Why? Has a fix available, CVSS 7.5 | Denial of Service (DoS)
    SNYK-JAVA-COMFASTERXMLJACKSONCORE-2421244 | com.github.scribejava:scribejava-apis:
    8.3.1 -> 8.3.2
    | No | No Known Exploit medium severity | 688/1000
    Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 5.9 | Denial of Service (DoS)
    SNYK-JAVA-COMFASTERXMLJACKSONCORE-3038424 | com.github.scribejava:scribejava-apis:
    8.3.1 -> 8.3.2
    | No | Proof of Concept

    (*) Note that the real score may have changed since the PR was raised.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Denial of Service (DoS) 🦉 Denial of Service (DoS) 🦉 Denial of Service (DoS)

    needs-triage 
    opened by snyk-bot 1
  • [Snyk] Security upgrade io.undertow:undertow-core from 2.2.8.Final to 2.2.19.Final

    [Snyk] Security upgrade io.undertow:undertow-core from 2.2.8.Final to 2.2.19.Final

    This PR was automatically created by Snyk using the credentials of a real user.


    Snyk has created this PR to fix one or more vulnerable packages in the `maven` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • pom.xml

    Vulnerabilities that will be fixed

    With an upgrade:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- medium severity | 479/1000
    Why? Has a fix available, CVSS 5.3 | Denial of Service (DoS)
    SNYK-JAVA-IOUNDERTOW-2871356 | io.undertow:undertow-core:
    2.2.8.Final -> 2.2.19.Final
    | No | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

    needs-triage 
    opened by strieflin 1
  • [Snyk] Security upgrade io.undertow:undertow-core from 2.2.8.Final to 2.2.18.Final

    [Snyk] Security upgrade io.undertow:undertow-core from 2.2.8.Final to 2.2.18.Final

    This PR was automatically created by Snyk using the credentials of a real user.


    Snyk has created this PR to fix one or more vulnerable packages in the `maven` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • pom.xml

    Vulnerabilities that will be fixed

    With an upgrade:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- medium severity | 611/1000
    Why? Recently disclosed, Has a fix available, CVSS 6.5 | Denial of Service (DoS)
    SNYK-JAVA-IOUNDERTOW-3012383 | io.undertow:undertow-core:
    2.2.8.Final -> 2.2.18.Final
    | No | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.

    Check the changes in this PR to ensure they won't cause issues with your project.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

    needs-triage 
    opened by strieflin 1
Releases(0.2-SNAPSHOT-3541930996-15-6428a11)
Owner
Carbyne Stack
Cloud Native Secure Multiparty Computation
Carbyne Stack
esProc SPL is a scripting language for data processing, with well-designed rich library functions and powerful syntax, which can be executed in a Java program through JDBC interface and computing independently.

esProc esProc is the unique name for esProc SPL package. esProc SPL is an open-source programming language for data processing, which can perform comp

null 990 Dec 27, 2022
Carbyne Stack MP-SPDZ Integration Utilities

Carbyne Stack MP-SPDZ Integration Utilities This project provides utilities for using MP-SPDZ in the Carbyne Stack microservices. License Carbyne Stac

Carbyne Stack 5 Oct 15, 2022
Base classes and utilities for Java Carbyne Stack service clients

Carbyne Stack Java HTTP Client This project provides common functionality for the Java-based HTTP clients for the Carbyne Stack microservices. License

Carbyne Stack 5 Oct 15, 2022
Carbyne Stack tuple store for secure multiparty computation

Carbyne Stack Castor Tuple Store Castor is an open source storage service for cryptographic material used in Secure Multiparty Computation, so called

Carbyne Stack 5 Oct 15, 2022
Carbyne Stack secret sharing distributed object store

Carbyne Stack Amphora Secret Share Store Amphora is an open source object store for secret shared data and part of Carbyne Stack. DISCLAIMER: Carbyne

Carbyne Stack 6 Dec 1, 2022
TransitScheduler - a command line tool that can read .json data formulated for tracking transit patterns to a multithreaded concurrent simulation of passengers boarding and unboarding trains that constantly move to the next station on the line. The trick here, is that two trains cannot occupy the same station at any time.

TransitScheduler - a command line tool that can read .json data formulated for tracking transit patterns to a multithreaded concurrent simulation of passengers boarding and unboarding trains that constantly move to the next station on the line. The trick here, is that two trains cannot occupy the same station at any time.

Emmet Hayes 1 Dec 2, 2022
The SDKMAN! Command Line Interface

SDKMAN! CLI The Software Development Kit Manager Command Line Interface SDKMAN is a tool for managing parallel Versions of multiple Software Developme

SDKMAN! 5k Jan 4, 2023
A Java Virtual Machine - running on a Java Virtual Machine - running on a (jk).

Javaception A Java Virtual Machine - running on a Java Virtual Machine - running on a (jk). Goals JVMS compliant Java Virtual Machine Somewhat fast Re

null 33 Oct 10, 2022
BlackBox is a virtual engine, it can clone and run virtual application on Android

BlackBox is a virtual engine, it can clone and run virtual application on Android, users don't have to install APK file to run the application on devices. BlackBox control all virtual applications, so you can do anything you want by using BlackBox.

null 1.6k Jan 3, 2023
This mod makes the clouds look much better.

Fabulous Clouds is a 1.17 Fabric mod that makes minecraft's clouds look much better. It isn't going to be ported to Forge or be backported. Fabulous C

Nuclear Chaos 17 Oct 28, 2022
Cubic Skies reworks clouds and weather to make them 3D and localized, respectively. EXTREMELY WIP

Cubic Skies Cubic Skies is my second mod, and the first one to change vanilla gameplay instead of just the visuals. The mod's clouds and weather is ba

Nuclear Chaos 3 Sep 7, 2021
Java annotation-based framework for parsing Git like command line structures

Airline Airline is a Java annotation-based framework for parsing Git like command line structures. Latest release is 0.8, available from Maven Central

null 847 Nov 26, 2022
A command line parser generator

jbock is a command line parser that works similar to airline and picocli. While most of these other tools scan for annotations at runtime, jbock is an

H90 73 Dec 13, 2022
Command line parsing framework for Java

JCommander This is an annotation based parameter parsing framework for Java 8. Here is a quick example: public class JCommanderTest { @Parameter

Cedric Beust 1.8k Dec 29, 2022
Java monitoring for the command-line, profiler included

jvmtop is a lightweight console application to monitor all accessible, running jvms on a machine. In a top-like manner, it displays JVM internal metri

null 1.2k Jan 6, 2023
Command-line API for Atlassian JIRA using the Tomitribe CREST library

Atlassian JIRA Command-Line (CLI) Jamira is a command-line API for Atlassian JIRA using the Tomitribe CREST library. Installation Jamira can be downlo

Tomitribe 12 Sep 10, 2022
A command line client for Kafka Connect

kcctl -- A CLI for Apache Kafka Connect This project is a command-line client for Kafka Connect. Relying on the idioms and semantics of kubectl, it al

Gunnar Morling 274 Dec 19, 2022