Skip to content

Commit

Permalink
needs review but docs done
Browse files Browse the repository at this point in the history
  • Loading branch information
anurag4DSB committed Jan 15, 2025
1 parent 84a68d3 commit 76c7b86
Show file tree
Hide file tree
Showing 4 changed files with 382 additions and 82 deletions.
116 changes: 57 additions & 59 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,90 +1,88 @@
# Scality COSI driver
# Scality COSI Driver

The Scality COSI Driver integrates Scality RING Object Storage (and AWS S3-and-IAM compatible storage solutions) with Kubernetes, leveraging the Kubernetes Container Object Storage Interface (COSI) to enable seamless object storage provisioning and management. This repository provides all necessary resources to deploy, use, and contribute to the Scality COSI Driver.
The **Scality COSI Driver** integrates Scality RING Object Storage with Kubernetes, leveraging the Kubernetes Container Object Storage Interface (COSI) to enable seamless object storage provisioning and management. This repository provides all necessary resources to deploy, use, and contribute to the Scality COSI Driver.

## Overview
---

The Scality COSI Driver allows Kubernetes users to:
## Table of Contents

- **Dynamically Provision Buckets**: Create and delete object storage buckets on-demand.
- **Manage Access Policies**: Control bucket access through Kubernetes CRDs.
- **Integrate with S3 and IAM compatible Object Storage**: Leverage Scality's robust and scalable storage backends.
- **Utilize Standard Kubernetes Tools**: Manage object storage using familiar Kubernetes APIs and tooling.
- [Scality COSI Driver](#scality-cosi-driver)
- [Table of Contents](#table-of-contents)
- [Features](#features)
- [Getting Started](#getting-started)
- [Installation](#installation)
- [Quickstart Guide](#quickstart-guide)
- [Documentation](#documentation)
- [Support](#support)
- [License](#license)

---

## Features

| Category | Feature | Notes |
|---------------------------|----------------------------------|------------------------------------------------------------------------------------------------------------------|
| **Bucket Provisioning** | Greenfield bucket provisioning | Creates a new S3 Bucket with default settings. |
| | Brownfield bucket provisioning | Leverages an existing bucket in S3 storage within Kubernetes workflows. |
| | Delete Bucket | Deletes an S3 Bucket, but only if it is empty. |
| **Access Management** | Grant Bucket Access | Provides full access to a bucket by creating new IAM credentials with access and secret keys. |
| | Revoke Bucket Access | Removes access by deleting IAM credentials associated with the bucket. |

---

## Getting Started

## Documentation

Comprehensive documentation is available in the [`docs/`](docs/README.md) directory. It includes detailed guides and references.


### Installation Guides

- [Install with Helm from OCI](docs/installation/install-helm-oci.md)
- [Install with Helm Locally](docs/installation/install-helm-local.md)
- [Install with Kustomize on Minikube](docs/installation/install-kustomize.md)
- [Setup with Development Containers](docs/installation/install-dev-containers.md)

### Testing Procedures
### Installation

- [Run End-to-End Tests Locally](docs/testing/test-e2e-local.md)
- [Testing on Minikube with Helm](docs/testing/test-minikube-helm.md)
- [Testing on Minikube with Kustomize](docs/testing/test-minikube-kustomize.md)
Follow the [installation guide](docs/installation/install-helm.md) to deploy the Scality COSI Driver using Helm.

### Configuration Guides
### Quickstart Guide

- [Customization Guide](docs/configuration/config-customization.md)
- [Values.yaml Reference](docs/configuration/config-values-reference.md)
To quickly deploy and test the Scality COSI Driver:

### Development Resources
1. Ensure your Kubernetes cluster is set up and Helm is installed.
2. Install the COSI CRDs:

- [Development Container Setup](docs/development/dev-container-setup.md)
- [Developer Guide](docs/development/dev-guide.md)

## Quick Start

To quickly install the Scality COSI Driver using Helm from an OCI registry, follow these steps:

### Prerequisites

- **Kubernetes Cluster**: Running version 1.23 or later.
- **Helm**: Version 3.8.0 or later.
```bash
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface
```

### Installation Steps
3. Deploy the driver:

1. **Ensure Helm is Installed**
```bash
helm install scality-cosi-driver oci://ghcr.io/scality/cosi-driver/helm-charts/scality-cosi-driver \
--namespace container-object-storage-system
```

Verify your Helm installation:
4. Verify the deployment:

```bash
helm version --short
# Expected output: v3.8.0+ or later
kubectl get pods -n container-object-storage-system
```

2. **Install the COSI Driver**
---

Install the driver using the OCI registry:
## Documentation

```bash
helm install scality-cosi-driver oci://registry.scality.com/charts/cosi-driver
```
The following sections provide detailed documentation for deploying, configuring, and developing with the Scality COSI Driver:

3. **Verify the Installation**
- **[Installation Guide](docs/installation/install-helm.md):** Step-by-step instructions for deploying the driver.
- **[Driver Parameters](docs/driver-params.md):** Configuration options for bucket classes and access credentials.
- **[Metrics Overview](docs/metrics-overview.md):** Prometheus metrics exposed by the driver.
- **[Features](docs/features.md):** Detailed guides on bucket provisioning and access control with the COSI driver.
- **[Development Documentation](docs/development):**
- [Dev Container Setup](docs/development/dev-container-setup.md)
- [Remote Debugging](docs/development/remote-debugging-golang-on-kubernetes.md)
- [Running Locally](docs/development/run-cosi-driver-locally.md)

Check that the driver pods are running:
---

```bash
kubectl get pods -n scality-cosi
```
## Support

Confirm the COSI driver is registered:
For issues, please create a ticket in the [GitHub Issues](https://github.com/scality/cosi-driver/issues) section.

```bash
kubectl get csidrivers
```
---

For more detailed instructions and alternative installation methods, please refer to the [Installation Guides](docs/installation/).
## License

This project is licensed under the [Apache 2.0 License](LICENSE).
Loading

0 comments on commit 76c7b86

Please sign in to comment.