Skip to main content

Helm Installation

Install ImageShift using Helm for a customizable deployment.

Install ImageShift

ImageShift is distributed as an OCI Helm chart. No helm repo add is required.

Basic installation:

helm install imageshift oci://ghcr.io/wcrum/imageshift/chart \
--version <version> \
-n imageshift-system \
--create-namespace

With custom values:

helm install imageshift oci://ghcr.io/wcrum/imageshift/chart \
--version <version> \
-n imageshift-system \
--create-namespace \
-f values.yaml

Configuration Values

The following table lists the configurable parameters of the ImageShift chart.

Global Settings

ParameterDescriptionDefault
replicaCountNumber of controller replicas1
image.repositoryController image repositoryghcr.io/wcrum/imageshift
image.tagController image taglatest
image.pullPolicyImage pull policyIfNotPresent
imagePullSecretsImage pull secrets[]
nameOverrideOverride chart name""
fullnameOverrideOverride full release name""

Controller Settings

ParameterDescriptionDefault
controller.resources.limits.cpuCPU limit500m
controller.resources.limits.memoryMemory limit128Mi
controller.resources.requests.cpuCPU request10m
controller.resources.requests.memoryMemory request64Mi
controller.nodeSelectorNode selector labels{}
controller.tolerationsPod tolerations[]
controller.affinityPod affinity rules{}

Webhook Settings

ParameterDescriptionDefault
webhook.portWebhook server port9443
webhook.certManager.enabledUse cert-manager for TLStrue
webhook.certManager.issuerRefcert-manager issuer reference{}

RBAC Settings

ParameterDescriptionDefault
rbac.createCreate RBAC resourcestrue
serviceAccount.createCreate service accounttrue
serviceAccount.nameService account name""
serviceAccount.annotationsService account annotations{}

Example values.yaml

replicaCount: 2

image:
repository: ghcr.io/wcrum/imageshift
tag: v1.0.0
pullPolicy: IfNotPresent

controller:
resources:
limits:
cpu: 500m
memory: 256Mi
requests:
cpu: 100m
memory: 128Mi

nodeSelector:
kubernetes.io/os: linux

tolerations:
- key: "node-role.kubernetes.io/control-plane"
operator: "Exists"
effect: "NoSchedule"

webhook:
port: 9443
certManager:
enabled: true

rbac:
create: true

serviceAccount:
create: true
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::123456789012:role/imageshift-role

Upgrade

To upgrade an existing installation:

helm upgrade imageshift oci://ghcr.io/wcrum/imageshift/chart \
--version <version> \
-n imageshift-system

Uninstall

To remove ImageShift:

helm uninstall imageshift -n imageshift-system

Note: This will not remove the CRDs. To remove CRDs:

kubectl delete crd imageshifts.imageshift.dev

Next Steps