Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
4a33511
Combine configmap-default.yaml and configmap-instance.yaml into confi…
matyasselmeci Mar 5, 2026
083b0c3
Various tweaks
matyasselmeci Mar 5, 2026
a4d533e
Add the serverHostname to the list of DNS names requested in the cert…
matyasselmeci Mar 19, 2026
3a02f6a
Don't use deprecated IssuerKey param
matyasselmeci Mar 5, 2026
34669d7
Do not create a PVC if a PVC by that name already exists, and do not …
matyasselmeci Mar 5, 2026
d665f51
Add check to make sure federation label matches DiscoveryUrl
matyasselmeci Mar 26, 2026
7e4d566
Overhaul storage definitions
matyasselmeci Mar 20, 2026
a9b0d27
Fix a variety of logging issues and inconsistencies
matyasselmeci Mar 26, 2026
e325b3b
Change the webserver password to server-web-passwd
matyasselmeci Mar 25, 2026
bedfd5d
Rename xrootd.sitename to sitename
matyasselmeci Mar 25, 2026
d62ab22
Change pelican-cache imagePullPolicy to ifNotPresent
matyasselmeci Mar 26, 2026
4472c19
Add a "sleep" boolean that will cause the cache to sleep instead of r…
matyasselmeci Mar 26, 2026
e81cbfe
Update README.md
matyasselmeci Apr 2, 2026
40e3696
Move `certManager` configuration under `tls`
matyasselmeci Mar 31, 2026
22d4860
Move cache resources under cache block
matyasselmeci Mar 31, 2026
d56a2be
Nest the web password secret configuration
matyasselmeci Mar 31, 2026
66fcaf7
Disable client X.509
matyasselmeci Apr 3, 2026
aa2cc8e
Update AGENTS.md
matyasselmeci Apr 2, 2026
4183677
Set Topology.DisableCacheX509
matyasselmeci Apr 3, 2026
c6ba320
Update README file to include missing config options
matyasselmeci Apr 17, 2026
173336f
Add host networking; update Houston I2 cache values to more closely r…
matyasselmeci Apr 17, 2026
0bded76
Bump appVersion and chart version
matyasselmeci Apr 15, 2026
8fc3e09
Remove XRD_CURLDISABLEX509 from the environment
matyasselmeci Apr 23, 2026
f7f7fc5
Various README wording changes from code review
matyasselmeci Apr 24, 2026
fd195d8
Move validation notes from README.md to values.yaml
matyasselmeci Apr 24, 2026
3e2fad6
Require a secret for the issuer key instead of allowing use of a PVC.
matyasselmeci Apr 24, 2026
f31f0fa
Use the federation discoveryURL as the label instead of requiring a s…
matyasselmeci Apr 24, 2026
2ec52ac
Drop the CVMFS forwarder
matyasselmeci Apr 24, 2026
8cee124
Merge pelican.yaml and 50-instance.yaml into a single config file
matyasselmeci Apr 24, 2026
c0adcc8
Move the cache image settings under `cache.` for consistency with the…
matyasselmeci Apr 27, 2026
2161cdc
Move adminUsers under oidc and require that oidc.enabled be true iff …
matyasselmeci Apr 28, 2026
81be434
Reorder the settings in values.yaml to make more sense
matyasselmeci Apr 28, 2026
d141a97
Split the application settings for cache and logging from the Kuberne…
matyasselmeci Apr 28, 2026
2c570ac
CI: specify additional required settings in the "minimal" test
matyasselmeci Apr 28, 2026
f42eac5
Potential fix for pull request finding
matyasselmeci Jun 18, 2026
b40e349
Require issuerKey.secretKey
matyasselmeci Jun 18, 2026
8e53d3c
Delete outdated comment
matyasselmeci Jun 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,13 @@ jobs:
matrix:
include:
- name: minimal
args: "--set serverHostname=test.example.com"
args: >-
--set serverHostname=test.example.com
--set sitename=TEST_EXAMPLE_COM_CACHE
--set cache.pvc.storageClass=fast-nvme
--set logging.persistence.storageClass=standard
--set issuerKey.existingSecret=my-issuer-key-secret
--set webPassword.existingSecret=my-web-passwd-secret
- name: uw-osdf-cache
args: "-f ci/uw-osdf-cache-values.yaml"
- name: itb-osdf-pelican-cache
Expand Down
143 changes: 112 additions & 31 deletions AGENTS.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: pelican-cache
description: A Helm chart for deploying a Pelican Platform cache in the OSDF
type: application
version: 0.1.0
appVersion: "7.23.0"
version: "0.2.0"
appVersion: "v7.24.2"
home: https://pelicanplatform.org
sources:
- https://github.com/PelicanPlatform/pelican
Expand Down
344 changes: 206 additions & 138 deletions README.md

Large diffs are not rendered by default.

94 changes: 52 additions & 42 deletions ci/houston2-i2-pelican-cache-values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,54 +2,54 @@
# from tiger-osg-config. Secrets must be created separately before install.

serverHostname: "dtn-pas.hous.nrp.internet2.edu"
sitename: HOUSTON2_INTERNET2_OSDF_CACHE

federation:
discoveryUrl: "https://osg-htc.org"
label: osdf

image:
repository: hub.opensciencegrid.org/pelican_platform/osdf-cache
tag: "v7.22.0"
pullPolicy: IfNotPresent

cvmfsRedirector:
enabled: false

# The real deployment uses an existing PVC (pvc-dtn-pas.hous.net.internet2.edu).
cache:
storageType: existingPVC
existingPVC: pvc-dtn-pas.hous.net.internet2.edu
image:
repository: hub.opensciencegrid.org/pelican_platform/osdf-cache
tag: "v7.22.0"
pullPolicy: IfNotPresent
type: hostPath
hostPath:
path: /cache
resources:
requests:
cpu: "16000m"
memory: "210Gi"
limits:
cpu: "16000m"
memory: "210Gi"

cacheConfig:
concurrency: 160

namespaceKey:
type: existingSecret
issuerKey:
existingSecret: houston2-i2-pelican-pelican-cache-key
secretKey: issuer.pem

# The real deployment creates its own Certificate (Issuer, not ClusterIssuer)
# and uses a differently named secret ("certs").
# We use tls.existingSecret to reference that pre-existing secret.
certificate:
enabled: false

tls:
certManager:
enabled: false
existingSecret: houston2-i2-certs

# hostNetwork: true binds directly to the node's network and disables the Service.
hostNetwork: true

server:
webPort: 8444

# Keep network policy disabled for this hostNetwork-based profile.
networkPolicy:
enabled: false

resources:
cache:
requests:
cpu: "16000m"
memory: "210Gi"
limits:
cpu: "16000m"
memory: "210Gi"
logrotate:
logrotate:
resources:
requests:
cpu: "1"
memory: "500M"
Expand All @@ -59,28 +59,38 @@ resources:

# Logs go to the cache volume (/cache/pelican/), no separate logging PVC.
logging:
enabled: false
persistence:
separateVolume: false
# NOTE: logging.origin and server.webPort from the real deployment are not
# supported as first-class chart values; use extraPelicanConfig if needed.

loggingConfig:
level: INFO
cache:
Pss: warn
Scitokens: warn
origin:
Scitokens: warn

server:
webPort: 8444

oidc:
enabled: true
existingSecret: nrp-oidc-client-secret

adminUsers: "http://cilogon.org/serverE/users/133679 http://cilogon.org/serverA/users/10832 http://cilogon.org/serverA/users/21441 http://cilogon.org/serverA/users/46022246 http://cilogon.org/serverA/users/9265706 http://cilogon.org/serverE/users/57152 http://cilogon.org/serverE/users/130835 http://cilogon.org/serverE/users/245993 http://cilogon.org/serverB/users/51444962"

webPasswordSecret: osdf-web-pass-nrp
webPasswordSecretKey: server-web-passwd
adminUsers:
- "http://cilogon.org/serverE/users/133679"
- "http://cilogon.org/serverA/users/10832"
- "http://cilogon.org/serverA/users/21441"
- "http://cilogon.org/serverA/users/46022246"
- "http://cilogon.org/serverA/users/9265706"
- "http://cilogon.org/serverE/users/57152"
- "http://cilogon.org/serverE/users/130835"
- "http://cilogon.org/serverE/users/245993"
- "http://cilogon.org/serverB/users/51444962"

webPassword:
existingSecret: osdf-web-pass-nrp
key: server-web-passwd

# NOTE: xrootdSitename is not a chart value; the chart uses "sitename" instead.

xrootd:
sitename: HOUSTON2_INTERNET2_OSDF_CACHE
# The real deployment uses an external ConfigMap (xrootdtrt-cfg) for xrootd config.
# xrootd.extraConfig could inline it here if the content were known.
extraConfig: ""
Expand All @@ -98,10 +108,6 @@ securityContext:
capabilities:
add: ["SYS_PTRACE"]

extraEnv:
- name: XRD_CURLDISABLEX509
value: "1"

# Convert remaining env-var config that doesn't have first-class values.yaml
# knobs into proper YAML config.
extraPelicanConfig:
Expand All @@ -110,6 +116,10 @@ extraPelicanConfig:
IssuerKey: "/cache/privpelican/issuer.pem"
Logging:
LogLocation: "/cache/pelican/pelican.log"
Origin:
Scitokens: warn
XrootD:
ConfigFile: "/etc/pelican/xrootdap/xrootdtrt.cfg"
Shoveler:
Enable: true
Topic: ""
Expand Down
64 changes: 33 additions & 31 deletions ci/itb-osdf-pelican-cache-values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,63 +2,64 @@
# Secrets must be created separately before installing the chart.

serverHostname: "itb-osdf-pelican-cache.osdf-dev.chtc.io"
sitename: ITB-OSDF-PELICAN-CACHE

federation:
discoveryUrl: "https://discovery.osdf-dev.chtc.io"
label: osdf

image:
repository: hub.opensciencegrid.org/pelican_platform/osdf-cache
tag: "v7.23.0"
discoveryUrl: "https://osdf-itb.osg-htc.org"

cvmfsRedirector:
enabled: false

cache:
storageType: pvc
storageClassName: 3x-replica-hdd-raddus
pvcSize: 100Gi
image:
repository: hub.opensciencegrid.org/pelican_platform/osdf-cache
tag: "v7.23.0"
type: pvc
pvc:
storageClass: 3x-replica-hdd-raddus
size: 100Gi
resources:
requests:
cpu: "8"
memory: "16Gi"

cacheConfig:
concurrency: 40

namespaceKey:
type: existingSecret
issuerKey:
existingSecret: itb-osdf-pelican-cache-issuer-keys
secretKey: issuer.pem

certificate:
enabled: true
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
dnsNames:
- itb-osdf-pelican-cache.osdf-dev.chtc.io
tls:
certManager:
enabled: true
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
dnsNames:
- itb-osdf-pelican-cache.osdf-dev.chtc.io

service:
type: LoadBalancer
annotations:
external-dns.alpha.kubernetes.io/hostname: itb-osdf-pelican-cache.osdf-dev.chtc.io
metallb.universe.tf/address-pool: tiger-vlan5

resources:
cache:
requests:
cpu: "8"
memory: "16Gi"

logging:
persistence:
separateVolume: true
storageClass: 3x-replica-block
size: 10Gi

loggingConfig:
level: "debug"
storageClassName: 3x-replica-block
pvcSize: 10Gi
cache:
Scitokens: debug
Pss: debug
Http: debug
Ofs: debug
Pfc: debug

xrootd:
sitename: ITB-OSDF-PELICAN-CACHE

nodeSelector:
datacenter: wid-vlan5

Expand All @@ -70,8 +71,9 @@ securityContext:
capabilities:
add: ["SYS_PTRACE"]

webPasswordSecret: itb-pelican-server-web-passwd
webPasswordSecretKey: server-web-passwd
webPassword:
existingSecret: itb-pelican-server-web-passwd
key: server-web-passwd

# Settings not directly parameterized by the chart; merged via extraPelicanConfig.
extraPelicanConfig:
Expand Down
Loading
Loading