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
import (
"dagger.io/dagger"
"dagger.io/os"
"dagger.io/go"
"alpha.dagger.io/dagger"
"alpha.dagger.io/os"
"alpha.dagger.io/go"
)
// Dagger source code

View File

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

View File

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

View File

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

View File

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

View File

@ -8,6 +8,7 @@ import (
"os"
"path"
"path/filepath"
"sort"
"strings"
"text/tabwriter"
"unicode/utf8"
@ -332,11 +333,16 @@ func walkStdlib(ctx context.Context, output, format string) {
if err != nil {
return err
}
if p == "." || !d.IsDir() {
if p == "." || !d.IsDir() || d.Name() == "cue.mod" {
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")
val, err := loadCode(pkgName)
if err != nil {
@ -365,13 +371,28 @@ func walkStdlib(ctx context.Context, output, format string) {
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)
// If this package has sub-packages (e.g. `aws`), create
// `aws/README.md` instead of `aws.md`.
if hasSubPackages(p) {
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)
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()
indexKeys = append(indexKeys, p)
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) {
panic("not implemented")
},
// Remove hidden flag once command has been implemented
Hidden: true,
}
func init() {

View File

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

View File

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

View File

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

View File

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

View File

@ -54,7 +54,7 @@ var upCmd = &cobra.Command{
func checkInputs(ctx context.Context, st *state.State) {
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
// 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
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/)
application to a special hosting environment created and managed by us, the Dagger team, for the purpose of this tutorial.
This will allow you to deploy something "real" right away, without having to configure your own infrastructure first.
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 configuring your infrastructure first.
In later guides, you will learn how to configure Dagger to deploy to your own infrastructure. And, for advanced users,
how to share access to your infrastructure in the same way that we are sharing access to ours now.
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 share access to ours now.
## Initial setup
### 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
@ -38,15 +38,15 @@ cd examples/todoapp
### Import the tutorial key
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.
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
(carefully sandboxed) infrastructure, so that anyone can deploy to it?
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?
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
./import-tutorial-key.sh
@ -54,7 +54,7 @@ Simply import the key to your Dagger installation, and you're good to go:
## 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
dagger up
@ -75,7 +75,7 @@ NOTE: you don't have to commit your changes to the git repository before deployi
## 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
@ -87,13 +87,13 @@ You can list existing environment from the `./todoapp` directory:
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 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
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 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
dagger input list
@ -113,7 +113,7 @@ The inputs are persisted inside the `.dagger` directory and pushed to your git r
### 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
dagger output list
@ -121,4 +121,4 @@ dagger output list
## 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
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:
In this guide, you will create your first Dagger environment from scratch,
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
[Netlify](https://en.wikipedia.org/wiki/Netlify) site.
### Anatomy of a Dagger environment
A Dagger environment contains all the code and data necessary to deliver a particular application in a particular way.
For example the same application might be delivered to a production and staging environment, each with their own
configuration.
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 its own configuration.
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
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.
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
of interconnected nodes.
Each node in the graph represents a component of the supply chain, for example:
* Development tools: source control, CI, build systems, testing systems
* Hosting infrastructure: compute, storage, networking, databases, CDNs
* Software dependencies: operating systems, languages, libraries, frameworks, etc.
- Development tools: source control, CI, build systems, testing systems
- Hosting infrastructure: compute, storage, networking, databases, CDNs
- Software dependencies: operating systems, languages, libraries, frameworks, etc.
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
* 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
- source code flows from a git repository to a build system
- 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
### 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
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
### 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/).
### Prepare Cue learning resources
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
@ -94,9 +93,9 @@ cd examples/todoapp
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.
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
cue mod init
@ -106,10 +105,9 @@ cue mod init
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.
But you can organize your package any way you want: the Cue evaluator simply merges together
all files from the same package, as long as they are in the same directory and start with the same
`package` clause. It is common for a Cue package to have only one file.
In this guide, we will split our package into multiple files, one per component.
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
`package` clause...
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.
@ -118,42 +116,42 @@ But you can call your packages anything you want.
Let's create a new directory for our Cue package:
```shell
mkdir multibucket
mkdir cue.mod/multibucket
```
### Component 1: app source code
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.
2. It is an *input*: something that is provided by the end user.
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.
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
import (
"dagger.io/dagger"
"alpha.dagger.io/dagger"
)
// Source code of the sample application
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
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
import (
"dagger.io/js/yarn"
"alpha.dagger.io/js/yarn"
)
// Build the source code using Yarn
@ -164,25 +162,25 @@ app: yarn.#Package & {
Let's break it down:
* `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).
* `app: yarn.#Package`: apply the `#Package` definition at the key `app`
* `&`: 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.
- `package multibucket`: this file is part of the multibucket package
- `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`
- `&`: also merge the following values at the same key...
- `{ 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
*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
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
import (
"dagger.io/netlify"
"alpha.dagger.io/netlify"
)
// 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 import another package from the [Dagger Universe](https://github.com/dagger/dagger/tree/main/stdlib).
* `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...
* `{ 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.
- We use the same package name as the other files
- 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.
- `&`: 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 line connects our components 2 and 3, forming the second link in our DAG.
### Exploring a package documentation
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
dagger doc dagger.io/netlify
dagger doc dagger.io/js/yarn
dagger doc alpha.dagger.io/netlify
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
@ -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:
```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
[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
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)
### Using the environment

View File

@ -4,7 +4,7 @@ slug: /learn/103-script
# 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.

View File

@ -164,14 +164,14 @@ values={[
package kube
import (
"dagger.io/kubernetes"
"alpha.dagger.io/kubernetes"
)
// input: ~/.kube/config file used for deployment
// set with `dagger input text kubeconfig -f ~/.kube/config`
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.
deploy: kubernetes.#Resources & {
// reference the `kubeconfig` input above
@ -190,8 +190,8 @@ deploy: kubernetes.#Resources & {
package kube
import (
"dagger.io/kubernetes"
"dagger.io/gcp/gke"
"alpha.dagger.io/kubernetes"
"alpha.dagger.io/gcp/gke"
)
// gkeConfig used for deployment
@ -199,7 +199,7 @@ gkeConfig: gke.#KubeConfig @dagger(input)
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.
deploy: kubernetes.#Resources & {
// reference the `kubeconfig` input above
@ -218,8 +218,8 @@ deploy: kubernetes.#Resources & {
package kube
import (
"dagger.io/kubernetes"
"dagger.io/aws/eks"
"alpha.dagger.io/kubernetes"
"alpha.dagger.io/aws/eks"
)
// eksConfig used for deployment
@ -227,7 +227,7 @@ eksConfig: eks.#KubeConfig @dagger(input)
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.
deploy: kubernetes.#Resources & {
// reference the `kubeconfig` input above
@ -245,7 +245,7 @@ This defines:
- `kubeconfig` a _string_ **input**: kubernetes configuration (`~/.kube/config`)
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`.
### Setup the environment
@ -578,7 +578,7 @@ The following configuration will:
- Declare a `repository` input as a `dagger.#Artifact`. This will be mapped to
the source code directory.
- 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.
```cue title="todoapp/kube/manifest.cue"
@ -587,8 +587,8 @@ package kube
import (
"encoding/yaml"
"dagger.io/dagger"
"dagger.io/docker"
"alpha.dagger.io/dagger"
"alpha.dagger.io/docker"
)
// 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
---
# dagger.io/alpine
# alpha.dagger.io/alpine
Base package for Alpine Linux
```cue
import "dagger.io/alpine"
import "alpha.dagger.io/alpine"
```
## alpine.#Image

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,12 +2,12 @@
sidebar_label: docker
---
# dagger.io/docker
# alpha.dagger.io/docker
Docker container operations
```cue
import "dagger.io/docker"
import "alpha.dagger.io/docker"
```
## docker.#Build
@ -33,6 +33,7 @@ A container image that can run any docker command
| Name | Type | Description |
| ------------- |:-------------: |:-------------: |
|*command* | `string` |Command to execute |
|*registries* | `[]` |Image registries |
### docker.#Command Outputs
@ -99,6 +100,7 @@ _No output._
|*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.env.IMAGE_REF* | `string` |- |
|*run.registries* | `[]` |Image registries |
### 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
---
# dagger.io/gcp
# alpha.dagger.io/gcp
Google Cloud Platform
```cue
import "dagger.io/gcp"
import "alpha.dagger.io/gcp"
```
## gcp.#Config

View File

@ -2,12 +2,12 @@
sidebar_label: gcr
---
# dagger.io/gcp/gcr
# alpha.dagger.io/gcp/gcr
Google Container Registry
```cue
import "dagger.io/gcp/gcr"
import "alpha.dagger.io/gcp/gcr"
```
## 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
---
# dagger.io/gcp/gke
# alpha.dagger.io/gcp/gke
Google Kubernetes Engine
```cue
import "dagger.io/gcp/gke"
import "alpha.dagger.io/gcp/gke"
```
## gke.#KubeConfig

View File

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

View File

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

View File

@ -2,12 +2,12 @@
sidebar_label: io
---
# dagger.io/io
# alpha.dagger.io/io
IO operations
```cue
import "dagger.io/io"
import "alpha.dagger.io/io"
```
## 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
---
# dagger.io/js/yarn
# alpha.dagger.io/js/yarn
Yarn is a package manager for Javascript applications
```cue
import "dagger.io/js/yarn"
import "alpha.dagger.io/js/yarn"
```
## yarn.#Package

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

4
go.mod
View File

@ -22,7 +22,7 @@ require (
github.com/opentracing/opentracing-go v1.2.0
github.com/rs/zerolog v1.23.0
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/tonistiigi/fsutil v0.0.0-20201103201449-0834f99b7b85
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/term v0.0.0-20201126162022-7de9c90e9dd1
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
)

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-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/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/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
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.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.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
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.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.6.1/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k=
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.0/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns=
github.com/spf13/viper v1.8.1 h1:Kq1fyeebqsBfbjZj4EL7gj2IO0mMaiyjYUWcUsl2O44=
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.1.0/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.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
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.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
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.36.0/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.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-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,5 +1,6 @@
plan:
module: .dagger/env/docker-command-ssh-key-passphrase/plan
module: ./docker
package: ./tests/command-ssh-key-passphrase
name: docker-command-ssh-key-passphrase
inputs:
TestConfig.host:
@ -25,8 +26,8 @@ sops:
cW1kbGZveVlkQkJDL2xYbmFRNjZEK0UKrSrOB/RL5lki54j4GUCE2G3CCO/8jpMU
jfYkl7Yowb7kK3kKSNWORhB4ne3MEeGRZpJC8cvH7zjGvt/YYeU14A==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:14Z"
mac: ENC[AES256_GCM,data:N5P+lP0Ct5RH79VKEn8fCZE4OOo77j6+PrKzAbVXlVgC2GfV2nTxd18zQOYLBy5uErD6EWGUqeUgjDaDoSky67a+kOpeja1eNvKVSSzXFXcBjTgCIrbeS6tJfxM1682J8Vj6Kwmsmhc7csSeFOr5yCw5SwZ7NP81QQ+hrPb1348=,iv:EJyFQuZOCI9qq2bZZvlHTZdIh4EO9Z/A+Hq3cwnLNK4=,tag:W5WuqPEFOH8Yv68g/eyTIQ==,type:str]
lastmodified: "2021-06-24T15:57:03Z"
mac: ENC[AES256_GCM,data:YqGUjsf7fG8lMv791l5Td9a2oTbg1DVvZt4Dt1q7+L5opaAxhKoDwSimR7WsYuJJxEqkMoyB4X+7+SNzoAarMWqg20sFjUut6wMgi0iUOhym9OX76UYlC5AvsJ6zbIalgKktiece+3j9vwcqB7rR1ArwddbflRvxkw5VSpVXqj4=,iv:ch01NpT3K14dHrEZ3yigH8S3QlvpAK5Myjhh2P1CRpE=,tag:DjjxGwrGIeMeOaaVJx7DMA==,type:str]
pgp: []
encrypted_suffix: secret
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
inputs:
TestConfig.host:
@ -23,8 +26,8 @@ sops:
R2tNU2JJWHFQTmhnUDd6eE13UUhQazgK+OQ50Q3+S5Fn2Y132ZeDrgUKWPcAk+et
q8ppfZiPOtH4p6MwboSuh/vaTAAsxks7ctnqnU1pY+EHfnp8bHYHgQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-11T16:09:47Z"
mac: ENC[AES256_GCM,data:RTbDkgxWqVa4kgJPXny9u9hfwF1NG3g9L/6P2P44KE97yNdoxuAkuU1hs6DiATl4hgeck7p56gWLeUTeGAi+llMDqOodmSQEtD/XZvvdmyh4J+09+jg9QRwSL54xNR4Q83YBWy5PZm+hyYQdVl9H3omMCrdO78ydYXPSdDnRk3I=,iv:crEuUK+jQ6QBrf/Dxouu9+I3VXdZazKnHJ1g5JZLD0E=,tag:ymExWezKBTowuH4pugiQ/g==,type:str]
lastmodified: "2021-06-24T15:55:39Z"
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: []
encrypted_suffix: secret
version: 3.7.1

View File

@ -1,5 +1,6 @@
plan:
module: .dagger/env/docker-command-ssh/plan
module: ./docker
package: ./tests/command-ssh
name: docker-command-ssh
inputs:
TestConfig.host:
@ -23,8 +24,8 @@ sops:
UEpoZy9HZUlHOVV3M05OSkZQS1l6aXcK3NfBITvd6la6nkcIzqH69xfv9RR0Jm7x
vU5FvGROK3Z0ZR8NNXAtNH6VQQ21TDD2MOXWOVvjnIAAOVNEyc1amA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:12Z"
mac: ENC[AES256_GCM,data:61Y9VaYoL4kUrxqhS5BVU1g6b4y7vJnuLsoRZF3ltdM7EojZq4bSiKoQHm4AxFL9exoM6ze6NqgqJBaMXQ7erOvX85/SFceCmksWz92n+HJxOfeqbVkY72c7ULVbf9hUs/YJaz7b5kelN6sFFVedY/iUf2JEGg4NSjL53jearNs=,iv:TVMMLWE7A5x1JrvXZxaCrHc5rxdtS/RdGqu7gwGkPS0=,tag:m2JfKTc9A9m0LblO5r1vjA==,type:str]
lastmodified: "2021-06-24T15:50:11Z"
mac: ENC[AES256_GCM,data:smCRgqcXPpgI909GOomUGrPfj5b0cNfha3CTicV7uzj675tTNqEVJTpgZiOWNUv3pQ535nhGuF4WRESZj+TuNabCWj0sMMU1EGvxUXuaV/TSXo3JtdFeU8tpn549UtcHez71sjKHiCTfGDdESPsAsYDLkkMBZkb9UE409on1Ypk=,iv:odHs0ukQTqfWb9ARFHpAh1qTZ/AZMLMQ6ZtVOged97k=,tag:sev1dRKD/7ZBgJamRCHqhQ==,type:str]
pgp: []
encrypted_suffix: secret
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:
module: .dagger/env/docker-run-local/plan
module: ./docker
package: ./tests/run-local
name: docker-run-local
sops:
kms: []
@ -16,8 +17,8 @@ sops:
cnh2eHU5TzFjVkNvTzUyczFBL0pwTDQK60+wrLmTaD3Ws5ZAXdqBkMjaVP7Iz69k
UrkqkMbaUlvvSKK7dB5MuTGEEN6A1viAGal9ZjDHlSobkNPuE24QEA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:06Z"
mac: ENC[AES256_GCM,data:mW3780hxQmjmMD4BvcZbHzfckigDRBlq3DAlkpFqiPIchszGgOoXYC+TK9gkYUWfpDfunucwZ6UdYi2FpVo2p9MVPLEtAAIBgApmCz5OHtQMDIsz8Bt/RLiZpp+FQF77J9eeFELdCkxV904r9QNe1Qy7sfh5s2YDXkhxdQRb5X8=,iv:fnwektBV2bRAI7Zn9wAWoEZeTsbr1iu0wrapBacf5Ao=,tag:JK02UNTC8DzCUmK9A6JnfA==,type:str]
lastmodified: "2021-06-24T16:03:04Z"
mac: ENC[AES256_GCM,data:LJDMvMfHEoJ513yDitCDn8N87J+l+Rtp7tvbV+Px+9K1f/lQavNnlCJk8jVILrxtFmtK3vr6mPNLti8Q78GpjNTO5W/fW9MbXURxNMBfEnbgOP473vBgOHp4wZ/QofbJLvl19o8ldQVy5pdcsoQwYKpukDKpnrvw3zFS5flO87k=,iv:OgtV3N1MIMIfQP4HD08LtBBrefq6xK79dNzJutY2M4o=,tag:yTpgOE9rOmEoTY5l4C0v5g==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

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

View File

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

View File

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

View File

@ -1,5 +1,6 @@
plan:
module: .dagger/env/google-gcr/plan
module: ./gcp/gcr/
package: ./tests
name: google-gcr
inputs:
TestConfig.gcpConfig.project:
@ -23,8 +24,8 @@ sops:
ZXd6Qmd1YUtxMnVTVkYybWgrV3pVK2MKowMeOZU3j3BxERT0DwhQYCGUDBK6gCdo
WByubiBATdsb7h7ytCC4HutWppynK4MpU+Ya9NP83AZuXo+Wa2u6aQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:26Z"
mac: ENC[AES256_GCM,data:/ZsuT9I5KMWGWc6Kg8jDxiHGhaLd0aGSRv2U4LKLr0LIYQrgmkTRrWSWmaU0QDKSrd+ovVDvg4KhGtGeKHENWp64zWM0I+icdYMByL7qGj8tSPmll4u7SjOIOEzpWHjLVAC+JPD1fpBo4WIwlfDjW1yjFulmxYb4utDLsDuaEH8=,iv:xWrFWD5fkmKA0dbIIiRNOp8mGRKtDX+1BInXJuKjRDE=,tag:Jqeujum1JS1ONt3kV7bvRA==,type:str]
lastmodified: "2021-06-24T16:22:49Z"
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: []
encrypted_suffix: secret
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:
module: .dagger/env/google-gke/plan
module: ./gcp/gke
package: ./tests
name: google-gke
inputs:
TestConfig.gcpConfig.project:
@ -23,8 +24,8 @@ sops:
ZXd6Qmd1YUtxMnVTVkYybWgrV3pVK2MKowMeOZU3j3BxERT0DwhQYCGUDBK6gCdo
WByubiBATdsb7h7ytCC4HutWppynK4MpU+Ya9NP83AZuXo+Wa2u6aQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:28Z"
mac: ENC[AES256_GCM,data:mCi/vNSrtuLP+hBssCP6D5DI9wFSajN7EeFxfKnbqMGRgHRGjbbA0ty1RtJCwlTLYHmLWRxNclkLtCD+tJXQ84YnE/jocPjUK2Z3lR/La/7imy32QM1hfpg14pT4A7lkIizwKfcV+HXgRTE8rQ8eZM+KnuQJXwa1Qds2G33sTpM=,iv:xqDuKP7vBHug+o1lffkJ5YNzh/YPjCGmHCb0U7lgijo=,tag:6ln/mKsYB4Zu6l3YtZ59RA==,type:str]
lastmodified: "2021-06-24T16:23:14Z"
mac: ENC[AES256_GCM,data:xUwP0iRtKFl159PD5u8byQbxMyPHYuQvGQLuplUJMZs/OMSd+YWiWoJRhup4j9/sZbq4Ob6uHr37HMmwbNgieiGX6qabS90Je/1UiufCOWwfVswnT+iUMHyudnS0r+Gh81vwl2eP3xLr6Odm2FbFh8kwF3Yw+NNi3wgei+yZIjU=,iv:tNI8ti2zAem+dcWVdciPLqdpJ6SDIK3CoeQUchlWE58=,tag:MgTShPwKT565cJV2BJLi2g==,type:str]
pgp: []
encrypted_suffix: secret
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:
module: .dagger/env/js-yarn/plan
module: ./js/yarn
package: ./tests
name: js-yarn
inputs:
TestData:
dir:
path: ./js/yarn/testdata
path: ./js/yarn/tests/testdata
sops:
kms: []
gcp_kms: []
@ -20,8 +21,8 @@ sops:
S2JsNXRkbWVERHM0WWk0bXBJSXJIK1kK9R3gMDcbeKRRlt0HHM+w2kcs+sGfASmE
0YhxbFF2qQPFwHHR7aPmM+L1ML8cXOrxOOyWmmWhXNgtURCJ9/SO3A==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:00Z"
mac: ENC[AES256_GCM,data:EmSUjMv9vC6/XGTHtVBZSOQP/vrb6rTvM3xJLf0rjZadOYviDQKiBygvQjdrnxR7EqDHntkm8ye1ZWsCEiNF/e/H4lEbZL8hVdeqiWqdpDVkzGw5wQRfKuATy7K48o3lPZAWd6vOzRVRpwCx9YVk9nt8v7OSB1mPYqAtRMvoMg8=,iv:qacGNks0dHawJPTtgrbrJkuyITxiiNyACKgLejPS8ZM=,tag:jv7+/6wmJwLGufLS4ERlbg==,type:str]
lastmodified: "2021-06-24T16:32:39Z"
mac: ENC[AES256_GCM,data:jAgt/buOF8cUAT0bQJ3icGI8qR8cOg0ZQqZFuut1VhggLGZTr92Z7XZcChfBdpfPIE98fVuoemTdddEBWKp9g/LjXHyoK4kJxtgTLiH0CGkynVIE01bQUTCQBwaE3KHoRTYuu8xWFw5RpqEgCvlpZnvCGwwMG08NR+hSJJ5j7oY=,iv:+fkJT11KX3xD8OL7NXj+Rs1nuXK8J1AnfF6ZWGGtTTY=,tag:o9xcgR/nLt7hxvMeH1saoQ==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@ -1,6 +1,29 @@
plan:
module: .dagger/env/kubernetes-deployment/plan
module: ./kubernetes
package: ./tests
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:
kms: []
gcp_kms: []
@ -16,8 +39,8 @@ sops:
SVVkOUtuWTJneE45em5iQ3JvbnIwWlkKgdJC5IzvVDxbWSfU41Xg/UGPxuVBSOGY
eqenr07uWppNaHuLuo9A+znQa2RQ0L2clcB2d+ka+6z5tQyHOfx1nA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-18T15:41:02Z"
mac: ENC[AES256_GCM,data:R3DuHLEyfehKe1nCWHdKB9jyOs5TXI+r2BmQDMiwI8v0xfZdOZWfwGw3NAFGDZHbaLNTajQkzviDsMhaXg5bxvmK7P8PiJOOmnm/LnDRfnJirGRGpWA7bmsHH/QZL1lb75+cwUrwRZflkKoPy2bQyoC5Rze6/oNhPIUTCwQWaMo=,iv:73ZjXAcazCND3JhC94TjUOlcMbwfTz8YDFP1BPo8yUw=,tag:wUVcfyjtf4KzpU0jDrxleQ==,type:str]
lastmodified: "2021-06-24T18:18:53Z"
mac: ENC[AES256_GCM,data:S2uG/YGGfCxJ1ClEouwEhFa1Huzk//NFQoZM4SCDp0uK73FVxt1+Hi0rfKl7DrGPqw+HJghlamyAwPGZSi9lFBWO6ASti2kfc2FmhQ9pgY+VOiOE7jd7ajw9wWUILpN19GBiwIpO8JN/nqRX9QYLdigUgKa6IVrBwVwjRRKvmmM=,iv:SpSe+nwvtSHogwwNaMbikDzMKDHbla0BqnsZn42nMTQ=,tag:vxn0bHdbMwfZVLx9cSfB4Q==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@ -1,10 +1,32 @@
plan:
module: .dagger/env/kubernetes-helm/plan
module: ./kubernetes/helm
package: ./tests
name: kubernetes-helm
inputs:
TestChartSource:
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:
kms: []
gcp_kms: []
@ -20,8 +42,8 @@ sops:
VHlGUExaMzcwM0pOM2VDY280UWZXSzQKAm7ZV1agxbla3Yrc7vrwJosSjQtWhdac
ZFyQ6Gi+9H7qHZM89yVjAaIg1lwr68HcjYgDzpvvhJO9YPfzwoLyHw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-18T15:42:52Z"
mac: ENC[AES256_GCM,data:SzHFZpgiv+h1vRjq0GP+4nzj9az6pAwQwstxYz10yBGPQXnZv/VtJm071oouiK7pgD4i7cTvTKgIOaX9K74PiWSiTjWI5F9sGHvt9ZoGyU08OHM6zwGMDiYygBN2+5dd5jBvT4Xy6efa0IOMxSqhp69+VoJRWesAFsN6IfDcIEY=,iv:Af2WeB2eVk5hnWFWaQij7hz2wjXgNWDJTWDm13iKNvA=,tag:uvR1ruMc69ZhDJRtYCFQBw==,type:str]
lastmodified: "2021-06-24T18:19:00Z"
mac: ENC[AES256_GCM,data:YOoJzBwg1qxodJ8BZNwUWB5K5GlN+YKkKVjdc0rlG4SS+XhypsdSTwNCZLxXhT9NeGSeqlECNF6OIIBAomDHyv1PVnbbM65Q6gmNWrdXmWbJqUB1wEOg46NY/DxjmkC2miX6WIOz9zZSDNWKITYyLVVRwR9F1Pgh16x2q2x+MAo=,iv:KF4tAnVZXUm8+J5VKfpPIn3ZzdyyCYZfxyDoFyCb8dM=,tag:5UIN4Vb40+RwDcRjIptSkg==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

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

View File

@ -1,5 +1,6 @@
plan:
module: .dagger/env/netlify/plan
module: ./netlify
package: ./tests
name: netlify
inputs:
TestNetlify.deploy.account.name:
@ -21,8 +22,8 @@ sops:
SEdUK2RsaUxuVWg2aXUwdVJ0eUtrWWMKWkQDBuL5e4QDx5Wy6+fHiD+J4fp7QdMm
lsqgmxRvJMWgEvm1U+hDAo/Pkn8PFUFJf0KxEvkdF4qGuguQePgzFQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-15T16:26:12Z"
mac: ENC[AES256_GCM,data:q9xRCwgpgyiVvF3r2mec7vuF3+wwFepWUb9YpGrOLiFfoqsJngap3kn5vIe+Idk5KsdPKLI13vd8So3Fz1tXy5JTSxljp/IvAr5JQGDpKyo4HRYtgstdJnXVtZf8Hg+V9LC+bZVIY07pXeyDLvk6LEBUo7ANexakr/o6bKGyAG0=,iv:NXtvo0HgElQoD3AI97qrf0M08T+9Cn+5gztUMwR6w/M=,tag:CGDqTu/U/snU2AcjSpA25A==,type:str]
lastmodified: "2021-06-24T18:29:56Z"
mac: ENC[AES256_GCM,data:rDg4tHAp9rxUJRPTmnW3R69JnGfVMnYOBraRX84BRbhFNVS2S4MwK5xjZ5E0ZVBGQDyjmr9ApOMzI2bTFsnCO01FmkISo/V0fR/nPPTz6NABkc/JUFzhi4DAONAV7TXLBv1mwhKoAP9JL26MTYaOfnxehDVrvwciANQMdgqnp/E=,iv:7IHISgR50guk6r3etF+A3AWOn6LZxhE96MWgDMHf8IU=,tag:Bs18JGNWKBjAHzrfFJnL2A==,type:str]
pgp: []
encrypted_suffix: secret
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:
module: .dagger/env/terraform/plan
module: ./terraform
package: ./tests
name: terraform
inputs:
TestConfig.awsConfig.accessKey:
@ -8,7 +9,7 @@ inputs:
secret: ENC[AES256_GCM,data:cBYaVhbeV9D6acJWNU7uL8AsEtpnY0wHM8td9ZAJ9ebGB+BY4iBZLQ==,iv:SDkRKQQKBSz/cRQlW65sIjF0PhHhhKkGUEgZe9CV7Ek=,tag:OCUQmgjP2p57YoLts9Dh4w==,type:str]
TestData:
dir:
path: ./terraform/testdata
path: ./terraform/tests/testdata
sops:
kms: []
gcp_kms: []
@ -24,8 +25,8 @@ sops:
cC9LSiswbFRKaTNXUGNIWVZVbGJqV1UK3/wsgPwR5P2fzs80wcz1dM/8sbBWMR+B
dmhP99OQisIgcwGATy0nh726pYKtosDpSLIJkLZDAUq9qRKm9bch1w==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-06-18T16:01:11Z"
mac: ENC[AES256_GCM,data:XznDGqfZkC6vsv696qWVxbBCUgsyU/zPZg0NCULCXAfO08Hsteb0c93Y8DA3CV8flQW3cgn5XLugNnQADJ6luTXHbqIVMVMUSe1q41Kxl7exr/dn0robqaRm5MnloG823s9X3sAOcPzyTSxy1YVZfYaYbG23w9IeNmVTyaUttkU=,iv:kEQs7+bx+7j2v5b6Bx0r+ZVtp7rj/8mgX4oRUP7cruc=,tag:oQEfCPO/0V11rmkc0yaz3Q==,type:str]
lastmodified: "2021-06-24T18:37:04Z"
mac: ENC[AES256_GCM,data:yKkQ3Vf3O3881P5+i9CFLKHIB9gWPonutIsVihhH+m852T4lNB7tZMpwvDqG8+tsjnGakpaYrTmt2f1SegJrSQYN6nr3kGCagx3GEwcz5m9MtzlPeMfI8kqEJW99Bmv5JiABQpro5FK+S7uyAO9WEN17tMaqYh+BhNaOarcEjyo=,iv:uendThnoUOGzLsdycG069OQ4U0jtHz2kQCXPP3A3dQU=,tag:7LhJruk/cgOCLnMA7BhWCQ==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,9 +1,9 @@
package s3
import (
"dagger.io/aws"
"dagger.io/alpine"
"dagger.io/dagger/op"
"alpha.dagger.io/aws"
"alpha.dagger.io/alpine"
"alpha.dagger.io/dagger/op"
)
#List: {
@ -11,7 +11,10 @@ import (
config: aws.#Config
// 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: {
string
@ -35,6 +38,7 @@ import (
aws s3 ls --recursive \#(target) > /contents
"""#,
]
env: URL: url
},
op.#Export & {
@ -49,10 +53,12 @@ import (
file: string
config: aws.#Config
target: string
url: string
lists: #List & {
"config": config
"target": target
"url": url
}
test: #up: [

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