Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/aminueza/terraform-provider-minio

Terraform provider for managing MinIO S3 buckets and IAM Users.
https://github.com/aminueza/terraform-provider-minio

hcl minio s3 terraform-provider

Last synced: 3 months ago
JSON representation

Terraform provider for managing MinIO S3 buckets and IAM Users.

Awesome Lists containing this project

README

        



minio-provider-terraform

Terraform Provider for MinIO




Contributors


GitHub go.mod Go version


GitHub Workflow Status


GitHub release (latest by date including pre-releases)



Explore the docs »

## Table of Contents

- [Table of Contents](#table-of-contents)
- [About this project](#about-this-project)
- [Supported Versions](#supported-versions)
- [Building and Installing](#building-and-installing)
- [Examples](#examples)
- [Testing](#testing)
- [Usage](#usage)
- [Roadmap](#roadmap)
- [License](#license)
- [Acknowledgements](#acknowledgements)

## About this project

A [Terraform](https://www.terraform.io) provider to manage [MinIO Cloud Storage](https://min.io).

Made with using [Go](https://golang.org/).

## Supported Versions

- Terraform v1.5
- Go v1.20

It doesn't mean that this provider won't run on previous versions of Terraform or Go, though.
It just means that we can't guarantee backward compatibility.

## Building and Installing

Prebuilt versions of this provider are available on the [releases page](https://github.com/aminueza/terraform-provider-minio/releases/latest).

But if you need to build it yourself, just download this repository, [install](https://taskfile.dev/#/installation) [Task](https://taskfile.dev/):

```sh
go install github.com/go-task/task/v3/cmd/task@latest
```

And run the following command to build and install the plugin in the correct folder (resolved automatically based on the current Operating System):

```sh
task install
```

## Examples

Use [examples/main.tf](./examples/user/main.tf) to create some test config, such as:

```hcl
provider "minio" {
minio_server = "localhost:9000"
minio_region = "us-east-1"
minio_user = "minio"
minio_password = "minio123"
}
```

You may use variables to fill up configurations:

```hcl
variable "minio_region" {
description = "Default MINIO region"
default = "us-east-1"
}

variable "minio_server" {
description = "Default MINIO host and port"
default = "localhost:9000"
}

variable "minio_user" {
description = "MINIO user"
default = "minio"
}

variable "minio_password" {
description = "MINIO password"
default = "minio123"
}
```

## Testing

For testing locally, run the docker compose to spin up a minio server:

```sh
docker-compose up
```

Access `http://localhost:8000` on your browser, apply your terraform templates and watch them going live.

## Usage

See our [examples](./examples/) folder.

## Roadmap

See the [open issues](https://github.com/aminueza/terraform-provider-minio/issues) for a list of proposed features (and known issues). See [CONTRIBUTING](./.github/CONTRIBUTING.md) for more information.

## License

All versions of this provider starting from v2.0.0 are distributed under the AGPL-3.0 License. See [LICENSE](./LICENSE) for more information.

## Acknowledgements

- [HashiCorp Terraform](https://www.hashicorp.com/products/terraform)
- [MinIO](https://min.io)
- [Best Readme](https://github.com/othneildrew/Best-README-Template)