Version: 0.7

Install Kore

note

If you have already installed and are upgrading Kore see Upgrade.

At this time, Kore has been engineered around a smooth running experience for team members once installed. Improving the install experience for administrators is on our roadmap.

Prerequisites#

Review the Prerequisites before installing Kore.

Prepare an install values file#

To install Kore with the appropriate configuration, you must prepare a values file for Helm to deploy. In the following example, you prepare a values file named kore-install.yaml.

To prepare an install values file:

  1. If you have not configured cert-manager, generate appropriate TLS certificates for the hostnames and place them in the Kubernetes secrets named in the example file below.

  2. Save the following in a file called kore-install.yaml, paying attention to the hostname values and IDP configuration.

    idp:
    client_id: "your IDP client ID"
    client_secret: "your IDP client secret"
    server_url: "your IDP server discovery URL"
    client_scopes:
    - email
    - profile
    api:
    endpoint:
    url: https://api.kore.yourorg.org
    ingress:
    hostname: api.kore.yourorg.org
    tls_secret: api-tls-cert
    enabled: true
    annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/backend-protocol: HTTP
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    cert-manager.io/cluster-issuer: letsencrypt
    ui:
    endpoint:
    url: https://portal.kore.yourorg.org
    ingress:
    hostname: portal.kore.yourorg.org
    tls_secret: portal-tls-cert
    enabled: true
    annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/backend-protocol: HTTP
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    cert-manager.io/cluster-issuer: letsencrypt

Install the Kore Helm chart#

Once you have your cluster running and your install values prepared, follow these steps.

To install the Kore Help chart:

  1. Ensure your kubectl context is set correctly to your target cluster for Kore:

    # check context
    kubectl config get-contexts
    # change context
    kubectl config use-context context-name-to-use
  2. Contact Appvia for the Kore Helm chart URL.

  3. Install the Kore Helm chart using one of the commands below:

    • Option 1 - Use an existing values file:

      KORE_VERSION="vX.Y.Z"
      CHART="https://full.url.from.appvia/for/the/${KORE_VERSION}/helm-chart.tgz"
      helm upgrade \
      --install \
      --wait \
      -n kore \
      -f ./kore-install.yaml \
      kore ${CHART}
    • Option 2 - Use all previous install values but with a new version:

      KORE_VERSION="vX.Y.Z"
      CHART="https://full.url.from.appvia/for/the/${KORE_VERSION}/helm-chart.tgz"
      helm upgrade \
      --wait \
      -n kore \
      --reuse-values \
      kore ${CHART}

    You can monitor for Kore being ready by running kubectl get deployments -n kore.

note

If you have upgraded Kore and have already set up cloud accounts, follow the procedures in Update cloud access.

Set DNS entries#

Once Kore has started, you must set the DNS entries for the hostnames you have used in your kore-values.yaml.

To set DNS entries:

  1. Determine the addresses assigned on the ingress:

    kubectl get ingress -n kore kore-api

  2. Depending on the cloud provider, the ADDRESS will be either a DNS entry or an IP.

    • If it's a DNS entry, make your chosen DNS name (example, api.kore.yourorg.org) a CNAME for this DNS entry.
    • If it's an IP, make your chosen DNS name an A record with this IP.
  3. Run the following for your chosen DNS name for the UI (example, portal.kore.yourorg.org):

    kubectl get ingress -n kore kore-portal

Once the DNS entries propagate, you can access the Kore UI using your chosen name, in this example, https://portal.kore.yourorg.org/.