Skip to content

Deploying PDP within the Code for Philly cluster

Cris Simpson edited this page Jun 1, 2021 · 6 revisions

PDP hosting

The PAWS Data Pipeline runs on a Kubernetes cluster donated by Linode to the Code for Philly (CfP) project and is managed by the CfP #civic-cloud team.

The code and configurations for the various projects running on the cluster are managed using hologit which

lets you declaratively define virtual sub-branches (called holobranches) within any Git branch that mix together content from their host branch, content from other repositories/branches, and executable-driven transformations.[1]

The pieces for the sandbox clusters can be found in the .holo directory in the PDP repository and the sandbox or live cluster repos as appropriate.

The branch (within the PDP repo) that holds the .holo directory is specified at paws-data-pipeline.toml.

RBAC roles and rights are defined at admins.

Updating deployed code

To deploy new code,

  • Bump image tag versions in paws-data-pipeline/src/helm-chart/values.yaml
  • Commit and push to GitHub
  • Create a release tag on the paws-data-pipeline repo (e.g.) v1.2.3 (same value as above), such that the content under that tag includes the /helm-chart/values.yaml with the right image versions for v1.2.3
  • Open a PR against cfp-sandbox-cluster/.holo/sources/paws-data-pipeline.toml setting ref = "refs/tags/v1.2.3"

Ingress controller

CfP uses the ingress-nginx ingress controller (not to be confused with an entirely different project called nginx-ingress)

The list of settings can be found here: Settings
To update settings, edit release-values.yaml and create a pull request.

SSL cert configuration can also be found in release-values.yaml


  1. “Any sufficiently advanced technology is indistinguishable from magic.” Arthur C. Clarke