benosman / terraform-provider-minio

Terraform provider for managing minio S3 buckets and IAM Users

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

minio-provider-terraform

Terraform Provider for MinIO

Contributors GitHub go.mod Go version Gitpod Ready-to-Code GitHub Workflow Status GitHub release (latest by date including pre-releases)

Explore the docs »

Table of Contents

About this project

A Terraform provider to manage MinIO Cloud Storage.

Made with using Go.

Supported Versions

  • Terraform v0.14
  • Go v1.15

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 for MacOS and Linux on the releases page.

But if you need to build it yourself, just download this repository, install Task:

go get github.com/go-task/task/v3/cmd/task

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

task install

Examples

Use examples/main.tf to create some test config, such as:

provider "minio" {
  minio_server = "localhost:9000"
  minio_region = "us-east-1"
  minio_access_key = "minio"
  minio_secret_key = "minio123"
}

You may use variables to fill up configurations:

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_access_key" {
  description = "MINIO user"
  default = "minio"
}

variable "minio_secret_key" {
  description = "MINIO secret user"
  default = "minio123"
}

Testing

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

docker-compose up

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

Usage

See our Examples folder.

Developing inside a container

Inside .devcontainer folder is the configuration of a Docker Container with all tools needed to develop this project. It's meant to be used with VS Code, requiring only the installation of Remote - Containers extension. For usage instructions, refer to this tutorial.

Roadmap

See the open issues for a list of proposed features (and known issues). See CONTRIBUTION.md for more information.

License

Distributed under the Apache License. See LICENSE for more information.

Acknowledgements

About

Terraform provider for managing minio S3 buckets and IAM Users

License:Apache License 2.0


Languages

Language:Go 99.0%Language:Dockerfile 1.0%