-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Inject namespace files into the Execution context so that they are accessible from the execution's working directory #2405
Comments
tchiotludo
added a commit
that referenced
this issue
Nov 7, 2023
tchiotludo
added a commit
that referenced
this issue
Nov 7, 2023
tchiotludo
added a commit
that referenced
this issue
Nov 7, 2023
tchiotludo
added a commit
that referenced
this issue
Nov 8, 2023
close #2405 Co-authored-by: Anna Geller <anna.m.geller@gmail.com>
tchiotludo
added a commit
to kestra-io/plugin-scripts
that referenced
this issue
Nov 8, 2023
tchiotludo
added a commit
to kestra-io/plugin-cloudquery
that referenced
this issue
Nov 8, 2023
tchiotludo
added a commit
to kestra-io/plugin-terraform
that referenced
this issue
Nov 8, 2023
tchiotludo
added a commit
to kestra-io/plugin-dataform
that referenced
this issue
Nov 8, 2023
tchiotludo
added a commit
to kestra-io/plugin-sqlmesh
that referenced
this issue
Nov 8, 2023
tchiotludo
added a commit
to kestra-io/plugin-ansible
that referenced
this issue
Nov 8, 2023
tchiotludo
added a commit
to kestra-io/plugin-azure
that referenced
this issue
Nov 8, 2023
tchiotludo
added a commit
to kestra-io/plugin-modal
that referenced
this issue
Nov 8, 2023
tchiotludo
added a commit
to kestra-io/plugin-dbt
that referenced
this issue
Nov 8, 2023
tchiotludo
added a commit
to kestra-io/plugin-aws
that referenced
this issue
Nov 8, 2023
tchiotludo
added a commit
to kestra-io/plugin-gcp
that referenced
this issue
Nov 8, 2023
tchiotludo
added a commit
to kestra-io/plugin-docker
that referenced
this issue
Nov 14, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The
namespaceFiles
propertyWe want to add an optional
namespaceFiles
property, which can be set either to:boolean
— by default, this property is set tofalse
; if set totrue
, we inject/load all Namespace Files from that specific namespace into the working directory of that taskmap
withinclude
andexclude
keys and values being a list of strings. Those strings are regular expressions allowing to include or exclude specific files or directories.WorkingDirectory
as a first task to includenamespaceFiles
propertyFirst, we want to add that property to the
WorkingDirectory
task. Then, we can add the same property to other tasks in plugins listed in the section below. Example with theinclude
pattern to only load namespace files from thescripts
directory:Simple example loading all namespace files into the task's working directory:
Problem to be solved
We want to make it easy to orchestrate entire projects containing:
Currently, users would need to store those in a Git repository and use a combination of
WorkingDirectory
and agit.Clone
task.To make that easier, we want to allow them to store all these projects as Namespace Files tied to a given namespace. Those files can be used as if you'd be working with a local directory. This way, it's possible to use as simple syntax as follows to orchestrate a Python script stored as a Namespace File in the directory
scripts
:Task types that will need the
namespaceFiles
propertyInject the namespace files only for the following tasks, as only those can benefit from them. The syntax may be implemented as described in this issue but on a task level #2341
WorkingDirectory
https://kestra.io/plugins/plugin-script-python/tasks/io.kestra.plugin.scripts.python.commands
https://kestra.io/plugins/plugin-script-r/tasks/io.kestra.plugin.scripts.r.commands
https://kestra.io/plugins/plugin-script-julia/tasks/io.kestra.plugin.scripts.julia.commands
https://kestra.io/plugins/plugin-script-shell/tasks/io.kestra.plugin.scripts.shell.commands
https://kestra.io/plugins/plugin-script-powershell/tasks/io.kestra.plugin.scripts.powershell.commands
https://kestra.io/plugins/plugin-script-node/tasks/io.kestra.plugin.scripts.node.commands
https://kestra.io/plugins/plugin-malloy/tasks/io.kestra.plugin.malloy.cli
https://kestra.io/plugins/plugin-aws/tasks/cli/io.kestra.plugin.aws.cli.awscli
https://kestra.io/plugins/plugin-azure/tasks/cli/io.kestra.plugin.azure.cli.azcli
https://kestra.io/plugins/plugin-gcp/tasks/cli/io.kestra.plugin.gcp.cli.gcloudcli
https://kestra.io/plugins/plugin-dbt/tasks/cli/io.kestra.plugin.dbt.cli.dbtcli
https://kestra.io/plugins/plugin-docker/tasks/io.kestra.plugin.docker.build
TerraformCLI
AnsibleCLI
ModalCLI
SQLMesh
Dataform
https://kestra.io/plugins/plugin-cloudquery/tasks/io.kestra.plugin.cloudquery.cloudquerycli
https://kestra.io/plugins/plugin-fs/tasks/ssh/io.kestra.plugin.fs.ssh.command
Where namespace files could be considered in the future, but not for now
Unsure about the usefulness of namespace files in compression tasks, but those compression + encryption tasks could potentially take a path to namespace files:
All upload tasks could, in theory, take a file from namespace files, but also here, I am not sure how useful that would be, as namespace files are meant for code, not data files:
Singer doesn't need namespace files.
Soda also doesn't.
The text was updated successfully, but these errors were encountered: