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>
This commit is contained in:
41
pkg/alpha.dagger.io/argocd/sync.cue
Normal file
41
pkg/alpha.dagger.io/argocd/sync.cue
Normal file
@@ -0,0 +1,41 @@
|
||||
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
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user