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

chore: use KEYVAULT_URL instead of KEYVAULT_NAME in quick start and tests #638

Merged
merged 3 commits into from
Nov 21, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .pipelines/nightly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
# contains the following environment variables:
# - APPLICATION_CLIENT_ID
# - AZURE_TENANT_ID
# - KEYVAULT_NAME
# - KEYVAULT_URL
# - KEYVAULT_SECRET_NAME
- group: e2e-environment-variables
- name: REGISTRY
Expand Down Expand Up @@ -99,7 +99,7 @@ jobs:
env:
APPLICATION_CLIENT_ID: $(APPLICATION_CLIENT_ID)
AZURE_TENANT_ID: $(AZURE_TENANT_ID)
KEYVAULT_NAME: $(KEYVAULT_NAME)
KEYVAULT_URL: $(KEYVAULT_URL)
KEYVAULT_SECRET_NAME: $(KEYVAULT_SECRET_NAME)
- template: templates/publish-logs.yaml
- template: templates/upgrade.yaml
Expand Down Expand Up @@ -131,7 +131,7 @@ jobs:
# contains the following environment variables:
# - APPLICATION_CLIENT_ID
# - AZURE_TENANT_ID
# - KEYVAULT_NAME
# - KEYVAULT_URL
# - KEYVAULT_SECRET_NAME
# - SERVICE_ACCOUNT_ISSUER
# - SERVICE_ACCOUNT_KEYVAULT_NAME
Expand All @@ -154,7 +154,7 @@ jobs:
env:
APPLICATION_CLIENT_ID: $(APPLICATION_CLIENT_ID)
AZURE_TENANT_ID: $(AZURE_TENANT_ID)
KEYVAULT_NAME: $(KEYVAULT_NAME)
KEYVAULT_URL: $(KEYVAULT_URL)
KEYVAULT_SECRET_NAME: $(KEYVAULT_SECRET_NAME)
SERVICE_ACCOUNT_ISSUER: $(SERVICE_ACCOUNT_ISSUER)
SERVICE_ACCOUNT_KEYVAULT_NAME: $(SERVICE_ACCOUNT_KEYVAULT_NAME)
Expand Down
4 changes: 2 additions & 2 deletions .pipelines/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ jobs:
# contains the following environment variables:
# - APPLICATION_CLIENT_ID
# - AZURE_TENANT_ID
# - KEYVAULT_NAME
# - KEYVAULT_URL
# - KEYVAULT_SECRET_NAME
# - SERVICE_ACCOUNT_ISSUER
# - SERVICE_ACCOUNT_KEYVAULT_NAME
Expand Down Expand Up @@ -112,7 +112,7 @@ jobs:
env:
APPLICATION_CLIENT_ID: $(APPLICATION_CLIENT_ID)
AZURE_TENANT_ID: $(AZURE_TENANT_ID)
KEYVAULT_NAME: $(KEYVAULT_NAME)
KEYVAULT_URL: $(KEYVAULT_URL)
KEYVAULT_SECRET_NAME: $(KEYVAULT_SECRET_NAME)
SERVICE_ACCOUNT_ISSUER: $(SERVICE_ACCOUNT_ISSUER)
SERVICE_ACCOUNT_KEYVAULT_NAME: $(SERVICE_ACCOUNT_KEYVAULT_NAME)
Expand Down
6 changes: 3 additions & 3 deletions .pipelines/templates/upgrade.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
# contains the following environment variables:
# - APPLICATION_CLIENT_ID
# - AZURE_TENANT_ID
# - KEYVAULT_NAME
# - KEYVAULT_URL
# - KEYVAULT_SECRET_NAME
- group: e2e-environment-variables
- name: REGISTRY
Expand All @@ -30,7 +30,7 @@ jobs:
SKIP_CLEANUP: "true"
APPLICATION_CLIENT_ID: $(APPLICATION_CLIENT_ID)
AZURE_TENANT_ID: $(AZURE_TENANT_ID)
KEYVAULT_NAME: $(KEYVAULT_NAME)
KEYVAULT_URL: $(KEYVAULT_URL)
KEYVAULT_SECRET_NAME: $(KEYVAULT_SECRET_NAME)
- script: |
# xref: https://github.com/Azure/secrets-store-csi-driver-provider-azure/blob/512316adc9daa2216de10a6288f6c1df8a122654/.pipelines/templates/aks-upgrade.yaml#L3-L8
Expand Down Expand Up @@ -58,7 +58,7 @@ jobs:
env:
APPLICATION_CLIENT_ID: $(APPLICATION_CLIENT_ID)
AZURE_TENANT_ID: $(AZURE_TENANT_ID)
KEYVAULT_NAME: $(KEYVAULT_NAME)
KEYVAULT_URL: $(KEYVAULT_URL)
KEYVAULT_SECRET_NAME: $(KEYVAULT_SECRET_NAME)
- script: az group delete --name "${CLUSTER_NAME}" --yes --no-wait || true
displayName: Cleanup
Expand Down
4 changes: 1 addition & 3 deletions docs/book/src/quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -281,8 +281,6 @@ spec:
- image: ghcr.io/azure/azure-workload-identity/msal-go
name: oidc
env:
- name: KEYVAULT_NAME
value: ${KEYVAULT_NAME}
- name: KEYVAULT_URL
value: ${KEYVAULT_URL}
- name: SECRET_NAME
Expand Down Expand Up @@ -349,7 +347,7 @@ Containers:
Ready: True
Restart Count: 0
Environment:
KEYVAULT_NAME: ${KEYVAULT_NAME}
KEYVAULT_URL: ${KEYVAULT_URL}
SECRET_NAME: ${KEYVAULT_SECRET_NAME}
AZURE_AUTHORITY_HOST: (Injected by the webhook)
AZURE_CLIENT_ID: (Injected by the webhook)
Expand Down
14 changes: 7 additions & 7 deletions examples/msal-go/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package main

import (
"context"
"fmt"
"os"
"time"

Expand All @@ -13,12 +12,13 @@ import (

func main() {
keyvaultURL := os.Getenv("KEYVAULT_URL")
if keyvaultURL == "" {
keyvaultName := os.Getenv("KEYVAULT_NAME")
// fallback to use global cloud
keyvaultURL = fmt.Sprintf("https://%s.vault.azure.net/", keyvaultName)
}
secretName := os.Getenv("SECRET_NAME")
if keyvaultURL == "" {
klog.Fatal("KEYVAULT_URL environment variable is not set")
}
secretName := os.Getenv("SECRET_NAME")
if secretName == "" {
klog.Fatal("SECRET_NAME environment variable is not set")
}

// initialize keyvault client with custom authorizer
kvClient := keyvault.New()
Expand Down
12 changes: 10 additions & 2 deletions examples/msal-java/src/main/java/com/example/msal/java/App.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,19 @@
public class App {
public static void main(String[] args) {
Map<String, String> env = System.getenv();
String keyvaultName = env.get("KEYVAULT_NAME");
String keyvaultURL = env.get("KEYVAULT_URL");
if (keyvaultURL == null) {
System.out.println("KEYVAULT_URL environment variable not set");
return;
}
String secretName = env.get("SECRET_NAME");
if (secretName == null) {
System.out.println("SECRET_NAME environment variable not set");
return;
}

SecretClient secretClient = new SecretClientBuilder()
.vaultUrl(String.format("https://%s.vault.azure.net", keyvaultName))
.vaultUrl(keyvaultURL)
.credential(new CustomTokenCredential())
.buildClient();
KeyVaultSecret secret = secretClient.getSecret(secretName);
Expand Down
8 changes: 6 additions & 2 deletions examples/msal-net/akvdotnet/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,15 @@ static void Main(string[] args)
Program P = new Program();
string keyvaultURL = Environment.GetEnvironmentVariable("KEYVAULT_URL");
if (string.IsNullOrEmpty(keyvaultURL)) {
string keyvaultName = Environment.GetEnvironmentVariable("KEYVAULT_NAME");
keyvaultURL = "https://" + keyvaultName + ".vault.azure.net/";
Console.WriteLine("KEYVAULT_URL environment variable not set");
return;
}

string secretName = Environment.GetEnvironmentVariable("SECRET_NAME");
if (string.IsNullOrEmpty(secretName)) {
Console.WriteLine("SECRET_NAME environment variable not set");
return;
}

SecretClient client = new SecretClient(
new Uri(keyvaultURL),
Expand Down
14 changes: 11 additions & 3 deletions examples/msal-node/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,18 @@ const main = async () => {
// create a token credential object, which has a getToken method that returns a token
const tokenCredential = new MyClientAssertionCredential()

const keyvaultURL = process.env.KEYVAULT_URL
if (!keyvaultURL) {
throw new Error("KEYVAULT_URL environment variable not set")
}
const secretName = process.env.SECRET_NAME
if (!secretName) {
throw new Error("SECRET_NAME environment variable not set")
}

// create a secret client with the token credential
const url = `https://${process.env.KEYVAULT_NAME}.vault.azure.net`
const keyvault = new SecretClient(url, tokenCredential)
const secret = await keyvault.getSecret(process.env.SECRET_NAME).catch(error => console.log(error))
const keyvault = new SecretClient(keyvaultURL, tokenCredential)
const secret = await keyvault.getSecret(secretName).catch(error => console.log(error))
console.log(`successfully got secret, secret=${secret.value}`)
}

Expand Down
5 changes: 3 additions & 2 deletions examples/msal-python/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,10 @@ def main():

keyvault_url = os.getenv('KEYVAULT_URL', '')
if not keyvault_url:
keyvault_name = os.getenv('KEYVAULT_NAME', '')
keyvault_url='https://{}.vault.azure.net'.format(keyvault_name)
raise Exception('KEYVAULT_URL environment variable is not set')
secret_name = os.getenv('SECRET_NAME', '')
if not secret_name:
raise Exception('SECRET_NAME environment variable is not set')

# create a secret client with the token credential
keyvault = SecretClient(vault_url=keyvault_url, credential=token_credential)
Expand Down
8 changes: 4 additions & 4 deletions test/e2e/token_exchange.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ var _ = ginkgo.Describe("TokenExchange [AKSSoakOnly] [Exclude:Arc]", func() {
ginkgo.It("should exchange the service account token for a valid AAD token", func() {
clientID, ok := os.LookupEnv("APPLICATION_CLIENT_ID")
gomega.Expect(ok).To(gomega.BeTrue(), "APPLICATION_CLIENT_ID must be set")
keyvaultName, ok := os.LookupEnv("KEYVAULT_NAME")
gomega.Expect(ok).To(gomega.BeTrue(), "KEYVAULT_NAME must be set")
keyvaultURL, ok := os.LookupEnv("KEYVAULT_URL")
gomega.Expect(ok).To(gomega.BeTrue(), "KEYVAULT_URL must be set")
keyvaultSecretName, ok := os.LookupEnv("KEYVAULT_SECRET_NAME")
gomega.Expect(ok).To(gomega.BeTrue(), "KEYVAULT_SECRET_NAME must be set")

Expand All @@ -47,8 +47,8 @@ var _ = ginkgo.Describe("TokenExchange [AKSSoakOnly] [Exclude:Arc]", func() {
nil,
nil,
[]corev1.EnvVar{{
Name: "KEYVAULT_NAME",
Value: keyvaultName,
Name: "KEYVAULT_URL",
Value: keyvaultURL,
}, {
Name: "SECRET_NAME",
Value: keyvaultSecretName,
Expand Down