diff --git a/10.1-Deploying-to-AKS-using-Helm-Charts.md b/10.1-Deploying-to-AKS-using-Helm-Charts.md index 7db0401..6a61a42 100644 --- a/10.1-Deploying-to-AKS-using-Helm-Charts.md +++ b/10.1-Deploying-to-AKS-using-Helm-Charts.md @@ -70,4 +70,40 @@ Ingresses are automatically configured to use the public DNS of the AKS provided You can view the MVC client at http:///webmvc and the SPA at the http:/// +## Customizing the deployment + +### Using your own images + +To use your own images instead of the public ones, you have to pass following additional parameters to the `deploy-all.ps1` script: + +* `registry`: Login server for the Docker registry +* `dockerUser`: User login for the Docker registry +* `dockerPassword`: User password for the Docker registry + +This will deploy a secret on the cluster to connect to the specified server, and all image names deployed will be prepended with `registry/` value. + +### Using specific DNS + +The `-externalDns` parameter controls the DNS bounded to ingresses. You can pass a custom DNS (like `my.server.com`), or the `aks` value to autodiscover the AKS DNS. For autodiscover to work you also need to pass which AKS is, using the `-aksName` and `-aksRg` parameters. +Autodiscovering works using Azure CLI under the hood, so ensure that Azure CLI is logged and pointing to the right subscription. + +If you don't pass any external DNS at all, ingresses are'nt bound to any DNS, and you have to use public IP to access the resources. + +### Not deploying infrastructure containers + +If you want to use external resources, use `-deployInfrastructure $false` to not deploy infrastructure containers. However **you still have to manually update the scripts to provide your own configuration** (see next section). + +### Providing your own configuration + +The file `inf.yaml` contains the description of the infrastructure used. File is docummented so take a look on it to understand all of its entries. If using external resources you need to edit this file according to your needs. You'll need to edit: + +* `inf.sql.host` with the host name of the SQL Server +* `inf.sql.common` entries to provide your SQL user, password. `Pid` is not used when using external resources (it is used to set specific product id for the SQL Server container). +* `inf.sql.catalog`, `inf.sql.ordering`, `inf.sql.identity`: To provide the database names for catalog, ordering and identity services +* `mongo.host`: With the host name of the Mongo DB +* `mongo.locations`, `mongo.marketing` with the database names for locations and marketing services +* `redis.basket.constr` with the connection string to Redis for Basket Service. Note that `redis.basket.svc` is not used when using external services +* `redis.keystore.constr` with the connection string to Redis for Keystore Service. Note that `redis.keystore.svc` is not used when using external services +* `eventbus.constr` with the connection string to Azure Service Bus and `eventbus.useAzure` to `true` to use Azure service bus. Note that `eventbus.svc` is not used when using external services +