Skip to content

Commit

Permalink
Connector Application Documentation Updates (#36)
Browse files Browse the repository at this point in the history
* Connector Application Documentation Updates

* Update

* Update

---------

Co-authored-by: Kaspar-Metsa <[email protected]>
  • Loading branch information
kasparAxual and Kaspar-Metsa authored Apr 15, 2024
1 parent c7583d7 commit 8ee8da9
Show file tree
Hide file tree
Showing 7 changed files with 54 additions and 52 deletions.
48 changes: 25 additions & 23 deletions docs/guides/connector-application.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,38 @@
---
page_title: "Terraform setup with Axual Trial environment"
page_title: "Connector Application Support"
---

## Connector Application Support

- To create and start a connector application, we need these Axual Terraform resources:
- **axual_topic**
- **axual_environment**
- **axual_application**. These are connector application specific properties:
- application_type = "Connector"
- application_class defined with a plugin class name. All supported plugin class names are listed here: https://docs.axual.io/connect/Axual-Connect/developer/connect-plugins-catalog/connect-plugins-catalog.html
- For example: application_class = "com.couchbase.connect.kafka.CouchbaseSinkConnector"
- type="SINK" or type="SOURCE"
- **axual_application_principal** These are connector application specific properties:
- private_key = file("certs/example-connector.key")
- Please note that the value needs to be a string
- Private key(private_key) is marked as "Sensitive" and doesn't get shown in server logs
- **axual_application_access_grant**
- **axual_application_access_grant_approval**
- **axual_application_deployment**
- Please include **depends_on** like in the example below so Terraform Provider knows the correct order of execution when creating or deleting multiple resources.
- Configuration(configs) is marked as "Sensitive" and doesn't get shown in server logs
- Creating axual_application_deployment starts the connector
- Updating axual_application_deployment stops the connector if it was running, updates the config, and starts it
- Deleting axual_application_deployment stops the connector if it was running, then deletes it
To create and start a connector application, we need these Axual Terraform resources:
1. **axual_topic**
2. **axual_environment**
3. **axual_application**
- These are connector application specific properties:
- **application_type** = "Connector"
- **application_class** defined with a plugin class name. All supported plugin class names are listed here: https://docs.axual.io/connect/Axual-Connect/developer/connect-plugins-catalog/connect-plugins-catalog.html
- For example: **application_class** = "com.couchbase.connect.kafka.CouchbaseSinkConnector"
- **type**="SINK" or **type**="SOURCE"
4. **axual_application_principal**
- These are connector application specific properties:
- **private_key** = file("certs/example-connector.key")
- Please note that the value needs to be a string
- Private key(private_key) is marked as "Sensitive" and doesn't get shown in server logs
5. **axual_application_access_grant**
6. **axual_application_access_grant_approval**
7. **axual_application_deployment**
- Please include **depends_on** like in the example below so Terraform Provider knows the correct order of execution when creating or deleting multiple resources.
- Configuration(**configs**) is marked as "Sensitive" and doesn't get shown in server logs
- Creating **axual_application_deployment** starts the connector
- Updating **axual_application_deployment** stops the connector if it was running, updates the config, and starts it
- Deleting **axual_application_deployment** stops the connector if it was running, then deletes it

- To read more about Connect Applications on Axual Platform: https://docs.axual.io/connect/Axual-Connect/developer/index-developer.html
To read more about Connect Applications on Axual Platform: https://docs.axual.io/connect/Axual-Connect/developer/index-developer.html

### Example Resources:
```shell
resource "axual_topic" "test-topic" {
name = test-topic-name"
name = "test-topic-name"
key_type = "String"
value_type = "String"
owners = axual_group.team-test.id
Expand Down
4 changes: 1 addition & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ Axual Provider allows using Axual's Self-Service for Apache Kafka functionality
- Environment management
- Request, Approval, Revocation, Rejection and Cancellation of Access Requests
## Limitations
- Currently, there is a bug that deleting a resource that is managed by Terraform from UI results in Terraform not being able to recreate the resource again according to .tf configuration file. We do not recommend currently deleting resources managed by Terraform from UI. This bug has been reported to development team and is under investigation.
- Public environments cannot be deleted, private environments can be deleted. This feature will be implemented in the future.
- When deleting all resources at once, application.tf needs to have a dependency to make sure topic and topic_config get deleted first. This bug has been reported to development team and is under investigation.

# Getting started
Expand All @@ -41,7 +39,7 @@ terraform {
required_providers {
axual = {
source = "Axual/axual"
version = "2.2.0"
version = "2.2.1"
}
}
}
Expand Down
1 change: 1 addition & 0 deletions docs/resources/application_deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ An Application Deployment stores the configs for connector application type that

## Limitations
Please make sure to use the depends_on as in the example below, because it guarantees the correct order when creating or deleting multiple resources.
Including it guarantees that Terraform creates the required resources before application_deployment resource: application_principal, axual_application_access_grant, axual_application_access_grant_approval.

<!-- schema generated by tfplugindocs -->
## Schema
Expand Down
2 changes: 1 addition & 1 deletion examples/axual/provider.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ terraform {
required_providers {
axual = {
source = "Axual/axual"
version = "2.2.0"
version = "2.2.1"
}
}
}
Expand Down
48 changes: 25 additions & 23 deletions templates/guides/connector-application.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,38 @@
---
page_title: "Terraform setup with Axual Trial environment"
page_title: "Connector Application Support"
---

## Connector Application Support

- To create and start a connector application, we need these Axual Terraform resources:
- **axual_topic**
- **axual_environment**
- **axual_application**. These are connector application specific properties:
- application_type = "Connector"
- application_class defined with a plugin class name. All supported plugin class names are listed here: https://docs.axual.io/connect/Axual-Connect/developer/connect-plugins-catalog/connect-plugins-catalog.html
- For example: application_class = "com.couchbase.connect.kafka.CouchbaseSinkConnector"
- type="SINK" or type="SOURCE"
- **axual_application_principal** These are connector application specific properties:
- private_key = file("certs/example-connector.key")
- Please note that the value needs to be a string
- Private key(private_key) is marked as "Sensitive" and doesn't get shown in server logs
- **axual_application_access_grant**
- **axual_application_access_grant_approval**
- **axual_application_deployment**
- Please include **depends_on** like in the example below so Terraform Provider knows the correct order of execution when creating or deleting multiple resources.
- Configuration(configs) is marked as "Sensitive" and doesn't get shown in server logs
- Creating axual_application_deployment starts the connector
- Updating axual_application_deployment stops the connector if it was running, updates the config, and starts it
- Deleting axual_application_deployment stops the connector if it was running, then deletes it
To create and start a connector application, we need these Axual Terraform resources:
1. **axual_topic**
2. **axual_environment**
3. **axual_application**
- These are connector application specific properties:
- **application_type** = "Connector"
- **application_class** defined with a plugin class name. All supported plugin class names are listed here: https://docs.axual.io/connect/Axual-Connect/developer/connect-plugins-catalog/connect-plugins-catalog.html
- For example: **application_class** = "com.couchbase.connect.kafka.CouchbaseSinkConnector"
- **type**="SINK" or **type**="SOURCE"
4. **axual_application_principal**
- These are connector application specific properties:
- **private_key** = file("certs/example-connector.key")
- Please note that the value needs to be a string
- Private key(private_key) is marked as "Sensitive" and doesn't get shown in server logs
5. **axual_application_access_grant**
6. **axual_application_access_grant_approval**
7. **axual_application_deployment**
- Please include **depends_on** like in the example below so Terraform Provider knows the correct order of execution when creating or deleting multiple resources.
- Configuration(**configs**) is marked as "Sensitive" and doesn't get shown in server logs
- Creating **axual_application_deployment** starts the connector
- Updating **axual_application_deployment** stops the connector if it was running, updates the config, and starts it
- Deleting **axual_application_deployment** stops the connector if it was running, then deletes it

- To read more about Connect Applications on Axual Platform: https://docs.axual.io/connect/Axual-Connect/developer/index-developer.html
To read more about Connect Applications on Axual Platform: https://docs.axual.io/connect/Axual-Connect/developer/index-developer.html

### Example Resources:
```shell
resource "axual_topic" "test-topic" {
name = test-topic-name"
name = "test-topic-name"
key_type = "String"
value_type = "String"
owners = axual_group.team-test.id
Expand Down
2 changes: 0 additions & 2 deletions templates/index.md.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ Axual Provider allows using Axual's Self-Service for Apache Kafka functionality
- Environment management
- Request, Approval, Revocation, Rejection and Cancellation of Access Requests
## Limitations
- Currently, there is a bug that deleting a resource that is managed by Terraform from UI results in Terraform not being able to recreate the resource again according to .tf configuration file. We do not recommend currently deleting resources managed by Terraform from UI. This bug has been reported to development team and is under investigation.
- Public environments cannot be deleted, private environments can be deleted. This feature will be implemented in the future.
- When deleting all resources at once, application.tf needs to have a dependency to make sure topic and topic_config get deleted first. This bug has been reported to development team and is under investigation.

# Getting started
Expand Down
1 change: 1 addition & 0 deletions templates/resources/application_deployment.md.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

## Limitations
Please make sure to use the depends_on as in the example below, because it guarantees the correct order when creating or deleting multiple resources.
Including it guarantees that Terraform creates the required resources before application_deployment resource: application_principal, axual_application_access_grant, axual_application_access_grant_approval.

{{ .SchemaMarkdown | trimspace }}

Expand Down

0 comments on commit 8ee8da9

Please sign in to comment.