A Terraform provider for Minio, a self-hosted object storage server that is compatible with S3.
Check out the documenation on the Terraform Registry - refaktory/minio for more information and usage examples.
- Buckets
- Create/delete
- Versioning config
- Encryption config
- Replication config
- Lifecycle config
- Access rules
- Users
- Create/delete
- Assign policies
- Assign groups
- Serviceaccounts
- Canned policies
- Groups
- Create/delete
- Assign policies
- Objects
- [ ] Create files with a given content
- Bucket
- Canned policy
- Group
- User
- Serviceaccount
Consult the published documenation on the registry for usage documenation.
Additional examples are available in the ./examples
directory.
Add this configuration into $HOME/.terraformrc
:
(Notice the trailing /bin
in the path)
provider_installation {
dev_overrides {
"refaktory-dev/minio" = "/PATH/TO/LOCAL/REPO/bin"
}
direct {}
}
Build the provider with make build
-
Start a local minio instance in a separate terminal (and keep it running)
docker-compose up
-
Use the provider
cd ./examples && terraform apply
Steps to deploy:
make prepare-release
git tag v0.X.0
git push
Actual publishing is handled by the Github action defined in
./.github/workflows/release.yml
.
The module is managed on the Terraform registry at https://registry.terraform.io/publish/provider.
Developed by refaktory.