@@ -20,8 +20,8 @@ This document describes the workflow for deploying a set of services
20
20
configured to sync from the single Materialized Manifest Repositories, and
21
21
multiple Project repositories can be pointed to the single High Level
22
22
Definition Repository.
23
- - Step 5 can be repeated each time you need to onboard a service to your
24
- Bedrxock automated infrastructure.
23
+ - Step 5 can be repeated each time you need to onboard a service to your Bedrock
24
+ automated infrastructure.
25
25
- Step 6 can be run as many times as required to add a service revision to a
26
26
Bedrock project.
27
27
@@ -253,7 +253,7 @@ application repositories
253
253
254
254
#### Helm Configuration for SPK
255
255
256
- ` spk service create ` allows a user to configure a service a number fo ways with
256
+ ` spk service create ` allows a user to configure a service a number of ways with
257
257
a backing helm chart.
258
258
259
259
Presently, there are are a number of options for ` spk service create ` documented
@@ -269,7 +269,7 @@ below:
269
269
```
270
270
271
271
As noted by the the documentation text, ` helm-chart-* ` and ` helm-config-* ` are
272
- both mutually exclusive configurations ie : you can _ only_ use one set of
272
+ both mutually exclusive configurations: you can _ only_ use one set of
273
273
configurations or the other.
274
274
275
275
This section intends on documenting the various use cases for both sets of
@@ -290,10 +290,10 @@ arguments:
290
290
spk service create --helm-chart-chart stable/nginx --helm-chart-repository github.com/helm/charts
291
291
```
292
292
293
- ##### Helm Charts in a distinct Git Repository
293
+ ##### Helm Charts in a distinct Git Repository from Application Sources in the same Azure DevOps Project
294
294
295
- If your Helm Charts are in their own distinct Git Repository in an Azure DevOps
296
- project, you can use the ` helm-config ` arguments to configure ` spk ` :
295
+ If your Helm Charts are in their own distinct Git Repository in the _ same _ Azure
296
+ DevOps project, you can use the ` helm-config ` arguments to configure ` spk ` :
297
297
298
298
```
299
299
spk service create --helm-config-git https://dev.azure.com/fabrikam/fabrikam-project/_git/fabrikam-helm-charts --helm-config-branch master --helm-path /charts/fabrikam
@@ -302,6 +302,59 @@ spk service create --helm-config-git https://dev.azure.com/fabrikam/fabrikam-pro
302
302
The above invocation presumes that the helm chart repository configured for
303
303
` spk ` is _ different_ from the application repository configured for ` spk ` usage.
304
304
305
+ The ` helm-config-git ` parameter _ must not_ contain the username portion of a
306
+ url. If you retrieve the URL from Azure DevOps's "Clone Repository" UI, it will
307
+ automatically have the username filled for an HTTPs clone ie:
308
+
309
+ ` https://[email protected] /fabrikam/fabrikam-project/_git/fabrikam-helm-charts `
310
+
311
+ Ensure that the you _ remove_ the ` fabrikam@ ` portion of the URL when passing
312
+ parameters to ` spk service create --helm-config-git ` :
313
+
314
+ ` https://dev.azure.com/fabrikam/fabrikam-project/_git/fabrikam-helm-charts `
315
+
316
+ ##### Helm Charts in a distinct Git Repository from Application Sources in a different Azure DevOps Project
317
+
318
+ If your Helm Charts are in their own distinct Git Repository in a different
319
+ Azure DevOps project, you can use still use the ` helm-config ` arguments to
320
+ configure ` spk ` , but must also provide another option,
321
+ ` --helm-config-access-token-variable ` . This configuration option is the name of
322
+ the environment variable containing the Personal Access Token to access the git
323
+ repository in ` helm-config-git ` :
324
+
325
+ ```
326
+ spk service create --helm-config-git https://dev.azure.com/fabrikam/fabrikam-helm-charts-project/_git/fabrikam-helm-charts --helm-config-branch master --helm-path /charts/fabrikam --helm-config-access-token-variable FABRIKAM_HELM_CHARTS_REPO_PAT
327
+ ```
328
+
329
+ The ` helm-config-git ` parameter _ must not_ contain the username portion of a
330
+ url. If you retrieve the URL from Azure DevOps's "Clone Repository" UI, it will
331
+ automatically have the username filled for an HTTPs clone ie:
332
+
333
+ ` https://[email protected] /fabrikam/fabrikam-project/_git/fabrikam-helm-charts `
334
+
335
+ Ensure that the you _ remove_ the ` fabrikam@ ` portion of the URL when passing
336
+ parameters to ` spk service create --helm-config-git ` :
337
+
338
+ ` https://dev.azure.com/fabrikam/fabrikam-project/_git/fabrikam-helm-charts `
339
+
340
+ Note the different Azure DevOps URL for the helm charts project in Azure DevOps
341
+ and the addition of the ` --helm-config-access-token-variable ` parameter.
342
+
343
+ The ` --helm-config-access-token-variable ` parameter configures how an
344
+ ` access.yaml ` file is written to the HLD for ` fabrikate ` to consume when
345
+ rendering helm charts. For more information on authenticating with private git
346
+ repositories when rendering helm charts, please refer to
347
+ [ fabrikate's documentation] ( https://github.com/microsoft/fabrikate/blob/master/docs/auth.md ) .
348
+
349
+ When the bedrock.yaml is committed, all the pipelines created, and the HLD
350
+ repository is populated, you must add the environment variable,
351
+ ` FABRIKAM_HELM_CHARTS_REPO_PAT ` to the HLD to Materialized pipeline as a
352
+ pipeline variable. To do so, find the HLD to Materialized pipeline in the
353
+ pipelines view on Azure DevOps, select it, select ` Variables ` , then select
354
+ ` New Variable ` :
355
+
356
+ ![ Add a new pipeline variable] ( ./images/spk-add-variable.png )
357
+
305
358
##### Helm Charts in the same repository as the application
306
359
307
360
If your Helm Charts are intended to be placed adjacent to your application
@@ -317,6 +370,17 @@ repository.
317
370
spk service create --helm-config-git https://dev.azure.com/fabrikam/fabrikam-project/_git/fabrikam-app --helm-config-branch master --helm-path /charts/fabrikam
318
371
```
319
372
373
+ The ` helm-config-git ` parameter _ must not_ contain the username portion of a
374
+ url. If you retrieve the URL from Azure DevOps's "Clone Repository" UI, it will
375
+ automatically have the username filled for an HTTPs clone ie:
376
+
377
+ ` https://[email protected] /fabrikam/fabrikam-project/_git/fabrikam-helm-charts `
378
+
379
+ Ensure that the you _ remove_ the ` fabrikam@ ` portion of the URL when passing
380
+ parameters to ` spk service create --helm-config-git ` :
381
+
382
+ ` https://dev.azure.com/fabrikam/fabrikam-project/_git/fabrikam-helm-charts `
383
+
320
384
#### Creating a Service Revision
321
385
322
386
- Create and checkout a new git branch
0 commit comments