Skip to content

Commit bdab0a5

Browse files
authored
release v0.5.8 from PR #980
release v0.5.8 from PR #980
2 parents fbd0e75 + 565bcc5 commit bdab0a5

File tree

24 files changed

+139
-35
lines changed

24 files changed

+139
-35
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ Changes to be including in future/planned release notes will be added here.
77

88
## Next
99

10+
## [0.5.8](https://github.com/Worklytics/psoxy/release/tag/v0.5.8)
11+
- **GCP**: Changed default value of `bucket_force_destroy` from `true` to `false` across all GCP modules. Customers upgrading may see this change from `true``false`. To maintain the previous behavior, add `bucket_force_destroy = true` to your terraform.tfvars file.
12+
1013
## [0.5.7](https://github.com/Worklytics/psoxy/release/tag/v0.5.7)
1114
- `Confluence`: added new connector for supporting fetching Confluence Cloud data, through OAuth 2.0 (3LO)
1215

docs/gcp/cloud-shell.md

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,33 @@
1-
# Getting Started with Google Cloud Shell
1+
# Google Cloud Shell
22

3-
1. clone the repo (or a [private-fork](../development/private-fork.md) of it)
3+
IMPORTANT: Google Cloud Shells are somewhat ephemeral; GCP will delete the `home` directory of your Cloud Shell if you don't use it for ~180 days or so. As such, please be CERTAIN that you 1) [use a remote terraform state backend](https://developer.hashicorp.com/terraform/language/backend) and 2) commit or otherwise backup the Terraform configuration files you create/modify.
44

5-
```shell
6-
git clone https://github.com/Worklytics/psoxy.git
7-
```
85

9-
2. if using Microsoft 365 sources, install and authenticate Azure CLI
6+
## Why Google Cloud Shell?
7+
8+
Google Cloud Shell is implicitly auth'd as your GCP user, which eases running `terraform` to deploy GCP-hosted proxy instances as well as connectors to Google Workspace. So if you're hosting in GCP, or even if you're hosting in AWS but connecting to Google Workspace data, running in GCP cloud shell may be simpler than in a location where you must authenticate with BOTH aws and gcp.
9+
10+
Cloud Shell offers security benefits over your personal laptop. Even if you use a remote state solution, sensitive information handled by terraform will transit the environment where `terraform` executes. Cloud shell avoids your laptop, local network, and the public internet being in this loop. And there's nothing physical to get lost/stolen/damaged.
11+
12+
Cloud Shell offers both a terminal and an editor interface via the web. This is more convenient than running terraform in a plain container/VM, where you'd be limited to a terminal and file transfer can be tricky.
13+
14+
15+
## Why not Google Cloud Shell?
16+
17+
Stock dependencies provided by Google are somewhat old; you'll have to update and maintain a few of them to manage the proxy, which may be redundant if you maintain your laptop for terraform/git/java/maven development. As of v0.5.x of the proxy, the stock `terraform` is insufficient; with `v0.6.x`, we anticipate the stock `mvn`/`java` will also be too old.
18+
19+
Per above, GCP is a bit stingy about keeping Google Cloud shell home directories around if not in "active" use; so you need to ensure you log into it periodically. Even if you back-up your Terraform configurations and state to locations outside the shell, if your Cloud Shell instance is de-provisioned by GCP - you'll need to repeat the 'Getting Started' steps again to install all the dependencies/etc.
1020

11-
https://docs.microsoft.com/en-us/cli/azure/install-azure-cli
21+
## Getting Started
1222

13-
3. if deploying AWS infra,
14-
[install](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) and
15-
authenticate AWS CLI
23+
1. install `tfenv`, to ease getting proper version of terraform:
1624

1725
```shell
18-
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
19-
unzip awscliv2.zip
20-
sudo ./aws/install
26+
git clone https://github.com/tfutils/tfenv.git ~/.tfenv
27+
mkdir ~/bin
28+
ln -s ~/.tfenv/bin/* ~/bin/
29+
tfenv install
30+
tfenv use latest
2131
```
2232

23-
You should now be ready for the general instructions in the [README.md](../README.md).
33+
You should now be ready to continue with the [general setup](https://docs.worklytics.co/psoxy#setup). Those steps should include installation of AWS CLI (for AWS-hosted) and Azure CLI (required for MSFT 365 sources)

infra/examples-dev/aws/google-workspace.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ provider "google" {
88

99
module "worklytics_connectors_google_workspace" {
1010
source = "../../modules/worklytics-connectors-google-workspace"
11-
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-google-workspace?ref=v0.5.7"
11+
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-google-workspace?ref=v0.5.8"
1212

1313
providers = {
1414
google = google.google_workspace

infra/examples-dev/aws/main.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ terraform {
2121
# general cases
2222
module "worklytics_connectors" {
2323
source = "../../modules/worklytics-connectors"
24-
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors?ref=v0.5.7"
24+
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors?ref=v0.5.8"
2525

2626
enabled_connectors = var.enabled_connectors
2727
chat_gpt_enterprise_example_workspace_id = var.chat_gpt_enterprise_example_workspace_id
@@ -106,7 +106,7 @@ locals {
106106

107107
module "psoxy" {
108108
source = "../../modules/aws-host"
109-
# source = "git::https://github.com/worklytics/psoxy//infra/modules/aws-host?ref=v0.5.7"
109+
# source = "git::https://github.com/worklytics/psoxy//infra/modules/aws-host?ref=v0.5.8"
110110

111111
environment_name = var.environment_name
112112
aws_account_id = var.aws_account_id
@@ -170,7 +170,7 @@ module "connection_in_worklytics" {
170170
for_each = local.all_instances
171171

172172
source = "../../modules/worklytics-psoxy-connection-aws"
173-
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-psoxy-connection-aws?ref=v0.5.7"
173+
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-psoxy-connection-aws?ref=v0.5.8"
174174

175175
proxy_instance_id = each.key
176176
worklytics_host = var.worklytics_host

infra/examples-dev/aws/msft-365.tf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module "worklytics_connectors_msft_365" {
44
source = "../../modules/worklytics-connectors-msft-365"
5-
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-msft-365?ref=v0.5.7"
5+
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-msft-365?ref=v0.5.8"
66

77
enabled_connectors = var.enabled_connectors
88
environment_id = var.environment_name
@@ -48,7 +48,7 @@ module "cognito_identity_pool" {
4848
count = local.msft_365_enabled ? 1 : 0 # only provision identity pool if MSFT-365 connectors are enabled
4949

5050
source = "../../modules/aws-cognito-pool"
51-
# source = "git::https://github.com/worklytics/psoxy//infra/modules/aws-cognito-pool?ref=v0.5.7"
51+
# source = "git::https://github.com/worklytics/psoxy//infra/modules/aws-cognito-pool?ref=v0.5.8"
5252

5353
developer_provider_name = local.developer_provider_name
5454
name = "${local.env_qualifier}-azure-ad-federation"
@@ -71,7 +71,7 @@ module "cognito_identity" {
7171
count = local.msft_365_enabled ? 1 : 0 # only provision identity pool if MSFT-365 connectors are enabled
7272

7373
source = "../../modules/aws-cognito-identity-cli"
74-
# source = "git::https://github.com/worklytics/psoxy//infra/modules/aws-cognito-identity-cli?ref=v0.5.7"
74+
# source = "git::https://github.com/worklytics/psoxy//infra/modules/aws-cognito-identity-cli?ref=v0.5.8"
7575

7676
aws_region = data.aws_region.current.id
7777
aws_role = var.aws_assume_role_arn
@@ -108,7 +108,7 @@ module "msft_connection_auth_federation" {
108108
for_each = local.provision_entraid_apps ? local.enabled_to_entraid_object : local.shared_to_entraid_object
109109

110110
source = "../../modules/azuread-federated-credentials"
111-
# source = "git::https://github.com/worklytics/psoxy//infra/modules/azuread-federated-credentials?ref=v0.5.7"
111+
# source = "git::https://github.com/worklytics/psoxy//infra/modules/azuread-federated-credentials?ref=v0.5.8"
112112

113113
application_id = each.value.connector_id
114114
display_name = "${local.env_qualifier}AccessFromAWS"

infra/examples-dev/gcp/google-workspace.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ provider "google" {
88

99
module "worklytics_connectors_google_workspace" {
1010
source = "../../modules/worklytics-connectors-google-workspace"
11-
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-google-workspace?ref=v0.5.7"
11+
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-google-workspace?ref=v0.5.8"
1212

1313
providers = {
1414
google = google.google_workspace

infra/examples-dev/gcp/main.tf

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ locals {
2929
# call this 'generic_source_connectors'?
3030
module "worklytics_connectors" {
3131
source = "../../modules/worklytics-connectors"
32-
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors?ref=v0.5.7"
32+
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors?ref=v0.5.8"
3333

3434
enabled_connectors = var.enabled_connectors
3535
chat_gpt_enterprise_example_workspace_id = var.chat_gpt_enterprise_example_workspace_id
@@ -84,7 +84,7 @@ locals {
8484

8585
module "psoxy" {
8686
source = "../../modules/gcp-host"
87-
# source = "git::https://github.com/worklytics/psoxy//infra/modules/gcp-host?ref=v0.5.7"
87+
# source = "git::https://github.com/worklytics/psoxy//infra/modules/gcp-host?ref=v0.5.8"
8888

8989
gcp_project_id = var.gcp_project_id
9090
environment_name = var.environment_name
@@ -121,6 +121,7 @@ module "psoxy" {
121121
custom_side_outputs = var.custom_side_outputs
122122
todos_as_local_files = var.todos_as_local_files
123123
todo_step = local.max_auth_todo_step
124+
bucket_force_destroy = var.bucket_force_destroy
124125
}
125126

126127
locals {
@@ -132,7 +133,7 @@ module "connection_in_worklytics" {
132133
for_each = local.all_instances
133134

134135
source = "../../modules/worklytics-psoxy-connection-generic"
135-
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-psoxy-connection-generic?ref=v0.5.7"
136+
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-psoxy-connection-generic?ref=v0.5.8"
136137

137138
host_platform_id = local.host_platform_id
138139
proxy_instance_id = each.key

infra/examples-dev/gcp/msft-365.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module "worklytics_connectors_msft_365" {
44
source = "../../modules/worklytics-connectors-msft-365"
5-
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-msft-365?ref=v0.5.7"
5+
# source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-msft-365?ref=v0.5.8"
66

77
enabled_connectors = var.enabled_connectors
88
environment_id = var.environment_name
@@ -34,7 +34,7 @@ module "msft-connection-auth-federation" {
3434
for_each = module.worklytics_connectors_msft_365.enabled_api_connectors
3535

3636
source = "../../modules/azuread-federated-credentials"
37-
# source = "git::https://github.com/worklytics/psoxy//infra/modules/azuread-federated-credentials?ref=v0.5.7"
37+
# source = "git::https://github.com/worklytics/psoxy//infra/modules/azuread-federated-credentials?ref=v0.5.8"
3838

3939
application_id = each.value.connector.id
4040
display_name = "GcpFederation"

infra/examples-dev/gcp/variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,3 +407,9 @@ variable "todos_as_local_files" {
407407
description = "whether to render TODOs as flat files"
408408
default = true
409409
}
410+
411+
variable "bucket_force_destroy" {
412+
type = bool
413+
description = "set the `force_destroy` flag on each google_storage_bucket provisioned by this configuration"
414+
default = false
415+
}

infra/modules/aws-psoxy-bulk/main.tf

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@ resource "random_string" "bucket_suffix" {
88
lower = true
99
upper = false
1010
special = false
11+
12+
lifecycle {
13+
# just NEVER recreate this random string; never what we're going to want to do, as will re-create the buckets
14+
ignore_changes = [
15+
length,
16+
special,
17+
lower,
18+
upper,
19+
numeric,
20+
]
21+
}
1122
}
1223

1324
module "env_id" {

0 commit comments

Comments
 (0)