This is a template repo for a Terraform configuration that deploys the Worklytics pseudonymization proxy (psoxy) on GCP.
You'll need:
- a Bash-like shell environment on Linux, MacOS, or WSL on Windows.
git
installed, although it is usually included on those platforms (check withgit --version
).- an GCP project account and credentials, as described in Psoxy's Getting Started - GCP docs
- the prerequisites for Psoxy itself, although this example will attempt to help you check those
See GitHub's documentation for more details.
-
Click the 'Use this template' button in the upper right corner of this page.
- choose a name for your copy of this repo
- leave "Include all branches" unchecked
-
Clone the resulting repo to your machine. Example command below, just fill in your org and repo names.
git clone https://github.com/{{YOUR_ORG_ID}}/{{YOUR_REPO_NAME}}.git
- Check your prereqs. Review versions and install anything needed.
./check-prereqs
- Authenticate your tools as needed:
- auth GCloud CLI -
gcloud auth login
to authenticate, thengcloud auth list
to verify you have expected account/user - auth Azure CLI if using Microsoft 365 data sources -
az login --allow-no-subscription
to authenticate, thenaz account list
to verify you have expected account/user
- Initialize your configuration using our helper script. Follow the prompts.
./init
-
Review your
terraform.tfvars
file andmain.tf
; customize as needed (eg, comment out datasources you don't need).In particular, if you're NOT using Google Workspace as a data source, remove (delete) the
.tf
files namedgoogle-*.tf
AND references to values from those files from themain.tf
file. (Our./init
script should have removed these for you)Similiarly, if you're NOT using Microsoft 365 as a data source, remove (delete) the
.tf
files namedmsft-365-*.tf
AND references to values from those files from themain.tf
file. (Our./init
script should have removed these for you) -
Run
terraform plan
and review results to understand what will be created. Customize yourterraform.tfvars
ormain.tf
file if needed. (or push to your CI/CD system, if not running locally)
terraform plan
- Run
terraform apply
to create the resources. (or push to your CI/CD system to do this automatically)
terraform apply
- The above steps have created or modified various files that you should commit a code repository
or otherwise preserve. In particular
terraform.tfvars
,main.tf
,terraform.tfstate
(if you ranterraform
locally) and.terraform.lock.hcl
should be preserved. Please dogit add
for each and thengit commit
to save your changes.
The source code contained in this repo is licensed under the Apache License, Version 2.0.
Usage of terraform, psoxy, or other tooling invoked by scripts in this repo or described in the example tutorials it contains are each subject to their own license terms.
This example repo is maintained by Worklytics. Paid support is available. Please contact sales@worklytics.co.
-
Review your
terraform.tfvars
file andmain.tf
; customize as needed (eg, comment out datasources you don't need).In particular, if you're NOT using Google Workspace as a data source, remove (delete) the
.tf
files namedgoogle-*.tf
AND references to values from those files from themain.tf
file. (Our./init
script should have removed these for you)Similiarly, if you're NOT using Microsoft 365 as a data source, remove (delete) the
.tf
files namedmsft-365-*.tf
AND references to values from those files from themain.tf
file. (Our./init
script should have removed these for you) -
Run
terraform plan
and review results to understand what will be created. Customize yourterraform.tfvars
ormain.tf
file if needed. (or push to your CI/CD system, if not running locally)
terraform plan
- Run
terraform apply
to create the resources. (or push to your CI/CD system to do this automatically)
terraform apply
- The above steps have created or modified various files that you should commit a code repository
or otherwise preserve. In particular
terraform.tfvars
,main.tf
,terraform.tfstate
(if you ranterraform
locally) and.terraform.lock.hcl
should be preserved. Please dogit add
for each and thengit commit
to save your changes.
The source code contained in this repo is licensed under the Apache License, Version 2.0.
Usage of terraform, psoxy, or other tooling invoked by scripts in this repo or described in the example tutorials it contains are each subject to their own license terms.
This example repo is maintained by Worklytics. Paid support is available. Please contact sales@worklytics.co.