Merge branch 'main' into cloudrun-support

This commit is contained in:
Tihomir Jovicic 2021-07-01 08:54:44 +02:00
commit 650caa8d4a
267 changed files with 2667 additions and 1463 deletions

View File

@ -2,9 +2,9 @@
package main package main
import ( import (
"dagger.io/dagger" "alpha.dagger.io/dagger"
"dagger.io/os" "alpha.dagger.io/os"
"dagger.io/go" "alpha.dagger.io/go"
) )
// Dagger source code // Dagger source code

View File

@ -1,9 +1,9 @@
package main package main
import ( import (
"dagger.io/dagger" "alpha.dagger.io/dagger"
"dagger.io/js/yarn" "alpha.dagger.io/js/yarn"
"dagger.io/netlify" "alpha.dagger.io/netlify"
) )
// dagger repository // dagger repository

View File

@ -1,7 +1,7 @@
package testcore package testcore
import ( import (
"dagger.io/dagger" "alpha.dagger.io/dagger"
) )
name: dagger.#Input & { name: dagger.#Input & {

View File

@ -77,7 +77,7 @@ jobs:
go-version: 1.16 go-version: 1.16
- name: Setup Kind Kubernetes Cluster - name: Setup Kind Kubernetes Cluster
uses: engineerd/setup-kind@v0.5.0 uses: helm/kind-action@v1.2.0
- name: Install Dependencies - name: Install Dependencies
run: | run: |

View File

@ -251,16 +251,9 @@ func (c *Client) logSolveStatus(ctx context.Context, st *state.State, ch chan *b
Logger() Logger()
msg := secureSprintf(format, a...) msg := secureSprintf(format, a...)
switch stream { lg.
case 1: Info().
lg. Msg(msg)
Info().
Msg(msg)
case 2:
lg.
Error().
Msg(msg)
}
}, },
) )
} }

View File

@ -8,6 +8,7 @@ import (
"os" "os"
"path" "path"
"path/filepath" "path/filepath"
"sort"
"strings" "strings"
"text/tabwriter" "text/tabwriter"
"unicode/utf8" "unicode/utf8"
@ -332,11 +333,16 @@ func walkStdlib(ctx context.Context, output, format string) {
if err != nil { if err != nil {
return err return err
} }
if p == "." || !d.IsDir() { if p == "." || !d.IsDir() || d.Name() == "cue.mod" {
return nil return nil
} }
pkgName := fmt.Sprintf("dagger.io/%s", p) // Ignore tests directories
if d.Name() == "tests" {
return nil
}
pkgName := fmt.Sprintf("alpha.dagger.io/%s", p)
lg.Info().Str("package", pkgName).Str("format", format).Msg("generating doc") lg.Info().Str("package", pkgName).Str("format", format).Msg("generating doc")
val, err := loadCode(pkgName) val, err := loadCode(pkgName)
if err != nil { if err != nil {
@ -365,13 +371,28 @@ func walkStdlib(ctx context.Context, output, format string) {
return false return false
} }
for p, pkg := range packages { // get filename from a package name
getFileName := func(p string) string {
filename := fmt.Sprintf("%s.%s", p, format) filename := fmt.Sprintf("%s.%s", p, format)
// If this package has sub-packages (e.g. `aws`), create // If this package has sub-packages (e.g. `aws`), create
// `aws/README.md` instead of `aws.md`. // `aws/README.md` instead of `aws.md`.
if hasSubPackages(p) { if hasSubPackages(p) {
filename = fmt.Sprintf("%s/README.%s", p, format) filename = fmt.Sprintf("%s/README.%s", p, format)
} }
return filename
}
// Create main index
index, err := os.Create(path.Join(output, "README.md"))
if err != nil {
lg.Fatal().Err(err).Msg("cannot generate stdlib doc index")
}
defer index.Close()
fmt.Fprintf(index, "# Index\n\n")
indexKeys := []string{}
for p, pkg := range packages {
filename := getFileName(p)
filepath := path.Join(output, filename) filepath := path.Join(output, filename)
if err := os.MkdirAll(path.Dir(filepath), 0755); err != nil { if err := os.MkdirAll(path.Dir(filepath), 0755); err != nil {
@ -384,6 +405,14 @@ func walkStdlib(ctx context.Context, output, format string) {
} }
defer f.Close() defer f.Close()
indexKeys = append(indexKeys, p)
fmt.Fprintf(f, "%s", pkg.Format(format)) fmt.Fprintf(f, "%s", pkg.Format(format))
} }
// Generate index from sorted list of packages
sort.Strings(indexKeys)
for _, p := range indexKeys {
description := mdEscape(packages[p].Description)
fmt.Fprintf(index, "- [%s](./%s) - %s\n", p, getFileName(p), description)
}
} }

View File

@ -19,6 +19,8 @@ var downCmd = &cobra.Command{
Run: func(cmd *cobra.Command, args []string) { Run: func(cmd *cobra.Command, args []string) {
panic("not implemented") panic("not implemented")
}, },
// Remove hidden flag once command has been implemented
Hidden: true,
} }
func init() { func init() {

View File

@ -22,6 +22,8 @@ var historyCmd = &cobra.Command{
panic("not implemented") panic("not implemented")
}, },
// Remove hidden flag once command has been implemented
Hidden: true,
} }
func init() { func init() {

View File

@ -22,6 +22,8 @@ var loginCmd = &cobra.Command{
panic("not implemented") panic("not implemented")
}, },
// Remove hidden flag once command has been implemented
Hidden: true,
} }
func init() { func init() {

View File

@ -22,6 +22,8 @@ var logoutCmd = &cobra.Command{
panic("not implemented") panic("not implemented")
}, },
// Remove hidden flag once command has been implemented
Hidden: true,
} }
func init() { func init() {

View File

@ -22,6 +22,8 @@ var dirCmd = &cobra.Command{
panic("not implemented") panic("not implemented")
}, },
// Remove hidden flag once command has been implemented
Hidden: true,
} }
func init() { func init() {

View File

@ -54,7 +54,7 @@ var upCmd = &cobra.Command{
func checkInputs(ctx context.Context, st *state.State) { func checkInputs(ctx context.Context, st *state.State) {
lg := log.Ctx(ctx) lg := log.Ctx(ctx)
warnOnly := viper.GetBool("force") || !term.IsTerminal(int(os.Stdout.Fd())) warnOnly := viper.GetBool("force")
// FIXME: find a way to merge this with the EnvironmentUp client to avoid // FIXME: find a way to merge this with the EnvironmentUp client to avoid
// creating the client + solver twice // creating the client + solver twice

View File

@ -1 +0,0 @@
../../stdlib

View File

@ -5,20 +5,20 @@ slug: /learn/101-basics
# Dagger 101: basic usage # Dagger 101: basic usage
In this guide, you will learn the basics of Dagger by interacting with a pre-configured environment. In this guide, you will learn the basics of Dagger by interacting with a pre-configured environment.
Then you will move on to creating your own environment from scratch. Then you will move on to creating your environment from scratch.
Our pre-configured environment deploys a simple [React](https://reactjs.org/) Our pre-configured environment deploys a simple [React](https://reactjs.org/)
application to a special hosting environment created and managed by us, the Dagger team, for the purpose of this tutorial. application to a unique hosting environment created and managed by us, the Dagger team, for this tutorial.
This will allow you to deploy something "real" right away, without having to configure your own infrastructure first. This will allow you to deploy something "real" right away without configuring your infrastructure first.
In later guides, you will learn how to configure Dagger to deploy to your own infrastructure. And, for advanced users, In later guides, you will learn how to configure Dagger to deploy to your infrastructure. And, for advanced users,
how to share access to your infrastructure in the same way that we are sharing access to ours now. how to share access to your infrastructure in the same way that we share access to ours now.
## Initial setup ## Initial setup
### Install Dagger ### Install Dagger
First, make sure [you have installed dagger on your local machine](/install). First, make sure [you have installed Dagger on your local machine](/install).
### Setup example app ### Setup example app
@ -38,15 +38,15 @@ cd examples/todoapp
### Import the tutorial key ### Import the tutorial key
Dagger natively supports encrypted secrets: when a user inputs a value marked as secret Dagger natively supports encrypted secrets: when a user inputs a value marked as secret
(for example a password, API token or ssh key) it is automatically encrypted with that user's key, (for example, a password, API token, or ssh key) it is automatically encrypted with that user's key,
and no other user can access that value unless they are explicitly given access. and no other user can access that value unless they are explicitly given access.
In the interest of security, Dagger has no way _not_ to encrypt a secret value. In the interest of security, Dagger has no way _not_ to encrypt a secret value.
But this causes a dilemma for this tutorial: how do we give unrestricted public access to our But this causes a dilemma for this tutorial: how do we give unrestricted, public access to our
(carefully sandboxed) infrastructure, so that anyone can deploy to it? (carefully sandboxed) infrastructure so that anyone can deploy to it?
To solve this dilemma, we included the private key used to encrypt the tutorial's secret inputs. To solve this dilemma, we included the private key used to encrypt the tutorial's secret inputs.
Simply import the key to your Dagger installation, and you're good to go: Import the key to your Dagger installation, and you're good to go:
```shell ```shell
./import-tutorial-key.sh ./import-tutorial-key.sh
@ -54,7 +54,7 @@ Simply import the key to your Dagger installation, and you're good to go:
## First deployment ## First deployment
Now that your environment is setup, you are ready to deploy: Now that your environment is set up, you are ready to deploy:
```shell ```shell
dagger up dagger up
@ -75,7 +75,7 @@ NOTE: you don't have to commit your changes to the git repository before deployi
## Under the hood ## Under the hood
This example showed you how to deploy and develop on an application that is already configured with dagger. Now, let's learn a few concepts to help you understand how this was put together. This example showed you how to deploy and develop an application that is already configured with Dagger. Now, let's learn a few concepts to help you understand how this was put together.
### The Environment ### The Environment
@ -87,13 +87,13 @@ You can list existing environment from the `./todoapp` directory:
dagger list dagger list
``` ```
You should see an environment named `s3`. You can have many environments within your app. For instance one for `staging`, one for `dev`, etc... You should see an environment named `s3`. You can have many environments within your app. For instance, one for `staging`, one for `dev`, etc...
Each environment can have different kind of deployment code. For example, a `dev` environment can deploy locally, a `staging` environment can deploy to a remote infrastructure, and so on. Each environment can have a different kind of deployment code. For example, a `dev` environment can deploy locally; a `staging` environment can deploy to a remote infrastructure, and so on.
### The plan ### The plan
The plan is the deployment code, that includes the logic to deploy the local application to an AWS S3 bucket. From the `todoapp` directory, you can list the code of the plan: The plan is the deployment code that includes the logic to deploy the local application to an AWS S3 bucket. From the `todoapp` directory, you can list the code of the plan:
```shell ```shell
ls -l .dagger/env/s3/plan/ ls -l .dagger/env/s3/plan/
@ -103,7 +103,7 @@ Any code change to the plan will be applied during the next `dagger up`.
### The inputs ### The inputs
The plan can define one or several `inputs` in order to take some information from the user. Here is how to list the current inputs: The plan can define one or several `inputs`. Inputs may be configuration values, artifacts, or encrypted secrets provided by the user. Here is how to list the current inputs:
```shell ```shell
dagger input list dagger input list
@ -113,7 +113,7 @@ The inputs are persisted inside the `.dagger` directory and pushed to your git r
### The outputs ### The outputs
The plan defines one or several `outputs`. They can show useful information at the end of the deployment. That's how we read the deploy `url` at the end of the deployment. Here is the command to list all inputs: The plan defines one or several `outputs`. They can show helpful information at the end of the deployment. That's how we read the deploy `url` at the end of the deployment. Here is the command to list all inputs:
```shell ```shell
dagger output list dagger output list
@ -121,4 +121,4 @@ dagger output list
## What's next? ## What's next?
At this point, you have deployed your first application using dagger and learned some dagger commands. You are now ready to [learn more about how to program dagger](/learn/102-dev). At this point, you have deployed your first application using Dagger and learned some dagger commands. You are now ready to [learn more about how to program Dagger](/learn/102-dev).

View File

@ -6,47 +6,46 @@ slug: /learn/102-dev
## Overview ## Overview
In this guide you will create your first Dagger environment from scratch, In this guide, you will create your first Dagger environment from scratch,
and use it to deploy a React application to 2 locations in parallel: and use it to deploy a React application to two locations in parallel:
a dedicated [Amazon S3](https://wikipedia.org/wiki/Amazon_S3) bucket, and a a dedicated [Amazon S3](https://wikipedia.org/wiki/Amazon_S3) bucket, and a
[Netlify](https://en.wikipedia.org/wiki/Netlify) site. [Netlify](https://en.wikipedia.org/wiki/Netlify) site.
### Anatomy of a Dagger environment ### Anatomy of a Dagger environment
A Dagger environment contains all the code and data necessary to deliver a particular application in a particular way. A Dagger environment contains all the code and data necessary to deliver a particular application in a specific way.
For example the same application might be delivered to a production and staging environment, each with their own For example, the same application might be delivered to a production and staging environment, each with its own configuration.
configuration.
An environment is made of 3 parts: An environment is made of 3 parts:
* A *plan*, authored by the environment's *developer*, using the [Cue](https://cuelang.org) language. - A _plan_, authored by the environment's _developer_, using the [Cue](https://cuelang.org) language.
* *Inputs*, supplied by the environment's *user* via the `dagger input` command, and written to a special file. Inputs may be configuration values, artifacts, or encrypted secrets. - _Inputs_, supplied by the environment's _user_ via the `dagger input` command and written to a particular file. Inputs may be configuration values, artifacts, or encrypted secrets.
* *Outputs*, computed by the Dagger engine via the `dagger up` command, and recorded to a special directory. - _Outputs_, computed by the Dagger engine via the `dagger up` command and recorded to a particular directory.
We will first develop our environment's *plan*, then configure its initial inputs, then finally run it to verify that it works. We will first develop our environment's _plan_, configure its initial inputs, then finally run it to verify that it works.
### Anatomy of a plan ### Anatomy of a plan
A _plan_ specifies, in code, how to deliver a particular application in a particular way. A _plan_ specifies, in code, how to deliver a particular application in a specific way.
It is your environment's source code. It is your environment's source code.
Unlike regular imperative programs which specify a sequence of instructions to execute, Unlike regular imperative programs, which specify a sequence of instructions to execute,
a Dagger plan is _declarative_: it lays out your application's supply chain as a graph a Dagger plan is _declarative_: it lays out your application's supply chain as a graph
of interconnected nodes. of interconnected nodes.
Each node in the graph represents a component of the supply chain, for example: Each node in the graph represents a component of the supply chain, for example:
* Development tools: source control, CI, build systems, testing systems - Development tools: source control, CI, build systems, testing systems
* Hosting infrastructure: compute, storage, networking, databases, CDNs - Hosting infrastructure: compute, storage, networking, databases, CDNs
* Software dependencies: operating systems, languages, libraries, frameworks, etc. - Software dependencies: operating systems, languages, libraries, frameworks, etc.
Each link in the graph represents a flow of data between nodes. For example: Each link in the graph represents a flow of data between nodes. For example:
* source code flows from a git repository to a build system - source code flows from a git repository to a build system
* system dependencies are combined in a docker image, then uploaded to a registry - system dependencies are combined in a docker image, then uploaded to a registry
* configuration files are generated then sent to a compute cluster or load balancer - configuration files are generated then sent to a compute cluster or load balancer
### Introduction to Cue development ### Introduction to Cue development
@ -56,22 +55,22 @@ Cue is a powerful declarative language by Marcel van Lohuizen. Marcel co-created
If you are new to Cue development, don't worry: this tutorial will walk you through the basic If you are new to Cue development, don't worry: this tutorial will walk you through the basic
steps to get started, and give you resources to learn more. steps to get started, and give you resources to learn more.
In technical terms, our plan is a [Cue Package](https://cuelang.org/docs/concepts/packages/#packages). In this tutorial we will develop a new Cue package from scratch for our plan; but you can use any Cue package as a plan. In technical terms, our plan is a [Cue Package](https://cuelang.org/docs/concepts/packages/#packages). This tutorial will develop a new Cue package from scratch for our plan, but you can use any Cue package as a plan.
## Initial setup ## Initial setup
### Install Cue ### Install Cue
Although not strictly necessary, for an optimal development experience we recommend Although not strictly necessary, for an optimal development experience, we recommend
[installing a recent version of Cue](https://github.com/cuelang/cue/releases/). [installing a recent version of Cue](https://github.com/cuelang/cue/releases/).
### Prepare Cue learning resources ### Prepare Cue learning resources
If you are new to Cue, we recommend keeping the following resources in browser tabs: If you are new to Cue, we recommend keeping the following resources in browser tabs:
* The unofficial but excellent [Cuetorials](https://cuetorials.com/overview/foundations/) in a browser tab, to look up Cue concepts as they appear. - The unofficial but excellent [Cuetorials](https://cuetorials.com/overview/foundations/) in a browser tab, to look up Cue concepts as they appear.
* The official [Cue interactive sandbox](https://cuelang.org/play) for easy experimentation. - The official [Cue interactive sandbox](https://cuelang.org/play) for easy experimentation.
### Setup example app ### Setup example app
@ -94,9 +93,9 @@ cd examples/todoapp
Developing for Dagger takes place in a [Cue module](https://cuelang.org/docs/concepts/packages/#modules). Developing for Dagger takes place in a [Cue module](https://cuelang.org/docs/concepts/packages/#modules).
If you are familiar with Go, Cue modules are directly inspired by Go modules. If you are familiar with Go, Cue modules are directly inspired by Go modules.
Otherwise, don't worry: a Cue module is simply a directory with one or more Cue packages in it. A Cue module has a `cue.mod` directory at its root. Otherwise, don't worry: a Cue module is simply a directory with one or more Cue packages in it. For example, a Cue module has a `cue.mod` directory at its root.
In this guide we will use the same directory as the root of the Dagger workspace and the root of the Cue module; but you can create your Cue module anywhere inside the Dagger workspace. This guide will use the same directory as the root of the Dagger workspace and the Cue module, but you can create your Cue module anywhere inside the Dagger workspace.
```shell ```shell
cue mod init cue mod init
@ -106,10 +105,9 @@ cue mod init
Now we start developing our Cue package at the root of our Cue module. Now we start developing our Cue package at the root of our Cue module.
In this guide we will split our package in multiple files, one per component. In this guide, we will split our package into multiple files, one per component.
But you can organize your package any way you want: the Cue evaluator simply merges together Thus, it is typical for a Cue package to have only one file. However, you can organize your package any way you want: the Cue evaluator merges all files from the same package, as long as they are in the same directory, and start with the same
all files from the same package, as long as they are in the same directory and start with the same `package` clause...
`package` clause. It is common for a Cue package to have only one file.
See the [Cue documentation](https://cuelang.org/docs/concepts/packages/#files-belonging-to-a-package) for more details. See the [Cue documentation](https://cuelang.org/docs/concepts/packages/#files-belonging-to-a-package) for more details.
We will call our package `multibucket` because it sounds badass and vaguely explains what it does. We will call our package `multibucket` because it sounds badass and vaguely explains what it does.
@ -118,42 +116,42 @@ But you can call your packages anything you want.
Let's create a new directory for our Cue package: Let's create a new directory for our Cue package:
```shell ```shell
mkdir multibucket mkdir cue.mod/multibucket
``` ```
### Component 1: app source code ### Component 1: app source code
The first component of our plan is the source code of our React application. The first component of our plan is the source code of our React application.
In Dagger terms, this component has 2 important properties: In Dagger terms, this component has two essential properties:
1. It is an *artifact*: something that can be represented as a directory. 1. It is an _artifact_: something that can be represented as a directory.
2. It is an *input*: something that is provided by the end user. 2. It is an _input_: something that is provided by the end-user.
Let's write the corresponding Cue code to a new file in our package: Let's write the corresponding Cue code to a new file in our package:
```cue title="todoapp/multibucket/source.cue" ```cue title="todoapp/cue.mod/multibucket/source.cue"
package multibucket package multibucket
import ( import (
"dagger.io/dagger" "alpha.dagger.io/dagger"
) )
// Source code of the sample application // Source code of the sample application
src: dagger.#Artifact & dagger.#Input src: dagger.#Artifact & dagger.#Input
``` ```
This defines a component at the key `src`, and specifies that it is both an artifact and an input. This code defines a component at the key `src`, and specifies that it is both an artifact and an input.
### Component 2: yarn package ### Component 2: yarn package
The second component of our plan is the Yarn package built from the app source code: The second component of our plan is the Yarn package built from the app source code:
```cue title="todoapp/multibucket/yarn.cue" ```cue title="todoapp/cue.mod/multibucket/yarn.cue"
package multibucket package multibucket
import ( import (
"dagger.io/js/yarn" "alpha.dagger.io/js/yarn"
) )
// Build the source code using Yarn // Build the source code using Yarn
@ -164,25 +162,25 @@ app: yarn.#Package & {
Let's break it down: Let's break it down:
* `package multibucket`: this file is part of the multibucket package - `package multibucket`: this file is part of the multibucket package
* `import ( "dagger.io/js/yarn" )`: import a package from the [Dagger Universe](https://github.com/dagger/dagger/tree/main/stdlib). - `import ( "alpha.dagger.io/js/yarn" )`: import a package from the [Dagger Universe](../reference/universe/README.md).
* `app: yarn.#Package`: apply the `#Package` definition at the key `app` - `app: yarn.#Package`: apply the `#Package` definition at the key `app`
* `&`: also merge the following values at the same key... - `&`: also merge the following values at the same key...
* `{ source: src }`: set the key `app.source` to the value of `src`. This connects our 2 components, forming the first link in our DAG. - `{ source: src }`: set the key `app.source` to the value of `src`. This snippet of code connects our two components, forming the first link in our DAG
### Component 3: dedicated S3 bucket ### Component 3: dedicated S3 bucket
*FIXME*: this section is not yet available, because the [Amazon S3 package](https://github.com/dagger/dagger/tree/main/stdlib/aws/s3) does [not yet support bucket creation](https://github.com/dagger/dagger/issues/623). We welcome external contributions :) _FIXME_: this section is not yet available because the [Amazon S3 package](https://github.com/dagger/dagger/tree/main/stdlib/aws/s3) does [not yet support bucket creation](https://github.com/dagger/dagger/issues/623). We welcome external contributions :)
### Component 4: deploy to Netlify ### Component 4: deploy to Netlify
The third component of our plan is the Netlify site to which the app will be deployed: The third component of our plan is the Netlify site to which the app will be deployed:
```cue title="todoapp/multibucket/netlify.cue" ```cue title="todoapp/cue.mod/multibucket/netlify.cue"
package multibucket package multibucket
import ( import (
"dagger.io/netlify" "alpha.dagger.io/netlify"
) )
// Netlify site // Netlify site
@ -191,25 +189,25 @@ site: "netlify": netlify.#Site & {
} }
``` ```
This is very similar to the previous component: This component is very similar to the previous one:
* We use the same package name as the other files - We use the same package name as the other files
* We import another package from the [Dagger Universe](https://github.com/dagger/dagger/tree/main/stdlib). - We import another package from the [Dagger Universe](../reference/universe/README.md).
* `site: "netlify": site.#Netlify`: apply the `#Site` definition at the key `site.netlify`. Note the use of quotes to protect the key from name conflict. - `site: "netlify": site.#Netlify`: apply the `#Site` definition at the key `site.netlify`. Note the use of quotes to protect the key from name conflict.
* `&`: also merge the following values at the same key... - `&`: also merge the following values at the same key...
* `{ contents: app.build }`: set the key `site.netlify.contents` to the value of `app.build`. This connects our components 2 and 3, forming the second link in our DAG. - `{ contents: app.build }`: set the key `site.netlify.contents` to the value of `app.build`. This line connects our components 2 and 3, forming the second link in our DAG.
### Exploring a package documentation ### Exploring a package documentation
But wait: how did we know what fields were available in `yarn.#Package` and `netlify.#Site`? But wait: how did we know what fields were available in `yarn.#Package` and `netlify.#Site`?
Answer: thanks to the `dagger doc` command, which prints the documentation of any package from [Dagger Universe](https://github.com/dagger/dagger/tree/main/stdlib). Answer: thanks to the `dagger doc` command, which prints the documentation of any package from [Dagger Universe](../reference/universe/README.md).
```shell ```shell
dagger doc dagger.io/netlify dagger doc alpha.dagger.io/netlify
dagger doc dagger.io/js/yarn dagger doc alpha.dagger.io/js/yarn
``` ```
You can also browse the [Dagger Universe](/reference/universe) reference in the documentation. You can also browse the [Dagger Universe](../reference/universe/README.md) reference in the documentation.
## Setup the environment ## Setup the environment
@ -218,27 +216,56 @@ You can also browse the [Dagger Universe](/reference/universe) reference in the
Now that your Cue package is ready, let's create an environment to run it: Now that your Cue package is ready, let's create an environment to run it:
```shell ```shell
dagger new 'multibucket' dagger new 'multibucket' -m cue.mod/multibucket
``` ```
### Load the plan into the environment
Now let's configure the new environment to use our package as its plan:
```shell
cp multibucket/*.cue .dagger/env/multibucket/plan/
```
Note: you need to copy the files from your package into the environment, as shown above.
If you make more changes to your package, you will need to copy the new version, or it will not be used.
In the future, we will add the ability to reference your Cue package directory, making this manual copy unnecessary.
### Configure user inputs ### Configure user inputs
[This section is not yet written](https://github.com/dagger/dagger/blob/main/CONTRIBUTING.md) You can inspect the list of inputs (both required and optional) using dagger input list:
```shell
dagger input list -e multibucket
# Input Value Set by user Description
# site.netlify.account.name *"" | string false Use this Netlify account name (also referred to as "team" in the Netlify docs)
# site.netlify.account.token dagger.#Secret false Netlify authentication token
# site.netlify.name string false Deploy to this Netlify site
# site.netlify.create *true | bool false Create the Netlify site if it doesn't exist?
# src dagger.#Artifact false Source code of the sample application
# app.cwd *"." | string false working directory to use
# app.writeEnvFile *"" | string false Write the contents of `environment` to this file, in the "envfile" format
# app.buildDir *"build" | string false Read build output from this directory (path must be relative to working directory)
# app.script *"build" | string false Run this yarn script
# app.args *[] | [] false Optional arguments for the script
```
All the values without default values (without `*`) have to be specified by the user. Here, required fields are:
- `site.netlify.account.token`, your access token
- `site.netlify.name`, name of the published website
- `src`, source code of the app
Please note the type of the user inputs: a string, a #Secret and an artifact. Let's see how to input them:
```shell
# As a string input is expected for `site.netlify.name`, we set a `text` input
dagger input text site.netlify.name <GLOBALLY-UNIQUE-NAME> -e multibucket
# As a secret input is expected for `site.netlify.account.token`, we set a `secret` input
dagger input secret site.netlify.account.token <PERSONAL-ACCESS-TOKEN> -e multibucket
# As an Artifact is exepected for `src`, we set a `dir` input (dagger input list for alternatives)
dagger input dir src . -e multibucket
```
### Deploy ### Deploy
Now that everything is properly set, let's deploy on Netlify:
```shell
dagger up -e multibucket
```
[This section is not yet written](https://github.com/dagger/dagger/blob/main/CONTRIBUTING.md) [This section is not yet written](https://github.com/dagger/dagger/blob/main/CONTRIBUTING.md)
### Using the environment ### Using the environment

View File

@ -4,7 +4,7 @@ slug: /learn/103-script
# Dagger 103: integrate custom shell scripts # Dagger 103: integrate custom shell scripts
In this guide, you will learn how to incorporate your custom shell scripts into a Dagger environment. For example, to run integration tests before deployment; call a custom processing step; or any other custom task which you have already automated, and want to incorporate into your Dagger environment with minimal effort. In this guide, you will learn how to incorporate your custom shell scripts into a Dagger environment. For example, run integration tests before deployment; call a custom processing step; or any other custom task which you have already automated and want to incorporate into your Dagger environment with minimal effort.
This section is not yet written. Help Dagger growing by suggesting content improvements. This section is not yet written. Help Dagger growing by suggesting content improvements.

View File

@ -164,14 +164,14 @@ values={[
package kube package kube
import ( import (
"dagger.io/kubernetes" "alpha.dagger.io/kubernetes"
) )
// input: ~/.kube/config file used for deployment // input: ~/.kube/config file used for deployment
// set with `dagger input text kubeconfig -f ~/.kube/config` // set with `dagger input text kubeconfig -f ~/.kube/config`
kubeconfig: string @dagger(input) kubeconfig: string @dagger(input)
// deploy uses the `dagger.io/kubernetes` package to apply a manifest to a // deploy uses the `alpha.dagger.io/kubernetes` package to apply a manifest to a
// Kubernetes cluster. // Kubernetes cluster.
deploy: kubernetes.#Resources & { deploy: kubernetes.#Resources & {
// reference the `kubeconfig` input above // reference the `kubeconfig` input above
@ -190,8 +190,8 @@ deploy: kubernetes.#Resources & {
package kube package kube
import ( import (
"dagger.io/kubernetes" "alpha.dagger.io/kubernetes"
"dagger.io/gcp/gke" "alpha.dagger.io/gcp/gke"
) )
// gkeConfig used for deployment // gkeConfig used for deployment
@ -199,7 +199,7 @@ gkeConfig: gke.#KubeConfig @dagger(input)
kubeconfig: gkeConfig.kubeconfig kubeconfig: gkeConfig.kubeconfig
// deploy uses the `dagger.io/kubernetes` package to apply a manifest to a // deploy uses the `alpha.dagger.io/kubernetes` package to apply a manifest to a
// Kubernetes cluster. // Kubernetes cluster.
deploy: kubernetes.#Resources & { deploy: kubernetes.#Resources & {
// reference the `kubeconfig` input above // reference the `kubeconfig` input above
@ -218,8 +218,8 @@ deploy: kubernetes.#Resources & {
package kube package kube
import ( import (
"dagger.io/kubernetes" "alpha.dagger.io/kubernetes"
"dagger.io/aws/eks" "alpha.dagger.io/aws/eks"
) )
// eksConfig used for deployment // eksConfig used for deployment
@ -227,7 +227,7 @@ eksConfig: eks.#KubeConfig @dagger(input)
kubeconfig: eksConfig.kubeconfig kubeconfig: eksConfig.kubeconfig
// deploy uses the `dagger.io/kubernetes` package to apply a manifest to a // deploy uses the `alpha.dagger.io/kubernetes` package to apply a manifest to a
// Kubernetes cluster. // Kubernetes cluster.
deploy: kubernetes.#Resources & { deploy: kubernetes.#Resources & {
// reference the `kubeconfig` input above // reference the `kubeconfig` input above
@ -245,7 +245,7 @@ This defines:
- `kubeconfig` a _string_ **input**: kubernetes configuration (`~/.kube/config`) - `kubeconfig` a _string_ **input**: kubernetes configuration (`~/.kube/config`)
used for `kubectl` used for `kubectl`
- `deploy`: Deployment step using the package `dagger.io/kubernetes`. It takes - `deploy`: Deployment step using the package `alpha.dagger.io/kubernetes`. It takes
the `manifest` defined earlier and deploys it to the Kubernetes cluster specified in `kubeconfig`. the `manifest` defined earlier and deploys it to the Kubernetes cluster specified in `kubeconfig`.
### Setup the environment ### Setup the environment
@ -578,7 +578,7 @@ The following configuration will:
- Declare a `repository` input as a `dagger.#Artifact`. This will be mapped to - Declare a `repository` input as a `dagger.#Artifact`. This will be mapped to
the source code directory. the source code directory.
- Declare a `registry` input. This is the address used for docker push - Declare a `registry` input. This is the address used for docker push
- Use `dagger.io/docker` to build and push the image - Use `alpha.dagger.io/docker` to build and push the image
- Use the registry image reference (`push.ref`) as the image for the deployment. - Use the registry image reference (`push.ref`) as the image for the deployment.
```cue title="todoapp/kube/manifest.cue" ```cue title="todoapp/kube/manifest.cue"
@ -587,8 +587,8 @@ package kube
import ( import (
"encoding/yaml" "encoding/yaml"
"dagger.io/dagger" "alpha.dagger.io/dagger"
"dagger.io/docker" "alpha.dagger.io/docker"
) )
// input: source code repository, must contain a Dockerfile // input: source code repository, must contain a Dockerfile

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,31 @@
# Index
- [alpine](./alpine.md) - Base package for Alpine Linux
- [aws](./aws/README.md) - AWS base package
- [aws/cloudformation](./aws/cloudformation.md) - AWS CloudFormation
- [aws/ecr](./aws/ecr.md) - Amazon Elastic Container Registry (ECR)
- [aws/ecs](./aws/ecs.md) - AWS Elastic Container Service (ECS)
- [aws/eks](./aws/eks.md) - AWS Elastic Kubernetes Service (EKS)
- [aws/elb](./aws/elb.md) - AWS Elastic Load Balancer (ELBv2)
- [aws/rds](./aws/rds.md) - AWS Relational Database Service (RDS)
- [aws/s3](./aws/s3.md) - AWS Simple Storage Service
- [dagger](./dagger/README.md) - Dagger core types
- [dagger/op](./dagger/op.md) - op: low-level operations for Dagger processing pipelines
- [docker](./docker/README.md) - Docker container operations
- [docker/compose](./docker/compose.md) - Docker-compose operations
- [gcp](./gcp/README.md) - Google Cloud Platform
- [gcp/gcr](./gcp/gcr.md) - Google Container Registry
- [gcp/gcs](./gcp/gcs.md) - Google Cloud Storage
- [gcp/gke](./gcp/gke.md) - Google Kubernetes Engine
- [git](./git.md) - Git operations
- [go](./go.md) - Go build operations
- [io](./io.md) - IO operations
- [java/maven](./java/maven.md) - Maven is a build automation tool for Java
- [js/yarn](./js/yarn.md) - Yarn is a package manager for Javascript applications
- [kubernetes](./kubernetes/README.md) - Kubernetes client operations
- [kubernetes/helm](./kubernetes/helm.md) - Helm package manager
- [kubernetes/kustomize](./kubernetes/kustomize.md) - Kustomize config management
- [netlify](./netlify.md) - Netlify client operations
- [os](./os.md) - OS operations
- [random](./random.md) - Random generation utilities
- [terraform](./terraform.md) - Terraform operations

View File

@ -2,12 +2,12 @@
sidebar_label: alpine sidebar_label: alpine
--- ---
# dagger.io/alpine # alpha.dagger.io/alpine
Base package for Alpine Linux Base package for Alpine Linux
```cue ```cue
import "dagger.io/alpine" import "alpha.dagger.io/alpine"
``` ```
## alpine.#Image ## alpine.#Image

View File

@ -2,12 +2,12 @@
sidebar_label: aws sidebar_label: aws
--- ---
# dagger.io/aws # alpha.dagger.io/aws
AWS base package AWS base package
```cue ```cue
import "dagger.io/aws" import "alpha.dagger.io/aws"
``` ```
## aws.#CLI ## aws.#CLI

View File

@ -2,12 +2,12 @@
sidebar_label: cloudformation sidebar_label: cloudformation
--- ---
# dagger.io/aws/cloudformation # alpha.dagger.io/aws/cloudformation
AWS CloudFormation AWS CloudFormation
```cue ```cue
import "dagger.io/aws/cloudformation" import "alpha.dagger.io/aws/cloudformation"
``` ```
## cloudformation.#Stack ## cloudformation.#Stack
@ -30,6 +30,4 @@ AWS CloudFormation Stack
### cloudformation.#Stack Outputs ### cloudformation.#Stack Outputs
| Name | Type | Description | _No output._
| ------------- |:-------------: |:-------------: |
|*outputs* | `struct` |- |

View File

@ -2,12 +2,12 @@
sidebar_label: ecr sidebar_label: ecr
--- ---
# dagger.io/aws/ecr # alpha.dagger.io/aws/ecr
Amazon Elastic Container Registry (ECR) Amazon Elastic Container Registry (ECR)
```cue ```cue
import "dagger.io/aws/ecr" import "alpha.dagger.io/aws/ecr"
``` ```
## ecr.#Credentials ## ecr.#Credentials

View File

@ -2,10 +2,10 @@
sidebar_label: ecs sidebar_label: ecs
--- ---
# dagger.io/aws/ecs # alpha.dagger.io/aws/ecs
AWS Elastic Container Service (ECS) AWS Elastic Container Service (ECS)
```cue ```cue
import "dagger.io/aws/ecs" import "alpha.dagger.io/aws/ecs"
``` ```

View File

@ -2,12 +2,12 @@
sidebar_label: eks sidebar_label: eks
--- ---
# dagger.io/aws/eks # alpha.dagger.io/aws/eks
AWS Elastic Kubernetes Service (EKS) AWS Elastic Kubernetes Service (EKS)
```cue ```cue
import "dagger.io/aws/eks" import "alpha.dagger.io/aws/eks"
``` ```
## eks.#KubeConfig ## eks.#KubeConfig

View File

@ -2,12 +2,12 @@
sidebar_label: elb sidebar_label: elb
--- ---
# dagger.io/aws/elb # alpha.dagger.io/aws/elb
AWS Elastic Load Balancer (ELBv2) AWS Elastic Load Balancer (ELBv2)
```cue ```cue
import "dagger.io/aws/elb" import "alpha.dagger.io/aws/elb"
``` ```
## elb.#RandomRulePriority ## elb.#RandomRulePriority

View File

@ -2,12 +2,12 @@
sidebar_label: rds sidebar_label: rds
--- ---
# dagger.io/aws/rds # alpha.dagger.io/aws/rds
AWS Relational Database Service (RDS) AWS Relational Database Service (RDS)
```cue ```cue
import "dagger.io/aws/rds" import "alpha.dagger.io/aws/rds"
``` ```
## rds.#Database ## rds.#Database

View File

@ -2,12 +2,12 @@
sidebar_label: s3 sidebar_label: s3
--- ---
# dagger.io/aws/s3 # alpha.dagger.io/aws/s3
AWS Simple Storage Service AWS Simple Storage Service
```cue ```cue
import "dagger.io/aws/s3" import "alpha.dagger.io/aws/s3"
``` ```
## s3.#Object ## s3.#Object

View File

@ -2,10 +2,12 @@
sidebar_label: dagger sidebar_label: dagger
--- ---
# dagger.io/dagger # alpha.dagger.io/dagger
Dagger core types
```cue ```cue
import "dagger.io/dagger" import "alpha.dagger.io/dagger"
``` ```
## dagger.#Secret ## dagger.#Secret

View File

@ -2,12 +2,12 @@
sidebar_label: op sidebar_label: op
--- ---
# dagger.io/dagger/op # alpha.dagger.io/dagger/op
op: low-level operations for Dagger processing pipelines op: low-level operations for Dagger processing pipelines
```cue ```cue
import "dagger.io/dagger/op" import "alpha.dagger.io/dagger/op"
``` ```
## op.#Copy ## op.#Copy

View File

@ -2,12 +2,12 @@
sidebar_label: docker sidebar_label: docker
--- ---
# dagger.io/docker # alpha.dagger.io/docker
Docker container operations Docker container operations
```cue ```cue
import "dagger.io/docker" import "alpha.dagger.io/docker"
``` ```
## docker.#Build ## docker.#Build
@ -33,6 +33,7 @@ A container image that can run any docker command
| Name | Type | Description | | Name | Type | Description |
| ------------- |:-------------: |:-------------: | | ------------- |:-------------: |:-------------: |
|*command* | `string` |Command to execute | |*command* | `string` |Command to execute |
|*registries* | `[]` |Image registries |
### docker.#Command Outputs ### docker.#Command Outputs
@ -99,6 +100,7 @@ _No output._
|*run.ssh.key* | `dagger.#Secret` |private key | |*run.ssh.key* | `dagger.#Secret` |private key |
|*run.command* | `"""\n # Run detach container\n OPTS=""\n \n if [ ! -z "$CONTAINER_NAME" ]; then\n \tOPTS="$OPTS --name $CONTAINER_NAME"\n fi\n \n docker container run -d $OPTS "$IMAGE_REF"\n """` |Command to execute | |*run.command* | `"""\n # Run detach container\n OPTS=""\n \n if [ ! -z "$CONTAINER_NAME" ]; then\n \tOPTS="$OPTS --name $CONTAINER_NAME"\n fi\n \n docker container run -d $OPTS "$IMAGE_REF"\n """` |Command to execute |
|*run.env.IMAGE_REF* | `string` |- | |*run.env.IMAGE_REF* | `string` |- |
|*run.registries* | `[]` |Image registries |
### docker.#Run Outputs ### docker.#Run Outputs

View File

@ -0,0 +1,40 @@
---
sidebar_label: compose
---
# alpha.dagger.io/docker/compose
Docker-compose operations
```cue
import "alpha.dagger.io/docker/compose"
```
## compose.#App
### compose.#App Inputs
| Name | Type | Description |
| ------------- |:-------------: |:-------------: |
|*name* | `*"source" \| string` |App name (use as COMPOSE_PROJECT_NAME) |
|*registries* | `[]` |Image registries |
|*run.command* | `"""\n if [ -n "$DOCKER_HOSTNAME" ]; then\n \tssh -i /key -fNT -o "StreamLocalBindUnlink=yes" -L "$(pwd)"/docker.sock:/var/run/docker.sock -p "$DOCKER_PORT" "$DOCKER_USERNAME"@"$DOCKER_HOSTNAME"\n \texport DOCKER_HOST="unix://$(pwd)/docker.sock"\n fi\n \n # Extend session duration\n echo "Host *\\nServerAliveInterval 240" \>\> "$HOME"/.ssh/config\n chmod 600 "$HOME"/.ssh/config\n \n # Move compose\n if [ -d "$SOURCE_DIR" ]; then\n \tif [ -f docker-compose.yaml ]; then\n \t\tcp docker-compose.yaml "$SOURCE_DIR"/docker-compose.yaml\n \tfi\n \tcd "$SOURCE_DIR"\n fi\n \n docker-compose build\n docker-compose up -d\n """` |Command to execute |
|*run.env.COMPOSE_PROJECT_NAME* | `*"source" \| string` |- |
|*run.package."docker-compose"* | `true` |- |
|*run.registries* | `[]` |Image registries |
### compose.#App Outputs
_No output._
## compose.#Client
A container image to run the docker-compose client
### compose.#Client Inputs
_No input._
### compose.#Client Outputs
_No output._

View File

@ -1,84 +0,0 @@
---
sidebar_label: file
---
# dagger.io/file
DEPRECATED: see dagger.io/os
## #Append
### #Append Inputs
| Name | Type | Description |
| ------------- |:-------------: |:-------------: |
|*filename* | `string` |- |
|*permissions* | `*0o644 \| int` |- |
|*contents* | `(string\|bytes)` |- |
|*from* | `dagger.#Artifact` |- |
### #Append Outputs
| Name | Type | Description |
| ------------- |:-------------: |:-------------: |
|*orig* | `string` |- |
## #Create
### #Create Inputs
| Name | Type | Description |
| ------------- |:-------------: |:-------------: |
|*filename* | `string` |- |
|*permissions* | `*0o644 \| int` |- |
|*contents* | `(string\|bytes)` |- |
### #Create Outputs
_No output._
## #Glob
### #Glob Inputs
| Name | Type | Description |
| ------------- |:-------------: |:-------------: |
|*glob* | `string` |- |
|*from* | `dagger.#Artifact` |- |
### #Glob Outputs
| Name | Type | Description |
| ------------- |:-------------: |:-------------: |
|*filenames* | `_\|_` |trim suffix because ls always ends with newline |
|*files* | `string` |- |
## #Read
### #Read Inputs
| Name | Type | Description |
| ------------- |:-------------: |:-------------: |
|*filename* | `string` |- |
|*from* | `dagger.#Artifact` |- |
### #Read Outputs
| Name | Type | Description |
| ------------- |:-------------: |:-------------: |
|*contents* | `string` |- |
## #read
### #read Inputs
| Name | Type | Description |
| ------------- |:-------------: |:-------------: |
|*path* | `string` |- |
|*from* | `dagger.#Artifact` |- |
### #read Outputs
| Name | Type | Description |
| ------------- |:-------------: |:-------------: |
|*data* | `string` |- |

View File

@ -2,12 +2,12 @@
sidebar_label: gcp sidebar_label: gcp
--- ---
# dagger.io/gcp # alpha.dagger.io/gcp
Google Cloud Platform Google Cloud Platform
```cue ```cue
import "dagger.io/gcp" import "alpha.dagger.io/gcp"
``` ```
## gcp.#Config ## gcp.#Config

View File

@ -2,12 +2,12 @@
sidebar_label: gcr sidebar_label: gcr
--- ---
# dagger.io/gcp/gcr # alpha.dagger.io/gcp/gcr
Google Container Registry Google Container Registry
```cue ```cue
import "dagger.io/gcp/gcr" import "alpha.dagger.io/gcp/gcr"
``` ```
## gcr.#Credentials ## gcr.#Credentials

View File

@ -0,0 +1,34 @@
---
sidebar_label: gcs
---
# alpha.dagger.io/gcp/gcs
Google Cloud Storage
```cue
import "alpha.dagger.io/gcp/gcs"
```
## gcs.#Object
GCS Bucket object(s) sync
### gcs.#Object Inputs
| Name | Type | Description |
| ------------- |:-------------: |:-------------: |
|*config.region* | `string` |GCP region |
|*config.project* | `string` |GCP project |
|*config.serviceKey* | `dagger.#Secret` |GCP service key |
|*source* | `dagger.#Artifact` |Source Artifact to upload to GCS |
|*target* | `string` |Target GCS URL (eg. gs://\<bucket-name\>/\<path\>/\<sub-path\>) |
|*delete* | `*false \| true` |Delete files that already exist on remote destination |
|*contentType* | `*"" \| string` |Object content type |
|*always* | `*true \| false` |Always write the object to GCS |
### gcs.#Object Outputs
| Name | Type | Description |
| ------------- |:-------------: |:-------------: |
|*url* | `string` |URL of the uploaded GCS object |

View File

@ -2,12 +2,12 @@
sidebar_label: gke sidebar_label: gke
--- ---
# dagger.io/gcp/gke # alpha.dagger.io/gcp/gke
Google Kubernetes Engine Google Kubernetes Engine
```cue ```cue
import "dagger.io/gcp/gke" import "alpha.dagger.io/gcp/gke"
``` ```
## gke.#KubeConfig ## gke.#KubeConfig

View File

@ -2,12 +2,12 @@
sidebar_label: git sidebar_label: git
--- ---
# dagger.io/git # alpha.dagger.io/git
Git operations Git operations
```cue ```cue
import "dagger.io/git" import "alpha.dagger.io/git"
``` ```
## git.#CurrentBranch ## git.#CurrentBranch

View File

@ -2,12 +2,12 @@
sidebar_label: go sidebar_label: go
--- ---
# dagger.io/go # alpha.dagger.io/go
Go build operations Go build operations
```cue ```cue
import "dagger.io/go" import "alpha.dagger.io/go"
``` ```
## go.#Build ## go.#Build

View File

@ -2,12 +2,12 @@
sidebar_label: io sidebar_label: io
--- ---
# dagger.io/io # alpha.dagger.io/io
IO operations IO operations
```cue ```cue
import "dagger.io/io" import "alpha.dagger.io/io"
``` ```
## io.#Dir ## io.#Dir

View File

@ -0,0 +1,32 @@
---
sidebar_label: maven
---
# alpha.dagger.io/java/maven
Maven is a build automation tool for Java
```cue
import "alpha.dagger.io/java/maven"
```
## maven.#Project
A Maven project
### maven.#Project Inputs
| Name | Type | Description |
| ------------- |:-------------: |:-------------: |
|*source* | `dagger.#Artifact` |Application source code |
|*package* | `struct` |Extra alpine packages to install |
|*env* | `struct` |Environment variables |
|*phases* | `*["package"] \| []` |- |
|*goals* | `*[] \| []` |- |
|*args* | `*[] \| []` |Optional arguments for the script |
### maven.#Project Outputs
| Name | Type | Description |
| ------------- |:-------------: |:-------------: |
|*build* | `struct` |Build output directory |

View File

@ -2,12 +2,12 @@
sidebar_label: yarn sidebar_label: yarn
--- ---
# dagger.io/js/yarn # alpha.dagger.io/js/yarn
Yarn is a package manager for Javascript applications Yarn is a package manager for Javascript applications
```cue ```cue
import "dagger.io/js/yarn" import "alpha.dagger.io/js/yarn"
``` ```
## yarn.#Package ## yarn.#Package

View File

@ -2,12 +2,12 @@
sidebar_label: kubernetes sidebar_label: kubernetes
--- ---
# dagger.io/kubernetes # alpha.dagger.io/kubernetes
Kubernetes client operations Kubernetes client operations
```cue ```cue
import "dagger.io/kubernetes" import "alpha.dagger.io/kubernetes"
``` ```
## kubernetes.#Kubectl ## kubernetes.#Kubectl

View File

@ -2,12 +2,12 @@
sidebar_label: helm sidebar_label: helm
--- ---
# dagger.io/kubernetes/helm # alpha.dagger.io/kubernetes/helm
Helm package manager Helm package manager
```cue ```cue
import "dagger.io/kubernetes/helm" import "alpha.dagger.io/kubernetes/helm"
``` ```
## helm.#Chart ## helm.#Chart

View File

@ -2,12 +2,12 @@
sidebar_label: kustomize sidebar_label: kustomize
--- ---
# dagger.io/kubernetes/kustomize # alpha.dagger.io/kubernetes/kustomize
Kustomize config management Kustomize config management
```cue ```cue
import "dagger.io/kubernetes/kustomize" import "alpha.dagger.io/kubernetes/kustomize"
``` ```
## kustomize.#Kustomization ## kustomize.#Kustomization

View File

@ -2,12 +2,12 @@
sidebar_label: netlify sidebar_label: netlify
--- ---
# dagger.io/netlify # alpha.dagger.io/netlify
Netlify client operations Netlify client operations
```cue ```cue
import "dagger.io/netlify" import "alpha.dagger.io/netlify"
``` ```
## netlify.#Account ## netlify.#Account

View File

@ -2,10 +2,12 @@
sidebar_label: os sidebar_label: os
--- ---
# dagger.io/os # alpha.dagger.io/os
OS operations
```cue ```cue
import "dagger.io/os" import "alpha.dagger.io/os"
``` ```
## os.#Container ## os.#Container
@ -32,7 +34,7 @@ _No output._
## os.#File ## os.#File
Built-in file implementation, using buildkit Built-in file implementation, using buildkit A single file
### os.#File Inputs ### os.#File Inputs

View File

@ -2,12 +2,12 @@
sidebar_label: random sidebar_label: random
--- ---
# dagger.io/random # alpha.dagger.io/random
Random generation utilities Random generation utilities
```cue ```cue
import "dagger.io/random" import "alpha.dagger.io/random"
``` ```
## random.#String ## random.#String

View File

@ -2,12 +2,12 @@
sidebar_label: terraform sidebar_label: terraform
--- ---
# dagger.io/terraform # alpha.dagger.io/terraform
Terraform operations Terraform operations
```cue ```cue
import "dagger.io/terraform" import "alpha.dagger.io/terraform"
``` ```
## terraform.#Configuration ## terraform.#Configuration

4
go.mod
View File

@ -22,7 +22,7 @@ require (
github.com/opentracing/opentracing-go v1.2.0 github.com/opentracing/opentracing-go v1.2.0
github.com/rs/zerolog v1.23.0 github.com/rs/zerolog v1.23.0
github.com/spf13/cobra v1.1.3 github.com/spf13/cobra v1.1.3
github.com/spf13/viper v1.8.0 github.com/spf13/viper v1.8.1
github.com/stretchr/testify v1.7.0 github.com/stretchr/testify v1.7.0
github.com/tonistiigi/fsutil v0.0.0-20201103201449-0834f99b7b85 github.com/tonistiigi/fsutil v0.0.0-20201103201449-0834f99b7b85
github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea
@ -33,7 +33,7 @@ require (
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1
golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1 golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1
google.golang.org/grpc v1.38.0 google.golang.org/grpc v1.39.0
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
) )

10
go.sum
View File

@ -230,6 +230,7 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I=
github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
github.com/cockroachdb/apd/v2 v2.0.1 h1:y1Rh3tEU89D+7Tgbw+lp52T6p/GJLpDmNvr10UWqLTE= github.com/cockroachdb/apd/v2 v2.0.1 h1:y1Rh3tEU89D+7Tgbw+lp52T6p/GJLpDmNvr10UWqLTE=
@ -352,6 +353,7 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m
github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
@ -997,8 +999,8 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM
github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
github.com/spf13/viper v1.6.1/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k= github.com/spf13/viper v1.6.1/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k=
github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
github.com/spf13/viper v1.8.0 h1:QRwDgoG8xX+kp69di68D+YYTCWfYEckbZRfUlEIAal0= github.com/spf13/viper v1.8.1 h1:Kq1fyeebqsBfbjZj4EL7gj2IO0mMaiyjYUWcUsl2O44=
github.com/spf13/viper v1.8.0/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns=
github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@ -1108,6 +1110,7 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
@ -1535,8 +1538,9 @@ google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA5
google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.38.0 h1:/9BgsAsa5nWe26HqOlvlgJnqBuktYOLCgjCPqsa56W0=
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/grpc v1.39.0 h1:Klz8I9kdtkIN6EpHHUOMLCYhTn/2WAe5a0s1hcBkdTI=
google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=

View File

@ -1,5 +1,6 @@
plan: plan:
module: .dagger/env/alpine/plan module: ./alpine
package: ./tests
name: alpine name: alpine
sops: sops:
kms: [] kms: []
@ -16,8 +17,8 @@ sops:
N0JOK1FwdzkrcGR5V0xhUDdNOFNvYk0KetOvulxA0Hilyhv+eWBqYO3GXNvm38Y1 N0JOK1FwdzkrcGR5V0xhUDdNOFNvYk0KetOvulxA0Hilyhv+eWBqYO3GXNvm38Y1
9Pa7HYazNyi0qMcZpecWlp4QsOoL876dj1rE62cYHT2hkt2J2ijAUw== 9Pa7HYazNyi0qMcZpecWlp4QsOoL876dj1rE62cYHT2hkt2J2ijAUw==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:25:52Z" lastmodified: "2021-06-24T15:12:38Z"
mac: ENC[AES256_GCM,data:wk0mr4hUjg7ipIBE1Aph55inRgrXyO1K3jL1hj6N2oY10t6OyeL5IzZbS3aVBYZZh7QfEGkD0uVTqTJXgj5YorvJ2ZYo2RUV8uyUzUemI5jjytUHhKLV26Xz6R6fGHTFOoHYffZH7YhpX3lrc210eQCxHq8WDONeOqbRmwQT4Lw=,iv:HXQUdMlZvi1oEPQIrVuEk0qg1fGAhifPKRa3Fl4oGJM=,tag:gPSbqGPkNmavb6Zf4P2tWA==,type:str] mac: ENC[AES256_GCM,data:nDngshXQgLAIMAllALoPFQk2HbtnapzDud4LXqZLmHVUZP2LaAES9dGRbWwYc4iLVB1M+Gryk/FdI5/eafsvhSAytGXr6A6CEsrweHc4XPKfyxGS40LVZkxa0ntKUNQDZhlu+NTX333h8NEh99Xx3b7tfg+BtU9fvjnpv7zilW4=,iv:l5A2Bfvb4iT/IER0b2SMV42+7h9+YOIsMuMGG9jhq6E=,tag:v5yE3hZvs5Y5fK9JKaKUSQ==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -1,5 +1,6 @@
plan: plan:
module: .dagger/env/aws-ecr/plan module: ./aws/ecr
package: ./tests
name: aws-ecr name: aws-ecr
inputs: inputs:
TestConfig.awsConfig.accessKey: TestConfig.awsConfig.accessKey:
@ -21,8 +22,8 @@ sops:
aXlvVWJVSGNTSkVyYmpZbi9nUVJZdmMK6csXZ2RMxFw5DB+Hb2TyhyoZT8c2/z7Y aXlvVWJVSGNTSkVyYmpZbi9nUVJZdmMK6csXZ2RMxFw5DB+Hb2TyhyoZT8c2/z7Y
Lc9Pe8gb8aUq5Ha+wCybYvY6JWEM5A9XYJKbE7f4borTfGKS72d6pw== Lc9Pe8gb8aUq5Ha+wCybYvY6JWEM5A9XYJKbE7f4borTfGKS72d6pw==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:04Z" lastmodified: "2021-06-24T15:15:54Z"
mac: ENC[AES256_GCM,data:OjiRs9wN04IGRKDF7ibgerSnAEkPxQjKQ20ZN6X5cCwppVitwFnTPI9J/HiHQ7XaJSr6oaoELUywzCHa17cQNnz9o4NyDc947h9Tsu90fl2S9ChdSZ+dAP85+T3NWm1fbXPLdFw4EgePfTf6F7/Cktx/UVEFkkeggQoj7/cugRQ=,iv:vFQTDgqbEzIrVwNOKKi4M5DAEVGR3NFwWV9PwyT1Bck=,tag:Anjj7Zbt8oxpAI7RD1GZag==,type:str] mac: ENC[AES256_GCM,data:gH9/NLLJEEX+dYKmHS44aa9ENtN6dUJHcMgpdygPZVnqYYku7UF7ZZYF9FFw6VittsDUaTXPKsA4oXHXBxPws8uFOJ6t3B/WQAXCoSXe/3t7Z99RlaetZEWzAmfecGG1AcQnihwr7ymO6uuZ36s9q+LS1wZ81LG70gCqLR5c+kQ=,iv:kXnb23lkKVnyn3ewfvJhStGEGvT/OUNv5rSzfyV2kJc=,tag:q9IjsV9Yi4J7LS5wLQtx/A==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -1,5 +1,6 @@
plan: plan:
module: .dagger/env/aws-eks/plan module: ./aws/eks
package: ./tests
name: aws-eks name: aws-eks
inputs: inputs:
TestConfig.awsConfig.accessKey: TestConfig.awsConfig.accessKey:
@ -21,8 +22,8 @@ sops:
M3U4UFV5REQzYko3QjlXVE02Z0J4WUkK8uHC67Mutls4drXbCi8AwuFqbRXeb69P M3U4UFV5REQzYko3QjlXVE02Z0J4WUkK8uHC67Mutls4drXbCi8AwuFqbRXeb69P
ZnOFZEB4NoayoOojr1mY9ssDTywHF4KwR4E9ZmJ3V3hlEAgMkqfvSA== ZnOFZEB4NoayoOojr1mY9ssDTywHF4KwR4E9ZmJ3V3hlEAgMkqfvSA==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-17T18:46:34Z" lastmodified: "2021-06-24T15:24:06Z"
mac: ENC[AES256_GCM,data:B+WtEMOKXy8AT/YTUaKZ9aA8fQRt2pJp3IaABpj0oYI1vCG953MnDCIxj0j2bTQN5gyaFPF8UQ1o/pRJzCKhm26wbCByUrVdHxHTwoJ7arDqQGwcNKYAuQjLtMG7gsl0BqjCg0oKO5YEa24BqHVf1dEo9AcXd6LBwqvxVjmd98g=,iv:aWxj1Oq6wmUYuWnGOc2zIpzOYJVyXV9qSzBgF+iGsHI=,tag:Bx1A8UxghYq97wEdUxbmdg==,type:str] mac: ENC[AES256_GCM,data:zRB7rhRuH95k2IxAbpf8FBfn0tiXKG4xEOv/M7qHxvexNhZWcBp1GnGnMI53CkzCMtTZcsdzquJJhQct2oyqXGbD9XNk9njC/hamtPVeXXtvDm2FTK8eHbb70tqIFCwspFXvfFMoNWCIZ5+CZTggTIOExnvAqsQ6QAN+FV3o25o=,iv:aghslE9r7hx1zmm2j/XznCyOJEoIs8CgUr5Wy/kuki0=,tag:6e701Vdjg+hnJElvZFnX7Q==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -1,5 +1,6 @@
plan: plan:
module: .dagger/env/aws-s3/plan module: ./aws/s3/
package: ./tests
name: aws-s3 name: aws-s3
inputs: inputs:
TestConfig.awsConfig.accessKey: TestConfig.awsConfig.accessKey:
@ -8,7 +9,7 @@ inputs:
secret: ENC[AES256_GCM,data:Q/W+KH3NEouGt6C5S+KiC43837soYi2Mjb/z5K8rD9gtaNaBjjkJHg==,iv:8nGEzLXd91rF5YBZ/EdQoMN27yrpc0sgm26DEvIuSHM=,tag:/oyKl/vj5MJAm+jZMOOAuQ==,type:str] secret: ENC[AES256_GCM,data:Q/W+KH3NEouGt6C5S+KiC43837soYi2Mjb/z5K8rD9gtaNaBjjkJHg==,iv:8nGEzLXd91rF5YBZ/EdQoMN27yrpc0sgm26DEvIuSHM=,tag:/oyKl/vj5MJAm+jZMOOAuQ==,type:str]
TestDirectory: TestDirectory:
dir: dir:
path: ./aws/s3/testdata path: ./aws/s3/tests/testdata
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -24,8 +25,8 @@ sops:
aXlvVWJVSGNTSkVyYmpZbi9nUVJZdmMK6csXZ2RMxFw5DB+Hb2TyhyoZT8c2/z7Y aXlvVWJVSGNTSkVyYmpZbi9nUVJZdmMK6csXZ2RMxFw5DB+Hb2TyhyoZT8c2/z7Y
Lc9Pe8gb8aUq5Ha+wCybYvY6JWEM5A9XYJKbE7f4borTfGKS72d6pw== Lc9Pe8gb8aUq5Ha+wCybYvY6JWEM5A9XYJKbE7f4borTfGKS72d6pw==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:02Z" lastmodified: "2021-06-24T15:29:49Z"
mac: ENC[AES256_GCM,data:hnPBOe4zF1jRtCKDCY8S5Zo+dCbitBBoQrmb2vcCclKhzbwKf6znTnd9F518DIgMUcRER3ii+7dvHgNXWI9gqlvuJleR+rnpUGa1jSlHHrhKFmc+5bKaOPdo394C+wZd/z5sMk02GVNSAJzLI3YhSureE+FUb90oc5Efp3hml7Y=,iv:e5AvOpWVvtBnZ3FnrorOk6HrWF+mFbH2xvSCUzA3g3Q=,tag:2WC4P/1xBzOMpCp72omHkg==,type:str] mac: ENC[AES256_GCM,data:tv+8xGY5Q2TkrO9qLxgtvUzfQG50ugCWGZZ7qIyYu2MB4Am88SVUG95GX/zHt5BGRMZQ/FJRnog7SiprC91wAgCjWR+kykhKeE7lygpVZpJTN0TD72a1X1vQKU7729KxPlu266q47Zc/w1N2tfx3krkQth2AjF12hokdZh93hhc=,iv:BPY2WVnKvxo2MYi58TW/gYPnfnFsOPIupSB7Hlh3y78=,tag:wBtD7PALUBAvO5OUGPuSbg==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -1,13 +1,14 @@
plan: plan:
module: .dagger/env/docker-build/plan module: ./docker
package: ./tests/build
name: docker-build name: docker-build
inputs: inputs:
TestSourceBuild: TestSourceBuild:
dir: dir:
path: ./docker/testdata/build path: ./docker/tests/build/testdata/build
TestSourceImageFromDockerfile: TestSourceImageFromDockerfile:
dir: dir:
path: ./docker/testdata/dockerfile path: ./docker/tests/build/testdata/dockerfile
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -23,8 +24,8 @@ sops:
Mm5vT1dHbFViK2ZIakNnVkZTd2lhUHMK63jJsJVLJMbQE2NkAB8qv8JnPHpvcNes Mm5vT1dHbFViK2ZIakNnVkZTd2lhUHMK63jJsJVLJMbQE2NkAB8qv8JnPHpvcNes
z17EJgl0lCLqeNHtfrTfSiIP4wq8gNLK4avCKK+WGDOIMsXPzK6RNw== z17EJgl0lCLqeNHtfrTfSiIP4wq8gNLK4avCKK+WGDOIMsXPzK6RNw==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-17T20:14:11Z" lastmodified: "2021-06-24T15:44:20Z"
mac: ENC[AES256_GCM,data:hlc0Bnfeoor/WKMbQRgTalkxngL0YXTwHAys/moXZ4ZMGd2lt+j4l4EkKSjb3QrJfPllCeqroohLKtN+lP4K9fSCMcfYzic2DTEP68rPwufmrgxys1snOHHgIEfqogL8p55fJdXn91x+WHhPNkbWaaH0WcboYsy0zemUIkjb+xc=,iv:8oUeR1dfT4lrVWyJpGPPFa/jlPgWA/ld3UM9Cw2znxk=,tag:59RyiXwzJ5j+c5faxs9U3w==,type:str] mac: ENC[AES256_GCM,data:zJsFrUaGd2Germ5nzov/0nDFBgtEL8W1Q9iYg3jQmOQhE6n91r4XipKHMuySbznHPqrZPPDeMabJXzMKlvqhAaWXOBAz9FRxSPlKH/UgdeNr9/YyMj25tqF4oycUAZUm6FZ6YCsEVsj7QIZnKKGR1oivE1Qe2gW9brpBzzu9JSU=,iv:ORQlfXm7+NjNA0tKtVVQMvvflS8p4mxZGk7bmzAiOfc=,tag:IKoqSXxl0zuQAcFW7RF1lA==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -1,5 +1,6 @@
plan: plan:
module: .dagger/env/docker-command-ssh-key-passphrase/plan module: ./docker
package: ./tests/command-ssh-key-passphrase
name: docker-command-ssh-key-passphrase name: docker-command-ssh-key-passphrase
inputs: inputs:
TestConfig.host: TestConfig.host:
@ -25,8 +26,8 @@ sops:
cW1kbGZveVlkQkJDL2xYbmFRNjZEK0UKrSrOB/RL5lki54j4GUCE2G3CCO/8jpMU cW1kbGZveVlkQkJDL2xYbmFRNjZEK0UKrSrOB/RL5lki54j4GUCE2G3CCO/8jpMU
jfYkl7Yowb7kK3kKSNWORhB4ne3MEeGRZpJC8cvH7zjGvt/YYeU14A== jfYkl7Yowb7kK3kKSNWORhB4ne3MEeGRZpJC8cvH7zjGvt/YYeU14A==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:14Z" lastmodified: "2021-06-24T15:57:03Z"
mac: ENC[AES256_GCM,data:N5P+lP0Ct5RH79VKEn8fCZE4OOo77j6+PrKzAbVXlVgC2GfV2nTxd18zQOYLBy5uErD6EWGUqeUgjDaDoSky67a+kOpeja1eNvKVSSzXFXcBjTgCIrbeS6tJfxM1682J8Vj6Kwmsmhc7csSeFOr5yCw5SwZ7NP81QQ+hrPb1348=,iv:EJyFQuZOCI9qq2bZZvlHTZdIh4EO9Z/A+Hq3cwnLNK4=,tag:W5WuqPEFOH8Yv68g/eyTIQ==,type:str] mac: ENC[AES256_GCM,data:YqGUjsf7fG8lMv791l5Td9a2oTbg1DVvZt4Dt1q7+L5opaAxhKoDwSimR7WsYuJJxEqkMoyB4X+7+SNzoAarMWqg20sFjUut6wMgi0iUOhym9OX76UYlC5AvsJ6zbIalgKktiece+3j9vwcqB7rR1ArwddbflRvxkw5VSpVXqj4=,iv:ch01NpT3K14dHrEZ3yigH8S3QlvpAK5Myjhh2P1CRpE=,tag:DjjxGwrGIeMeOaaVJx7DMA==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -1,3 +1,6 @@
plan:
module: ./docker
package: ./tests/command-ssh-wrong-key-passphrase
name: docker-command-ssh-wrong-key-passphrase name: docker-command-ssh-wrong-key-passphrase
inputs: inputs:
TestConfig.host: TestConfig.host:
@ -23,8 +26,8 @@ sops:
R2tNU2JJWHFQTmhnUDd6eE13UUhQazgK+OQ50Q3+S5Fn2Y132ZeDrgUKWPcAk+et R2tNU2JJWHFQTmhnUDd6eE13UUhQazgK+OQ50Q3+S5Fn2Y132ZeDrgUKWPcAk+et
q8ppfZiPOtH4p6MwboSuh/vaTAAsxks7ctnqnU1pY+EHfnp8bHYHgQ== q8ppfZiPOtH4p6MwboSuh/vaTAAsxks7ctnqnU1pY+EHfnp8bHYHgQ==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-11T16:09:47Z" lastmodified: "2021-06-24T15:55:39Z"
mac: ENC[AES256_GCM,data:RTbDkgxWqVa4kgJPXny9u9hfwF1NG3g9L/6P2P44KE97yNdoxuAkuU1hs6DiATl4hgeck7p56gWLeUTeGAi+llMDqOodmSQEtD/XZvvdmyh4J+09+jg9QRwSL54xNR4Q83YBWy5PZm+hyYQdVl9H3omMCrdO78ydYXPSdDnRk3I=,iv:crEuUK+jQ6QBrf/Dxouu9+I3VXdZazKnHJ1g5JZLD0E=,tag:ymExWezKBTowuH4pugiQ/g==,type:str] mac: ENC[AES256_GCM,data:iE8xzhQ5/nBkzsASZ4R/yK85lb89/TUpLGL+5kfxNlWx6gQmLpzcRAuMObV5Xebv0nd+znLKcmDA35Qj5j66FsaGpk5Lym7c6/W7PT9dt/gfAvjTydHPgkJ8L/EMiSd06cQXq4jMB9/OAzZmPsosRAsmrijvy/tuDXAZM0IjazI=,iv:JfJ3UJsNhRsTz/3npxZ/Hy1HtAsczeVm8F7E0KvLwAE=,tag:fmf+1RVzTtijApc77LnSrQ==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -1,5 +1,6 @@
plan: plan:
module: .dagger/env/docker-command-ssh/plan module: ./docker
package: ./tests/command-ssh
name: docker-command-ssh name: docker-command-ssh
inputs: inputs:
TestConfig.host: TestConfig.host:
@ -23,8 +24,8 @@ sops:
UEpoZy9HZUlHOVV3M05OSkZQS1l6aXcK3NfBITvd6la6nkcIzqH69xfv9RR0Jm7x UEpoZy9HZUlHOVV3M05OSkZQS1l6aXcK3NfBITvd6la6nkcIzqH69xfv9RR0Jm7x
vU5FvGROK3Z0ZR8NNXAtNH6VQQ21TDD2MOXWOVvjnIAAOVNEyc1amA== vU5FvGROK3Z0ZR8NNXAtNH6VQQ21TDD2MOXWOVvjnIAAOVNEyc1amA==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:12Z" lastmodified: "2021-06-24T15:50:11Z"
mac: ENC[AES256_GCM,data:61Y9VaYoL4kUrxqhS5BVU1g6b4y7vJnuLsoRZF3ltdM7EojZq4bSiKoQHm4AxFL9exoM6ze6NqgqJBaMXQ7erOvX85/SFceCmksWz92n+HJxOfeqbVkY72c7ULVbf9hUs/YJaz7b5kelN6sFFVedY/iUf2JEGg4NSjL53jearNs=,iv:TVMMLWE7A5x1JrvXZxaCrHc5rxdtS/RdGqu7gwGkPS0=,tag:m2JfKTc9A9m0LblO5r1vjA==,type:str] mac: ENC[AES256_GCM,data:smCRgqcXPpgI909GOomUGrPfj5b0cNfha3CTicV7uzj675tTNqEVJTpgZiOWNUv3pQ535nhGuF4WRESZj+TuNabCWj0sMMU1EGvxUXuaV/TSXo3JtdFeU8tpn549UtcHez71sjKHiCTfGDdESPsAsYDLkkMBZkb9UE409on1Ypk=,iv:odHs0ukQTqfWb9ARFHpAh1qTZ/AZMLMQ6ZtVOged97k=,tag:sev1dRKD/7ZBgJamRCHqhQ==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -0,0 +1,2 @@
# dagger state
state/**

View File

@ -0,0 +1,34 @@
plan:
module: ./docker/compose
package: ./tests
name: docker-compose
inputs:
TestSSH.host:
text: 143.198.64.230
TestSSH.key:
secret: ENC[AES256_GCM,data:8heZn3UqcB0aV9XAn9uLx9gBcTqbmfNX7voBpYCNCGaX1nustSzKhbR29dxAoETIdfSFPetX2s4cCYbPTqFc6KTyRvfdmI8tXvb5+lin/CkdQJy7cR+RiynLEfbs32EPQilaph+kyGyGBAWAme49g8U2om/QObxCSes+Zn8ihfv7lBkLEj8hen2OC7YwIqjs9V8ozNCJ0zsk+NIk5LkryXdWTaYvgGHOmO/NuWz411L/pF1HieOV1L4Fe6E5hsUun0kVny8GxXQSbVCKle9A9TxD2bs+IBVNAUZVTsrjZYyTjYlNNgTaOqPASS5VDrOtR8csrGJ6GyGxtGrtRdhaoXYQA1zfA7uMfSMNlCwk3VB70P60s0U9tKr3HnRFX6rQdKcUwR2a1zbJ8UmHPy9apsM+tc+m/CAb8dkdu6UyiwvBK+kyPDyBVz4rwyhmtiB7cjw9vXYWX3hbZcE0e3RR4Upqw5NkIIlLfNH7T1fPDmVmIlXQk0wKIZJ//dwdJZyrraA+RRtG5b3PECSojIN3x57LnHdIXfp5drHK,iv:xqGFk9QgC6YwqFODSLRwShf+SMyY4PmtfWt5neHwfSY=,tag:vVZtGty5ehLvYzd8H0+Xsw==,type:str]
TestSSH.user:
text: root
repo:
dir:
path: ./docker/compose/tests/testdata
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gxwmtwahzwdmrskhf90ppwlnze30lgpm056kuesrxzeuyclrwvpsupwtpk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMSmROdEtUblF3REhwS3hC
bU9ObTE0aWQzdGJzRlB5WjA0UG5nZFFJTEJjClljQWFYYWNQaFozZGRMcWxyT3p3
Y0ZVUlZISUNlVkxVSVBqY0RRaGxPN3cKLS0tIGhsUTFCK2ljaWZFekVQMlRSRmtD
bEY3N3ZLTFpUNzZVWVBOK3VNRk9hWlUKd9db3j7FqFW4t7TxFyzudKDPTVqr66v2
KqedhRYCjF4ZozN0H++xQPH24RBRnwc6Uq0Vm38UYv1ozDN2L/l5DA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-25T13:17:45Z"
mac: ENC[AES256_GCM,data:RclYzWUgBU06881KztfHdaeBtHLOiQZ5xNp0taaxS152rUxyXCXEAFlOu/yqE3RvEoorUp473wDwFUa9DudHidY88YNdfdk5AUuZdsOXW4bRMFPF4eiFugqZJNPepaW1YBDUMeH7XQBN1jyEkFOvzyk2KKQhoUshWyrU5QDR2kc=,iv:MjhUSjzVm6nV2PnSNi346GxkirmF3yAti3Jmb94gLGg=,tag:t4fHAYh60//PlkwUPQh2uA==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@ -1,5 +1,6 @@
plan: plan:
module: .dagger/env/docker-run-local/plan module: ./docker
package: ./tests/run-local
name: docker-run-local name: docker-run-local
sops: sops:
kms: [] kms: []
@ -16,8 +17,8 @@ sops:
cnh2eHU5TzFjVkNvTzUyczFBL0pwTDQK60+wrLmTaD3Ws5ZAXdqBkMjaVP7Iz69k cnh2eHU5TzFjVkNvTzUyczFBL0pwTDQK60+wrLmTaD3Ws5ZAXdqBkMjaVP7Iz69k
UrkqkMbaUlvvSKK7dB5MuTGEEN6A1viAGal9ZjDHlSobkNPuE24QEA== UrkqkMbaUlvvSKK7dB5MuTGEEN6A1viAGal9ZjDHlSobkNPuE24QEA==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:06Z" lastmodified: "2021-06-24T16:03:04Z"
mac: ENC[AES256_GCM,data:mW3780hxQmjmMD4BvcZbHzfckigDRBlq3DAlkpFqiPIchszGgOoXYC+TK9gkYUWfpDfunucwZ6UdYi2FpVo2p9MVPLEtAAIBgApmCz5OHtQMDIsz8Bt/RLiZpp+FQF77J9eeFELdCkxV904r9QNe1Qy7sfh5s2YDXkhxdQRb5X8=,iv:fnwektBV2bRAI7Zn9wAWoEZeTsbr1iu0wrapBacf5Ao=,tag:JK02UNTC8DzCUmK9A6JnfA==,type:str] mac: ENC[AES256_GCM,data:LJDMvMfHEoJ513yDitCDn8N87J+l+Rtp7tvbV+Px+9K1f/lQavNnlCJk8jVILrxtFmtK3vr6mPNLti8Q78GpjNTO5W/fW9MbXURxNMBfEnbgOP473vBgOHp4wZ/QofbJLvl19o8ldQVy5pdcsoQwYKpukDKpnrvw3zFS5flO87k=,iv:OgtV3N1MIMIfQP4HD08LtBBrefq6xK79dNzJutY2M4o=,tag:yTpgOE9rOmEoTY5l4C0v5g==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -1,5 +1,6 @@
plan: plan:
module: .dagger/env/docker-run-ssh/plan module: ./docker
package: ./tests/run-ssh
name: docker-run-ssh name: docker-run-ssh
inputs: inputs:
TestConfig.host: TestConfig.host:
@ -23,8 +24,8 @@ sops:
cnh2eHU5TzFjVkNvTzUyczFBL0pwTDQK60+wrLmTaD3Ws5ZAXdqBkMjaVP7Iz69k cnh2eHU5TzFjVkNvTzUyczFBL0pwTDQK60+wrLmTaD3Ws5ZAXdqBkMjaVP7Iz69k
UrkqkMbaUlvvSKK7dB5MuTGEEN6A1viAGal9ZjDHlSobkNPuE24QEA== UrkqkMbaUlvvSKK7dB5MuTGEEN6A1viAGal9ZjDHlSobkNPuE24QEA==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:22Z" lastmodified: "2021-06-24T16:03:21Z"
mac: ENC[AES256_GCM,data:ih3SIsrljcXC+2YGDKo02BG3uPoGlV0E80Z6yK1HGqxQJRICU9WJYLQqnt2Ughq8xNdfuMMuveiIUx2y4e/5a+S1tQi33N9OITCyzPHSVqcRVHj3r3pJXVORFfF++DTAmLamswA6918HHGXmsOqxbTC0rvtV7aIkdU6r6Hh4oCQ=,iv:e+yeE7je7kFjCERTztBxuNria+4nwOXU+qpnHyaR1lQ=,tag:0E+nnEPnnU1S2Ku9I1v1/w==,type:str] mac: ENC[AES256_GCM,data:sTXjqAY5c6jD8alHiGNwM/nHxNWFxD/mJ9mY5L8mAkA2BR/633/JShlMRDMUeUX+fYPDpwDdG5QEy4XT2EsqMdN2+N6SNNpHikg7T6iIbdY4XYY9Toil8Gv3ahXoCQoZyek7uXKUi9mXQiSpI2u4cLsHNDvL5IhWE7maR++403Q=,iv:SLqSa/k+e66kOs1IhKUxj2YQJRUQZYIXacqhTDSefvQ=,tag:fUBQ5vns81L/DFV18HfhEw==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -1,5 +1,6 @@
plan: plan:
module: .dagger/env/git/plan module: ./git
package: ./tests
name: git name: git
sops: sops:
kms: [] kms: []
@ -16,8 +17,8 @@ sops:
TmhJNisyamw3d244aGVJSEVFVUVLZGsKvd+nowA0CLXQbdvyI4J0lBjs9vdISWlo TmhJNisyamw3d244aGVJSEVFVUVLZGsKvd+nowA0CLXQbdvyI4J0lBjs9vdISWlo
gGvR49uul3Z8raVWXFUzsyQ8xTvYNg0ovynFG2KdagSKr1DlhKMBEQ== gGvR49uul3Z8raVWXFUzsyQ8xTvYNg0ovynFG2KdagSKr1DlhKMBEQ==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-18T16:23:23Z" lastmodified: "2021-06-24T16:14:47Z"
mac: ENC[AES256_GCM,data:AdTUEx0RIrJU6aZZNn9iIrl0eM2eParknCVIQL7k1arLRfYH4WyMf9lUa03+Qy83r4miNh4a9kFpNWyodbOR/j7OiLgAxWGXc08XAnIU51F2H7b55cSW9yNJj5kfos2e1pS356MoSaswg4fH8EYVUNgWC6mdBcXzC1m7uiqTS0E=,iv:mK9sjOCd7ePWR4xe5qNwmPuIyNR1nE3Ql65cF15SovI=,tag:DPUTnGTF+Ve+A7ShACNrnQ==,type:str] mac: ENC[AES256_GCM,data:3UHY8Jg+qnbaqTmqzdbmV08zXIFQ8141KMT4Zl3ud5d7PABqQnVAPaL3b7/UvnNo6+ssjnlMVUbKG6duZpqw3scWyrGfUgWfGM6VASoy+LCyquuPuOVzImBeZw19FZsUVzqr79NnzL353KRCz+fM68ZGryZpsyXsl+t6wgd1gpM=,iv:EosxY4VFRGLeIDJ9dNehFK2yey+dKnggbWwRwuORWtI=,tag:R5cvDSq/9GkhhF1fz3e5aQ==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -1,10 +1,11 @@
plan: plan:
module: .dagger/env/go/plan module: ./go
package: ./tests
name: go name: go
inputs: inputs:
TestData: TestData:
dir: dir:
path: ./go/testdata path: ./go/tests/testdata
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -20,8 +21,8 @@ sops:
R0o3dlptazJPTmp3OFo5RDcxOVg1VVkK1lLu/wrPvgzXa8Ym3qdvcuYCj8csbtOG R0o3dlptazJPTmp3OFo5RDcxOVg1VVkK1lLu/wrPvgzXa8Ym3qdvcuYCj8csbtOG
T4HjRvA0EEF8jmFEuqS8Y/N0vQiezoZR7JU9PbjOoD1B5bLHtJcryQ== T4HjRvA0EEF8jmFEuqS8Y/N0vQiezoZR7JU9PbjOoD1B5bLHtJcryQ==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-17T13:10:32Z" lastmodified: "2021-06-24T16:19:27Z"
mac: ENC[AES256_GCM,data:oD5rZ0k3KHxQ21eeDP0CQRdSYWBNfrgynNB3xrT3ntSTCsLkRuFH1G5NBnV3Hpvd5B5l5qQuuUDlQLY4nB8mbJJKr/TwYIRMELDDMqpitTfkddjm+UeUrRyTP/YStVnR+g6nv8NcDdHcg4eF2lXl6Q7JKNlsMAGndgb5920QNcY=,iv:vx84/Tp727FpbpXcp2Dm9MXz1OPnnVIICgcofjPjiHI=,tag:8+lCqBKc535mYMmVV2k1wQ==,type:str] mac: ENC[AES256_GCM,data:3dJTQZFlzj4sJkIB99zHMgH7MsTcHiGKwT5GykEzjzq4OH8KOkKyFx0uVrvw4ePYhHMjAcTKcJFWRD+ebrRusKF5yZ19Si7IleCSh4y/IzRE0fWfzCDCYSN2MVwreE9Q10UeL/vBw51cK/k7kCF2DNGkIr5et5wO9R3eStuHfDE=,iv:QJlR6fIRD0AfWneMhCY6HpXpVSFt6431dJuWzXplfB4=,tag:h43ENEs/oVkd/ZtSfgmlmg==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -1,5 +1,6 @@
plan: plan:
module: .dagger/env/google-gcr/plan module: ./gcp/gcr/
package: ./tests
name: google-gcr name: google-gcr
inputs: inputs:
TestConfig.gcpConfig.project: TestConfig.gcpConfig.project:
@ -23,8 +24,8 @@ sops:
ZXd6Qmd1YUtxMnVTVkYybWgrV3pVK2MKowMeOZU3j3BxERT0DwhQYCGUDBK6gCdo ZXd6Qmd1YUtxMnVTVkYybWgrV3pVK2MKowMeOZU3j3BxERT0DwhQYCGUDBK6gCdo
WByubiBATdsb7h7ytCC4HutWppynK4MpU+Ya9NP83AZuXo+Wa2u6aQ== WByubiBATdsb7h7ytCC4HutWppynK4MpU+Ya9NP83AZuXo+Wa2u6aQ==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:26Z" lastmodified: "2021-06-24T16:22:49Z"
mac: ENC[AES256_GCM,data:/ZsuT9I5KMWGWc6Kg8jDxiHGhaLd0aGSRv2U4LKLr0LIYQrgmkTRrWSWmaU0QDKSrd+ovVDvg4KhGtGeKHENWp64zWM0I+icdYMByL7qGj8tSPmll4u7SjOIOEzpWHjLVAC+JPD1fpBo4WIwlfDjW1yjFulmxYb4utDLsDuaEH8=,iv:xWrFWD5fkmKA0dbIIiRNOp8mGRKtDX+1BInXJuKjRDE=,tag:Jqeujum1JS1ONt3kV7bvRA==,type:str] mac: ENC[AES256_GCM,data:8VyOUX7cwS6VCrLJi1luMag+vgh9WA0nxi3WqNMpI+w//SVHVtYaZ0wnzof+yictU0+PECwGFWS0ircpmLvLDUGENv2T3fCNgQj4x3TnYRdgHpd1na2XSzc/J1+uWP1FyYBR/ipvY6LnDIY4u7IWpjGNcSs+Iq+gm3S4Hc2e/Eo=,iv:UaYq9P0Y7MvW3DucgpBgc3n/n7vo+itaMhz1umIfOYI=,tag:j1suX3zEBSdRzsDexXNBVA==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -0,0 +1,2 @@
# dagger state
state/**

View File

@ -0,0 +1,36 @@
plan:
module: ./gcp/gcs/
package: ./tests
name: google-gcs
inputs:
TestConfig.bucket:
text: dagger-ci
TestConfig.gcpConfig.project:
text: dagger-ci
TestConfig.gcpConfig.region:
text: us-west2-a
TestConfig.gcpConfig.serviceKey:
secret: ENC[AES256_GCM,data:UEKTXvyrBgHKOYE9vSGoHua9wWALjghxWu+ui9K3MAS+1mnVlc1qjTbwv/1/hIIkRNlyhY6WlN0k3x2imusFFInzrNZ5G4FJHGiP/zaazd7shUS8LZsh1cL0I1jnsaDJaz4Zw0yVu+FT1z2/+9l81U9MrtvbLNKFSqZJsrymZl5lUCxiRsUEBiC0/rOoOlQ88kfnxUdBXnG7ABciqPUK7cYaMo5RbB1a9YfacB8S2sosClxK727jUgD20I12ru+y5Y/hg00BhBl9bIg35VTI8PFeZvRqQowqaJO+i1BjQbBYef8s9faYdZGEP0hUrvUpPek4Z0ZBDRbxRfRFAiXBbWbvCJErGlsmcNGqllixgDbcYQNKBTjZEKke4PGHtahmPXOIOO9/fxnUCoci//azJ5fUP0Kdiw06DQYQnngwRSA/nOqTBiuWcfiTLY00iQxoh+8Mt5/CMTXhRz8PpRpvXtKLe4ogaVbEBMOXe8+nMtwt0H6kV+YmHgA+vVHw0WYtBF6gmKnXuGWT/dz94SHGe9oMiK7H7KtfRCyN1SBAx3H9R3qitt9114TlWRBvfrVtDsb/E0MQdnbXZQirJ/2ev78DTc5bdRTFus2vvHZB2RP+wr7sB8A+jcWS1RBv0NJOZoPlHqKIfB93NBhI8wU+lqEbTn2Zm0LAvGVypws3ci+0GJFReIok9yGc/WucFBDMWi8tDOwUdbreX7EpdGLSn9Rwq0Oeuo5Udy5Qo4xFAC/v2yCzqb7MrZzX1S+OHyNObUTGuEyTOL8t91KYBebHtLK0Ud9qQoYuO5IvYCGeKIHr5FDFCYKDJAlW8Y9Iw27LsU45rqeHTjUi1BqOLfXZbns79w8WYiz5bqc3eMXmYOgCKtU5BwLo9LV7WR+FW8cCi9gSJHnRbc8uT9V1NWaGeoKuaPXpBWLH/GTKXEKuy1HXz+yPgQsYYN2yrGNgmgXpKbxgp92h6LRA/PRjxrjkAV8kVdivxG3GUFVfq4ZtGlLdRrcYCkDIZVpwPrNp8Qg5NLn5xhWj1hsqqOOJdeDHHLkS48A9pLAhPubRWH0s1IixLstnJ95DGIZDE0QpEh7STctqvS7SVhclroKI5xzT7w3C78fxTKC//JkdrV0/rQ2CQ1u+emaCUt3X1WwYofudoMjp5iESscDvw6PnqzubUT51FwGtAf2hkT07VQWZ2CcNP4dvYgDSsc26Y0hwWdr+ppCy1xbmpENU5moUPELtF9w2da1zG5N32Fcxr9VOqOGwa4pqkasIQPCRdqsEa/34g95L7Z1BAXpMxCLTbW5nxD3wQBsrsTjO0rmBh4n9BdKjqj5GrXOTceAaJ+L3o07aVIzICJ5HGo7GQXjaQOABzysbGr7bdBIQyp//ruqXNLVSaylIunZJY4/HFdqetZj6jfb4rE+/GkjFLw23Ym8RIDYJQsTAR8OdwZNtVPrILdve1ohlyBW/nS+gy5dZ3qHnE9ZxbgN6FpRYr9G4acK3yCyMeuBdiB6Tqz0o6xz/c2WLWpWcw/HivVce53MfbqMhj0K/jjpl+fsJT/+ZkaPviDrOtKR/WPz/ewNwQ7pZgCubtlzCmPw8pBKjP+uI9tvwydgnV8I/LdEvS0IrP9m22kPZiw/m7mPQPkDA7IzQSIlrmWMCt/iJ0rvVEtkyi1pPyzVVby4OyzvyhexVcFu2X1x5jOqfUL3eEjO+IhMJufVCOVlUKNHPci0r4KQZ07n1wPCjUoCN4MMl9D8yaP0l8SQmSmp9/DFVZ1Cd5m+O0cmaQfZX8dYV52uxkPnkRNn9SnKCz5Nf8tBG8p+kvznEYw6d4UKQLocFdzeBU6FBa4zQSf+oXHghds9YGJoWNAGzD9ucgVNyu4hU2rq7UDnAwT/pm8FTbw/OM2uCyPr80J3CpgKPdA0+jEvBNxlezsZeLyTntoZLIstgllETxC9QjqfCVtnQYBYT8oFCXZPadyBZPPVrXvQORCpRXJCQ9iyoiKTQCCOGqGyIgC+23Q0ebmZPr7e4I5JbBZWeh6ek2RRWOZMI0lkLeE72KO+9h8HPxmgMhPtDes/l6DmWjAPb6IwZSM9SseTYF447HL5rQKkv4x7W4Cu1pACSc/2qqdUwnC6jydk8EY2zPa9kdguwdSiDr+KwASZex2MKMJa+peXhTDLqB7jxiO7snU4r0nk7E0B3IBqWM89PVskyNTJXqTkAXyzHWag1S8URPhk9Q9UYpyVCWRzs4nfXAX2WgCJl9iw8ZXrIJZ3fGs3vXQMYI/kGJ7rGIDWhcQEDJGKJYrBCh6zNsbSzBagd5AQ6DNIUEvTUcPvxZP6sy+uiiMMqErDgbi2IT3G6E5sEL0sO7GtrVWoxDQWXX80vtf146fnNNp4uS2wGta7b4kguAt39olceX7nUrYgzLm1aXcr0ObbRjcPdeSlNGLTJGlZRNtvTlFdT1RgTQBfRdG3d1JCraCGsAWxBC+Bwa/zAcdIwUNnMfgdZ5eOAyiBTmoGAAOkUr7avSVvP5Xyrk9JlNzeArrjZUFMYOcXBfkMquqD1NoPHUZ12u9jCoj109zJquxcJ1zGT5TylJYSTc9xz46TfLrz5KvsMhfetBx0ocY8lXjbs3pzB6ZswDGzF4j0eiWBfu9UZoiQVtt1eIfAPoZO9u/n2Wbpx+ov+mJFf0dZklKDED5CUbmj8/izOdE9KbiPDFr1nZZQbO+YwJYhjxxqxzwC41CvH5XQTCCadeWgb5cHEwwunFRVCYeEFvTlP6nR9pS19UZoQvPNk5NEnZVKxWVD1lK18frvX8MxIpB2xaSbUkvGi3tueinLa7OYVfjirBJ1GYbuADa4H0KOxi4MP59ah6TOmsZstA6plFbtRRtk4Iofzu1mAyUN52SZzwCvH5/IxOh6vQxg7EcMfB8O5+S87PeE3vd1ch+UVDwQ3fvNmjd7/77XdKZiR7bwiDxodxABpG4iYrxcfkGPOTCKUlisgFNNmSmwG7FJMYWkz3RcEHib/biklnEKbm/9G5000cwZXXglZb8QjleSklkSEZa4DYec1SNvD/KwRbk5lYr03TDl7DrZo3WjKWvWGMUs3,iv:tPbOGayR7NiXcuHWjX0pX/nSitOxmsr4qqrc6irlIJI=,tag:apejA4UTYTuwT4CUSeoaRQ==,type:str]
TestDirectory:
dir:
path: ./gcp/gcs/tests/testdata
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gxwmtwahzwdmrskhf90ppwlnze30lgpm056kuesrxzeuyclrwvpsupwtpk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCRThSTEE1Rm5HU2Y2NkJZ
SEd2blAyeEVnMHBqRGxXMEQ3TGFzWTBwd1EwCnA0OFVmTCsxSmpNV29adGt2ZHFH
WE9vN1ZoNENFV2t1TGVuZkdwVndNbVUKLS0tIGpHZEptYWxEZVNjcXF4NkoyWHRv
ZXd6Qmd1YUtxMnVTVkYybWgrV3pVK2MKowMeOZU3j3BxERT0DwhQYCGUDBK6gCdo
WByubiBATdsb7h7ytCC4HutWppynK4MpU+Ya9NP83AZuXo+Wa2u6aQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-30T10:44:08Z"
mac: ENC[AES256_GCM,data:bVjVtONv7ILxZ3UkYy/l3MnuJB8g4EG++fBfeL/CQPHyembwBURC3nxfB0IdqQmPsa0/ahycNawIvB/owy+Sw6yyaDWGtd/8Jn0CILLZ4Nyx9lNN95J4Ad0FbUKr24Fu17I339rB1GrEjAaTs1qcle53sp4Wq9Blg26Vkut9jmc=,iv:TdFDptBZrScOfywWsIhoLijSFQL18DF94bKMh5DfW5s=,tag:wVoa1K/Nyx05nu+Op0Viuw==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@ -1,5 +1,6 @@
plan: plan:
module: .dagger/env/google-gke/plan module: ./gcp/gke
package: ./tests
name: google-gke name: google-gke
inputs: inputs:
TestConfig.gcpConfig.project: TestConfig.gcpConfig.project:
@ -23,8 +24,8 @@ sops:
ZXd6Qmd1YUtxMnVTVkYybWgrV3pVK2MKowMeOZU3j3BxERT0DwhQYCGUDBK6gCdo ZXd6Qmd1YUtxMnVTVkYybWgrV3pVK2MKowMeOZU3j3BxERT0DwhQYCGUDBK6gCdo
WByubiBATdsb7h7ytCC4HutWppynK4MpU+Ya9NP83AZuXo+Wa2u6aQ== WByubiBATdsb7h7ytCC4HutWppynK4MpU+Ya9NP83AZuXo+Wa2u6aQ==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:28Z" lastmodified: "2021-06-24T16:23:14Z"
mac: ENC[AES256_GCM,data:mCi/vNSrtuLP+hBssCP6D5DI9wFSajN7EeFxfKnbqMGRgHRGjbbA0ty1RtJCwlTLYHmLWRxNclkLtCD+tJXQ84YnE/jocPjUK2Z3lR/La/7imy32QM1hfpg14pT4A7lkIizwKfcV+HXgRTE8rQ8eZM+KnuQJXwa1Qds2G33sTpM=,iv:xqDuKP7vBHug+o1lffkJ5YNzh/YPjCGmHCb0U7lgijo=,tag:6ln/mKsYB4Zu6l3YtZ59RA==,type:str] mac: ENC[AES256_GCM,data:xUwP0iRtKFl159PD5u8byQbxMyPHYuQvGQLuplUJMZs/OMSd+YWiWoJRhup4j9/sZbq4Ob6uHr37HMmwbNgieiGX6qabS90Je/1UiufCOWwfVswnT+iUMHyudnS0r+Gh81vwl2eP3xLr6Odm2FbFh8kwF3Yw+NNi3wgei+yZIjU=,iv:tNI8ti2zAem+dcWVdciPLqdpJ6SDIK3CoeQUchlWE58=,tag:MgTShPwKT565cJV2BJLi2g==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -0,0 +1,2 @@
# dagger state
state/**

View File

@ -0,0 +1,28 @@
plan:
module: ./java/maven
package: ./tests
name: java-maven
inputs:
TestData:
dir:
path: ./java/maven/tests/testdata
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gxwmtwahzwdmrskhf90ppwlnze30lgpm056kuesrxzeuyclrwvpsupwtpk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3VURHb25rcVdWRmMyWmVk
c0t4MEZscDdMWEdqMWNPRm0zRG91cnh4cnlvCllCYy9nS2F0ejZFQXBLZzgxU29n
V0tEcEJkQUFzdHczV3MrQjFpUHMzT1kKLS0tIFJvY2QvUjJlRE9hTTJWa1NkK2l4
UjFhYnZNdUxBNEtzWkVvMUoweUFnREEKbs/IGlNmDk8e3ibJSoIcE95txghXwsso
DL281EMf0V+ARsJY2CiehZsZB+xX7y+YfyQyoWx0xMN7bCgPu2snGg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-29T16:06:47Z"
mac: ENC[AES256_GCM,data:DudrYOLr/ymf10B4UzjRfe1+n/hw7KCSSIbzAGcc3kmN/KplkCPYi3n5HCX1XkMOB1mQp9QD+UOQGL5CYPtqnZZKu62JNfbeSqU26BKU97aqL0F2+lPqaYsjSeCAbgUs9O/30A7QErlJiXuzTYC1WcTjpTr0RTeNoHmWKsqZ5ug=,iv:7e1XmOfxyKIOguzDxqQ75nFnV3GZ1vpvz5S5P1O+4Xo=,tag:f6Vb8e721uLyvLfCwE/JEg==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@ -1,10 +1,11 @@
plan: plan:
module: .dagger/env/js-yarn/plan module: ./js/yarn
package: ./tests
name: js-yarn name: js-yarn
inputs: inputs:
TestData: TestData:
dir: dir:
path: ./js/yarn/testdata path: ./js/yarn/tests/testdata
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -20,8 +21,8 @@ sops:
S2JsNXRkbWVERHM0WWk0bXBJSXJIK1kK9R3gMDcbeKRRlt0HHM+w2kcs+sGfASmE S2JsNXRkbWVERHM0WWk0bXBJSXJIK1kK9R3gMDcbeKRRlt0HHM+w2kcs+sGfASmE
0YhxbFF2qQPFwHHR7aPmM+L1ML8cXOrxOOyWmmWhXNgtURCJ9/SO3A== 0YhxbFF2qQPFwHHR7aPmM+L1ML8cXOrxOOyWmmWhXNgtURCJ9/SO3A==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:00Z" lastmodified: "2021-06-24T16:32:39Z"
mac: ENC[AES256_GCM,data:EmSUjMv9vC6/XGTHtVBZSOQP/vrb6rTvM3xJLf0rjZadOYviDQKiBygvQjdrnxR7EqDHntkm8ye1ZWsCEiNF/e/H4lEbZL8hVdeqiWqdpDVkzGw5wQRfKuATy7K48o3lPZAWd6vOzRVRpwCx9YVk9nt8v7OSB1mPYqAtRMvoMg8=,iv:qacGNks0dHawJPTtgrbrJkuyITxiiNyACKgLejPS8ZM=,tag:jv7+/6wmJwLGufLS4ERlbg==,type:str] mac: ENC[AES256_GCM,data:jAgt/buOF8cUAT0bQJ3icGI8qR8cOg0ZQqZFuut1VhggLGZTr92Z7XZcChfBdpfPIE98fVuoemTdddEBWKp9g/LjXHyoK4kJxtgTLiH0CGkynVIE01bQUTCQBwaE3KHoRTYuu8xWFw5RpqEgCvlpZnvCGwwMG08NR+hSJJ5j7oY=,iv:+fkJT11KX3xD8OL7NXj+Rs1nuXK8J1AnfF6ZWGGtTTY=,tag:o9xcgR/nLt7hxvMeH1saoQ==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -1,6 +1,29 @@
plan: plan:
module: .dagger/env/kubernetes-deployment/plan module: ./kubernetes
package: ./tests
name: kubernetes-deployment name: kubernetes-deployment
inputs:
TestKubeconfig:
text: |
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeE1EUXdNakUwTlRJME5Wb1hEVE14TURNek1URTBOVEkwTlZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTkJTCmp4OHZ4YlovRTVDUWw5akdKcWt6NGkxK0xrcjJSQnlsblRvRTV2dnd0VEZMamJudzR6T3RoQlBaV1VGcEZyMG8KNytBNUxaamRnMkRFendRbnpEaUxTc2RuV1plMEg5U3hLNjVMQ0VNdkR5UlFkenc4Wmt4eXNzQ3J3V2tqd3Y0QwpsbjhzYXVvQ0hrd3ZxelhtZjI2bHR1MC9YYUhrNzdwSlZiSTR0NFNpeUNTMjZsNVhyaGhOUlpkSG5La0FOVnQyCitPcWVzUGhQNWJTcDdSdkhLSDJFWXlISkp4azRYdzJhSUl0T1BYSThGcm1LM0NaZEJaN0VVTzRYTE5aa1M1M2UKZWpNRmlXcHNCVlRsR1lhSmYxMXZ6dmlmRE1uemNvV2ZKVGhaZDBMd0dKRVFVeDA0YXpCZ1VrTWJwVGpBL1ErVwoxamx0ZTZzNERuaE5MODFrYUxNQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZIT0d3YjJRcG1RVW0wcWhaTlhDK0d3blBDdm9NQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFDSjdkQU94ZkJvSlE5OWgyc0RJWVdKT0NXWU9mK0h1MWhMbHpPMHBsODhEUG9WNGE1dwo0WEZVK1pjcW9aU2hVVjZ2RlFGK2s3Q29ldC8zUUppQ2VOZjhMS2pITlh2OUtKcGFoaDhQbElVb3RHMjF3a1NaCmN6MDFRTms1T2pEdmhXQ1BnckNDUEpTQlV6cXQ4cHZTWkhPL3pZckJReUhYM1VSQmhvUDdUeDg5SnBqSEYrTmEKNlBhYzR4SndKWUxPYVJJcWZwWlE4NUdXanBuWXE0c2p2cHdzbXJJZS8vcmFUTHdaSUVQdG5URlFtNFJseW9CeApDbG5mT1c5MjRFbm5nMVBDZUFNK2JyZ1psODB0NW5wK1hrTkVpaisvbFY1NGZFUjhMbTROWkpabGM4eVlOZDZqCnM2ZzgzRmlWN0tvcGZKZk1VT3hSY0hEempTekp1bGFta2pybQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
server: https://127.0.0.1:35377
name: kind-kind
contexts:
- context:
cluster: kind-kind
user: kind-kind
name: kind-kind
current-context: kind-kind
kind: Config
preferences: {}
users:
- name: kind-kind
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFekNDQWZ1Z0F3SUJBZ0lJU1o0SjMxa0Rsdnd3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TVRBME1ESXhORFV5TkRWYUZ3MHlNakEwTURJeE5EVXlORFphTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXo0aGtSb1VSYlZkbEVaUDcKQTdFVGxOOG9iZzRybmY4RkJDeVlJd1dRbDR5d0lMZUV6MWVMajloS1c5Vkx1OW8yemlGQm5GRGhSQXFpc0JlTQpPanlBNzJkZzJibmZKM0kwVERpT05TcWRrS2RDRnU1V2I0TDM0U0NDcVRzeFdUL0JUNjJsZkVFUzIxN3UxV2pSClBWNlcrVjhzSlhwQVJESUxoUmpGS0pNVjE3a2U0RjVUeDE4WDBuOHhXaGhFZFBrR0FzRDdaaDQ3ZFoxbWRQMjAKbWV1M1grREtqUUpydzlVb0hCV3UzZEoyWWtNNmpUR3B1TnlmaVVrYUcrS1lmUThuVFdiM3VvVHJKYXFlL015aApyY3ducGZVNUFzVUJteUJjN1JrZlZsTEpIWDltbU5wYWxkeUpTaFFnRndSZTQ5NFVuVGpjU3lHVzhUUXhMSmVOCkx1NFdBd0lEQVFBQm8wZ3dSakFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0h3WURWUjBqQkJnd0ZvQVVjNGJCdlpDbVpCU2JTcUZrMWNMNGJDYzhLK2d3RFFZSktvWklodmNOQVFFTApCUUFEZ2dFQkFERnFWMUdvby83NVN5ekVMNlNMeVVhbXJicUJGNFNxRVFYdnBzRjdoYnJ2QWhHMEdIc21DR0tFCk11bFhxeXdiYVpmTGo4ZHFRdVVLTlExN1U5ZWIva0ZXcXRrVlNyZG03eGc0ZythOWFHT0J4RE9vUVZTTHJPeUIKb0ErSUF0d0REZlRUTWhHVksxZXVMWnhXdU1qUkJwMDB5ZUFlVEsyYjlBNUV1dFViWC94MGtWZGhlckx1MitmZAo2Um5VSnBjaEpMR3hjWDZNelVzR0RITC9RcCszaTJ2SnAvQm54V3huNjV0Sm01SXZ3UnQybEZFZ05SUHFiR1NxCit6RVpnZzFTVmlvRUU3U2VsdVV5R2NueHMvQyttdCt3QVZGNzErdGxMN1F5NmFGWEppRXlOOVE2Rjhtd1hDNGkKNmFyb1FFM2JjVkZOOTFKczNFN1NOcVJNci8rWjRFQT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBejRoa1JvVVJiVmRsRVpQN0E3RVRsTjhvYmc0cm5mOEZCQ3lZSXdXUWw0eXdJTGVFCnoxZUxqOWhLVzlWTHU5bzJ6aUZCbkZEaFJBcWlzQmVNT2p5QTcyZGcyYm5mSjNJMFREaU9OU3Fka0tkQ0Z1NVcKYjRMMzRTQ0NxVHN4V1QvQlQ2MmxmRUVTMjE3dTFXalJQVjZXK1Y4c0pYcEFSRElMaFJqRktKTVYxN2tlNEY1VAp4MThYMG44eFdoaEVkUGtHQXNEN1poNDdkWjFtZFAyMG1ldTNYK0RLalFKcnc5VW9IQld1M2RKMllrTTZqVEdwCnVOeWZpVWthRytLWWZROG5UV2IzdW9UckphcWUvTXlocmN3bnBmVTVBc1VCbXlCYzdSa2ZWbExKSFg5bW1OcGEKbGR5SlNoUWdGd1JlNDk0VW5UamNTeUdXOFRReExKZU5MdTRXQXdJREFRQUJBb0lCQUVlV3BmaUppSVJ1UkVmMwpBdnk0QmFneC9wRlFSQTJCWGVxZHMzRkpSeUp2L29XYXFLNlpaV1FlV1RBcWVMQjVTclI2Vmxha3M4QXo1d0RWCmJxTGNJaUh6U0Q1eTFwNlZ6NktIVTg3VlAzc1pwenVmeGFNN3kyUVdRZHc4dGY0eWR1MlVXZVJ0MGlKb01memQKNW1mRURGSkRXVWdvVHFqM2xtKzRKcktqWWtLQ1V3QnAzSi9NOEdEWG5xck5jYVVjc2lJSFExZnVJRllENXQ5MQpEWDVPaHAvQUkvNUhJc292YVRrS0g1LzlIblpsRllScWhRYUhRS3BMQnA1TkxyS2UybXpOSS9CUnlkNUkxdm1DCkFkeDA1MEtnSXhNRWpDaXp5MnFWSTd3eGNPR1B3Smx2YkU5b2pDakN3dk1tZWlXTkxLNUpFdXdaZitCWVFFbUIKbXA3dmU2a0NnWUVBOHBxMlkybWtLUXA4UXgzN1RPUEYwZGlWM2pDZ0FhSXoyRDJwSkIyWDEzYlRHK01UT3dONwpURUd5M055TEc3R2RvVmVNNitHMFJUSTR6VFZkWmU2T3k3U1NQQXdxS0IrZGJINEE0NU9MT29rUGxUWDRDTmdQCjB1eXFTSCtLWEQ1dkxkbEFhalpqSzkzK3gvbFFaRWhKM3VqYlFZaStkQVJtOGlwam9XWkR4b2NDZ1lFQTJ2M3UKaXc0R3FrWW1FQjlmTEVqN3hUZE11Q1FHdUxLUEZaUUtSNjRZbUR6MGdESnVkWk1XUmVLZFZibEFDSzBrUHdyegpyOTIrdUpzSWkyUzlNYjVabmo0QnR2Y1JqTzJzcUdoTG9YNDVVZHNadTduSDM3dTNSVzVaRi90VnBTYTJ5SkpPCkxHY3FKY3VyWnB5Vk1uZmt3L3dHdHJSdWNCODV5a1hqSEsrUEY2VUNnWUVBMEtpdWZEeU5POXRQMnk0N1NQdVMKMWhUUmVhUWF5cXptcUhNSU9nN1YzVFRQQitvN1RRT0dsYVRnSU1QelJXTnpyeVF0Q1dnNzgxUHB0TjNVTWVxSAptTDc3RTNobS9kR0xSWmZ1VGM1RjdwZVo5bnpQazFPNThIRXJXR1dSN0JxcTV5VTNHT01rVXNPQjhoOEZ2T3JMCjFsUXkyRit6WnZldVQxU1VFbXB4bXBzQ2dZQlBSVG9URmRtdHkwUzk4MDAxTDVvTGNwQVAyK0tlK3V1MmFPY3IKdVVabjNUQzRNd2t2QURaQXg5NGlDTE80TUV4OWtZNVNhOWM4NWNtN0E1VkVxMTJ2WFV5cm1WVytDTTdHQ3pMTgpXMjZPUmR4VHl0VWlGTVlybU4waFJEWmxXTlV6VjFwNjBrRThlelFwS2FjTUpNQW5mVlJFMEoxbGNyZ3Rrd3k1CjlvYTZqUUtCZ1FESGNuNnl5dzhzSThUTlUvazZDMGhyRkhYeHpLc0ZkMWV5Misxa01ZMm5pR0o3UHRGaHBMZWwKaTIzU3NPSFFyM29Da1l0bHpIL2pzR21OS01IOWxyOFdjTkgvTE04eEJ0N2lhZDFESTlrN0RYbjFscjFIbW1wUApsRlhyQjZ3VDV1UDZVRmhxNHY5NWhkQW5CL3YvOWFPdTIyNlBKYXVUV2RtaGxaNElFa3N1M1E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -16,8 +39,8 @@ sops:
SVVkOUtuWTJneE45em5iQ3JvbnIwWlkKgdJC5IzvVDxbWSfU41Xg/UGPxuVBSOGY SVVkOUtuWTJneE45em5iQ3JvbnIwWlkKgdJC5IzvVDxbWSfU41Xg/UGPxuVBSOGY
eqenr07uWppNaHuLuo9A+znQa2RQ0L2clcB2d+ka+6z5tQyHOfx1nA== eqenr07uWppNaHuLuo9A+znQa2RQ0L2clcB2d+ka+6z5tQyHOfx1nA==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-18T15:41:02Z" lastmodified: "2021-06-24T18:18:53Z"
mac: ENC[AES256_GCM,data:R3DuHLEyfehKe1nCWHdKB9jyOs5TXI+r2BmQDMiwI8v0xfZdOZWfwGw3NAFGDZHbaLNTajQkzviDsMhaXg5bxvmK7P8PiJOOmnm/LnDRfnJirGRGpWA7bmsHH/QZL1lb75+cwUrwRZflkKoPy2bQyoC5Rze6/oNhPIUTCwQWaMo=,iv:73ZjXAcazCND3JhC94TjUOlcMbwfTz8YDFP1BPo8yUw=,tag:wUVcfyjtf4KzpU0jDrxleQ==,type:str] mac: ENC[AES256_GCM,data:S2uG/YGGfCxJ1ClEouwEhFa1Huzk//NFQoZM4SCDp0uK73FVxt1+Hi0rfKl7DrGPqw+HJghlamyAwPGZSi9lFBWO6ASti2kfc2FmhQ9pgY+VOiOE7jd7ajw9wWUILpN19GBiwIpO8JN/nqRX9QYLdigUgKa6IVrBwVwjRRKvmmM=,iv:SpSe+nwvtSHogwwNaMbikDzMKDHbla0BqnsZn42nMTQ=,tag:vxn0bHdbMwfZVLx9cSfB4Q==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -1,10 +1,32 @@
plan: plan:
module: .dagger/env/kubernetes-helm/plan module: ./kubernetes/helm
package: ./tests
name: kubernetes-helm name: kubernetes-helm
inputs: inputs:
TestChartSource: TestChartSource:
dir: dir:
path: ./kubernetes/helm/testdata/mychart path: ./kubernetes/helm/tests/testdata/mychart
TestKubeconfig:
text: |
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeE1EUXdNakUwTlRJME5Wb1hEVE14TURNek1URTBOVEkwTlZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTkJTCmp4OHZ4YlovRTVDUWw5akdKcWt6NGkxK0xrcjJSQnlsblRvRTV2dnd0VEZMamJudzR6T3RoQlBaV1VGcEZyMG8KNytBNUxaamRnMkRFendRbnpEaUxTc2RuV1plMEg5U3hLNjVMQ0VNdkR5UlFkenc4Wmt4eXNzQ3J3V2tqd3Y0QwpsbjhzYXVvQ0hrd3ZxelhtZjI2bHR1MC9YYUhrNzdwSlZiSTR0NFNpeUNTMjZsNVhyaGhOUlpkSG5La0FOVnQyCitPcWVzUGhQNWJTcDdSdkhLSDJFWXlISkp4azRYdzJhSUl0T1BYSThGcm1LM0NaZEJaN0VVTzRYTE5aa1M1M2UKZWpNRmlXcHNCVlRsR1lhSmYxMXZ6dmlmRE1uemNvV2ZKVGhaZDBMd0dKRVFVeDA0YXpCZ1VrTWJwVGpBL1ErVwoxamx0ZTZzNERuaE5MODFrYUxNQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZIT0d3YjJRcG1RVW0wcWhaTlhDK0d3blBDdm9NQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFDSjdkQU94ZkJvSlE5OWgyc0RJWVdKT0NXWU9mK0h1MWhMbHpPMHBsODhEUG9WNGE1dwo0WEZVK1pjcW9aU2hVVjZ2RlFGK2s3Q29ldC8zUUppQ2VOZjhMS2pITlh2OUtKcGFoaDhQbElVb3RHMjF3a1NaCmN6MDFRTms1T2pEdmhXQ1BnckNDUEpTQlV6cXQ4cHZTWkhPL3pZckJReUhYM1VSQmhvUDdUeDg5SnBqSEYrTmEKNlBhYzR4SndKWUxPYVJJcWZwWlE4NUdXanBuWXE0c2p2cHdzbXJJZS8vcmFUTHdaSUVQdG5URlFtNFJseW9CeApDbG5mT1c5MjRFbm5nMVBDZUFNK2JyZ1psODB0NW5wK1hrTkVpaisvbFY1NGZFUjhMbTROWkpabGM4eVlOZDZqCnM2ZzgzRmlWN0tvcGZKZk1VT3hSY0hEempTekp1bGFta2pybQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
server: https://127.0.0.1:35377
name: kind-kind
contexts:
- context:
cluster: kind-kind
user: kind-kind
name: kind-kind
current-context: kind-kind
kind: Config
preferences: {}
users:
- name: kind-kind
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFekNDQWZ1Z0F3SUJBZ0lJU1o0SjMxa0Rsdnd3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TVRBME1ESXhORFV5TkRWYUZ3MHlNakEwTURJeE5EVXlORFphTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXo0aGtSb1VSYlZkbEVaUDcKQTdFVGxOOG9iZzRybmY4RkJDeVlJd1dRbDR5d0lMZUV6MWVMajloS1c5Vkx1OW8yemlGQm5GRGhSQXFpc0JlTQpPanlBNzJkZzJibmZKM0kwVERpT05TcWRrS2RDRnU1V2I0TDM0U0NDcVRzeFdUL0JUNjJsZkVFUzIxN3UxV2pSClBWNlcrVjhzSlhwQVJESUxoUmpGS0pNVjE3a2U0RjVUeDE4WDBuOHhXaGhFZFBrR0FzRDdaaDQ3ZFoxbWRQMjAKbWV1M1grREtqUUpydzlVb0hCV3UzZEoyWWtNNmpUR3B1TnlmaVVrYUcrS1lmUThuVFdiM3VvVHJKYXFlL015aApyY3ducGZVNUFzVUJteUJjN1JrZlZsTEpIWDltbU5wYWxkeUpTaFFnRndSZTQ5NFVuVGpjU3lHVzhUUXhMSmVOCkx1NFdBd0lEQVFBQm8wZ3dSakFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0h3WURWUjBqQkJnd0ZvQVVjNGJCdlpDbVpCU2JTcUZrMWNMNGJDYzhLK2d3RFFZSktvWklodmNOQVFFTApCUUFEZ2dFQkFERnFWMUdvby83NVN5ekVMNlNMeVVhbXJicUJGNFNxRVFYdnBzRjdoYnJ2QWhHMEdIc21DR0tFCk11bFhxeXdiYVpmTGo4ZHFRdVVLTlExN1U5ZWIva0ZXcXRrVlNyZG03eGc0ZythOWFHT0J4RE9vUVZTTHJPeUIKb0ErSUF0d0REZlRUTWhHVksxZXVMWnhXdU1qUkJwMDB5ZUFlVEsyYjlBNUV1dFViWC94MGtWZGhlckx1MitmZAo2Um5VSnBjaEpMR3hjWDZNelVzR0RITC9RcCszaTJ2SnAvQm54V3huNjV0Sm01SXZ3UnQybEZFZ05SUHFiR1NxCit6RVpnZzFTVmlvRUU3U2VsdVV5R2NueHMvQyttdCt3QVZGNzErdGxMN1F5NmFGWEppRXlOOVE2Rjhtd1hDNGkKNmFyb1FFM2JjVkZOOTFKczNFN1NOcVJNci8rWjRFQT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBejRoa1JvVVJiVmRsRVpQN0E3RVRsTjhvYmc0cm5mOEZCQ3lZSXdXUWw0eXdJTGVFCnoxZUxqOWhLVzlWTHU5bzJ6aUZCbkZEaFJBcWlzQmVNT2p5QTcyZGcyYm5mSjNJMFREaU9OU3Fka0tkQ0Z1NVcKYjRMMzRTQ0NxVHN4V1QvQlQ2MmxmRUVTMjE3dTFXalJQVjZXK1Y4c0pYcEFSRElMaFJqRktKTVYxN2tlNEY1VAp4MThYMG44eFdoaEVkUGtHQXNEN1poNDdkWjFtZFAyMG1ldTNYK0RLalFKcnc5VW9IQld1M2RKMllrTTZqVEdwCnVOeWZpVWthRytLWWZROG5UV2IzdW9UckphcWUvTXlocmN3bnBmVTVBc1VCbXlCYzdSa2ZWbExKSFg5bW1OcGEKbGR5SlNoUWdGd1JlNDk0VW5UamNTeUdXOFRReExKZU5MdTRXQXdJREFRQUJBb0lCQUVlV3BmaUppSVJ1UkVmMwpBdnk0QmFneC9wRlFSQTJCWGVxZHMzRkpSeUp2L29XYXFLNlpaV1FlV1RBcWVMQjVTclI2Vmxha3M4QXo1d0RWCmJxTGNJaUh6U0Q1eTFwNlZ6NktIVTg3VlAzc1pwenVmeGFNN3kyUVdRZHc4dGY0eWR1MlVXZVJ0MGlKb01memQKNW1mRURGSkRXVWdvVHFqM2xtKzRKcktqWWtLQ1V3QnAzSi9NOEdEWG5xck5jYVVjc2lJSFExZnVJRllENXQ5MQpEWDVPaHAvQUkvNUhJc292YVRrS0g1LzlIblpsRllScWhRYUhRS3BMQnA1TkxyS2UybXpOSS9CUnlkNUkxdm1DCkFkeDA1MEtnSXhNRWpDaXp5MnFWSTd3eGNPR1B3Smx2YkU5b2pDakN3dk1tZWlXTkxLNUpFdXdaZitCWVFFbUIKbXA3dmU2a0NnWUVBOHBxMlkybWtLUXA4UXgzN1RPUEYwZGlWM2pDZ0FhSXoyRDJwSkIyWDEzYlRHK01UT3dONwpURUd5M055TEc3R2RvVmVNNitHMFJUSTR6VFZkWmU2T3k3U1NQQXdxS0IrZGJINEE0NU9MT29rUGxUWDRDTmdQCjB1eXFTSCtLWEQ1dkxkbEFhalpqSzkzK3gvbFFaRWhKM3VqYlFZaStkQVJtOGlwam9XWkR4b2NDZ1lFQTJ2M3UKaXc0R3FrWW1FQjlmTEVqN3hUZE11Q1FHdUxLUEZaUUtSNjRZbUR6MGdESnVkWk1XUmVLZFZibEFDSzBrUHdyegpyOTIrdUpzSWkyUzlNYjVabmo0QnR2Y1JqTzJzcUdoTG9YNDVVZHNadTduSDM3dTNSVzVaRi90VnBTYTJ5SkpPCkxHY3FKY3VyWnB5Vk1uZmt3L3dHdHJSdWNCODV5a1hqSEsrUEY2VUNnWUVBMEtpdWZEeU5POXRQMnk0N1NQdVMKMWhUUmVhUWF5cXptcUhNSU9nN1YzVFRQQitvN1RRT0dsYVRnSU1QelJXTnpyeVF0Q1dnNzgxUHB0TjNVTWVxSAptTDc3RTNobS9kR0xSWmZ1VGM1RjdwZVo5bnpQazFPNThIRXJXR1dSN0JxcTV5VTNHT01rVXNPQjhoOEZ2T3JMCjFsUXkyRit6WnZldVQxU1VFbXB4bXBzQ2dZQlBSVG9URmRtdHkwUzk4MDAxTDVvTGNwQVAyK0tlK3V1MmFPY3IKdVVabjNUQzRNd2t2QURaQXg5NGlDTE80TUV4OWtZNVNhOWM4NWNtN0E1VkVxMTJ2WFV5cm1WVytDTTdHQ3pMTgpXMjZPUmR4VHl0VWlGTVlybU4waFJEWmxXTlV6VjFwNjBrRThlelFwS2FjTUpNQW5mVlJFMEoxbGNyZ3Rrd3k1CjlvYTZqUUtCZ1FESGNuNnl5dzhzSThUTlUvazZDMGhyRkhYeHpLc0ZkMWV5Misxa01ZMm5pR0o3UHRGaHBMZWwKaTIzU3NPSFFyM29Da1l0bHpIL2pzR21OS01IOWxyOFdjTkgvTE04eEJ0N2lhZDFESTlrN0RYbjFscjFIbW1wUApsRlhyQjZ3VDV1UDZVRmhxNHY5NWhkQW5CL3YvOWFPdTIyNlBKYXVUV2RtaGxaNElFa3N1M1E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -20,8 +42,8 @@ sops:
VHlGUExaMzcwM0pOM2VDY280UWZXSzQKAm7ZV1agxbla3Yrc7vrwJosSjQtWhdac VHlGUExaMzcwM0pOM2VDY280UWZXSzQKAm7ZV1agxbla3Yrc7vrwJosSjQtWhdac
ZFyQ6Gi+9H7qHZM89yVjAaIg1lwr68HcjYgDzpvvhJO9YPfzwoLyHw== ZFyQ6Gi+9H7qHZM89yVjAaIg1lwr68HcjYgDzpvvhJO9YPfzwoLyHw==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-18T15:42:52Z" lastmodified: "2021-06-24T18:19:00Z"
mac: ENC[AES256_GCM,data:SzHFZpgiv+h1vRjq0GP+4nzj9az6pAwQwstxYz10yBGPQXnZv/VtJm071oouiK7pgD4i7cTvTKgIOaX9K74PiWSiTjWI5F9sGHvt9ZoGyU08OHM6zwGMDiYygBN2+5dd5jBvT4Xy6efa0IOMxSqhp69+VoJRWesAFsN6IfDcIEY=,iv:Af2WeB2eVk5hnWFWaQij7hz2wjXgNWDJTWDm13iKNvA=,tag:uvR1ruMc69ZhDJRtYCFQBw==,type:str] mac: ENC[AES256_GCM,data:YOoJzBwg1qxodJ8BZNwUWB5K5GlN+YKkKVjdc0rlG4SS+XhypsdSTwNCZLxXhT9NeGSeqlECNF6OIIBAomDHyv1PVnbbM65Q6gmNWrdXmWbJqUB1wEOg46NY/DxjmkC2miX6WIOz9zZSDNWKITYyLVVRwR9F1Pgh16x2q2x+MAo=,iv:KF4tAnVZXUm8+J5VKfpPIn3ZzdyyCYZfxyDoFyCb8dM=,tag:5UIN4Vb40+RwDcRjIptSkg==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -1,10 +1,11 @@
plan: plan:
module: .dagger/env/kubernetes-kustomize/plan module: ./kubernetes/kustomize
package: ./tests
name: kubernetes-kustomize name: kubernetes-kustomize
inputs: inputs:
TestKustomize.testdata: TestKustomize.testdata:
dir: dir:
path: ./kubernetes/kustomize/testdata path: ./kubernetes/kustomize/tests/testdata
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -20,8 +21,8 @@ sops:
OFllMEh3cVJZZnFxbW4xS1RtcFQzcFUKo/1WcYp4nPBXba8wQBe3DMt6pYQJGoSu OFllMEh3cVJZZnFxbW4xS1RtcFQzcFUKo/1WcYp4nPBXba8wQBe3DMt6pYQJGoSu
ja5BiCffN5wOoW9WT0j8Clx21w7BXcl46+T5GYpXDQDcqf6nCv1kYQ== ja5BiCffN5wOoW9WT0j8Clx21w7BXcl46+T5GYpXDQDcqf6nCv1kYQ==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-17T20:48:00Z" lastmodified: "2021-06-24T18:16:21Z"
mac: ENC[AES256_GCM,data:SCWiSiDccPkZApOcc8RsYP7WPZUqUyYVB0UgivLhIsNSY5q3kCdenPLTUp2zLOcwaWzTPGmj++QtZjoNobcIhdVt1aJ9uXLLKRUXaRGIO3Jmhg3wj7kSPNjbDLZEB6uyA9h3edQGVVivNlNGpo91tg35QcFPPSG7UiowFnsD0zM=,iv:44hkujM/ZWjtYHau8BFMdOIeBj5jF/WnW4OOK7oSw1Y=,tag:mtJdUR+sA0tjIyAWDpXQlA==,type:str] mac: ENC[AES256_GCM,data:eq7Eev6taZJnkl2SoqihKo9tfAMA3IOnLO9tBoppUeg1LSLe6vZ8QmN7s1Z0gyWNWttnNTdMOvTQTI2PGrayQpLRGzryChcQsuCL7hnij6bQf16IcGn9jbq7NVQ1EreS8iPZYuyYlR5Z9kSARtfAKFALim8ccF+BmR9+X7yBfZ4=,iv:7kovyOERH0dx0NONhmUwOUI39nK5N1rT9o+gi9ol3f4=,tag:6HrkHbiCwrgO7hukxtsXVA==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -1,5 +1,6 @@
plan: plan:
module: .dagger/env/netlify/plan module: ./netlify
package: ./tests
name: netlify name: netlify
inputs: inputs:
TestNetlify.deploy.account.name: TestNetlify.deploy.account.name:
@ -21,8 +22,8 @@ sops:
SEdUK2RsaUxuVWg2aXUwdVJ0eUtrWWMKWkQDBuL5e4QDx5Wy6+fHiD+J4fp7QdMm SEdUK2RsaUxuVWg2aXUwdVJ0eUtrWWMKWkQDBuL5e4QDx5Wy6+fHiD+J4fp7QdMm
lsqgmxRvJMWgEvm1U+hDAo/Pkn8PFUFJf0KxEvkdF4qGuguQePgzFQ== lsqgmxRvJMWgEvm1U+hDAo/Pkn8PFUFJf0KxEvkdF4qGuguQePgzFQ==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:12Z" lastmodified: "2021-06-24T18:29:56Z"
mac: ENC[AES256_GCM,data:q9xRCwgpgyiVvF3r2mec7vuF3+wwFepWUb9YpGrOLiFfoqsJngap3kn5vIe+Idk5KsdPKLI13vd8So3Fz1tXy5JTSxljp/IvAr5JQGDpKyo4HRYtgstdJnXVtZf8Hg+V9LC+bZVIY07pXeyDLvk6LEBUo7ANexakr/o6bKGyAG0=,iv:NXtvo0HgElQoD3AI97qrf0M08T+9Cn+5gztUMwR6w/M=,tag:CGDqTu/U/snU2AcjSpA25A==,type:str] mac: ENC[AES256_GCM,data:rDg4tHAp9rxUJRPTmnW3R69JnGfVMnYOBraRX84BRbhFNVS2S4MwK5xjZ5E0ZVBGQDyjmr9ApOMzI2bTFsnCO01FmkISo/V0fR/nPPTz6NABkc/JUFzhi4DAONAV7TXLBv1mwhKoAP9JL26MTYaOfnxehDVrvwciANQMdgqnp/E=,iv:7IHISgR50guk6r3etF+A3AWOn6LZxhE96MWgDMHf8IU=,tag:Bs18JGNWKBjAHzrfFJnL2A==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -0,0 +1,2 @@
# dagger state
state/**

View File

@ -0,0 +1,29 @@
plan:
module: ./os
package: ./tests/container
name: os-container
inputs:
SimpleSecret.cleartext:
text: hello, world!
SimpleSecret.encrypted:
secret: ENC[AES256_GCM,data:Ps0VwEr1g2VJAkuyvA==,iv:LWWhr6wjWhpiv46VIehkVK0p8gwd8S1atmiFYqWcdLI=,tag:lridOOyvkUlSa6n+e6rMPw==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gxwmtwahzwdmrskhf90ppwlnze30lgpm056kuesrxzeuyclrwvpsupwtpk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5SU9NUTRWWTBvZzRWZkNT
Tk5TWFBFcHBWMldNSXA4KzU3TlVwTU9pdEZJCkFXNWpMMmZOZGs3WTYxZ3hDZVpv
L3lYNVh3Ti9UQXZzaTNWRU9IdGh4UncKLS0tIDFxbE1ZTmlUNElWWmRIN2hSRjk4
azJIU2lIVlF4N1VxT2tVWDBPU2RsOEkKqkfxeT/mnnDxdvv/vhXMj2Zl8ogaAHa6
xbBUOaCZ8stwj4Zz4/iKdrPspQQKo7/QuxxAcFUfyuK3fULqJHPXPQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-24T18:33:56Z"
mac: ENC[AES256_GCM,data:0uCRRnDFpow8TTkSZFM5Jn8GZp6C1muLrnHvBUb5/rQ54x+G5lbgqS+rOfgFUgU1/qvKVevO0m96jfo4ZetNLnPscvK8p1oSUGBtk6iQ61tLeIQQFJR82gO2mzqVj0g0KYYeX+1QPglePimYuFy6lRGpqGEPNyxjlhq/EGhHOgU=,iv:7Lrph3Cum9H+2UuAIwCHh/wkVft2fadZ+a2F4aoCZLk=,tag:6Q60ujt3o+mvVErih2dLzg==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

2
stdlib/.dagger/env/os/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# dagger state
state/**

24
stdlib/.dagger/env/os/values.yaml vendored Normal file
View File

@ -0,0 +1,24 @@
plan:
module: ./os
package: ./tests/os
name: os
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gxwmtwahzwdmrskhf90ppwlnze30lgpm056kuesrxzeuyclrwvpsupwtpk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0bDM5blE0cC9LNHkxZmEy
bitYcjhMOHhrWE5pRm90Qyt4S200ZTN0Q1d3Clh2VmdKQjdGUGdKaThmaktwN1F6
aXZpellwbHpkb3pMb1NMNXVJYnFUMmMKLS0tIFNiZGlBNjE3UjlXWnBjZ3hwSWto
STlrbFNHZGFRUVQ1S1RIaGVyWktNV0kKo9AFURi/BKI+JuGYVuOrsw3eJU3s66Im
FCc5YCzrsjX+Y26Su+XW81fTWkcC910e/g+tlZbEFWKZYa8qu1VkqA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-24T18:33:15Z"
mac: ENC[AES256_GCM,data:8/GzJKtH7GONYbtBDqaSj5HdK8csmwoE7fNx2tRAwUs1uYCaZT4n1NBFuxDj/iFtVKB/St2Ba4thEE6+99azLnmMoC1Ss/1v9ZPfINzZuEZBFf3+ufVNSdI49c8DOeRfPNieupPdmPwHFBUN1nPpaK3bYmgr8CaVkdY3+iq4hX8=,iv:lIMOnbJr1gBoCdlbRWTOg2jA57fhZLu970k5QqV+1Yk=,tag:IziUm3K+8IdBJ5XYoeHhjg==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@ -0,0 +1,2 @@
# dagger state
state/**

View File

@ -0,0 +1,69 @@
package main
import (
"alpha.dagger.io/dagger"
"alpha.dagger.io/os"
"alpha.dagger.io/alpine"
)
// Assert that there are no errors
err: ""
// Directory containing universe packages (./universe/ in dagger repo)
universe: dagger.#Input & dagger.#Artifact
ctr: #CueCLI & {
ctx: universe
command: """
(
find . -name '*.cue' -print0 | xargs -0iX dirname X | sort -u | {
while read -r dir; do
[ "$(basename $dir)" = "cue.mod" ] && continue
echo "--- $dir"
cue eval "$dir" >/dev/null
done
} > /out 2>/err
) || true
"""
}
result: (os.#File & {
from: ctr.ctr
path: "/out"
}).contents @dagger(output)
err: (os.#File & {
from: ctr.ctr
path: "/err"
}).contents @dagger(output)
#CueCLI: {
command: string
ctx: dagger.#Artifact
vendor: [name=string]: dagger.#Artifact
ctr: os.#Container & {
image: alpine.#Image & {
package: {
curl: true
tar: true
}
}
setup: [
"""
set -e
cd $(mktemp -d)
curl -L https://github.com/cuelang/cue/releases/download/v0.4.0/cue_v0.4.0_linux_amd64.tar.gz -o cue.tgz
tar zxvf cue.tgz
cp cue /usr/local/bin/cue
rm -fr ./*
""",
]
mount: "/ctx": from: ctx
for name, dir in vendor {
mount: "/ctx/cue.mod/pkg/\(name)": from: dir
}
dir: "/ctx"
"command": command
}
}

View File

@ -0,0 +1,27 @@
plan:
module: .dagger/env/sanity-check/plan
name: sanity-check
inputs:
universe:
dir:
path: .
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gxwmtwahzwdmrskhf90ppwlnze30lgpm056kuesrxzeuyclrwvpsupwtpk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtMjhYeVhscGxYWVg1RHZ2
bjlWcnFuQ1hvVGVvZGRDYUlpeWpYYUZnWW5nCndObmdoSkpZZXI4MytwNUtsMkwr
ZkY4a01iN1dSL05KaGExSk0rWFpjNzQKLS0tIGF0eVRXalloUERaU2lhZ2gwcG1G
RE1BR1ZvSlpRWnpZVERFQlB5ckhPYk0KMm8XjFKgcjWaXh9F542NXyv9dBZQdZJC
rn5YittfEOwRkrlqBCVwPtU+nhE5oDxnt9a0n8JMUgvB0Nnd6tgP+A==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-24T15:27:51Z"
mac: ENC[AES256_GCM,data:SDJPXr1NjGSOcHMLmKrzJ9XkFjfXOg7g5pdgXS3fQ4sSALVBqhHSfHJnH2m4NVSJPyOd35ia2/BivTWTGw1oguovLSfSvlptPUDqbwsXQoB2NEFcAJ6eJeDyz8Bx98OrBliyJaVOVYzF4y5dWwW2BGuevW097PbY/Sv3p6x8fyY=,iv:IftNBSOvEn3nGRQlD47At8pvundsXdk68yz+cWct/tU=,tag:XUPxsP39xSjPgvIZNBV09w==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@ -1,5 +1,6 @@
plan: plan:
module: .dagger/env/terraform/plan module: ./terraform
package: ./tests
name: terraform name: terraform
inputs: inputs:
TestConfig.awsConfig.accessKey: TestConfig.awsConfig.accessKey:
@ -8,7 +9,7 @@ inputs:
secret: ENC[AES256_GCM,data:cBYaVhbeV9D6acJWNU7uL8AsEtpnY0wHM8td9ZAJ9ebGB+BY4iBZLQ==,iv:SDkRKQQKBSz/cRQlW65sIjF0PhHhhKkGUEgZe9CV7Ek=,tag:OCUQmgjP2p57YoLts9Dh4w==,type:str] secret: ENC[AES256_GCM,data:cBYaVhbeV9D6acJWNU7uL8AsEtpnY0wHM8td9ZAJ9ebGB+BY4iBZLQ==,iv:SDkRKQQKBSz/cRQlW65sIjF0PhHhhKkGUEgZe9CV7Ek=,tag:OCUQmgjP2p57YoLts9Dh4w==,type:str]
TestData: TestData:
dir: dir:
path: ./terraform/testdata path: ./terraform/tests/testdata
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -24,8 +25,8 @@ sops:
cC9LSiswbFRKaTNXUGNIWVZVbGJqV1UK3/wsgPwR5P2fzs80wcz1dM/8sbBWMR+B cC9LSiswbFRKaTNXUGNIWVZVbGJqV1UK3/wsgPwR5P2fzs80wcz1dM/8sbBWMR+B
dmhP99OQisIgcwGATy0nh726pYKtosDpSLIJkLZDAUq9qRKm9bch1w== dmhP99OQisIgcwGATy0nh726pYKtosDpSLIJkLZDAUq9qRKm9bch1w==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-18T16:01:11Z" lastmodified: "2021-06-24T18:37:04Z"
mac: ENC[AES256_GCM,data:XznDGqfZkC6vsv696qWVxbBCUgsyU/zPZg0NCULCXAfO08Hsteb0c93Y8DA3CV8flQW3cgn5XLugNnQADJ6luTXHbqIVMVMUSe1q41Kxl7exr/dn0robqaRm5MnloG823s9X3sAOcPzyTSxy1YVZfYaYbG23w9IeNmVTyaUttkU=,iv:kEQs7+bx+7j2v5b6Bx0r+ZVtp7rj/8mgX4oRUP7cruc=,tag:oQEfCPO/0V11rmkc0yaz3Q==,type:str] mac: ENC[AES256_GCM,data:yKkQ3Vf3O3881P5+i9CFLKHIB9gWPonutIsVihhH+m852T4lNB7tZMpwvDqG8+tsjnGakpaYrTmt2f1SegJrSQYN6nr3kGCagx3GEwcz5m9MtzlPeMfI8kqEJW99Bmv5JiABQpro5FK+S7uyAO9WEN17tMaqYh+BhNaOarcEjyo=,iv:uendThnoUOGzLsdycG069OQ4U0jtHz2kQCXPP3A3dQU=,tag:7LhJruk/cgOCLnMA7BhWCQ==,type:str]
pgp: [] pgp: []
encrypted_suffix: secret encrypted_suffix: secret
version: 3.7.1 version: 3.7.1

View File

@ -2,7 +2,7 @@
package alpine package alpine
import ( import (
"dagger.io/dagger/op" "alpha.dagger.io/dagger/op"
) )
// Default Alpine version // Default Alpine version

View File

@ -1,12 +1,11 @@
package alpine package alpine
import ( import (
"dagger.io/alpine" "alpha.dagger.io/dagger/op"
"dagger.io/dagger/op"
) )
TestImageVersion: { TestImageVersion: {
image: alpine.#Image & { image: #Image & {
// install an old version on purpose // install an old version on purpose
version: "3.10.9" version: "3.10.9"
} }
@ -26,7 +25,7 @@ TestImageVersion: {
} }
TestPackageInstall: { TestPackageInstall: {
image: alpine.#Image & { image: #Image & {
package: jq: true package: jq: true
package: curl: true package: curl: true
version: "3.13" version: "3.13"

View File

@ -2,9 +2,9 @@
package aws package aws
import ( import (
"dagger.io/dagger" "alpha.dagger.io/dagger"
"dagger.io/dagger/op" "alpha.dagger.io/dagger/op"
"dagger.io/alpine" "alpha.dagger.io/alpine"
) )
// AWS Config shared by all AWS packages // AWS Config shared by all AWS packages

View File

@ -4,8 +4,8 @@ package cloudformation
import ( import (
"encoding/json" "encoding/json"
"dagger.io/dagger/op" "alpha.dagger.io/dagger/op"
"dagger.io/aws" "alpha.dagger.io/aws"
) )
// AWS CloudFormation Stack // AWS CloudFormation Stack
@ -48,8 +48,8 @@ import (
} }
outputs: { outputs: {
[string]: string [string]: string @dagger(output)
} @dagger(output) }
outputs: #up: [ outputs: #up: [
op.#Load & { op.#Load & {

View File

@ -2,8 +2,8 @@
package ecr package ecr
import ( import (
"dagger.io/aws" "alpha.dagger.io/aws"
"dagger.io/os" "alpha.dagger.io/os"
) )
// Convert ECR credentials to Docker Login format // Convert ECR credentials to Docker Login format
@ -28,5 +28,5 @@ import (
from: ctr from: ctr
path: "/out" path: "/out"
} }
}.read.data @dagger(output) }.contents @dagger(output)
} }

View File

@ -1,10 +1,9 @@
package main package ecr
import ( import (
"dagger.io/aws" "alpha.dagger.io/aws"
"dagger.io/aws/ecr" "alpha.dagger.io/dagger/op"
"dagger.io/dagger/op" "alpha.dagger.io/random"
"dagger.io/random"
) )
TestConfig: awsConfig: aws.#Config & { TestConfig: awsConfig: aws.#Config & {
@ -19,7 +18,7 @@ TestECR: {
repository: "125635003186.dkr.ecr.\(TestConfig.awsConfig.region).amazonaws.com/dagger-ci" repository: "125635003186.dkr.ecr.\(TestConfig.awsConfig.region).amazonaws.com/dagger-ci"
tag: "test-ecr-\(suffix.out)" tag: "test-ecr-\(suffix.out)"
creds: ecr.#Credentials & { creds: #Credentials & {
config: TestConfig.awsConfig config: TestConfig.awsConfig
} }

View File

@ -2,7 +2,7 @@
package ecs package ecs
import ( import (
"dagger.io/aws" "alpha.dagger.io/aws"
) )
// Task implements ecs run-task for running a single container on ECS // Task implements ecs run-task for running a single container on ECS

View File

@ -2,8 +2,8 @@
package eks package eks
import ( import (
"dagger.io/dagger/op" "alpha.dagger.io/dagger/op"
"dagger.io/aws" "alpha.dagger.io/aws"
) )
// KubeConfig config outputs a valid kube-auth-config for kubectl client // KubeConfig config outputs a valid kube-auth-config for kubectl client

View File

@ -1,17 +1,16 @@
package eks package eks
import ( import (
"dagger.io/aws" "alpha.dagger.io/aws"
"dagger.io/aws/eks" "alpha.dagger.io/kubernetes"
"dagger.io/kubernetes" "alpha.dagger.io/dagger/op"
"dagger.io/dagger/op"
) )
TestConfig: awsConfig: aws.#Config & { TestConfig: awsConfig: aws.#Config & {
region: "us-east-2" region: "us-east-2"
} }
TestCluster: eks.#KubeConfig & { TestCluster: #KubeConfig & {
config: TestConfig.awsConfig config: TestConfig.awsConfig
clusterName: *"dagger-example-eks-cluster" | string clusterName: *"dagger-example-eks-cluster" | string
} }

View File

@ -2,8 +2,8 @@
package elb package elb
import ( import (
"dagger.io/dagger/op" "alpha.dagger.io/dagger/op"
"dagger.io/aws" "alpha.dagger.io/aws"
) )
// Returns an unused rule priority (randomized in available range) // Returns an unused rule priority (randomized in available range)

View File

@ -2,9 +2,9 @@
package rds package rds
import ( import (
"dagger.io/dagger/op" "alpha.dagger.io/dagger/op"
"encoding/json" "encoding/json"
"dagger.io/aws" "alpha.dagger.io/aws"
) )
// Creates a new Database on an existing RDS Instance // Creates a new Database on an existing RDS Instance

View File

@ -2,9 +2,9 @@
package s3 package s3
import ( import (
"dagger.io/dagger" "alpha.dagger.io/dagger"
"dagger.io/dagger/op" "alpha.dagger.io/dagger/op"
"dagger.io/aws" "alpha.dagger.io/aws"
) )
// S3 Bucket object(s) sync // S3 Bucket object(s) sync

View File

@ -1,9 +1,9 @@
package s3 package s3
import ( import (
"dagger.io/dagger" "alpha.dagger.io/dagger"
"dagger.io/aws" "alpha.dagger.io/aws"
"dagger.io/aws/s3" "alpha.dagger.io/random"
) )
TestConfig: awsConfig: aws.#Config & { TestConfig: awsConfig: aws.#Config & {
@ -17,22 +17,30 @@ content: "A simple test sentence"
TestDirectory: dagger.#Artifact TestDirectory: dagger.#Artifact
TestS3Object: { TestS3Object: {
deploy: s3.#Object & { suffix: random.#String & {
always: true seed: "s3"
config: TestConfig.awsConfig }
source: TestDirectory
target: "s3://\(bucket)/" target: "s3://\(bucket)/\(suffix.out)/"
deploy: #Object & {
always: true
config: TestConfig.awsConfig
source: TestDirectory
"target": target
} }
verifyFile: #VerifyS3 & { verifyFile: #VerifyS3 & {
config: TestConfig.awsConfig config: TestConfig.awsConfig
target: deploy.target target: deploy.target
url: deploy.url
file: "dirFile.txt" file: "dirFile.txt"
} }
verifyDir: #VerifyS3 & { verifyDir: #VerifyS3 & {
config: TestConfig.awsConfig config: TestConfig.awsConfig
target: deploy.target target: deploy.target
url: deploy.url
file: "foo.txt" file: "foo.txt"
} }
} }

View File

@ -1,9 +1,9 @@
package s3 package s3
import ( import (
"dagger.io/aws" "alpha.dagger.io/aws"
"dagger.io/alpine" "alpha.dagger.io/alpine"
"dagger.io/dagger/op" "alpha.dagger.io/dagger/op"
) )
#List: { #List: {
@ -11,7 +11,10 @@ import (
config: aws.#Config config: aws.#Config
// Target S3 URL (e.g. s3://<bucket-name>/<path>/<sub-path>) // Target S3 URL (e.g. s3://<bucket-name>/<path>/<sub-path>)
target?: string target: string
// URL: dummy URL, used to force a dependency
url: string
contents: { contents: {
string string
@ -35,6 +38,7 @@ import (
aws s3 ls --recursive \#(target) > /contents aws s3 ls --recursive \#(target) > /contents
"""#, """#,
] ]
env: URL: url
}, },
op.#Export & { op.#Export & {
@ -49,10 +53,12 @@ import (
file: string file: string
config: aws.#Config config: aws.#Config
target: string target: string
url: string
lists: #List & { lists: #List & {
"config": config "config": config
"target": target "target": target
"url": url
} }
test: #up: [ test: #up: [

Some files were not shown because too many files have changed in this diff Show More