puppeteer
Headless Chrome Node.js API
This chart is not maintained by the upstream project and any issues with the chart should be raised here
Source Code
- https://github.com/jr0dd/container-images/tree/main/apps/puppeteer
- https://github.com/puppeteer/puppeteer
Requirements
Kubernetes: >=1.16.0-0
Dependencies
| Repository | Name | Version |
|---|---|---|
| https://library-charts.k8s-at-home.com | common | 4.5.2 |
TL;DR
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install puppeteer k8s-at-home/puppeteer
Installing the Chart
To install the chart with the release name puppeteer
helm install puppeteer k8s-at-home/puppeteer
Uninstalling the Chart
To uninstall the puppeteer deployment
helm uninstall puppeteer
The command removes all the Kubernetes components associated with the chart including persistent volumes and deletes the release.
Configuration
Read through the values.yaml file. It has several commented out suggested values. Other values may be used from the values.yaml from the common library.
Specify each parameter using the --set key=value[,key=value] argument to helm install.
helm install puppeteer \
--set env.TZ="America/New York" \
k8s-at-home/puppeteer
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
helm install puppeteer k8s-at-home/puppeteer -f values.yaml
Special Instructions
Important!
You may need special headers to connect from outside of the cluster. Intra cluster works fine.
Sample code to connect to Puppeteer
const puppeteer = require('puppeteer-core')
const dns = require('dns').promises;
(async () => {
// these dns options are not needed if using an load balancer or ingress
const options = {
family: 4,
hints: dns.ADDRCONFIG | dns.V4MAPPED
}
const { address: host } = await dns.lookup('puppeteer', options, (address) => {
return address
})
const browser = await puppeteer.connect({
browserURL: `http://${host}:4000`
})
const page = await browser.newPage()
await page.goto('https://example.com', { waitUntil: 'networkidle0' })
await page.close()
.catch((err) => {
console.error(err)
})
})()
Default chromium flags in image
'--disable-dev-shm-usage',
'--disable-setuid-sandbox',
'--no-sandbox',
'--remote-debugging-address=0.0.0.0',
'--remote-debugging-port=4000',
'--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ 85.0.4183.121 Safari/537.36'
Values
Important: When deploying an application Helm chart you can add more values from our common library chart here
| Key | Type | Default | Description |
|---|---|---|---|
| chromium.args | list | See below | chromium args. You can find more chromium expiremental flags chromium switches. |
| env | object | See below | environment variables. See more environment variables in the puppeteer documentation. |
| env.TZ | string | "UTC" |
Set the container timezone |
| image.pullPolicy | string | "IfNotPresent" |
image pull policy |
| image.repository | string | "ghcr.io/jr0dd/puppeteer" |
image repository |
| image.tag | string | "v13.3.2" |
image tag |
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
| service | object | See values.yaml | Configures service settings for the chart. |
Changelog
Version 1.2.2
Added
N/A
Changed
- Upgraded
commonchart dependency to version 4.5.2
Fixed
N/A
Older versions
A historical overview of changes can be found on ArtifactHUB
Support
Autogenerated from chart metadata using helm-docs v0.1.1