Create a YAML Configuration File
For the deployment of the web services, you need to prepare aYAML configuration file to tailor your Network Locator deployment to thespecifics of you own environment.
Copy the below values.yamlfile and save it to a local copy. Then adapt all the <VARIABLES> to match your environment.
Use asufficiently long password for Keycloak PostgreSQL to prevent authentication failures due topassword length restrictions.
values.yaml
global:
ingressClassName: <INGRESS-CONTROLLER-CLASSNAME>
tlsSecretName: <TLS-SECRET>
arcgis:
enterpriseUrl: <ENTERPRISE-BASE-URL>
portalUrl: "{{ tpl .Values.global.arcgis.enterpriseUrl . }}/portal"
serverUrl: "{{ tpl .Values.global.arcgis.enterpriseUrl . }}/server"
webMapId: <WEBMAP-ID>
# ifportalSecretName is set, the portalUsername and portalPassword are ignored
# kubectl create secret -n <NAMESPACE> generic <PORTAL-SECRET-NAME>--from-literal=username=<PORTAL-USER-NAME>--from-literal=password=<PORTAL-USER-NAME-PASSWORD>
#portalSecretName: <PORTAL-SECRET-NAME>
portalUsername: <PORTAL-USER-NAME>
portalPassword: <PORTAL-USER-NAME-PASSWORD>
hostname: <HOSTNAME-KUBERNETES-CLUSTER>
cockpit:
appUrl: <STUDIO-WEB-APP-COCKPIT-URL>
landingPage:
appUrl: <STUDIO-WEB-APP-LOCATOR-URL>
mailer:
# ifsecretName is set, the host, ssl, startTls, port, username, password and from are ignored
# kubectl create secret -n <NAMESPACE> generic <MAILER-SECRET-NAME>--from-literal=host=<HOSTNAME-MAIL-SERVER> --from-literal=ssl=false--from-literal=start-tls=OPTIONAL--from-literal=start-tls-enabled=true--from-literal=port=587 --from-literal=username=<USERNAME-MAIL-SERVER>--from-literal=password="<PASSWORD-MAIL-SERVER>"--from-literal=from=<FROM-MAIL-ADDRESS>
#secretName: <MAILER-SECRET-NAME>
host: <HOSTNAME-MAIL-SERVER>
ssl: false
startTls: OPTIONAL
port: 587
username: <USERNAME-MAIL-SERVER>
password: <PASSWORD-MAIL-SERVER>
from: <FROM-MAIL-ADDRESS>
registry:
url: vertigisapps.azurecr.io
# ifsecretName is set, the username and password are ignored
# kubectl create secret -n <NAMESPACE> docker-registry<REGISTRY-SECRET-NAME> --docker-server=vertigisapps.azurecr.io--docker-username=<USER-NAME> --docker-password=<PASSWORD>
#secretName: <REGISTRY-SECRET-NAME>
username: <USER-NAME>
password: <PASSWORD>
kubernetesDashboard:
enableDeployment: false
restrictToNamespace: true
keycloak:
image:
registry: vertigisapps.azurecr.io
# ifglobal.registry.secretName is specified, set the name of the secret here, too
#pullSecrets:
# - name: <REGISTRY-SECRET-NAME>
ingress:
ingressClassName: <INGRESS-CONTROLLER-CLASSNAME>
auth:
adminUser: <ADMIN-USERNAME>
adminPassword: <ADMIN-PASSWORD>
# instead of setting the adminPassword, a secret can be used
# c.f. https://artifacthub.io/packages/helm/bitnami/keycloak#keycloak-parameters
# kubectl create secret -n <NAMESPACE> generic<KEYCLOAK-ADMIN-PASSWORD-SECRET-NAME>--from-literal=<KEYCLOAK-ADMIN-PASSWORD-SECRET-KEY>=<ADMIN-PASSWORD>
#existingSecret: <KEYCLOAK-ADMIN-PASSWORD-SECRET-NAME>
#passwordSecretKey: <KEYCLOAK-ADMIN-PASSWORD-SECRET-KEY>
postgresql:
auth:
username: <USERNAME>
password: <PASSWORD>
postgresPassword: <PASSWORD>
# instead of setting the password and postgresPassword, a secret can beused
# c.f. https://artifacthub.io/packages/helm/bitnami/keycloak#database-parameters
# kubectl create secret -n <NAMESPACE> generic<KEYLOCAK-PG-SECRET-NAME> --from-literal=password=<PASSWORD>--from-literal=postgresql-password=<PASSWORD>
#existingSecret: <KEYLOCAK-PG-SECRET-NAME>
#Kubernetes Dashboard configuration
kubernetes-dashboard:
app:
settings:
global:
defaultNamespace: <NAMESPACE>
namespaceFallbackList:
- <NAMESPACE>
For the final deployment execute thefollowing commands:
helminstall
<release-name>
oci://vertigisapps.azurecr.io/network-locator/helm-chart
--namespace <name of kubernetes namespace>
-f values.yaml
--wait
--version 1.4.0
This command may take up to fiveminutes to complete.
kubectlget pods -n <name of kubernetes namespace>
Afterexecuting this command, you should a screen similar to that in the figure below.
You have now successfully deployed the Network LocatorWeb Services. You can now proceed with the configuration of the solution.