Coder Social home page Coder Social logo

ionburstcloud / ionfs Goto Github PK

View Code? Open in Web Editor NEW
3.0 0.0 0.0 215 KB

🔧 IonFS CLI provides a selection of useful client-side features for Ionburst Cloud data and secrets.

Home Page: https://docs.ionburst.cloud/ionfs/

License: Apache License 2.0

C# 99.84% HCL 0.16%
ionburst-cloud ionfs aws-s3 ionfs-cli mongodb dotnet encryption chunking metadata-management

ionfs's Introduction

Gitlab pipeline status slack

Ionburst Cloud IonFS

IonFS CLI has been developed to illustrate how a client application typically integrates with Ionburst Cloud.

IonFS provides a set of tools to manage data and secrets stored by Ionburst Cloud as if it were a remote filesystem. While IonFS stores primary data items within Ionburst Cloud, the metadata is stored in an S3 bucket, MongoDB database or local filesystem.

Anyone that has been granted access to this repository, and the appropriate Ionburst Cloud credentials, can interact with the stored data. A getting started tutorial for IonFS is available on the Ionburst Cloud website here.

Overview

# ionfs --help 

IonFS: 
  Securing your data on Ionburst Cloud. 

Usage: 
  ionfs [options] [command] 

Options: 
  -v, --version 
  -?, -h, --help    Show help and usage information 

Commands: 
  list <folder>               show the contents of a remote path, prefix remote paths with ion:// 
  get <from>                  download a file, prefix remote paths with ion:// 
  put <localfile> <folder>    upload a file, prefix remote paths with ion:// 
  del <path>                  delete an object, prefix remote paths with ion:// 
  move <from> <to>            move a file to/from a remote file system, prefix remote paths with ion:// 
  copy <from> <to>            copy a file to/from a remote file system, prefix remote paths with ion:// 
  mkdir <folder>              create a folder, prefix remote paths with ion:// 
  rmdir <folder>              remove a folder, prefix remote paths with ion:// 
  policy                      list the current Ionburst Cloud Classification Policies 
  repos                       list the currently registered Repositories 
  secrets                     manage secrets
  

Configuration

The primary configuration for IonFS is managed within the appsettings.json file, located in the .ionfs folder in your home directory.

The IonFS section contains the main configuration items:

{   
  "Logging": { 
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }   
  },
  "IonFS": {
    "MaxSize": "50000000",
    "Verbose": "false",
    "DefaultClassification": "Restricted",
    "Repositories": [ 
      { 
        "Name": "first-S3", 
        "Usage": "Data",
        "Class": "Ionburst.Apps.IonFS.Repo.S3.MetadataS3",
        "Assembly": "Ionburst.Apps.IonFS.Repo.S3",
        "DataStore": "ionfs-metadata-first" 
      }, 
      { 
        "Name": "second-S3", 
        "Usage": "Secrets",
        "Class": "Ionburst.Apps.IonFS.Repo.S3.MetadataS3",
        "Assembly": "Ionburst.Apps.IonFS.Repo.S3",
        "DataStore": "ionfs-metadata-second" 
      },
    ],
    "DefaultRepository": "first-S3", 
  },
  "Ionburst": { 
    "Profile": "example_profile", 
    "IonburstUri": "https://api.example.ionburst.cloud/", 
    "TraceCredentialsFile": "OFF" 
  },
  "AWS": { 
    "Profile": "example", 
    "Region": "eu-west-1" 
  }
}
  • MaxSize controls the chunking of data items being uploaded
  • Verbose can be set to true to log extra details - Note, some commands allow this to be overridden on the command line using -v or --version
  • DefaultClassification is the default Ionburst Cloud policy applied to data being uploaded, this can be explicitly set on the put command
  • The Repositories section allows multiple metadata repositories to be accessed.
  • If a repository is not explicitly included in the remote path, the DefaultRepository will be used.
  • The Ionburst section is required to configure the Ionburst SDK.
  • The AWS section is required to access the AWS SDK.

Getting Help

Please use the following community resources to get help. We use GitLab issues to track bugs and feature requests.

  • Join the Ionburst Cloud community on Slack
  • Get in touch with Ionburst Support
  • If it turns out that you may have found a bug, please open an issue

Opening Issues

If you find a bug, or have an issue with IonFS, we would like to hear about it. Check the existing issues and try to make sure your problem doesn’t already exist before opening a new issue. It’s helpful if you include the version of IonFS and the OS you’re using. Please include a stack trace and steps to reproduce the issue.

The GitLab issues are intended for bug reports and feature requests. For help and questions on IonFS, please make use of the resources listed in the Getting Help section. There are limited resources available for handling issues and by keeping the list of open issues clean we can respond in a timely manner.

SDK Changelog

The changelog for IonFS can be found in the CHANGELOG file.

Versioning

IonFS uses Semantic Versioning, e.g. MAJOR.MINOR.PATCH.

ionfs's People

Contributors

jamie-jshunter avatar jishf avatar

Stargazers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.