-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
84a68d3
commit 76c7b86
Showing
4 changed files
with
382 additions
and
82 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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). |
Oops, something went wrong.