-
Notifications
You must be signed in to change notification settings - Fork 75
/
README.md
134 lines (100 loc) · 4.29 KB
/
README.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<p align="center">
<a href="https://github.com/aminueza/terraform-provider-minio">
<img src="https://i.imgur.com/yijdDec.png" alt="minio-provider-terraform" width="200">
</a>
<h3 align="center" style="font-weight: bold">Terraform Provider for MinIO</h3>
<p align="center">
<a href="https://github.com/aminueza/terraform-provider-minio/graphs/contributors">
<img alt="Contributors" src="https://img.shields.io/github/contributors/aminueza/terraform-provider-minio">
</a>
<a href="https://golang.org/doc/devel/release.html">
<img alt="GitHub go.mod Go version" src="https://img.shields.io/github/go-mod/go-version/aminueza/terraform-provider-minio">
</a>
<a href="https://gitpod.io/#https://github.com/aminueza/terraform-provider-minio">
<img alt="Gitpod Ready-to-Code" src="https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod">
</a>
<a href="https://github.com/aminueza/terraform-provider-minio/actions?query=workflow%3A%22Terraform+Provider+CI%22">
<img alt="GitHub Workflow Status" src="https://img.shields.io/github/workflow/status/aminueza/terraform-provider-minio/Terraform%20Provider%20CI">
</a>
<a href="https://github.com/aminueza/terraform-provider-minio/releases">
<img alt="GitHub release (latest by date including pre-releases)" src="https://img.shields.io/github/v/release/aminueza/terraform-provider-minio?include_prereleases">
</a>
</p>
<p align="center">
<a href="https://github.com/aminueza/terraform-provider-minio/tree/master/docs"><strong>Explore the docs »</strong></a>
</p>
</p>
## 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 <span style="color: #e25555;">♥</span> using [Go](https://golang.org/).
## Supported Versions
- Terraform v1.3
- Go v1.19
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_access_key = "minio"
minio_secret_key = "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_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:
```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](./CONTRIBUTING.md) for more information.
## License
Distributed under the Apache 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)