Skip to main content
Version: 1.0

Installation

Quick Install#

Install Pullup CRDs and components with the pre-generated YAML files.

# Install the latest version
kubectl apply -f https://github.com/tommy351/pullup/releases/latest/download/pullup-deployment.yml
# Install a specific version
kubectl apply -f https://github.com/tommy351/pullup/releases/download/v1.0.0/pullup-deployment.yml

The YAML file is generated with kustomize. You can see the source files in deployment folder, which contains:

  • A namespace pullup which contains the following resources.
  • Pullup custom resource definitions (CRD).
  • A Service account pullup.
  • RBAC for accessing Pullup CRD, writing events and the leader election.
  • Deployments of the controller and the webhook.
  • A service which exposes the webhook server.

RBAC#

After Pullup is installed, you have to grant access of the resources which will be used in triggers.

The following example includes Deployment and Service. See here for more details about RBAC.

rbac.yml
apiVersion: rbac.authorization.k8s.io/v1
# Change this to ClusterRole to apply in all namespaces.
kind: Role
metadata:
name: pullup-deployment
rules:
# Deployment
- apiGroups: ["apps", "extensions"]
resources: ["deployments"]
verbs: ["get", "create", "update", "patch", "delete"]
# Service
- apiGroups: [""]
resources: ["services"]
verbs: ["get", "create", "update", "patch", "delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
# Change this to ClusterRoleBinding to apply in all namespaces.
kind: RoleBinding
metadata:
name: pullup-deployment
# Bind to the pullup service account
subjects:
- kind: ServiceAccount
name: pullup
namespace: pullup
# Refer to the role above
roleRef:
kind: Role
name: pullup-deployment
apiGroup: rbac.authorization.k8s.io

Uninstall#

To uninstall Pullup from your cluster, delete the pullup namespace.

kubectl delete ns pullup