All Projects β†’ appscode β†’ Osm

appscode / Osm

Licence: apache-2.0
🚚 ☁️ Object Store Manipulator - curl for cloud storage

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Osm

Cloudexplorer
Cloud Explorer
Stars: ✭ 170 (+18.06%)
Mutual labels:  cloud-storage, cli
Vcd Cli
Command Line Interface for VMware vCloud Director
Stars: ✭ 143 (-0.69%)
Mutual labels:  cli
Spring Cloud Cli
Spring Cloud CLI features
Stars: ✭ 139 (-3.47%)
Mutual labels:  cli
Swiftplate
Easily generate cross platform Swift framework projects from the command line
Stars: ✭ 1,746 (+1112.5%)
Mutual labels:  cli
Alienfx
AlienFX is a CLI and GUI utility to control the lighting effects of your Alienware computer.
Stars: ✭ 140 (-2.78%)
Mutual labels:  cli
Swift For Scripting
πŸ“‹A hand-curated collection of useful and informative Swift Scripting materials.
Stars: ✭ 142 (-1.39%)
Mutual labels:  cli
Wireless Tools
Wireless tools for Node.js
Stars: ✭ 139 (-3.47%)
Mutual labels:  cli
Gotime
CUI project/task/time tracker written in golang
Stars: ✭ 144 (+0%)
Mutual labels:  cli
Python Cfonts
Sexy fonts for the console
Stars: ✭ 143 (-0.69%)
Mutual labels:  cli
Wikit
Wikipedia summaries from the command line
Stars: ✭ 141 (-2.08%)
Mutual labels:  cli
My Token
πŸ“ˆTrack token prices of your favorite exchanges in terminal!
Stars: ✭ 141 (-2.08%)
Mutual labels:  cli
Node Promptly
Simple command line prompting utility for nodejs
Stars: ✭ 140 (-2.78%)
Mutual labels:  cli
Cli Menu
πŸ–₯ Build beautiful PHP CLI menus. Simple yet Powerful. Expressive DSL.
Stars: ✭ 1,776 (+1133.33%)
Mutual labels:  cli
Cli
Manage and configure Akamai from the Command Line.
Stars: ✭ 140 (-2.78%)
Mutual labels:  cli
Javali
πŸ— Create a modern JavaScript library that uses ES6 + Jest
Stars: ✭ 144 (+0%)
Mutual labels:  cli
Fugu
Swiss Army knife for Docker
Stars: ✭ 139 (-3.47%)
Mutual labels:  cli
Qov
The terminal presentation tool.
Stars: ✭ 141 (-2.08%)
Mutual labels:  cli
Formd
A Markdown formatting tool
Stars: ✭ 141 (-2.08%)
Mutual labels:  cli
Micro Starter
[Deprecated] πŸ”· Basic (opinionated) starter kit for a micro app with webpack build
Stars: ✭ 144 (+0%)
Mutual labels:  cli
Aptos
β˜€οΈ A tool for validating data using JSON Schema and converting JSON Schema documents into different data-interchange formats
Stars: ✭ 144 (+0%)
Mutual labels:  cli

Go Report Card Build Status codecov Docker Pulls Slack Twitter

osm

Object Store Manipulator (osm: pronounced like awesome) - curl for cloud storage services. πŸ™Œ osm can create & delete buckets and upload, download & delete files from buckets for AWS S3, AWS S3 compatible other storage services(i.e. Minio), DigitalOcean Spaces, Google Cloud Storage, Microsoft Azure storage and OpenStack Swift. Its single binary can be easily packaged instead of official python based clis inside Docker images.

Install OSM

You can download and install a pre-built binary:

# Linux amd 64-bit:
wget -O osm https://cdn.appscode.com/binaries/osm/0.9.1/osm-linux-amd64 \
  && chmod +x osm \
  && sudo mv osm /usr/local/bin/

# Linux 386 32-bit:
wget -O osm https://cdn.appscode.com/binaries/osm/0.9.1/osm-linux-386 \
  && chmod +x osm \
  && sudo mv osm /usr/local/bin/

# Mac 64-bit
wget -O osm https://cdn.appscode.com/binaries/osm/0.9.1/osm-darwin-amd64 \
  && chmod +x osm \
  && sudo mv osm /usr/local/bin/

# Mac 32-bit
wget -O osm https://cdn.appscode.com/binaries/osm/0.9.1/osm-darwin-386 \
  && chmod +x osm \
  && sudo mv osm /usr/local/bin/

To build from source, run: go get -u github.com/appscode/osm

Usage

osm [command] [flags]
osm [command]

Available Commands:
  config      OSM configuration
  help        Help about any command
  lc          List containers
  ls          List items in a container
  mc          Make container
  pull        Pull item from container
  push        Push item to container
  rc          Remove container
  rm          Remove item from container
  stat        Stat item from container
  version     Prints binary version number.

Flags:
      --alsologtostderr                  log to standard error as well as files
      --enable-analytics                 Send usage events to Google Analytics (default true)
  -h, --help                             help for osm
      --log_backtrace_at traceLocation   when logging hits line file:N, emit a stack trace (default :0)
      --log_dir string                   If non-empty, write log files in this directory
      --logtostderr                      log to standard error instead of files
      --osmconfig string                 Path to osm config (default "$HOME/.osm/config")
      --stderrthreshold severity         logs at or above this threshold go to stderr (default 2)
  -v, --v Level                          log level for V logs
      --vmodule moduleSpec               comma-separated list of pattern=N settings for file-filtered logging

Use "osm [command] --help" for more information about a command.

OSM Configuration

osm stores credentials necessary to connect to a cloud storage provider in YAML format in $HOME/.osm/config file. This allows providing commands one time for multiple subsequent operations with a cloud provider.

# AWS S3:
osm config set-context osm-s3 --provider=s3 --s3.access_key_id=<key_id> --s3.secret_key=<secret_key> --s3.region=us-east-1

# TLS secure Minio server
osm config set-context osm-minio --provider=s3 --s3.access_key_id=<minio_access_key> --s3.secret_key=<minio_secret_key> --s3.endpoint=<minio_server_address> --s3.cacert_file=<root_ca_file_path>

# DigitalOcean Spaces:
osm config set-context osm-do --provider=s3 --s3.access_key_id=<key_id> --s3.secret_key=<secret_key> --s3.endpoint=nyc3.digitaloceanspaces.com

# Google Cloud Storage:
osm config set-context osm-gs --provider=google --google.json_key_path=<path_sa_file> --google.project_id=<my_project>

# Microsoft Azure ARM Storage:
osm config set-context osm-az --provider=azure --azure.account=<storage_ac> --azure.key=<key>

# Local Filesystem
osm config set-context osm-local --provider=local --local.path=/tmp/stow

Bucket Operations

# create bucket
osm mc mybucket

# upload file to bucket
osm push -c mybucket ~/Downloads/appscode.pdf a/b/c.pdf

# print uploaded file attributes
osm stat -c mybucket a/b/c.pdf

# download file from bucket
osm pull -c mybucket a/b/c.pdf /tmp/d.pdf

# list bucket
osm ls mybucket

# remove file from bucket
osm rm -c mybucket a/b/c.pdf

# remove bucket (use -f to delete any files inside)
osm rc -f mybucket

Contribution guidelines

Want to help improve OSM? Please start here.

Support

If you have any questions, file an issue or talk to us on our community Slack channel.


The osm binary collects anonymous usage statistics to help us learn how the software is being used and how we can improve it. To disable stats collection, run the operator with the flag --enable-analytics=false.


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].