-
Notifications
You must be signed in to change notification settings - Fork 173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor action wait code #2203
Comments
This may be a good opportunity to look at making this a common library for things like Lula as well |
@phillebaba @AustinAbro321 and I were chatting about this today. Things to consider for this refactor:
|
I second the point of adopting kstatus and adding a healthChecks list additionally. We had success in Flux doing it this way as it would also support health checking CRDs as long as they conformed to kstatus. Over time other projects added support for kstatus as people requested compatibility with Flux. |
I'm always down for removing shell abstractions, send it |
I have done some exploration of the existing code now to understand any potential challenges. The main one is that we need a standard method of fetching Kubernetes configuration. Right now the CLI depends on the host machine being properly configured. We may want to add a |
My suggestion for addressing this is to add health checking as a feature now that we have a shared health checking pkg. This would mimic the behavior that Flux has pretty closely. My suggestion is that we add a new field to the components that allow the users to specify their health checks. kind: ZarfPackageConfig
metadata:
name: argocd
description: Example showcasing installing ArgoCD
components:
- name: argocd-helm-chart
required: true
charts:
- name: argo-cd
version: 5.54.0
namespace: argocd
url: https://argoproj.github.io/argo-helm
releaseName: argocd-baseline
valuesFiles:
- baseline/values.yaml
images:
- docker.io/library/redis:7.0.15-alpine
- quay.io/argoproj/argocd:v2.9.6
# Cosign artifacts for images - argocd - argocd-helm-chart
- quay.io/argoproj/argocd:sha256-2dafd800fb617ba5b16ae429e388ca140f66f88171463d23d158b372bb2fae08.sig
- quay.io/argoproj/argocd:sha256-2dafd800fb617ba5b16ae429e388ca140f66f88171463d23d158b372bb2fae08.att
healthChecks:
- apiVersion: v1
kind: Deployment
name: argocd
namespace: argocd My plan is that we just use the timeout set when calling the Zarf command. |
Describe what should be investigated or refactored
The code for executing action waits should be refactored to make it easier to extend
Links to any relevant code
src/pkg/utils/wait.go
Additional context
@Noxsios @AustinAbro321
Looked into adding a
--silent
flag to control the output ofzarf tools wait-for
in #2180 and found that the function signature forExecuteWait
would grow to 7 input parametersThe text was updated successfully, but these errors were encountered: