Skip to content

Commit d0eafc8

Browse files
authored
release v0.5.0 from PR #843
release v0.5.0 from PR #843
2 parents 72f57f8 + 367d1bd commit d0eafc8

File tree

362 files changed

+2979
-10779
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

362 files changed

+2979
-10779
lines changed

.github/workflows/ci-cmd-line.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
runs-on: ubuntu-latest
1919
strategy:
2020
matrix:
21-
java-version: [ '11', '17', '21']
21+
java-version: [ '17', '21']
2222
name: bundle ${{ matrix.implementation }}
2323
steps:
2424
- name: Check out code

.github/workflows/ci-java-all.yaml

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,30 +13,21 @@ on:
1313
- 'rc-*'
1414

1515
jobs:
16-
# Java 11 - Oracle support ended 30 Sept 2023 ... but still what ships with GCP cloud shell!!!
17-
ci_java11:
18-
uses: ./.github/workflows/build-java.yaml
19-
with:
20-
java-version: '11'
2116

2217
# Java 17 - supported until 30 Sept 2026; same as our default build as of Apr 2023
2318
ci_java17:
2419
uses: ./.github/workflows/build-java.yaml
2520
with:
2621
java-version: '17'
2722

28-
# Java 20 - support ended 19 Sept 2023
29-
# NOTE: psoxy versions 0.4.40 supported this; if you need it, option to downgrade to that.
30-
# although beyond me why 17 and 21 both work, but 20 doesn't; best guess is Mockito 5 degrading
31-
# behavior in some way for 20 that isn't needed for 21 and doesn't matter for 17?
32-
33-
ci_java20:
34-
uses: ./.github/workflows/build-java.yaml
35-
with:
36-
java-version: '20'
37-
3823
# Java 21 - released 19 Sept 2023, supported until Sept 2028 (LTS)
3924
ci_java21:
4025
uses: ./.github/workflows/build-java.yaml
4126
with:
4227
java-version: '21'
28+
29+
# Java 23 - released 17 Sept 2024, supported until March 2025
30+
ci_java23:
31+
uses: ./.github/workflows/build-java.yaml
32+
with:
33+
java-version: '23'

.github/workflows/ci-java8-core.yaml renamed to .github/workflows/ci-java17-core.yaml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
name: CI - java8 core
1+
name: CI - java17 core
22

3-
# CI to build and test project components for which we need java8 builds
3+
# NOTE: as of Dec 2024, regulard build is ALSO java17, so not useful - but let's keep around bc possibly Worklytics will use 17 beyond when that's the proxy default
4+
5+
# CI to build and test project components for which we need java17 builds
46
# NOTE: this is ONLY core/gateway-core libraries; we don't build the executable/deployment bundles
57
# (eg, this does not build, cmd-line,aws, gcp)
68
#
@@ -15,9 +17,9 @@ on:
1517
# - '**' # should match all branches
1618

1719
jobs:
18-
ci_java8_core:
20+
ci_java17_core:
1921
env:
20-
compile-profile: '-P java8 ' # NOTE: trailing space is important
22+
# compile-profile: '-P java17 ' # NOTE: trailing space is important
2123
java-version: '17' # build w java 17, but pom configured to still build java 8 byte code
2224
runs-on: ubuntu-latest
2325
steps:

.github/workflows/ci-terraform-examples-release.yaml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,10 @@ jobs:
1414
strategy:
1515
matrix:
1616
example_path: [
17-
'examples/aws-google-workspace',
18-
'examples/aws-msft-365',
1917
'examples/gcp-bootstrap-cft',
2018
'examples/gcp-bootstrap-simple',
21-
'examples/gcp-google-workspace',
22-
'examples/msft-365'
2319
]
24-
terraform_version: [ '~1.3.0', '~1.4.0', '~1.5.0', '~1.6.0', '~1.7.0', '~1.8.0', '~1.9.0', 'latest' ]
20+
terraform_version: [ '~1.6.0', '~1.7.0', '~1.8.0', '~1.9.0', '~1.10.0', 'latest' ]
2521
uses: ./.github/workflows/ci-terraform-example.yaml
2622
with:
2723
terraform_version: ${{ matrix.terraform_version }}

.github/workflows/ci-terraform-examples.yaml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,9 @@ jobs:
1313
matrix:
1414
example_path: [
1515
'examples-dev/aws',
16-
'examples-dev/aws-all',
17-
'examples-dev/aws-google-workspace',
18-
'examples-dev/aws-msft-365',
1916
'examples-dev/gcp',
20-
'examples-dev/gcp-google-workspace',
2117
]
22-
terraform_version: [ '~1.3.0', '~1.4.0', '~1.5.0', '~1.6.0', '~1.7.0', '~1.8.0', '~1.9.0', 'latest' ]
18+
terraform_version: [ '~1.6.0', '~1.7.0', '~1.8.0', '~1.9.0', '~1.10.0', 'latest' ]
2319
uses: ./.github/workflows/ci-terraform-example.yaml
2420
with:
2521
terraform_version: ${{ matrix.terraform_version }}

.github/workflows/ci-terraform-modules.yaml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-latest
1212
strategy:
1313
matrix:
14-
terraform_version: [ '~1.3.0', '~1.4.0', '~1.5.0', '~1.6.0', '~1.7.0', '~1.8.0', '~1.9.0', 'latest' ]
14+
terraform_version: [ '~1.6.0', '~1.7.0', '~1.8.0', '~1.9.0', '~1.10.0', 'latest' ]
1515
steps:
1616
- name: Check out code
1717
uses: actions/checkout@v4
@@ -26,10 +26,3 @@ jobs:
2626
run: |
2727
terraform init -reconfigure
2828
terraform validate
29-
30-
- name: "Terraform - validate modules/worklytics-ip-blocks"
31-
working-directory: infra/modules/worklytics-ip-blocks
32-
run: |
33-
terraform init -reconfigure
34-
terraform validate
35-
terraform apply --auto-approve

.github/workflows/ci-tools.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
# 16 is min version recommended to users; but unmaintained since 2023-10
1515
# 18 released 2022-04-19 - maintained until June 2025
1616
# 20 maintained until June 2026
17-
# 21 released Oct 2023; superceded in May 2024
17+
# 21 released Oct 2023; superseded in May 2024
1818
# latest is the 22 as of May 2024; 23 coming in Oct 2024
1919
node-version: [ 18, 20, 21, latest]
2020
steps:

.github/workflows/codeql.yml

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# For most projects, this workflow file will not need changing; you simply need
2+
# to commit it to your repository.
3+
#
4+
# You may wish to alter this file to override the set of languages analyzed,
5+
# or to provide custom queries or build logic.
6+
#
7+
# ******** NOTE ********
8+
# We have attempted to detect the languages in your repository. Please check
9+
# the `language` matrix defined below to confirm you have the correct set of
10+
# supported CodeQL languages.
11+
#
12+
name: "CodeQL Advanced"
13+
14+
on:
15+
push:
16+
branches: [ "main", "rc-*" ]
17+
pull_request:
18+
branches: [ "main", "rc-*" ]
19+
schedule:
20+
- cron: '25 4 * * 5'
21+
22+
jobs:
23+
analyze:
24+
name: Analyze (${{ matrix.language }})
25+
# Runner size impacts CodeQL analysis time. To learn more, please see:
26+
# - https://gh.io/recommended-hardware-resources-for-running-codeql
27+
# - https://gh.io/supported-runners-and-hardware-resources
28+
# - https://gh.io/using-larger-runners (GitHub.com only)
29+
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
30+
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
31+
permissions:
32+
# required for all workflows
33+
security-events: write
34+
35+
# required to fetch internal or private CodeQL packs
36+
packages: read
37+
38+
# only required for workflows in private repositories
39+
actions: read
40+
contents: read
41+
42+
strategy:
43+
fail-fast: false
44+
matrix:
45+
include:
46+
- language: java-kotlin
47+
build-mode: none # This mode only analyzes Java. Set this to 'autobuild' or 'manual' to analyze Kotlin too.
48+
steps:
49+
- name: Checkout repository
50+
uses: actions/checkout@v4
51+
52+
- name: Setup Java
53+
uses: actions/setup-java@v4
54+
with:
55+
java-version: 17
56+
distribution: zulu
57+
# Initializes the CodeQL tools for scanning.
58+
- name: Initialize CodeQL
59+
uses: github/codeql-action/init@v3
60+
with:
61+
languages: ${{ matrix.language }}
62+
build-mode: ${{ matrix.build-mode }}
63+
# If you wish to specify custom queries, you can do so here or in a config file.
64+
# By default, queries listed here will override any specified in a config file.
65+
# Prefix the list here with "+" to use these queries and those in the config file.
66+
67+
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
68+
# queries: security-extended,security-and-quality
69+
70+
-
71+
72+
# If the analyze step fails for one of the languages you are analyzing with
73+
# "We were unable to automatically build your code", modify the matrix above
74+
# to set the build mode to "manual" for that language. Then modify this step
75+
# to build your code.
76+
# ℹ️ Command-line programs to run using the OS shell.
77+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
78+
- if: matrix.build-mode == 'manual'
79+
shell: bash
80+
run: |
81+
echo 'If you are using a "manual" build mode for one or more of the' \
82+
'languages you are analyzing, replace this with the commands to build' \
83+
'your code, for example:'
84+
echo ' make bootstrap'
85+
echo ' make release'
86+
exit 1
87+
88+
- name: Perform CodeQL Analysis
89+
uses: github/codeql-action/analyze@v3
90+
with:
91+
category: "/language:${{matrix.language}}"

.github/workflows/publish-examples.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ jobs:
1616
uses: ./.github/workflows/publish-example.yaml
1717
with:
1818
example-repo: 'Worklytics/psoxy-example-aws'
19-
example-to-copy: 'infra/examples-dev/aws-all'
19+
example-to-copy: 'infra/examples-dev/aws'
2020
example-repo-token: ${{ secrets.PSOXY_EXAMPLE_AWS_TOKEN }}
2121
release: ${{ inputs.release }}
2222
publish-example-gcp:
2323
uses: ./.github/workflows/publish-example.yaml
2424
with:
2525
example-repo: 'Worklytics/psoxy-example-gcp'
26-
example-to-copy: 'infra/examples-dev/gcp-all'
26+
example-to-copy: 'infra/examples-dev/gcp'
2727
example-repo-token: ${{ secrets.PSOXY_EXAMPLE_GCP_TOKEN }}
2828
release: ${{ inputs.release }}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: "require PRs to be merged via 'rc-*' branches"
2+
3+
on:
4+
pull_request:
5+
types: [opened, edited, synchronize]
6+
7+
jobs:
8+
check-branch-name:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- name: Check that PR's base branch is an 'rc-' branch, unless the head branch is an 'rc-' branch
13+
run: |
14+
BASE_BRANCH="${{ github.event.pull_request.base.ref }}"
15+
HEAD_BRANCH="${{ github.event.pull_request.head.ref }}"
16+
17+
# Check if base branch starts with 'rc-'
18+
if [[ "$BASE_BRANCH" != rc-* && "$HEAD_BRANCH" != rc-* ]]; then
19+
echo "Error: The base branch '$BASE_BRANCH' is not an 'rc-' branch; and the head branch '$HEAD_BRANCH' is not an 'rc-' branch."
20+
exit 1
21+
fi

.github/workflows/terraform-sec-analysis-examples.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
strategy:
1111
matrix:
1212
example_path: [
13-
'examples-dev/aws-all',
13+
'examples-dev/aws',
1414
'examples-dev/gcp',
1515
]
1616
uses: ./.github/workflows/terraform-sec-analysis.yaml

.idea/compiler.xml

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CHANGELOG.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,25 @@ Changes to be including in future/planned release notes will be added here.
77

88
## Next
99

10+
## [0.5.0](https://github.com/Worklytics/psoxy/release/tag/v0.5.0)
11+
12+
BREAKING:
13+
- minimum `azuread` provider version is generally 2.44; if you're using an older version, you'll need to
14+
upgrade (`terraform init --upgrade`); a state refresh (`terraform refresh`) may help if it complains about unknown attributes
15+
present in your state
16+
- `azuread-local-cert` module variables have changed; you must now pass `application_id` instead
17+
of `application_object_id`; these refer to different values you can obtain via the [Microsoft Entra admin center](https://entra.microsoft.com/#home)
18+
portal (formally Azure AD portal blade)
19+
- variables to `aws-host`/`gcp-host` modules to have changed slightly; if you initially copied an
20+
example based on 0.4.x, you may have to update some variable names in your `main.tf`.
21+
- minimum `google` provider version is now 5.0; this applies whether you're using GCP-hosted proxy, or merely Google Workspace as a
22+
data source
23+
- various migrations applicable to 0.4.x have been removed; if upgrading from 0.4.x, make sure you first upgrade to latest version of 0.4.x (eg, 0.4.61), run
24+
`terraform apply`, and THEN update to 0.5.x
25+
- the v0.3 pseudonymization algorithm is no longer supported; attempting to do so should result in an error
26+
- `scope` field will no longer be sent with JSON-encoded pseudonyms.
27+
- minimum java version in now 17; java 11 no longer supported (as it's a deprecated runtime in GCP; and Oracle support has ended)
28+
1029
## [0.4.61](https://github.com/Worklytics/psoxy/release/tag/v0.4.61)
1130
- added some `columnsToPseudonymizeIfPresent` to survey bulk connectors; these are to avoid PII
1231
being sent to Worklytics if these unexpected columns sent, but without errors in usual case, when
@@ -18,7 +37,6 @@ Changes to be including in future/planned release notes will be added here.
1837
- MSFT Teams: Support for listing callRecords
1938

2039
## [0.4.58](https://github.com/Worklytics/psoxy/release/tag/v0.4.58)
21-
- Including rules for Slack Huddles through *Rooms* as part of conversation history endpoint
2240
- Rules for Outlook Calendar, Outlook Mail and Teams have been updated for *no app id* and *no group id* cases
2341
to avoid supporting requests with plain user GUIDs instead of pseudonymized.
2442
- Slack: Including rules for Slack Huddles through *Rooms* as part of conversation history endpoint

docs/README.md

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -212,16 +212,15 @@ command line tools.
212212

213213
You will need all the following in your deployment environment (eg, your laptop):
214214

215-
| Tool | Version | Test Command |
216-
|-------------------------------------------------|------------------------|-----------------------|
217-
| [git](https://git-scm.com/) | 2.17+ | `git --version` |
218-
| [Maven](https://maven.apache.org/) | 3.6+ | `mvn -v` |
219-
| [Java JDK 11+](https://openjdk.org/install/) | 11, 17, 21 (see notes) | `mvn -v \| grep Java` |
220-
| [Terraform](https://www.terraform.io/) | 1.3+, <= 1.9 | `terraform version` |
215+
| Tool | Version | Test Command |
216+
|-------------------------------------------------|-----------------------|-----------------------|
217+
| [git](https://git-scm.com/) | 2.17+ | `git --version` |
218+
| [Maven](https://maven.apache.org/) | 3.6+ | `mvn -v` |
219+
| [Java JDK 11+](https://openjdk.org/install/) | 17, 21 (see notes) | `mvn -v \| grep Java` |
220+
| [Terraform](https://www.terraform.io/) | 1.6+, < 2.0 | `terraform version` |
221221

222222
NOTE: we will support Java versions for duration of official support windows, in particular the
223-
LTS versions. As of Nov 2023, we still support java 11 but may end this at any time. Minor
224-
versions, such as 12-16, and 18-20, which are out of official support, may work but are not
223+
LTS versions. Minor versions, such as 18-20, which are out of official support, may work but are not
225224
routinely tested.
226225

227226
NOTE: Using `terraform` is not strictly necessary, but it is the only supported method. You may
@@ -230,8 +229,6 @@ tool, but we don't offer documentation or support in doing so. Adapting one of
230229
[terraform examples](https://github.com/Worklytics/psoxy/tree/main/infra/examples) or writing your own config that re-uses our
231230
[modules](https://github.com/Worklytics/psoxy/tree/main/infra/modules) will simplify things greatly.
232231

233-
NOTE: Refrain to use Terraform versions 1.4.x that are < v1.4.3. We've seen bugs.
234-
235232
NOTE: from v0.4.59, we've relaxed Terraform version constraint on our modules to allow up to 1.9.x.
236233
However, we are not officially supporting this, as we strive to maintain compatibility with both
237234
OpenTofu and Terraform.

docs/SUMMARY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Table of contents
22

3-
* [PSOXY](README.md)
3+
* [Worklytics Pseudonymizing Proxy](README.md)
44
* [Overview](overview.md)
55
* [Authentication](authentication-authorization.md)
66
* [Install Prerequisites](prereqs-ubuntu.md)

docs/aws/encryption-keys.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ be set as the encryption key for these resources. A few caveats:
1818
- CloudWatch must be able to use the key, as described in
1919
[AWS CloudWatch docs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html)
2020

21-
In `example-dev/aws-all/kms-cmek.tf`, we provide a bunch of lines that you can uncomment to use
21+
In `example-dev/aws/kms-cmek.tf`, we provide a bunch of lines that you can uncomment to use
2222
encryption on S3 and properly set key policy to support S3/CloudWatch use.
2323

2424
For production use, you should adapt the key policy to your environment and scope as needed to

0 commit comments

Comments
 (0)