Template Strings
Template Strings are strings which are dynamically replaced by Preview during a deploy, allowing you to inject environment-specific values into your deployment.
Preview supports the use of Template Strings in both for all chart values and Kubernetes manifest files under the ./preview directory.
For example, it is recommended to use the PREVIEWHQ_HOSTNAME as part of your application's Ingress specification:
1
# .preview/chart-values/
2
ingress:
3
enabled: true
4
annotations:
5
kubernetes.io/tls-acme: "true"
6
path: /
7
hosts:
8
- host: ${PREVIEWHQ_HOSTNAME}
9
paths:
10
- /
11
tls:
12
- secretName: tls-secret
13
hosts:
14
- ${PREVIEWHQ_CLUSTER_HOSTNAME}
15
- ${PREVIEWHQ_HOSTNAME}
Copied!
There are 2 sets of Template Strings which can be utilized: one static set across all builds, and one set that is dynamically build based on image builds.

Static Template Strings

Template String
Description
Example
PREVIEWHQ_HOSTNAME
The hostname of the deployment, which will point to the root
my-pr-branch.nrmitchi.envs.dev
PREVIEWHQ_CLUSTER_HOSTNAME
The hostname of the cluster which the deployment is deployed on
nrmitchi.envs.dev
PREVIEWHQ_NAMESPACE
The namespace which the deployment is deployed in to
my-pr-branch
PREVIEWHQ_REVISION
The git hash being deployed
PREVIEWHQ_IMAGE_REPOSITORY
The URL of the Preview-provided Docker image repository that

Dynamic Template Strings

For each addition image specified in the images block of the configuration, Preview injects a PREVIEWHQ_CUSTOM_IMAGE_TAG_{} string, which is the Docker tag which was used for that custom build within the Docker image registry.
For example, if images is as follows:
1
images:
2
- name: frontend
3
dockerfile: ./src/react/Dockerfile
4
context: ./src/react
5
- name: backend
6
dockerfile: ./src/flask/Dockerfile
7
context: ./src/flask
Copied!
The the following additional Templates Strings are available:
    PREVIEWHQ_CUSTOM_IMAGE_TAG_FRONTEND
    PREVIEWHQ_CUSTOM_IMAGE_TAG_BACKEND
Last modified 1yr ago
Copy link