Simple online syncing tool for Oracle Object Store

TrollBox

... use your storage with Oracle Object Store

Quick Start

Make sure you have the Object Storage, bucket and you know the compartment id where the storage is configured and also have access there.

Create your OCI configuration, for more details refer to:

https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm

mkdir -p "$HOME/.oci"
cat <<EOF > "$HOME/.oci/config"
[DEFAULT]
user=ocid1.user.oc1..XXXX<Your USER ID>XXXXXX
fingerprint=YY:OO:UU:RR: :FF:II:NN:GG:EE:RR:PP:RR:II:NN:TT
tenancy=ocid1.tenancy.oc1..XXXXX<USER TENANCY>XXXXX
region=<REGION> # Example: us-phoenix-1
key_file=~/.oci/oci_api_key.pem
EOF

Copy your KEY into $HOME/.oci/oci_api_key.pem.

Export variables:

export COMPARTMENT_ID="ocid1.compartment.oc1..<your bucket comparmtment ocid>" 
export BUCKET_NAME="<bucket name>" # example: images
export LOCAL_FS="<localfs storage>" # example /home/bob/ObjectStore
export TROLL_ID="<id>", #example marynek, needed, but comes useful when multiple trolls ran on the same machine

Execute TrollBox for your architecure:

./trollbox-linux-amd64

Windows Instructions

  1. Make the variables above as user environment variables: Settings > System > Advanced > Envinroment, Add user variable
  2. Use full paths inc config, e.g. replace ~/.oci/config with C:\Users\micha\.oci\config
  3. Make shortcut from the trollbox-windows-amd64.exe, Winkey+R, enter shell:startup and copy the shortcut into the window

Binaries

Under build directory you can find the latest binaries.

Issues

  • for sync only size is compared, the file is synced when the size differs
  • diffs from last and current snapshots might not work properly in case they are deleted
  • when context timeout deadline is exceeded the file is not upload/downloaded to/from storage
Similar Resources

GoScanPlayers - Hypixel online player tracker. Runs as an executable and can notify a Discord Webhook

GoScanPlayers - Hypixel online player tracker. Runs as an executable and can notify a Discord Webhook

GoScanPlayers Hypixel online player tracker. Runs as an executable and can notif

Oct 16, 2022

A high performance online bookstore system.

HPOB 高性能网上书店 A high performance online bookstore system. Introduction 介绍 一个基于Gin、gorm、viper、zap等库的web服务器,实现了网上书店相关接口。 Summary 概要 使用go语言编写的,基于gin、gorm、

Apr 27, 2022

Terraform provider for the etcd store

About This is a terraform provider for etcd. Its scope is currently limited to the following resources: roles users keys We'll add further functionali

Nov 19, 2022

Test-csi-driver - Amazon Elastic Block Store (EBS) CSI driver

Amazon Elastic Block Store (EBS) CSI driver Overview The Amazon Elastic Block St

Feb 1, 2022

Beatstore-backend-go - Backend implementation for a social media app / e-commerce store for instrumental music,built with Golang

BeatStore-Backend-Go Backend implementation for a social media app / e-commerce

Oct 7, 2022

Nycmesh-tool - nycmesh-tool CLI

nycmesh-tool nycmesh-tool CLI Features At the moment, the tool is pretty sparse. It provides the top level nycmesh-tool command, with subcommands for:

Jun 17, 2022

Terraform-equinix-migration-tool - Tool to migrate code from Equinix Metal terraform provider to Equinix terraform provider

Equinix Terraform Provider Migration Tool This tool targets a terraform working

Feb 15, 2022

Blast is a simple tool for API load testing and batch jobs

Blast Blast makes API requests at a fixed rate. The number of concurrent workers is configurable. The rate may be changed interactively during executi

Nov 10, 2022

Super simple deployment tool

Dropship Dropship is a simple tool for installing and updating artifacts from a CDN. Features Automatically performs md5sum checks of artifact that is

Oct 4, 2022
Injective-price-oracle-ext - Injective's Oracle with dynamic price feeds (for External Integrations)

injective-price-oracle Injective's Oracle with dynamic price feeds. Allows anyon

Aug 29, 2022
A simple tool who pulls data from Online.net API and parse them to a Prometheus format

Dedibox backup monitoring A simple tool who reads API from Online.net and parse them into a Prometheus-compatible format. Conceived to be lightweight,

Aug 16, 2022
A seed repository that contains a Go project that accepts input via a REST API and saves data to an Oracle database.

rest-oracle-go-seed A seed repository that contains a Go project that accepts input via a REST API and saves data to an Oracle database. Why Oracle? T

Apr 18, 2022
Injective's Oracle with dynamic price feeds (for External Integrations)

Injective's Oracle with dynamic price feeds. Allows anyone to start their own pre-approved price submission process to the oracle module on the Injective Chain.

Aug 29, 2022
An Oracle Cloud (OCI) Pulumi resource package, providing multi-language access to OCI

Oracle Cloud Infrastructure Resource Provider The Oracle Cloud Infrastructure (OCI) Resource Provider lets you manage OCI resources. Installing This p

Dec 2, 2022
Sample Driver that provides reference implementation for Container Object Storage Interface (COSI) API

cosi-driver-minio Sample Driver that provides reference implementation for Container Object Storage Interface (COSI) API Community, discussion, contri

Oct 10, 2022
Converts your k8s YAML to a cdk8s Api Object.

kube2cdk8s Converts your k8s YAML to a cdk8s Api Object. Uses Pulumi's kube2pulumi as a base. Dependencies 1. pulumi cli 2. pulumi kubernetes provider

Oct 18, 2022
S3pd - CLI utility that downloads multiple s3 objects at a time, with multiple range-requests issued per object

S3 Parallel Downloader CLI utility that downloads multiple s3 objects at a time,

May 13, 2022
Andrews-monitor - A Go program to monitor when times were available to order for Brown's Andrews dining hall. Used during the portion of the pandemic when the dining hall was only available for online order.

Andrews Dining Hall Monitor A Go program to monitor when times were available to order for Brown's Andrews dining hall. Used during the portion of the

Jan 1, 2022