cosi

module
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: May 14, 2024 License: Apache-2.0

README

COSI Driver

Repository for COSI Driver for Dell Container Storage Modules

Description

COSI Driver is part of the CSM (Container Storage Modules) open-source suite of Kubernetes storage enablers for Dell products. COSI Driver is a Container Object Storage Interface (COSI) driver that provides support for provisioning persistent storage using Dell storage array.

This project may be compiled as a stand-alone binary using Golang that, when run, provides a valid COSI endpoint. It also can be used as a precompiled container image.

Table of Contents

Support

For any COSI driver issues, questions or feedback, please follow our support process

Building

This project is a Go module (see golang.org Module information for explanation). The dependencies for this project are in the go.mod file.

To build the source, execute make clean build.

To build an image, execute make docker.

Default parameters for building an image are defined in overrides.mk. Run make -f overrides.mk overrides-help to display current values.

Runtime Dependencies

Driver Installation

Please consult the Installation Guide

Using Driver

Please refer to the section Testing Drivers in the Documentation for more info.

Documentation

For more detailed information on the driver, please refer to Container Storage Modules documentation.

NOTICE: the COSI driver code is linted with the phenomenal golangci-lint. For a detailed list of the linters used and their configuration, please refer to the .golangci.yml in the root of the project.

Directories

Path Synopsis
pkg
config
Package config creates configuration structures based on provided json or yaml file.
Package config creates configuration structures based on provided json or yaml file.
driver
Package driver implements gRPC server for handling requests to the COSI driver as specified by COSI specification.
Package driver implements gRPC server for handling requests to the COSI driver as specified by COSI specification.
identity
Package identity implements server for handling identity requests to a driver instance.
Package identity implements server for handling identity requests to a driver instance.
internal/iamapi
Package iamapi contains interface that is used to generate mock for AWS IAMAPI.
Package iamapi contains interface that is used to generate mock for AWS IAMAPI.
internal/testcontext
Package testcontext creates context used in tests for other packages.
Package testcontext creates context used in tests for other packages.
internal/transport
Package transport implements transport for HTTP client which is used further in custom client from goobjectscale.
Package transport implements transport for HTTP client which is used further in custom client from goobjectscale.
logger
Package logger contains interface for logger which allows easy switching between logger implementations.
Package logger contains interface for logger which allows easy switching between logger implementations.
provisioner
Package provisioner implements main COSI driver functionality namely creating/deleting buckets and granting/revoking access to them.
Package provisioner implements main COSI driver functionality namely creating/deleting buckets and granting/revoking access to them.
provisioner/objectscale
Package objectscale implements custom server handlers for communication with Dell ObjectScale platform.
Package objectscale implements custom server handlers for communication with Dell ObjectScale platform.
provisioner/policy
Package policy exists for handling operations on AWS Policies, defines structures and functions for processing and comparing policies.
Package policy exists for handling operations on AWS Policies, defines structures and functions for processing and comparing policies.
provisioner/virtualdriver
Package virtualdriver implements extension of provisioner server allowing for usage with multiple platforms.
Package virtualdriver implements extension of provisioner server allowing for usage with multiple platforms.
provisioner/virtualdriver/fake
Package fake implements mock virtual driver for testing purposes.
Package fake implements mock virtual driver for testing purposes.
tests

Jump to

Keyboard shortcuts

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