You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Integrate with variantdev/mod for automatic dependency management, including retrieving latest version numbers of dependencies and install binaries and generate files based on the numbers, including Dockerfile and executables.
Avoid deep nesting of tasks. Instead of tasks.foo.tasks.bar.tasks.baz to define variant foo bar baz, use commands."foo bar baz"
apiVersion: v1# See https://github.com/mumoshu/variant/issues/113config:
# Load `{{.Config.Values}}` from foo.yaml and bar.yaml.# Use contexts and directories instead for layeringfiles:
- foo.yaml
- bar.yamlcontexts:
- cluster1,devdirectories:
- test
- config/environments# This allows you to define default valuesvalues:
- foo: bar# Supports https://github.com/variantdev/vals refs
- ref+vault://mykv/mydoc#/myfield# variantdev/mod dependencies.# Dependencies are automatically loaded from `variant.lock`.# If variant.lock is missing, it will automatically retrieve the latest version numbers and creates `variant.lock` from it.# When variant.lock exists, you can manually run /variant mod build [--pull-request] to (re)generate and optionally submit a prdependencies:
helmfile:
releasesFrom:
dockerImageTags:
source: quay.io/roboll/helmfileversion: "> 0.94.0"# vavriantdev/mod provisioners.provisioners:
# If the target file is missing, variant will automatically create the file# You can manually run /variant mod build --pull-request to (re)generate and optionally submit a prregexpReplace:
Dockerfile:
from: "(FROM helmfile:)(\\S+)(\\s+)"to: "${1}{{.Dependencies.helmfile.version}}${3}"executables:
# Adds alias dockergo='docker run golang:{{.version}}' to $PATHdockergo:
platforms:
# Adds $VARIANT_MOD_PATH/mod/cache/CACHE_KEY/dockergo to $PATH# Or its shim at $VARIANT_MOD_PATH/MODULE_NAME/shims
- docker:
command: goimage: golangtag: '{{.version}}'volume:
- $PWD:/workworkdir: /workcommands:
hello:
script: | echo helloapp deploy:
workflow:
app1-enabled:
type: boolapp1-dir:
type: stringfrom:
- env
- config
- script: somescriptrunner:
image: foobar:tagcommand: somecmdargs: [arg1]app1:
command: {kubectl-apply: {file: "{{ .app1Dir }}"}}condition: .app1Enabledneeds: [app1-enabled, app1-dir]#after: [parma1] if you don't refer to `.Deps.param1` from the template and only want to control execution order, not the existence of param1app2:
task: {helm-upgrade: {chart: charts/mychart}}
TODOs:
Implement Variant GitHub Action
In addition to triggering commands via slash commands on github issues/ps, add support for triggering via issue creation(any /slashcmd contained in the issue body are triggered)
The text was updated successfully, but these errors were encountered:
Closing this as covered by Variant 2. More precisely, Variant 2 gives bascially this(workflows, concurrency, DAGs) in either JSON or HCL-based configuration syntax. See #129 fore more information.
Uh oh!
There was an error while loading. Please reload this page.
I'd like to introduce the next generation of Variant's configuration syntax with a few additional features, which is basically an extension over #125.
task
tocommand
, as it's for literally definiting commands.workflow
to run a DAG-represented workflow ofjobs
as described in feat: Support for Concurrent and DAG-based inputs and steps #125tasks
. Instead oftasks.foo.tasks.bar.tasks.baz
to definevariant foo bar baz
, usecommands."foo bar baz"
TODOs:
The text was updated successfully, but these errors were encountered: