You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: Add support for offline and online store KMS keys (#252)
Add the variables `offline_store_kms_key_arn` and
`online_store_kms_key_arn` to provide per-store keys to the Rift module.
---------
Co-authored-by: Taylor Daugherty <[email protected]>
Copy file name to clipboardExpand all lines: deployment/README.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,7 @@
20
20
| <aname="input_cross_account_role_allow_sts_metadata"></a> [cross\_account\_role\_allow\_sts\_metadata](#input\_cross\_account\_role\_allow\_sts\_metadata)| Enable sts:SetSourceIdentity and sts:TagSession permissions on the cross-role account. |`bool`|`false`| no |
21
21
| <aname="input_databricks_spark_role_name"></a> [databricks\_spark\_role\_name](#input\_databricks\_spark\_role\_name)| n/a |`string`|`null`| no |
22
22
| <aname="input_deployment_name"></a> [deployment\_name](#input\_deployment\_name)| Name of the Tecton deployment. |`string`| n/a | yes |
23
+
| <aname="input_deployment_role_permissions_boundary_arn"></a> [deployment\_role\_permissions\_boundary\_arn](#input\_deployment\_role\_permissions\_boundary\_arn)| ARN of the policy that is used to set the permissions boundary for the deployment role |`string`|`null`| no |
23
24
| <aname="input_emr_read_ecr_repositories"></a> [emr\_read\_ecr\_repositories](#input\_emr\_read\_ecr\_repositories)| List of ECR repositories that EMR roles are granted read access to. |`list(string)`|`[]`| no |
24
25
| <aname="input_emr_spark_role_name"></a> [emr\_spark\_role\_name](#input\_emr\_spark\_role\_name)| Override the default name Tecton uses for emr spark role |`string`|`null`| no |
25
26
| <aname="input_include_crossaccount_bucket_access"></a> [include\_crossaccount\_bucket\_access](#input\_include\_crossaccount\_bucket\_access)| Whether to grant direct cross-account bucket access |`bool`|`true`| no |
Copy file name to clipboardExpand all lines: modules/dataplane_rift/README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -82,12 +82,14 @@ output "tecton" {
82
82
| <aname="input_controlplane_access_only"></a> [controlplane\_access\_only](#input\_controlplane\_access\_only)| Whether to only grant control-plane account access to the cross-account role |`bool`|`true`| no |
83
83
| <aname="input_cross_account_external_id"></a> [cross\_account\_external\_id](#input\_cross\_account\_external\_id)| The external ID for cross-account access. Obtain this from your Tecton representative. |`string`| n/a | yes |
84
84
| <aname="input_deployment_name"></a> [deployment\_name](#input\_deployment\_name)| The name of the Tecton deployment. Must be less than 22 characters due to AWS limitations. |`string`| n/a | yes |
85
+
| <aname="input_deployment_role_permissions_boundary_arn"></a> [deployment\_role\_permissions\_boundary\_arn](#input\_deployment\_role\_permissions\_boundary\_arn)| ARN of the policy that is used to set the permissions boundary for the deployment role |`string`|`null`| no |
85
86
| <aname="input_existing_rift_compute_security_group_id"></a> [existing\_rift\_compute\_security\_group\_id](#input\_existing\_rift\_compute\_security\_group\_id)| (Optional) The ID of the existing security group to use for Rift compute instances. |`string`|`null`| no |
86
87
| <aname="input_existing_vpc"></a> [existing\_vpc](#input\_existing\_vpc)| (Optional) Configuration for using an existing VPC. If provided, both vpc\_id and private\_subnet\_ids must be provided together. | <pre>object({<br/> vpc_id = string<br/> private_subnet_ids = list(string)<br/> })</pre> |`null`| no |
87
88
| <aname="input_include_crossaccount_bucket_access"></a> [include\_crossaccount\_bucket\_access](#input\_include\_crossaccount\_bucket\_access)| Whether to grant direct cross-account bucket access |`bool`|`true`| no |
88
89
| <aname="input_kms_key_id"></a> [kms\_key\_id](#input\_kms\_key\_id)| (Optional) The customer-managed key for encrypting data at rest. |`string`|`null`| no |
89
90
| <aname="input_outputs_location_config"></a> [outputs\_location\_config](#input\_outputs\_location\_config)| Configuration for where to store the outputs. Defaults to creating a dedicated bucket. | <pre>object({<br/> type = string # "new_bucket", "offline_store_bucket_path", or "tecton_hosted_presigned"<br/> <br/> # For offline_store_bucket_path (bucket name is automatically set to the deployment's offline store bucket)<br/> offline_store_bucket_name = optional(string)<br/> offline_store_bucket_path_prefix = optional(string, "internal/tecton-outputs/")<br/> <br/> # For tecton_hosted_presigned<br/> tecton_presigned_write_url = optional(string)<br/> trigger_upload = optional(bool, false)<br/> })</pre> | <pre>{<br/> "type": "tecton_hosted_presigned"<br/>}</pre> | no |
90
91
| <aname="input_region"></a> [region](#input\_region)| The AWS region for the Tecton deployment. |`string`| n/a | yes |
92
+
| <aname="input_rift_role_permissions_boundary_arn"></a> [rift\_role\_permissions\_boundary\_arn](#input\_rift\_role\_permissions\_boundary\_arn)| ARN of the policy that is used to set the permissions boundary for the rift compute roles |`string`|`null`| no |
91
93
| <aname="input_subnet_azs"></a> [subnet\_azs](#input\_subnet\_azs)| A list of Availability Zones for the subnets. |`list(string)`| n/a | yes |
92
94
| <aname="input_tecton_control_plane_account_id"></a> [tecton\_control\_plane\_account\_id](#input\_tecton\_control\_plane\_account\_id)| The AWS account ID of the Tecton control plane. Obtain this from your Tecton representative. |`string`| n/a | yes |
93
95
| <aname="input_tecton_control_plane_role_name"></a> [tecton\_control\_plane\_role\_name](#input\_tecton\_control\_plane\_role\_name)| The name of the Tecton control plane IAM role. Obtain this from your Tecton representative. |`string`| n/a | yes |
Copy file name to clipboardExpand all lines: rift_compute/README.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,13 +17,16 @@
17
17
| <aname="input_cross_account_role_arn"></a> [cross\_account\_role\_arn](#input\_cross\_account\_role\_arn)| Name of cross-account role Tecton control-plane will assume in your account. |`string`|`null`| no |
18
18
| <aname="input_enable_rift_legacy_secret_manager_access"></a> [enable\_rift\_legacy\_secret\_manager\_access](#input\_enable\_rift\_legacy\_secret\_manager\_access)| Flag to indicate if supporting legacy secret management or not. Directly accessing secret manager from Rift jobs is no longer supported. Tecton Secrets should be used instead |`bool`|`false`| no |
19
19
| <aname="input_existing_rift_compute_security_group_id"></a> [existing\_rift\_compute\_security\_group\_id](#input\_existing\_rift\_compute\_security\_group\_id)| Optional. The ID of an existing security group to use for Rift compute instances. If provided, the module will not create a new security group. |`string`|`null`| no |
20
-
| <aname="input_existing_vpc"></a> [existing\_vpc](#input\_existing\_vpc)| Optional. Configuration for using an existing VPC. If provided, the module will not create a new VPC or related core networking resources (subnets, IGW, NAT GWs, Route Tables). Both vpc\_id and private\_subnet\_ids must be provided together. | <pre>object({<br/> vpc_id = string<br/> private_subnet_ids = list(string)<br/> })</pre> |`null`| no |
20
+
| <aname="input_existing_vpc"></a> [existing\_vpc](#input\_existing\_vpc)| Optional. Configuration for using an existing VPC. If provided, the module will not create a new VPC or related core networking resources (subnets, IGW, NAT GWs, Route Tables). Both vpc\_id and private\_subnet\_ids must be provided together. | <pre>object({<br/> vpc_id = string<br/> private_subnet_ids = list(string)<br/> })</pre> |`null`| no |
21
21
| <aname="input_is_internal_workload"></a> [is\_internal\_workload](#input\_is\_internal\_workload)| Flag to indicate if the workload is internal to Tecton. Set it to true if for dev and demo clusters. |`bool`|`false`| no |
22
22
| <aname="input_kms_key_arn"></a> [kms\_key\_arn](#input\_kms\_key\_arn)| ARN of KMS key used to encrypt online/offline feature store. |`string`|`null`| no |
23
23
| <aname="input_offline_store_bucket_arn"></a> [offline\_store\_bucket\_arn](#input\_offline\_store\_bucket\_arn)| ARN of offline store bucket. |`string`| n/a | yes |
24
24
| <aname="input_offline_store_key_prefix"></a> [offline\_store\_key\_prefix](#input\_offline\_store\_key\_prefix)| Prefix used for offline store keys. |`string`|`"offline-store/"`| no |
25
+
| <aname="input_offline_store_kms_key_arn"></a> [offline\_store\_kms\_key\_arn](#input\_offline\_store\_kms\_key\_arn)| ARN of KMS key used to encrypt offline feature store. If given, will override the kms\_key\_arn. |`string`|`null`| no |
26
+
| <aname="input_online_store_kms_key_arn"></a> [online\_store\_kms\_key\_arn](#input\_online\_store\_kms\_key\_arn)| ARN of KMS key used to encrypt online feature store. If given, will override the kms\_key\_arn. |`string`|`null`| no |
25
27
| <aname="input_resource_name_overrides"></a> [resource\_name\_overrides](#input\_resource\_name\_overrides)| map of Terraform resource names, to cloud provider names. Used to override any named resource. |`map(string)`|`{}`| no |
26
28
| <aname="input_rift_compute_manager_assuming_role_arns"></a> [rift\_compute\_manager\_assuming\_role\_arns](#input\_rift\_compute\_manager\_assuming\_role\_arns)| ARNs of the IAM roles that will be assuming `tecton-rift-compute-manager` to start rift materialization jobs. Typically `eks-worker-node`. |`list(string)`| n/a | yes |
29
+
| <aname="input_rift_role_permissions_boundary_arn"></a> [rift\_role\_permissions\_boundary\_arn](#input\_rift\_role\_permissions\_boundary\_arn)| ARN of the policy that is used to set the permissions boundary for the rift compute roles |`string`|`null`| no |
| <aname="input_subnet_azs"></a> [subnet\_azs](#input\_subnet\_azs)| A list of Availability Zones for the subnets. Not used if existing\_vpc is provided. |`list(string)`|`[]`| no |
29
32
| <aname="input_tecton_privatelink_egress_rules"></a> [tecton\_privatelink\_egress\_rules](#input\_tecton\_privatelink\_egress\_rules)| List of egress rules for the Tecton PrivateLink security group. If empty and PrivateLink is enabled, a default 'allow all' rule will be created. | <pre>list(object({<br/> cidr = string<br/> from_port = number<br/> to_port = number<br/> protocol = string<br/> description = string<br/> }))</pre> |`[]`| no |
description="Optional. Configuration for using an existing VPC. If provided, the module will not create a new VPC or related core networking resources (subnets, IGW, NAT GWs, Route Tables). Both vpc_id and private_subnet_ids must be provided together."
0 commit comments