The upgrade instructions provided in this guide pertain to Akash providers installed via Helm Charts.
If your provider was installed using Praetor, please visit the Praetor Discord server for upgrade guidance and inquiries.
All providers MUST upgrade their Akash Provider and related components (RPC Node, CRDs, etc) on the date of the
Mainnet4
upgrade (November 17th 2022) to avoid disruption. Providers which are not upgrade postMainnet4
will be unable to bid on new orders. Pre-existing deployments on non-upgraded providers will not incur service disruption. But the ability to bid on new deployments, allow container shell access, and other features will be impacted until the provider’s RPC nodes are upgraded to0.18.0
and Providers are upgraded to use Provider Services version0.1.0
.
NOTE - please do not attempt to upgrade your provider until the
Mainnet4
upgrade has been completed. The Helm Charts will be updated to the use the correct/current binaries on the day of theMainnet4
upgrade.
Provider Upgrade Procedure
Update Local Helm Repo
RPC Node
- Prior to executing the Helm Upgrade command - inspect
akash-node-values.yml
forimage tag
and remove it if present
Akash Provider
Annotate CRDs
Annotate your current CRDs if you haven’t yet, they are normally delivered by the helm-charts, but they were missing in some releases. They prevent CRD from being removed upon helm uninstall.
If you get some errors, ignore them. Most likely you already have these annotations set in place.
It is normal if you do not have providerleasedips yet, it comes with mainnet4 upgrade only.
Manifest Backup
- Backup all provider manifest prior to initiating the upgrade process
- You can restore them later if you lose them (e.g. by using kubectl apply -f manifests-backup.yaml). To verify the CRD contents use kubectl -n lease get manifests command. (Change manifests to providerhosts or providerleasedips depending on CRD you are verifying).
Provider Upgrade
- With the release of the akash-provider helm-chart version 4.0.5, the provider is now deployed as a StatefulSet.
- Use the following step to uninstall any pre-existing Provider instances which used
Deployment
kubernetes resource type before deploying a new one. But first, backup the values usinghelm get values ....
command as covered in prior step.
- Prior to executing the Helm Upgrade command - inspect
akash-provider-values.yml
forimage tag
and remove it if present
Hostname Operator
Ensure Any Prior Hostname Operator Instances are Uninstalled
Install/Upgrade the Hostname Operator
Inventory Operator
- Only necessary if providing persistent storage
Ingress Controller (Optional)
- Prior to executing the Helm Upgrade command - inspect
akash-ingress-values.yml
for image tag and remove it if present
- Issue following to unblock the akash-provider
8443/tcp port
in case you have been using a very oldakash-ingress
helm chart which used the deployment k8s kind of resource