GithubHelp home page GithubHelp logo

s3gw-tech / s3gw-cosi-driver Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ceph/ceph-cosi

6.0 1.0 6.0 146 KB

COSI driver for s3gw

License: Apache License 2.0

Go 93.01% Makefile 2.64% Dockerfile 4.34%

s3gw-cosi-driver's Introduction

s3gw-cosi-driver

COSI driver implementation for s3gw.

Note that the COSI driver alone is not sufficient to get COSI working on a Kubernetes cluster.

You can deploy a full COSI installation for s3gw following the instructions for the s3gw's Helm charts.

Building

the driver code can be compiled using:

make build

Now build the docker image and provide a tag as quay.io/s3gw/s3gw-cosi-driver:latest

make container

You can tag and push the docker image to a registry with:

make push REGISTRY_NAME=quay.io/s3gw

Examples

Create BucketClaim, BucketAccess and consuming the claim in a pod

kubectl apply -f examples/bucketclass.yaml
kubectl apply -f examples/bucketclaim.yaml
kubectl apply -f examples/bucketaccessclass.yaml
kubectl apply -f examples/bucketaccess.yaml

In a pod definition, the bucket claim can be consumed as volume mount:

spec:
  containers:
      volumeMounts:
        - name: cosi-secrets
          mountPath: /data/cosi
  volumes:
    - name: cosi-secrets
      secret:
        secretName: ba-secret

In the container, at the path: /data/cosi, you will find a file named: BucketInfo containing a json:

{
  "metadata": {
    "name": "bc-ceb3a749-b578-4da7-8ea3-607c40093060",
    "creationTimestamp": null
  },
  "spec": {
    "bucketName": "sample-bccf98111be-2edb-402e-a95e-628e178f2818",
    "authenticationType": "KEY",
    "secretS3": {
      "endpoint": "http://s3gw.s3gw.svc.cluster.local",
      "region": "US",
      "accessKeyID": "N7DFI9CCZWZ6QJXI5V1O",
      "accessSecretKey": "2RjtQa3JqPQKVQPf2ux4v8xtdszL8bNtsfna8vV0"
    },
    "secretAzure": null,
    "protocols": [
      "s3"
    ]
  }
}

s3gw-cosi-driver's People

Contributors

thotz avatar shanduur avatar jonyhy96 avatar leseb avatar m-ildefons avatar jecluis avatar

Stargazers

Ning Xie avatar  avatar Eugene Klimov avatar  avatar Jack Henschel avatar Giuseppe Baccini avatar

Watchers

 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.