Skip to content

Conversation

@skkra0
Copy link
Collaborator

@skkra0 skkra0 commented Jan 22, 2026

  • Deploy apps without volume mounts as deployments rather than statefulsets.

    • Updated getAppStatus to get metadata from deployments

    • Note: Scaling a deployment through AnvilOps triggers a new ReplicaSet to be created, replacing every pod even if no other configuration changes were made. This is because every update made by AnvilOps changes the deployment id, which is included in the pod spec(labels, environment variables). To avoid this, the deployment id would need to be removed from the pod spec without breaking the log shipper. Or, replicas could scale separately from the updateApp operation to avoid increasing the deployment id at all.

  • Some minor fixes

    • Helm allowed checks
    • Retry listRepoBranches on error

@skkra0
Copy link
Collaborator Author

skkra0 commented Jan 22, 2026

Some notes for a future PR after removing deployment id from the labels and environment variables

The Status tab needs a way to identify the pods from the newest deployment. Without a convenient deployment id label, this must be handled differently between Deployments and StatefulSets.
StatefulSet Pod: Test pod.metadata.labels["controller-revision-hash"] === statefulset.status.updateRevision
Deployment Pod:

  1. Get the revision deployment.metadata.annotations["deployment.kubernetes.io/revision"]
  2. Get the ReplicaSet with the same revision
  3. Test pod.metadata.labels["pod-template-hash"] === replicaset.labels["pod-template-hash"]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants