linode-cosi-driver

module
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 12, 2024 License: Apache-2.0

README

Linode COSI Driver

GitHub Go Report Card Static Badge

The Linode COSI Driver is an implementation of the Kubernetes Container Object Storage Interface (COSI) standard. COSI provides a consistent and unified way to expose object storage to containerized workloads running in Kubernetes. This driver specifically enables integration with Linode Object Storage service, making it easier for Kubernetes applications to interact with Linode's scalable and reliable object storage infrastructure.

Getting Started

Follow these steps to get started with Linode COSI Driver:

  1. Prerequisites:

    1. Install COSI Custom Resource Definitions.
    kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-api
    
    1. Install COSI Controller.
    kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-controller
    
  2. Installation:

    1. Create new API token in Akamai Cloud Manager. The token must be configured with the following permissions:

      • Object Storage - Read/Write
    2. Install Linode COSI Driver using Helm.

    helm install linode-cosi-driver \
        ./helm/linode-cosi-driver/ \
        --set=apiToken=<YOUR_LINODE_API_TOKEN> \
        --namespace=linode-cosi-driver \
        --create-namespace
    
  3. Usage:

    1. Create Bucket Class (see the example.BucketClass.yaml).
    kubectl create -f ./examples/example.BucketClass.yaml
    
    1. Create Bucket Access Class (see the example.BucketAccessClass.yaml).
    kubectl create -f ./examples/example.BucketAccessClass.yaml
    
    1. Create Bucket Claim (see the example.BucketClaim.yaml).
    kubectl create -f ./examples/example.BucketClaim.yaml
    
    1. Create Bucket Access Class (see the example.BucketAccess.yaml).
    kubectl create -f ./examples/example.BucketAccess.yaml
    
    1. Use the example-secret secret in your workload, e.g. in deployment:
    spec:
      template:
        spec:
          containers:
            - volumeMounts:
                - mountPath: /conf
                  name: example-secret-vol
          volumes:
            - name: example-secret-vol
              secret:
                secretName: example-secret
                items:
                  - key: BucketInfo
                    path: BucketInfo.json
    

License

Linode COSI Driver is licensed under the Apache 2.0 terms. Please review it before using or contributing to the project.

Support

For any issues, questions, or support, please create an issue.

Contributing

We welcome contributions! If you have ideas, bug reports, or want to contribute code, please check out our Contribution Guidelines.

Directories

Path Synopsis
cmd
pkg
grpc
Package handlers includes common HandlerFuncs that can be used around the gRPC environment.
Package handlers includes common HandlerFuncs that can be used around the gRPC environment.
linodeclient/stubclient
Package stubclient provides a stub implementation of the linodeclient.LinodeClient interface.
Package stubclient provides a stub implementation of the linodeclient.LinodeClient interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL