Using Argo CD to deploy Thoras
Thoras uses Kubernetes Secrets to share RDBMS passwords between components. Due to how Argo CD interprets Helm templates, it may detect these Secrets as constantly out of sync, resulting in unnecessary updates. To prevent these updates, add thisspec.ignoreDifferences
configuration to
your Argo CD Application
manifest. This tells Argo CD to ignore changes to the
data fields of thoras Secrets after they are created.
Example Application config
Using Argo CD to mange a Thoras horizontally controlled workload
When Thoras manages horizontal scaling for a workload, it uses a validation webhook to prevent the default Kubernetes Horizontal Pod Autoscaler (HPA) from reducing replicas during anticipated usage spikes. By design, this ensures workloads remain scaled up until Thoras determines it’s safe to scale down. However, Argo CD interprets these blocked scale-down attempts as HPA errors. This can cause the Application to appear in a degraded state even though the workload is healthy. To prevent this, you can customize Argo CD’s health assessment logic for HPAs so that these Thoras-specific conditions are handled correctly.When Do I Need This?
You only need this customization if all of the following are true:- The workload is horizontally controlled by Thoras.
- You are using Argo CD to monitor the workload state.
- You notice Argo CD incorrectly marking the HPA as Degraded when Thoras blocks a scale-down.
argocd-cm
ConfigMap in the argocd
namespace:
data
: