Skip to content

ocdb-cli and ocdb registry #13

Description

@omenking

Tell me how dumb this and out-of-scope but is an idea I'd like to share:

Components

  • Feature - a git repo containing how to configure and install an individual component configuration
  • Package - a json/yaml file that says what features are included

Open Cloud Dev Box (OCDB) CLI

Examples of the CLI:

ocdb-cli --target="gitpod" --features=["omenking/aws-cli","openupthecloud/gcpcloud","<git url>"]
ocdb-cli --target="gitpod" --package-file-json=file://gitpod-aws-begginer.json
ocdb-cli --target="gitpod" --package-file-yaml=file://gitpod-aws-begginer.yaml
ocdb-cli --target="gitpod-dockerfile" --package-file-yaml=file://gitpod-aws-cloudbootcamp.yaml
ocdb-cli --target="gitpod-dockerfile" --package-file-yaml=<any url that points to a json yaml file>

OCDB Feature Registry

The OCDB registry is an approved list of repos.
This can be represented as simply a json file hosted at this current repo that is used by the CLI eg:

{
  "omenking/aws-cli" : "<git url>", "author": "Andrew Brown",
}

So when specific a feature/module you can then just use the short form eg. omenking/aws-cli instead of the whole url.

Feature Repo Structure

Repos should follow a convention and require they repo name be prefiex with ocdb- eg. https://github.com/omenking/ocdb-aws-cli

Package File

{
  "features": [
    "omenking/aws-cli",
    "aws/aws-copilot",
    "aws/dynamodb-local",
    "<git url>"
  ]
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions