-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
108 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# Topic Endpoint Example | ||
|
||
Configuration in this directory creates a [topic endpoint](https://docs.solace.com/Get-Started/topic-endpoints-queues.htm) on the PubSub+ event broker leveraging the Queue Endpoint Terraform module. | ||
|
||
Important: The topic subscription that a topic endpoint will spool messages for is not specified when a topic endpoint is provisioned. For additional details refer to the [PubSub+ documentation](https://docs.solace.com/Messaging/Guaranteed-Msg/Configuring-DTEs.htm). | ||
|
||
## Module Configuration in the Example | ||
|
||
### Mandatory Inputs | ||
|
||
* `msg_vpn_name` - set to `default` in the example | ||
* `endpoint_type` - set to `topic_endpoint` | ||
* `endpoint_name` - set to `testEQ` in the example | ||
* `permission` - set to `consume` in the example to enable the receiver app to remove consumed messages from the topic endpoint | ||
|
||
### Optional Inputs | ||
|
||
Note that the `access_type` module input variable defines if a topic endpoint is "exclusive" or "non-exclusive". The default is "exclusive". | ||
|
||
Optional module input variables have the same name as the attributes of the underlying provider resource. If omitted then the default for the related resource attribute will be configured on the broker. For attributes and defaults, refer to the [documentation of "solacebroker_msg_vpn_topic_endpoint"](https://registry.terraform.io/providers/SolaceProducts/solacebroker/latest/docs/resources/msg_vpn_topic_endpoint#optional). | ||
|
||
### Output | ||
|
||
The module `provisioned_topic endpoint` output refers to the created topic endpoint. | ||
|
||
## Created resources | ||
|
||
This example will create following resources: | ||
|
||
* `solacebroker_msg_vpn_topic endpoint` | ||
|
||
## Running the Example | ||
|
||
### Access to a PubSub+ broker | ||
|
||
If you don't already have access to a broker, refer to the [Developers page](https://www.solace.dev/) for options to get started. | ||
|
||
### Adjust Provider Configuration | ||
|
||
Adjust the [provider parameters](https://registry.terraform.io/providers/SolaceProducts/solacebroker/latest/docs#schema) in `main.tf` according to your broker. The example configuration shows settings for a local broker running in Docker. | ||
|
||
### Create the resource | ||
|
||
Hint: You can verify configuration changes on the broker, before and after, using the [PubSub+ Broker Manager Web UI](https://docs.solace.com/Admin/Broker-Manager/PubSub-Manager-Overview.htm) | ||
|
||
Execute from this folder: | ||
|
||
```bash | ||
$ terraform init | ||
$ terraform plan | ||
$ terraform apply | ||
``` | ||
|
||
Run `terraform destroy` to clean up created resources when no longer needed. | ||
|
||
## Additional Documentation | ||
|
||
Refer to the [Configuring Topic Endpoints](https://docs.solace.com/Messaging/Guaranteed-Msg/Configuring-DTEs.htm) section in the PubSub+ documentation. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
provider "solacebroker" { | ||
username = "admin" | ||
password = "admin" | ||
url = "http://localhost:8080" | ||
} | ||
|
||
module "topic_endpoint" { | ||
# update with the module location | ||
source = "../.." | ||
|
||
msg_vpn_name = "default" | ||
endpoint_type = "topic_endpoint" | ||
endpoint_name = "testTE" | ||
|
||
# permission "consume" enables a messaging client to connect, read and consume messages to/from the topic endpoint | ||
permission = "consume" | ||
|
||
# access_type "exclusive" is the default topic endpoint access type. While it has been specified here for clarity, it is not strictly required. | ||
access_type = "exclusive" | ||
|
||
# ingress and egress are enabled by default in the module, no need to enable here | ||
# ingress_enabled = true | ||
# egress_enabled = true | ||
} | ||
|
||
output "provisioned_topic_endpoint" { | ||
value = module.topic_endpoint.topic_endpoint | ||
description = "The provisioned topic_endpoint resource" | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Terraform configuration | ||
|
||
terraform { | ||
required_providers { | ||
solacebroker = { | ||
source = "registry.terraform.io/solaceproducts/solacebroker" | ||
} | ||
} | ||
} |