Skip to content

ocdb-cli and ocdb registry #13

@omenking

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>"
  ]
}

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