Coverage Matrix

Chkk Curated Release Notesv2.7.0 to latest
Private RegistrySupported
Custom Built ImagesSupported
Safety, Health, and Readiness Checksv3.1.1 to latest
Supported PackagesHelm, Kustomize, Kube
EOL InformationAvailable
Version Incompatibility InformationAvailable
Upgrade TemplatesIn-Place, Blue-Green
PreverificationAvailable

jsreport Overview

jsreport is an open-source reporting server enabling teams to create, generate, and distribute dynamic reports (PDF, Excel, Word, HTML) using web technologies. Developers define report templates with HTML/CSS and JavaScript, supported by an embedded web-based designer (jsreport Studio). Running on Node.js, jsreport offloads document rendering from applications, ensuring consistent reporting across services. Its modular architecture, headless browser rendering, and scripting support make it flexible and powerful within Kubernetes environments, integrating smoothly into modern CI/CD pipelines.

Chkk Coverage

Curated Release Notes

Chkk curates jsreport release notes to highlight relevant new features, breaking changes, and deprecated functionalities affecting your deployments. Instead of manual checks, platform teams receive targeted summaries, such as sandbox security improvements or deprecated configuration fields. Chkk clearly flags changes, like new sandboxing behavior replacing older libraries, ensuring smooth transitions between versions. This reduces the risk of overlooked details impacting template rendering or system compatibility.

Preflight & Postflight Checks

Chkk performs preflight checks ensuring your Kubernetes cluster and Node.js versions meet new jsreport prerequisites and flags necessary intermediate upgrades. It also detects deprecated extensions or configuration issues, allowing preemptive corrections. Post-upgrade, Chkk validates deployment health by verifying pods’ updated versions, analyzing logs for new errors, and performing sample report renderings. These proactive measures help platform engineers quickly address issues without user impact.

Version Recommendations

Chkk continuously monitors jsreport releases, advising when versions approach end-of-support. It evaluates your deployment against known vulnerabilities and compatibility issues, recommending stable upgrade paths with clear justifications, like outdated Chrome engines or Node.js runtimes. For customized jsreport forks, Chkk adapts its recommendations to match your specific support policies, ensuring consistent operational stability.

Upgrade Templates

Chkk provides detailed Upgrade Templates for both in-place and blue-green upgrades aligned with jsreport best practices. In-place upgrades include explicit pre-upgrade backups, configuration adjustments, and rolling restart strategies. Blue-green deployments involve parallel installations to gradually test and validate new versions before switching production traffic. These structured templates integrate seamlessly into GitOps and CI/CD pipelines, minimizing upgrade risks.

Preverification

Chkk’s preverification creates a realistic rehearsal environment replicating your production jsreport setup, including configurations and templates. Automated upgrade simulations identify potential migration or compatibility issues early, such as resource constraints or template execution errors. This proactive validation allows engineers to refine configurations and resources in staging environments, significantly reducing the risk of production issues.

Supported Packages

Chkk supports multiple jsreport deployment methods, including Docker images, Helm charts, Kubernetes manifests, Node.js library integrations, and custom binaries. It intelligently analyzes your existing configuration and deployment method, offering precise upgrade instructions and image recommendations. Chkk also accommodates specialized or vendor-specific jsreport versions, ensuring upgrade guidance remains accurate and practical for your environment.

Common Operational Considerations

  • Persistent Storage: Use PersistentVolumes or external databases for jsreport storage to maintain templates and reports across pod restarts and upgrades. Shared storage is critical for consistency when scaling multiple instances.
  • Scaling and Load Balancing: jsreport instances must use identical configurations and shared storage when horizontally scaling behind load balancers. Optimize internal worker threads and monitor CPU; scale horizontally if CPU limits become saturated.
  • Headless Chrome Resources: Allocate adequate memory and CPU for jsreport’s Chrome-based rendering to prevent pod evictions or slowdowns. Consider dedicated Chrome pools or docker-worker extensions for high-volume render environments.
  • Configuration via Environment Variables: Translate jsreport JSON configuration keys to Kubernetes-compatible environment variable formats (e.g., extensions_fsStore_dataDirectory). Incorrect formatting can lead to defaults being silently applied.
  • Licensing Management: Manage jsreport licenses via Kubernetes Secrets or environment variables, ensuring compliance with multi-instance licensing terms. Use license.development=true for non-production environments to avoid licensing conflicts.
  • Ingress Path Configuration: Configure jsreport’s appPath correctly when exposing services via an Ingress or reverse proxy at a subpath. Misconfigurations may cause broken URLs and interface issues.
  • Template Compatibility: Proactively review templates for compatibility issues with new jsreport versions, especially changes in sandbox security or APIs. Test upgrades in staging environments to identify necessary adjustments early.

Additional Resources