Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add minio_s3_bucket_replication resource #528

Merged
merged 3 commits into from
Oct 24, 2023

Conversation

acolombier
Copy link
Contributor

@acolombier acolombier commented Oct 16, 2023

Add minio_s3_bucket_replication resource

This PR implements the following changes:

  • Add support for server-side replication with minio_s3_bucket_replication resource

Testing

This feature comes with a few dev environment changes in order to support testing across multiple MinIO environment.

Reference

Closing issues

@acolombier acolombier marked this pull request as draft October 16, 2023 16:22
@acolombier acolombier marked this pull request as ready for review October 16, 2023 17:20
@acolombier acolombier force-pushed the feat/bucket-replication branch 4 times, most recently from 23041b8 to b5a726d Compare October 16, 2023 17:45
@acolombier acolombier marked this pull request as draft October 16, 2023 17:59
@acolombier acolombier marked this pull request as ready for review October 16, 2023 18:45
@felladrin
Copy link
Collaborator

This looks awesome!
ℹ️ I will check this tonight and merge it afterwards!

docker-compose.yml Outdated Show resolved Hide resolved
Copy link
Collaborator

@felladrin felladrin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one is good to go! 🚀
Thank for that, @acolombier!

Note
This one will be released to Terraform Registry after #522 has been resolved.

@felladrin felladrin merged commit 9fe889b into aminueza:master Oct 24, 2023
2 checks passed
kireque referenced this pull request in kireque/home-ops Mar 12, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [minio](https://registry.terraform.io/providers/aminueza/minio)
([source](https://togithub.com/aminueza/terraform-provider-minio)) |
required_provider | major | `1.20.1` -> `2.1.0` |

---

### Release Notes

<details>
<summary>aminueza/terraform-provider-minio (minio)</summary>

###
[`v2.1.0`](https://togithub.com/aminueza/terraform-provider-minio/releases/tag/v2.1.0)

[Compare
Source](https://togithub.com/aminueza/terraform-provider-minio/compare/v2.0.1...v2.1.0)

#### What's Changed

- Fixed group policy assign parameter typo by
[@&#8203;danielhass](https://togithub.com/danielhass) in
[https://github.com/aminueza/terraform-provider-minio/pull/553](https://togithub.com/aminueza/terraform-provider-minio/pull/553)
- Document `DeleteMarker` expiry in ilm policy by
[@&#8203;michaelruigrok](https://togithub.com/michaelruigrok) in
[https://github.com/aminueza/terraform-provider-minio/pull/558](https://togithub.com/aminueza/terraform-provider-minio/pull/558)
- Add resource_minio_s3\_object 'source' support by
[@&#8203;fhemberger](https://togithub.com/fhemberger) in
[https://github.com/aminueza/terraform-provider-minio/pull/555](https://togithub.com/aminueza/terraform-provider-minio/pull/555)

#### New Contributors

- [@&#8203;danielhass](https://togithub.com/danielhass) made their first
contribution in
[https://github.com/aminueza/terraform-provider-minio/pull/553](https://togithub.com/aminueza/terraform-provider-minio/pull/553)
- [@&#8203;michaelruigrok](https://togithub.com/michaelruigrok) made
their first contribution in
[https://github.com/aminueza/terraform-provider-minio/pull/558](https://togithub.com/aminueza/terraform-provider-minio/pull/558)
- [@&#8203;fhemberger](https://togithub.com/fhemberger) made their first
contribution in
[https://github.com/aminueza/terraform-provider-minio/pull/555](https://togithub.com/aminueza/terraform-provider-minio/pull/555)

**Full Changelog**:
aminueza/terraform-provider-minio@v2.0.1...v2.1.0

###
[`v2.0.1`](https://togithub.com/aminueza/terraform-provider-minio/releases/tag/v2.0.1)

[Compare
Source](https://togithub.com/aminueza/terraform-provider-minio/compare/v2.0.0...v2.0.1)

#### What's Changed

- Fix null expiration date handling by
[@&#8203;pjsier](https://togithub.com/pjsier) in
[https://github.com/aminueza/terraform-provider-minio/pull/545](https://togithub.com/aminueza/terraform-provider-minio/pull/545)
- Update terraform version to 1.5.7 in GitHub Action by
[@&#8203;felladrin](https://togithub.com/felladrin) in
[https://github.com/aminueza/terraform-provider-minio/pull/540](https://togithub.com/aminueza/terraform-provider-minio/pull/540)

**Full Changelog**:
aminueza/terraform-provider-minio@v2.0.0...v2.0.1

###
[`v2.0.0`](https://togithub.com/aminueza/terraform-provider-minio/releases/tag/v2.0.0)

[Compare
Source](https://togithub.com/aminueza/terraform-provider-minio/compare/v1.20.1...v2.0.0)

#### What's Changed

- Update madmin-go to version 3 by
[@&#8203;acolombier](https://togithub.com/acolombier) in
[https://github.com/aminueza/terraform-provider-minio/pull/514](https://togithub.com/aminueza/terraform-provider-minio/pull/514)
- Handle empty service account policy by
[@&#8203;ArataEM](https://togithub.com/ArataEM) in
[https://github.com/aminueza/terraform-provider-minio/pull/518](https://togithub.com/aminueza/terraform-provider-minio/pull/518)
- Go 1.20 by [@&#8203;BuJo](https://togithub.com/BuJo) in
[https://github.com/aminueza/terraform-provider-minio/pull/519](https://togithub.com/aminueza/terraform-provider-minio/pull/519)
- Destroy object versions on bucket force_destroy by
[@&#8203;pjsier](https://togithub.com/pjsier) in
[https://github.com/aminueza/terraform-provider-minio/pull/524](https://togithub.com/aminueza/terraform-provider-minio/pull/524)
- Update goreleaser-action to v5 and add permission for the workflow to
attach binaries to GitHub Releases by
[@&#8203;felladrin](https://togithub.com/felladrin) in
[https://github.com/aminueza/terraform-provider-minio/pull/521](https://togithub.com/aminueza/terraform-provider-minio/pull/521)
- Add Noncurrent Version expiration to ilm policy by
[@&#8203;ndejesus](https://togithub.com/ndejesus) in
[https://github.com/aminueza/terraform-provider-minio/pull/526](https://togithub.com/aminueza/terraform-provider-minio/pull/526)
- Add service account values to read and import by
[@&#8203;pjsier](https://togithub.com/pjsier) in
[https://github.com/aminueza/terraform-provider-minio/pull/525](https://togithub.com/aminueza/terraform-provider-minio/pull/525)
- feat: add minio_s3\_bucket_replication resource by
[@&#8203;acolombier](https://togithub.com/acolombier) in
[https://github.com/aminueza/terraform-provider-minio/pull/528](https://togithub.com/aminueza/terraform-provider-minio/pull/528)
- feat: recreate user if not found anymore by
[@&#8203;tobikris](https://togithub.com/tobikris) in
[https://github.com/aminueza/terraform-provider-minio/pull/534](https://togithub.com/aminueza/terraform-provider-minio/pull/534)
- Bump google.golang.org/grpc from 1.58.0 to 1.58.3 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/aminueza/terraform-provider-minio/pull/535](https://togithub.com/aminueza/terraform-provider-minio/pull/535)
- Change terraform-provider-minio license to AGPL-3.0 and append `/v2`
to the module name by [@&#8203;BuJo](https://togithub.com/BuJo) in
[https://github.com/aminueza/terraform-provider-minio/pull/522](https://togithub.com/aminueza/terraform-provider-minio/pull/522)

#### Breaking Change: About the major version update

We've updated `madmin-go` to `v3` so we can use the new features from
the SDK, like the [bucket
replication](https://togithub.com/aminueza/terraform-provider-minio/pull/528).
As a consequence of this, we had to change our License to AGPL-3.0 to
comply with `madmin-go`, [which has been using AGPL-3.0 since its v2
release](https://togithub.com/minio/madmin-go/pull/154).

For those who can't upgrade to **terraform-provider-minio v2** due to
license incompatibilities, we recommend you keep using the **v1** until
you feel you need some of the new features.

To don't let anyone behind, we've created a
[v1](https://togithub.com/aminueza/terraform-provider-minio/tree/v1)
branch, which is now protected and will live along with the
[main](https://togithub.com/aminueza/terraform-provider-minio/tree/main).
So if users of `v1` want to push features/fixes, they can create pull
requests targeting that branch, and as soon as it's merged, we release a
new update for the `v1.x`.

For those importing this package in their software and want to upgrade,
here's the command to upgrade:

```bash
go get github.com/aminueza/terraform-provider-minio/v2@&#8203;v2.0.0
```

**Full Changelog**:
aminueza/terraform-provider-minio@v1.18.0...v2.0.0

> **Note**
> [v1](https://togithub.com/aminueza/terraform-provider-minio/tree/v1)
branch diverged from
[main](https://togithub.com/aminueza/terraform-provider-minio/tree/main)
at after the [release
v1.18.0](https://togithub.com/aminueza/terraform-provider-minio/releases/tag/v1.18.0).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzUuNSIsInVwZGF0ZWRJblZlciI6IjM3LjIzNS42IiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: kireque-bot[bot] <143391978+kireque-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for server-side replication
2 participants