This chart is used to simplify the deployment of static sites that are hosted on a Git repository, URL, or S3 bucket.
The Pod has 2 containers, an init container, and the web container (nginx).
The init container will clone/download the specified repository and
extract/copy the static files into an ephemeral directory.
This directory is then mounted to the web container
(nginx /usr/share/nginx/html).
You will need to determine which method you will use to obtain the static files.
Method is selected via init.method. Valid options are
git, wget, or s3. Default is git.
Refer to values.yaml for the full set of overrides, including Ingress and Ambassador Mapping.
The following values are used to drive the cloning of the Git repository.
init.git.repository - The repository URL to clone
init.git.ref - The ref to checkout on clone (if any)
init.git.subPath - The sub path to root of the static files
(if not the root of the repository)
helm upgrade --install --wait <your-release> \
--set init.git.repository=<your-repository-url> \
--set init.git.ref=<your-ref> --set init.git.subPath=<static-subPath> \
oci://ghcr.io/cfpb/static-siteThe following values are used to drive the downloading of
an archive from a URL, and extracting static root to /static.
init.wget.url - The URL to the artifact to download.
init.wget.targetFile - Filename to save the artifact as
(to be used for extraction). This is also accessible for the extraction
command via environment variable $TARGET_FILE. Default is static.tar.
This file is downloaded to /tmp/$TARGET_FILE.
init.wget.extractCommad - The command needed to extract the artifact
and copy static root to /static.
Default is tar xvf /tmp/$TARGET_FILE -C /static.
Available extraction tools are tar, unzip, gunzip, and more.
NOTE: You will need to escape $ when using $TARGET_FILE in
the extract command to avoid local variable expansion.
helm upgrade --install --wait <your-release> \
--set init.method=wget --set init.wget.url=<url-to-wget> \
--set init.wget.extractCommand="tar xvf /tmp/\$TARGET_FILE -C /static" \
oci://ghcr.io/cfpb/static-siteYou can even chain commands if you need to extract a subdirectory instead.
helm upgrade --install --wait <your-release> \
--set init.method=wget --set init.wget.url=<url-to-wget> \
--set init.wget.extractCommand="tar xvf /tmp/\$TARGET_FILE -C /tmp/static
&& cp -Rfp /tmp/static/subdir/* /static" \
oci://ghcr.io/cfpb/static-siteThe following values are used to drive the downloading of
an object from an S3 bucket, and extracting static root to /static.
NOTE: To use S3, you will need to attach a Service Account that
has the appropriate permissions to access the S3 bucket. This is done
via serviceAccount.name.
init.s3.bucket - The bucket name containing the artifact object
init.s3.object - Object path to the static files artifact.
init.s3.targetFile - Filename to save the artifact as
(to be used for extraction). This is also accessible for the extraction
command via environment variable $TARGET_FILE. Default is static.tar.
This file is downloaded to /tmp/$TARGET_FILE.
init.s3.extractCommand - The command needed to extract the artifact
and copy static root to /static.
Default is tar xvf /tmp/$TARGET_FILE -C /static.
Available extraction tools are tar, unzip, gunzip, and more.
NOTE: You will need to escape $ when using $TARGET_FILE in
the extract command to avoid local variable expansion.
helm upgrade --install --wait <your-release> \
--set serviceAccount.name=<aws-s3-service-account> \
--set init.method=s3 --set init.s3.bucket=<bucket-name> \
--set init.s3.object=<path-to-object> \
--set init.s3.extractCommand="tar xvf /tmp/\$TARGET_FILE -C /static" \
oci://ghcr.io/cfpb/static-siteYou can even chain commands if you need to extract a subdirectory instead.
helm upgrade --install --wait <your-release> \
--set serviceAccount.name=<aws-s3-service-account> \
--set init.method=s3 --set init.s3.bucket=<bucket-name> \
--set init.s3.object=<path-to-object> \
--set init.s3.extractCommand="tar xvf /tmp/\$TARGET_FILE -C /tmp/static
&& cp -Rfp /tmp/static/subdir/* /static" \
oci://ghcr.io/cfpb/static-site