This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
dagger/pkg/alpha.dagger.io/argocd/sync.cue
Andrea Luzzardi 282759c0e5 cue modules: move stdlib to pkg/alpha.dagger.io
In preparation for Europa, we will vendor multiple CUE modules:

- `pkg/alpha.dagger.io`: legacy non-europa packages
- `pkg/dagger.io`: core Europa packages
- `pkg/universe.dagger.io`: Europa universe

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-11 13:16:37 -08:00

42 lines
687 B
CUE

package argocd
import (
"alpha.dagger.io/dagger"
"alpha.dagger.io/os"
)
// Sync an application to its targer state
#Sync: {
// ArgoCD configuration
config: #Config
// ArgoCD application
application: dagger.#Input & {string}
// Wait the application to sync correctly
wait: dagger.#Input & {*false | bool}
ctr: os.#Container & {
image: #CLI & {
"config": config
}
command: #"""
argocd app sync "$APPLICATION"
if [ -n "$WAIT_FLAG" ]; then
argocd app wait "$APPLICATION"
fi
"""#
always: true
env: APPLICATION: application
if wait {
env: WAIT_FLAG: "wait"
}
}
status: #Status & {
config: ctr.image.config
name: application
}
}