streamnative/terraform-provider-pulsar

Implement namespace permission grants/roles and actions

Opened this issue ยท 1 comments

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

Implement namespace permission grants/roles and actions.

I'm working with an in-house developed terraform pulsar provider, but would like to rather adopt an open source project. The ability to add permission grants would be important for our adoption, and I'm willing to work on a pull request for this feature. I wanted to check here first and see if this was already planned, or if someone else was already working on it before I get too far along.

Potential Terraform Configuration

resource "pulsar_namespace" "test" {
  ...
  permission_grant {
    role = "my-consumer"
    actions = ["consume"]
  }
}

or something like

variable "pulsar_custom_client_roles" {
  type    = list(string)
  default = []
}

resource "pulsar_namespace" "test" {
  ...
  dynamic "permission_grant" {
    for_each = var.pulsar_custom_client_roles
    content {
      role    = permission_grant.value
      actions = ["consume", "produce"]
    }
  }
}
ypt commented

Here's a PR that implements what's proposed - #23

We're also interested in topic permission grants. I'm happy to implement an analogous PR for those, too, once we think the namespace permission implementation is headed in the right direction.