Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Load azure secret from vault in JAVA code #254

Merged
merged 23 commits into from
Oct 27, 2023

Conversation

yishi-ttd
Copy link
Contributor

@yishi-ttd yishi-ttd commented Oct 25, 2023

Load operator key from JAVA code, instead of shell script.

@yishi-ttd yishi-ttd force-pushed the ysh-UID2-2123-load-azure-secret-from-vault branch from 37e0d81 to 2637d64 Compare October 25, 2023 03:59
@@ -58,7 +58,7 @@ public CloudSyncOptOutStore(Vertx vertx, ICloudStorage fsLocal, JsonObject jsonC
this.remoteApiPort = -1 == url.getPort() ? 80 : url.getPort();
this.remoteApiHost = url.getHost();
this.remoteApiPath = url.getPath();
this.remoteApiBearerToken = "Bearer " + jsonConfig.getString(Const.Config.OptOutApiTokenProp);
this.remoteApiBearerToken = "Bearer " + operatorKey;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we changing this? It is also used directly above on line 55

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

L55 is a different config.
Currently we will set the same operator key for both "OptOutApiToken" and "CoreApiToken".

The value of "OptOutApiToken" should also be fetched from vault - actually it's just operator key.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, but this would mean we are actually getting rid of the config setting for optout_api_token. In that case, we need to remove it from the code, and from all the config. This could be another ticket, but I don't think we should leave unused config settings in the code / config files

Copy link
Contributor Author

@yishi-ttd yishi-ttd Oct 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will remove OptOutApiTokenProp config first in this PR.
This is the only place that will use it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As for the places to set this env, I will create a ticket to track.


@Override
public String retrieve() {
return this.config.getString(Const.Config.CoreApiTokenProp);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The name of the property and the class name difference will cause confusion - the OperatorKeyRetriever reads the CoreApiTokenProp? They should both be called OperatorKey or CoreApiToken

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CoreApiTokenProp(core_api_token) is an existing config in shared and I don't want to change this to break existing logic.
E.g. currently AWS/GCP will set core_api_token and optout_api_token, they could still work after this change.

@@ -134,6 +134,7 @@ jobs:

- name: Test with Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
if: inputs.publish_vulnerabilities == 'true'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should still scan and fail on critical. We can only publish if it is a public repo, so that is why the switch exists, but we should always scan.
As this is a public repo, i don't think we should even have the publish_vulerabilities switch - we should always scan and publish

Copy link
Contributor Author

@yishi-ttd yishi-ttd Oct 26, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NVM, got your point. I thought this is a follow up step of the vulnerability check, and depends on previous step's input. But it actually does the same check as Step Generate Trivy vulnerability scan report

Will revert it back.

@@ -58,7 +58,7 @@ public CloudSyncOptOutStore(Vertx vertx, ICloudStorage fsLocal, JsonObject jsonC
this.remoteApiPort = -1 == url.getPort() ? 80 : url.getPort();
this.remoteApiHost = url.getHost();
this.remoteApiPath = url.getPath();
this.remoteApiBearerToken = "Bearer " + jsonConfig.getString(Const.Config.OptOutApiTokenProp);
this.remoteApiBearerToken = "Bearer " + operatorKey;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, but this would mean we are actually getting rid of the config setting for optout_api_token. In that case, we need to remove it from the code, and from all the config. This could be another ticket, but I don't think we should leave unused config settings in the code / config files

src/main/java/com/uid2/operator/Main.java Show resolved Hide resolved
@yishi-ttd yishi-ttd merged commit ac2efd3 into master Oct 27, 2023
@cYKatherine cYKatherine deleted the ysh-UID2-2123-load-azure-secret-from-vault branch July 31, 2024 01:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants