PyPi Sever Helm Chart
This chart installs a PyPI server
Prerequisites Details
- Kubernetes 1.6+
 - PV dynamic provisioning support on the underlying infrastructure
 
Todo
- Document a setup using a 
ReadWriteManystorage that is resilient and scallable. - Maybe use part of pypicloud in order to use S3 or GCS backend storage.
 
Adding the repo
To add the repo to helm with the name owkin:
$ helm repo add owkin https://owkin.github.io/charts
Installing the Chart
To install the chart with the release name my-release:
$ helm install --name my-release owkin/pypiserver
Upgrading the Charts
Updating the chart is as straightforward as updating the helm release
$ helm upgrade my-release owkin/pypiserver
Configuration
The following tables lists the configurable parameters of the PyPI server chart and their default values.
| Parameter | Description | Default | 
|---|---|---|
replicaCount | 
Deployment replica count | 1 | 
image.repository | 
Container image repository | pypiserver/pypiserver | 
image.tag | 
Container image name | v1.3.2 | 
image.pullPolicy | 
Container pull policy | IfNotPresent | 
image.pullSecrets | 
Container pull secrets | [] | 
pypiserver.extraArgs | 
Additional arguments (beside -P, -p, -a) to be passed to the underyling pypiserver image | [] | 
auth.actions | 
Actions requiring authentication (comma separated list) | update | 
auth.credentials | 
Map of username / encoded password to write in a htpasswd file | {} | 
ingress.enabled | 
Ingress configuration flag | false | 
ingress.labels | 
Ingress labels | {} | 
ingress.annotations | 
Ingress annotations | {} | 
ingress.path | 
Ingress path | nil | 
ingress.hosts | 
Ingress hosts | nil | 
ingress.tls | 
Ingress TLS configuration | [] | 
service.type | 
Service type | ClusterIP | 
service.port | 
Service port | 8080 | 
service.annotations | 
Service annotations | {} | 
service.labels | 
Service labels | {} | 
service.clusterIP | 
Service cluster IP | "" | 
service.externalIPs | 
Service external IPs | [] | 
service.loadBalancerIP | 
Service load balancer IP | "" | 
service.loadBalancerSourceRanges | 
Service load balancer CIDR ranges | [] | 
service.nodePort | 
Service node port | nil | 
persistence.enabled | 
Persistence configuration flag | false | 
persistence.storageClass | 
Persistence storage class | nil | 
persistence.existingClaim | 
Persistent volume claim static name | nil | 
persistence.accessMode | 
Persistence access mode | ReadWriteOnce | 
persistence.size | 
Persistence volume size | 5Gi | 
persistence.mountPropagation | 
Mount propagation method | nil | 
securityContext.enabled | 
Security context configuration flag | true | 
securityContext.runAsUser | 
User ID to run as | 0 | 
securityContext.runAsGroup | 
Group ID to run as | 0 | 
securityContext.fsGroup | 
Filesystem volume owner | 1000 | 
resources | 
Resources configuration bloc | {} | 
nodeSelector | 
Node selector of the deployment | {} | 
tolerations | 
Tolerations configuration for the deployment | [] | 
affinity | 
Affinity of the deployment | {} | 
podLabels | 
Extra labels applied to the pod | {} | 
podAnnotations | 
Extra annotations applied to the pod | {} | 
Specify each parameter using the --set key=value[,key=value] argument to helm install.