Compare commits
174 Commits
blampe/gha
...
update-git
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
99d22c188e | ||
|
|
faffc8cc45 | ||
|
|
2b1230f252 | ||
|
|
eaf5461bbc | ||
|
|
38e65a3f81 | ||
|
|
1811524e66 | ||
|
|
361335bba0 | ||
|
|
49deed7d9c | ||
|
|
ff8995c434 | ||
|
|
c159079132 | ||
|
|
24ebad1ee5 | ||
|
|
40c723d82f | ||
|
|
36362d0317 | ||
|
|
0b684b81fb | ||
|
|
ebf4290bb2 | ||
|
|
c7b2867559 | ||
|
|
5e589f61ec | ||
|
|
5f0c2ede72 | ||
|
|
d27e6d14db | ||
|
|
6ae16f10ff | ||
|
|
f17e43bad7 | ||
|
|
bce330f598 | ||
|
|
5107181566 | ||
|
|
0a2dd6e758 | ||
|
|
a0e387d0a8 | ||
|
|
daa144c232 | ||
|
|
1203c3b31f | ||
|
|
62ff8bf2d2 | ||
|
|
3b7e31b388 | ||
|
|
c46d343c53 | ||
|
|
4166f9da1b | ||
|
|
4e934974ee | ||
|
|
4262717644 | ||
|
|
997794b59f | ||
|
|
a168c92f12 | ||
|
|
91fdae679d | ||
|
|
ee4aa2505e | ||
|
|
9fa5fcabe5 | ||
|
|
b7d239127c | ||
|
|
c4526b3f31 | ||
|
|
eebb4e8d0e | ||
|
|
3bca7cb8c7 | ||
|
|
3a50555d36 | ||
|
|
591c008fb9 | ||
|
|
6c093a4d08 | ||
|
|
0f8587b289 | ||
|
|
41be3ce857 | ||
|
|
41c9563cd9 | ||
|
|
0f032c1f00 | ||
|
|
7309652425 | ||
|
|
448c16a695 | ||
|
|
f459033434 | ||
|
|
afa2625655 | ||
|
|
0ec7f16bd7 | ||
|
|
82057d3065 | ||
|
|
4ea5b9a5d0 | ||
|
|
4436ab5e76 | ||
|
|
a59206e63c | ||
|
|
27abab8846 | ||
|
|
30a01b6893 | ||
|
|
1cba556bd2 | ||
|
|
6722ef8f68 | ||
|
|
7eb1e3fe50 | ||
|
|
7ca0d3a6a4 | ||
|
|
52d8cfcd96 | ||
|
|
7009361c0f | ||
|
|
bfc77e1fe2 | ||
|
|
a38b227131 | ||
|
|
c9efdfecc8 | ||
|
|
038d10bc74 | ||
|
|
8987df0a8e | ||
|
|
1a178f020f | ||
|
|
8c5a9ac033 | ||
|
|
4d858c52b9 | ||
|
|
f83b7a0a44 | ||
|
|
0b5c155cad | ||
|
|
c6b9fc8f02 | ||
|
|
780fe97f99 | ||
|
|
706136a454 | ||
|
|
c9d2bc3255 | ||
|
|
20f5f536dc | ||
|
|
f41c8c927d | ||
|
|
2c4b4260dc | ||
|
|
1251ad4f94 | ||
|
|
8ff1017270 | ||
|
|
e93eb024db | ||
|
|
c095c4c7ef | ||
|
|
90ee40ceb4 | ||
|
|
2fdcae409d | ||
|
|
dad72f7d65 | ||
|
|
48e337859c | ||
|
|
d46882f9eb | ||
|
|
8025c5f938 | ||
|
|
60164fefcb | ||
|
|
783a73b91e | ||
|
|
4f4417bd95 | ||
|
|
8425d58820 | ||
|
|
ae24ee020d | ||
|
|
019331c4ed | ||
|
|
fd570c3cb9 | ||
|
|
15a31abdb5 | ||
|
|
131a26f052 | ||
|
|
a04ed06f14 | ||
|
|
5965661cc2 | ||
|
|
a1ab7c8a0f | ||
|
|
a30efd3f9d | ||
|
|
044df99755 | ||
|
|
a6b970cee3 | ||
|
|
c600cc34c0 | ||
|
|
bc4eeff975 | ||
|
|
5995dea695 | ||
|
|
f2df9ccbf0 | ||
|
|
d65bf93eb8 | ||
|
|
3f9effba53 | ||
|
|
d4fb7fab81 | ||
|
|
bd750dc115 | ||
|
|
ba0b30e361 | ||
|
|
8dcb0d6815 | ||
|
|
d4a1d35fcd | ||
|
|
9d00d64258 | ||
|
|
fe283da7bb | ||
|
|
38333c57b0 | ||
|
|
80d25003de | ||
|
|
195fbfc784 | ||
|
|
2907567484 | ||
|
|
0a045d12bf | ||
|
|
9f3d3db1dd | ||
|
|
a18d56b485 | ||
|
|
2f620af3be | ||
|
|
9aa209c0fe | ||
|
|
2c2f8a68a3 | ||
|
|
7479f9f2a5 | ||
|
|
e15f743f8c | ||
|
|
ec4594a854 | ||
|
|
0ce316d7de | ||
|
|
0b7a26a9b6 | ||
|
|
b66e4a56fd | ||
|
|
0d17198e54 | ||
|
|
fb7912a889 | ||
|
|
4c03012268 | ||
|
|
bf6080cdc4 | ||
|
|
3d57abba75 | ||
|
|
9d3d0712f2 | ||
|
|
30a26f61e4 | ||
|
|
242d99d4d6 | ||
|
|
8151f0369f | ||
|
|
3e25f4a26a | ||
|
|
1affb91b69 | ||
|
|
06cf6ec5f8 | ||
|
|
5d7ff1eeca | ||
|
|
b1d2d5b5b3 | ||
|
|
d9c3284f40 | ||
|
|
81a7aa4ec4 | ||
|
|
0ba90b8cde | ||
|
|
3d127da671 | ||
|
|
0bd5fe74bc | ||
|
|
5cc3415b34 | ||
|
|
724836b5ef | ||
|
|
78057473ac | ||
|
|
cc8725ef27 | ||
|
|
bbdefef3c8 | ||
|
|
3ce3c83c3e | ||
|
|
343eadd0b6 | ||
|
|
1febe659ca | ||
|
|
233b5e0508 | ||
|
|
b8ecfb287a | ||
|
|
92ed9d50e9 | ||
|
|
dd64d7b65d | ||
|
|
4e8cf8f4ba | ||
|
|
44e082a0a0 | ||
|
|
effb497234 | ||
|
|
9a1706a203 | ||
|
|
c305ea88c4 | ||
|
|
f0aaf7095d |
29
.ci-mgmt.yaml
Normal file
29
.ci-mgmt.yaml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
template: native
|
||||||
|
provider: docker-build
|
||||||
|
major-version: 0
|
||||||
|
providerDefaultBranch: main
|
||||||
|
providerVersion: github.com/pulumi/pulumi-docker-build/provider.Version
|
||||||
|
aws: true
|
||||||
|
modulePath: .
|
||||||
|
gcp: true
|
||||||
|
sdkModuleDir: sdk/go/dockerbuild
|
||||||
|
parallel: 3
|
||||||
|
esc:
|
||||||
|
enabled: true
|
||||||
|
envOverride:
|
||||||
|
AWS_REGION: us-west-2
|
||||||
|
PULUMI_API: "https://api.pulumi-staging.io"
|
||||||
|
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||||
|
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||||
|
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||||
|
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
||||||
|
AZURE_LOCATION: westus
|
||||||
|
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
||||||
|
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||||
|
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||||
|
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||||
|
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
||||||
|
GOOGLE_PROJECT_NUMBER: 895284651812
|
||||||
|
GOOGLE_REGION: us-central1
|
||||||
|
GOOGLE_ZONE: us-central1-a
|
||||||
|
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
||||||
87
.config/mise.lock
Normal file
87
.config/mise.lock
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
[[tools.dotnet]]
|
||||||
|
version = "8.0.414"
|
||||||
|
backend = "asdf:dotnet"
|
||||||
|
|
||||||
|
[[tools."github:pulumi/pulumictl"]]
|
||||||
|
version = "0.0.50"
|
||||||
|
backend = "github:pulumi/pulumictl"
|
||||||
|
|
||||||
|
[tools."github:pulumi/pulumictl".platforms.linux-x64]
|
||||||
|
checksum = "blake3:c128dd74993f779c613296fe7cd21c20cbd323f24e59cb76e007620660b60348"
|
||||||
|
name = "pulumictl-v0.0.50-linux-amd64.tar.gz"
|
||||||
|
size = 27744219
|
||||||
|
url = "https://github.com/pulumi/pulumictl/releases/download/v0.0.50/pulumictl-v0.0.50-linux-amd64.tar.gz"
|
||||||
|
url_api = ""
|
||||||
|
|
||||||
|
[[tools."github:pulumi/schema-tools"]]
|
||||||
|
version = "0.6.0"
|
||||||
|
backend = "github:pulumi/schema-tools"
|
||||||
|
|
||||||
|
[tools."github:pulumi/schema-tools".platforms.linux-x64]
|
||||||
|
checksum = "blake3:82dfe616fee18b4258f6e3d2dc3c4e9f14afd43a0a4cc33eff2d2a04088d6ca3"
|
||||||
|
name = "schema-tools-v0.6.0-linux-amd64.tar.gz"
|
||||||
|
size = 14282746
|
||||||
|
url = "https://github.com/pulumi/schema-tools/releases/download/v0.6.0/schema-tools-v0.6.0-linux-amd64.tar.gz"
|
||||||
|
url_api = ""
|
||||||
|
|
||||||
|
[[tools.go]]
|
||||||
|
version = "1.24.1"
|
||||||
|
backend = "core:go"
|
||||||
|
|
||||||
|
[tools.go.platforms.linux-x64]
|
||||||
|
checksum = "sha256:cb2396bae64183cdccf81a9a6df0aea3bce9511fc21469fb89a0c00470088073"
|
||||||
|
size = 78503123
|
||||||
|
url = "https://dl.google.com/go/go1.24.1.linux-amd64.tar.gz"
|
||||||
|
|
||||||
|
[[tools.golangci-lint]]
|
||||||
|
version = "1.64.8"
|
||||||
|
backend = "aqua:golangci/golangci-lint"
|
||||||
|
|
||||||
|
[tools.golangci-lint.platforms.linux-x64]
|
||||||
|
checksum = "sha256:b6270687afb143d019f387c791cd2a6f1cb383be9b3124d241ca11bd3ce2e54e"
|
||||||
|
size = 12364828
|
||||||
|
url = "https://github.com/golangci/golangci-lint/releases/download/v1.64.8/golangci-lint-1.64.8-linux-amd64.tar.gz"
|
||||||
|
|
||||||
|
[[tools.gradle]]
|
||||||
|
version = "7.6.6"
|
||||||
|
backend = "aqua:gradle/gradle"
|
||||||
|
|
||||||
|
[tools.gradle.platforms.linux-x64]
|
||||||
|
checksum = "blake3:5cad8fc455b720b68a0bd2907d435e2919581708243f84f27845fe8812a09323"
|
||||||
|
size = 128439774
|
||||||
|
url = "https://github.com/gradle/gradle-distributions/releases/download/v7.6.6/gradle-7.6.6-bin.zip"
|
||||||
|
|
||||||
|
[[tools.java]]
|
||||||
|
version = "corretto-11.0.28.6.1"
|
||||||
|
backend = "core:java"
|
||||||
|
|
||||||
|
[tools.java.platforms.linux-x64]
|
||||||
|
checksum = "sha256:70734c46e0bbeb7f45b721756ba0b2f1f1e1ef85a11e10d5a488f06b257dadd9"
|
||||||
|
size = 195648709
|
||||||
|
url = "https://corretto.aws/downloads/resources/11.0.28.6.1/amazon-corretto-11.0.28.6.1-linux-x64.tar.gz"
|
||||||
|
|
||||||
|
[[tools.node]]
|
||||||
|
version = "20.19.5"
|
||||||
|
backend = "core:node"
|
||||||
|
|
||||||
|
[tools.node.platforms.linux-x64]
|
||||||
|
checksum = "sha256:4eba5fbe1fb10753bc06e42f001a91c5cec16798b7764a3e9257adc59af47fe1"
|
||||||
|
size = 47041607
|
||||||
|
url = "https://nodejs.org/dist/v20.19.5/node-v20.19.5-linux-x64.tar.gz"
|
||||||
|
|
||||||
|
[[tools."npm:yarn"]]
|
||||||
|
version = "1.22.22"
|
||||||
|
backend = "npm:yarn"
|
||||||
|
|
||||||
|
[[tools.pulumi]]
|
||||||
|
version = "3.192.0"
|
||||||
|
backend = "aqua:pulumi/pulumi"
|
||||||
|
|
||||||
|
[tools.pulumi.platforms.linux-x64]
|
||||||
|
checksum = "sha512:6351213bee02ade5b76407d9b43cdb243fa461ca38231b03410de5aa1f697e55ab6467da2a9e37ebbff7be6cd3485d833e9ad8f29d4de6919bbdd471fb25e45a"
|
||||||
|
size = 92867578
|
||||||
|
url = "https://github.com/pulumi/pulumi/releases/download/v3.192.0/pulumi-v3.192.0-linux-x64.tar.gz"
|
||||||
|
|
||||||
|
[[tools.python]]
|
||||||
|
version = "3.11.8"
|
||||||
|
backend = "core:python"
|
||||||
11
.config/mise.test.toml
Normal file
11
.config/mise.test.toml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
|
||||||
|
|
||||||
|
# Overrides for test workflows
|
||||||
|
|
||||||
|
[env]
|
||||||
|
# Acceptance (specifically providertest) tests require that PULUMI_HOME be the default
|
||||||
|
PULUMI_HOME = "{{ env.HOME }}/.pulumi"
|
||||||
|
|
||||||
|
[tools]
|
||||||
|
# always use pulumi latest for tests
|
||||||
|
pulumi = "latest"
|
||||||
28
.config/mise.toml
Normal file
28
.config/mise.toml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
|
||||||
|
# You can create your own root-level mise.toml file to override/augment this. See https://mise.jdx.dev/configuration.html
|
||||||
|
|
||||||
|
[env]
|
||||||
|
_.source = "{{config_root}}/scripts/get-versions.sh"
|
||||||
|
|
||||||
|
[tools]
|
||||||
|
|
||||||
|
# Runtimes
|
||||||
|
# TODO: we may not need `get_env` once https://github.com/jdx/mise/discussions/6339 is fixed
|
||||||
|
go = "{{ get_env(name='GO_VERSION_MISE', default='latest') }}"
|
||||||
|
node = '20.19.5'
|
||||||
|
python = '3.11.8'
|
||||||
|
dotnet = '8.0.414'
|
||||||
|
# Corretto version used as Java SE/OpenJDK version no longer offered
|
||||||
|
java = 'corretto-11'
|
||||||
|
|
||||||
|
# Executable tools
|
||||||
|
pulumi = "{{ get_env(name='PULUMI_VERSION_MISE', default='latest') }}"
|
||||||
|
"github:pulumi/pulumictl" = 'latest'
|
||||||
|
"github:pulumi/schema-tools" = "latest"
|
||||||
|
gradle = '7.6'
|
||||||
|
golangci-lint = "1.64.8" # See note about about overrides if you need to customize this.
|
||||||
|
"npm:yarn" = "1.22.22"
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
experimental = true # Required for Go binaries (e.g. pulumictl).
|
||||||
|
lockfile = true
|
||||||
69
.github/ISSUE_TEMPLATE/bug.yaml
vendored
Normal file
69
.github/ISSUE_TEMPLATE/bug.yaml
vendored
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
name: Bug Report
|
||||||
|
description: Report something that's not working correctly
|
||||||
|
labels: ["kind/bug", "needs-triage"]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for taking the time to fill out this bug report!
|
||||||
|
You can also ask questions on our [Community Slack](https://slack.pulumi.com/).
|
||||||
|
- type: textarea
|
||||||
|
id: what-happened
|
||||||
|
attributes:
|
||||||
|
label: Describe what happened
|
||||||
|
description: Please summarize what happened, including what Pulumi commands you ran, as well as
|
||||||
|
an inline snippet of any relevant error or console output.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: sample-program
|
||||||
|
attributes:
|
||||||
|
label: Sample program
|
||||||
|
description: |
|
||||||
|
<details><summary>Provide a reproducible sample program</summary>
|
||||||
|
If this is a bug you encountered while running a Pulumi command, please provide us with a minimal,
|
||||||
|
self-contained Pulumi program that reproduces this behavior so that we can investigate on our end.
|
||||||
|
Without a functional reproduction, we will not be able to prioritize this bug.
|
||||||
|
**Note:** If the program output is more than a few lines, please send us a Gist or a link to a file.
|
||||||
|
</details>
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: log-output
|
||||||
|
attributes:
|
||||||
|
label: Log output
|
||||||
|
description: |
|
||||||
|
<details><summary>How to Submit Logs</summary>
|
||||||
|
If this is something that is dependent on your environment, please also provide us with the output of
|
||||||
|
`pulumi up --logtostderr --logflow -v=10` from the root of your project.
|
||||||
|
We may also ask you to supply us with debug output following [these steps](https://www.pulumi.com/docs/using-pulumi/pulumi-packages/debugging-provider-packages/).
|
||||||
|
**Note:** If the log output is more than a few lines, please send us a Gist or a link to a file.
|
||||||
|
</details>
|
||||||
|
- type: textarea
|
||||||
|
id: resources
|
||||||
|
attributes:
|
||||||
|
label: Affected Resource(s)
|
||||||
|
description: Please list the affected Pulumi Resource(s) or Function(s).
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: textarea
|
||||||
|
id: versions
|
||||||
|
attributes:
|
||||||
|
label: Output of `pulumi about`
|
||||||
|
description: Provide the output of `pulumi about` from the root of your project.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: ctx
|
||||||
|
attributes:
|
||||||
|
label: Additional context
|
||||||
|
description: Anything else you would like to add?
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: textarea
|
||||||
|
id: voting
|
||||||
|
attributes:
|
||||||
|
label: Contributing
|
||||||
|
value: |
|
||||||
|
Vote on this issue by adding a 👍 reaction.
|
||||||
|
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).
|
||||||
35
.github/ISSUE_TEMPLATE/epic.md
vendored
Normal file
35
.github/ISSUE_TEMPLATE/epic.md
vendored
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
name: Epic
|
||||||
|
about: Tracks a shippable unit of work
|
||||||
|
title: '[Epic] {your-title-here}'
|
||||||
|
labels: kind/epic
|
||||||
|
projects: ['pulumi/32']
|
||||||
|
assignees: ''
|
||||||
|
type: Epic
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
<!-- Start with a one- to three-sentence summary that should be understandable by any Pulumian or community member, even those without any context on the work. -->
|
||||||
|
|
||||||
|
## Key KPIs
|
||||||
|
<!-- What KPIs should this Epic will move; what could we measure to observe that this project was successful? -->
|
||||||
|
|
||||||
|
## Key Stakeholders
|
||||||
|
- Product and Engineering: <!-- Teams and individuals involved in the design and implementation -->
|
||||||
|
- Documentation: <!-- Representative from the docs team -->
|
||||||
|
- Marketing/Partnerships: <!-- Representative from the Marketing team -->
|
||||||
|
- Customers: <!-- [Tracking Issue](add-link-and-uncomment) -->
|
||||||
|
|
||||||
|
## Key Deliverables
|
||||||
|
<!-- List any discrete chunks of work or milestones that are planned in the epic (eg. subcomponent A, dogfood release, beta, etc.) -->
|
||||||
|
|
||||||
|
### References 📔
|
||||||
|
|
||||||
|
<!-- Any project that is more than one iteration should have a Project Board using this [template](https://github.com/orgs/pulumi/projects/131). -->
|
||||||
|
- [ ] Project View <!-- [Link](add-link-and-uncomment) -->
|
||||||
|
- [ ] PR/FAQ <!-- [Link](add-link-and-uncomment) -->
|
||||||
|
- [ ] Design Doc <!-- [Link](add-link-and-uncomment) -->
|
||||||
|
- [ ] UX Designs <!-- [Link](add-link-and-uncomment) -->
|
||||||
|
- [ ] Decision Log <!-- [Link](add-link-and-uncomment) -->
|
||||||
|
|
||||||
|
<!-- Work items should be added to the project board linked above -->
|
||||||
12
.github/actions/esc-action/action.yaml
vendored
Normal file
12
.github/actions/esc-action/action.yaml
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
name: "Load secrets"
|
||||||
|
description: |
|
||||||
|
This is a temporary action which assists with our migration to ESC. Instead
|
||||||
|
of surrounding every step that references secrets with an "if ESC" block, we
|
||||||
|
instead modify those steps to consume their secrets from this step's outputs.
|
||||||
|
Then, later, we can replace this action with esc-action to actually load
|
||||||
|
secrets from ESC.
|
||||||
|
inputs: {}
|
||||||
|
outputs: {}
|
||||||
|
runs:
|
||||||
|
using: "node20"
|
||||||
|
main: "index.js"
|
||||||
14
.github/actions/esc-action/index.js
vendored
Normal file
14
.github/actions/esc-action/index.js
vendored
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
const fs = require("fs");
|
||||||
|
|
||||||
|
const file = process.env["GITHUB_OUTPUT"];
|
||||||
|
var stream = fs.createWriteStream(file, { flags: "a" });
|
||||||
|
|
||||||
|
for (const [name, value] of Object.entries(process.env)) {
|
||||||
|
try {
|
||||||
|
stream.write(`${name}<<EEEOOOFFF\n${value}\nEEEOOOFFF\n`); // << syntax accommodates multiline strings.
|
||||||
|
} catch (err) {
|
||||||
|
console.log(`error: failed to set output for ${name}: ${err.message}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stream.end();
|
||||||
13
.github/dependabot.yml
vendored
13
.github/dependabot.yml
vendored
@@ -1,13 +0,0 @@
|
|||||||
version: 2
|
|
||||||
updates:
|
|
||||||
- package-ecosystem: gomod
|
|
||||||
directory: /
|
|
||||||
schedule:
|
|
||||||
interval: daily
|
|
||||||
groups:
|
|
||||||
pulumi:
|
|
||||||
patterns:
|
|
||||||
- "github.com/pulumi/*"
|
|
||||||
labels:
|
|
||||||
- dependencies
|
|
||||||
- impact/no-changelog-required
|
|
||||||
545
.github/workflows/build.yml
vendored
545
.github/workflows/build.yml
vendored
@@ -1,6 +1,6 @@
|
|||||||
# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt
|
# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt
|
||||||
|
|
||||||
name: build
|
name: main # For consistency with bridged providers.
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
@@ -15,74 +15,69 @@ on:
|
|||||||
- "**"
|
- "**"
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
|
||||||
PROVIDER: docker-build
|
PROVIDER: docker-build
|
||||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
|
||||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
|
||||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
|
||||||
PYPI_USERNAME: __token__
|
|
||||||
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
||||||
TRAVIS_OS_NAME: linux
|
TRAVIS_OS_NAME: linux
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
GOVERSION: "1.21.x"
|
||||||
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
NODEVERSION: "20.x"
|
||||||
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
PYTHONVERSION: "3.11.8"
|
||||||
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
DOTNETVERSION: "8.0.x"
|
||||||
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
|
||||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
|
||||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
|
||||||
GOVERSION: 1.21.x
|
|
||||||
NODEVERSION: 20.x
|
|
||||||
PYTHONVERSION: "3.11"
|
|
||||||
DOTNETVERSION: |
|
|
||||||
6.0.x
|
|
||||||
3.1.301
|
|
||||||
JAVAVERSION: "11"
|
JAVAVERSION: "11"
|
||||||
AWS_REGION: us-west-2
|
|
||||||
PULUMI_API: https://api.pulumi-staging.io
|
|
||||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
AWS_REGION: us-west-2
|
||||||
AZURE_LOCATION: westus
|
AZURE_LOCATION: westus
|
||||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
|
||||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||||
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
||||||
GOOGLE_PROJECT_NUMBER: 895284651812
|
GOOGLE_PROJECT_NUMBER: "895284651812"
|
||||||
GOOGLE_REGION: us-central1
|
GOOGLE_REGION: us-central1
|
||||||
GOOGLE_ZONE: us-central1-a
|
GOOGLE_ZONE: us-central1-a
|
||||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
PULUMI_API: https://api.pulumi-staging.io
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
prerequisites:
|
prerequisites:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: prerequisites
|
name: prerequisites
|
||||||
|
permissions:
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
|
pull-requests: write # For schema check comment.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- if: github.event_name == 'pull_request'
|
- if: github.event_name == 'pull_request'
|
||||||
name: Install Schema Tools
|
name: Install Schema Tools
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/schema-tools
|
repo: pulumi/schema-tools
|
||||||
- name: Build codegen binaries
|
- name: Build codegen binaries
|
||||||
@@ -92,25 +87,27 @@ jobs:
|
|||||||
- if: github.event_name == 'pull_request'
|
- if: github.event_name == 'pull_request'
|
||||||
name: Check Schema is Valid
|
name: Check Schema is Valid
|
||||||
run: >-
|
run: >-
|
||||||
echo 'SCHEMA_CHANGES<<EOF' >> $GITHUB_ENV
|
{
|
||||||
|
echo 'SCHEMA_CHANGES<<EOF';
|
||||||
|
|
||||||
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV
|
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json;
|
||||||
|
|
||||||
echo 'EOF' >> $GITHUB_ENV
|
echo 'EOF';
|
||||||
|
} >> "$GITHUB_ENV"
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||||
- if: github.event_name == 'pull_request'
|
- if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
|
||||||
name: Comment on PR with Details of Schema Check
|
name: Comment on PR with Details of Schema Check
|
||||||
uses: thollander/actions-comment-pull-request@v2
|
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||||
with:
|
with:
|
||||||
message: |
|
message: |
|
||||||
${{ env.SCHEMA_CHANGES }}
|
${{ env.SCHEMA_CHANGES }}
|
||||||
comment_tag: schemaCheck
|
comment-tag: schemaCheck
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') &&
|
- if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') &&
|
||||||
github.actor == 'pulumi-bot'
|
github.actor == 'pulumi-bot'
|
||||||
name: Add label if no breaking changes
|
name: Add label if no breaking changes
|
||||||
uses: actions-ecosystem/action-add-labels@v1.1.0
|
uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3
|
||||||
with:
|
with:
|
||||||
labels: impact/no-changelog-required
|
labels: impact/no-changelog-required
|
||||||
number: ${{ github.event.issue.number }}
|
number: ${{ github.event.issue.number }}
|
||||||
@@ -118,42 +115,100 @@ jobs:
|
|||||||
- name: Build Provider
|
- name: Build Provider
|
||||||
run: make provider
|
run: make provider
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
id: worktreeClean
|
||||||
|
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||||
with:
|
with:
|
||||||
allowed-changes: |-
|
allowed-changes: |-
|
||||||
sdk/**/pulumi-plugin.json
|
sdk/**/pulumi-plugin.json
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
sdk/dotnet/*.*.csproj
|
||||||
sdk/go/*/internal/pulumiUtilities.go
|
sdk/dotnet/version.txt
|
||||||
|
sdk/go/**/pulumiUtilities.go
|
||||||
sdk/nodejs/package.json
|
sdk/nodejs/package.json
|
||||||
sdk/python/pyproject.toml
|
sdk/python/pyproject.toml
|
||||||
|
sdk/java/build.gradle
|
||||||
|
- name: Commit SDK changes for Renovate
|
||||||
|
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||||
|
contains(github.actor, 'renovate') && github.event_name ==
|
||||||
|
'pull_request'
|
||||||
|
shell: bash
|
||||||
|
run: >
|
||||||
|
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
||||||
|
|
||||||
|
git config --global user.email "bot@pulumi.com"
|
||||||
|
|
||||||
|
git config --global user.name "pulumi-bot"
|
||||||
|
|
||||||
|
# Stash local changes and check out the PR's branch directly.
|
||||||
|
|
||||||
|
git stash
|
||||||
|
|
||||||
|
git fetch
|
||||||
|
|
||||||
|
git checkout "origin/$HEAD_REF"
|
||||||
|
|
||||||
|
|
||||||
|
# Apply and add our changes, but don't commit any files we expect to
|
||||||
|
|
||||||
|
# always change due to versioning.
|
||||||
|
|
||||||
|
git stash pop
|
||||||
|
|
||||||
|
git add sdk
|
||||||
|
|
||||||
|
git reset sdk/python/*/pulumi-plugin.json \
|
||||||
|
sdk/python/pyproject.toml \
|
||||||
|
sdk/dotnet/pulumi-plugin.json \
|
||||||
|
sdk/dotnet/*.*.csproj \
|
||||||
|
sdk/dotnet/version.txt \
|
||||||
|
sdk/go/*/pulumi-plugin.json \
|
||||||
|
sdk/go/*/internal/pulumiUtilities.go \
|
||||||
|
sdk/nodejs/package.json
|
||||||
|
|
||||||
|
git commit -m 'Commit SDK for Renovate'
|
||||||
|
|
||||||
|
|
||||||
|
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||||
|
|
||||||
|
# workflow. https://github.com/orgs/community/discussions/25702
|
||||||
|
|
||||||
|
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||||
|
env:
|
||||||
|
HEAD_REF: ${{ github.head_ref }}
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar provider binaries
|
- name: Tar provider binaries
|
||||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||||
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
||||||
pulumi-gen-${{ env.PROVIDER}}
|
pulumi-gen-${{ env.PROVIDER}}
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||||
with:
|
with:
|
||||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||||
path: ${{ github.workspace }}/bin/provider.tar.gz
|
path: ${{ github.workspace }}/bin/provider.tar.gz
|
||||||
- name: Test Provider Library
|
- name: Test Provider Library
|
||||||
run: make test_provider
|
run: make test_provider
|
||||||
- name: Upload coverage reports to Codecov
|
|
||||||
uses: codecov/codecov-action@v4
|
|
||||||
env:
|
env:
|
||||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
ARM_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.ARM_CLIENT_SECRET }}
|
||||||
|
DIGITALOCEAN_TOKEN: ${{ steps.esc-secrets.outputs.DIGITALOCEAN_TOKEN }}
|
||||||
|
DOCKER_HUB_PASSWORD: ${{ steps.esc-secrets.outputs.DOCKER_HUB_PASSWORD }}
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Upload coverage reports to Codecov
|
||||||
|
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
|
||||||
|
env:
|
||||||
|
CODECOV_TOKEN: ${{ steps.esc-secrets.outputs.CODECOV_TOKEN }}
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure in building provider prerequisites
|
author_name: Failure in building provider prerequisites
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
build_sdks:
|
build_sdks:
|
||||||
needs: prerequisites
|
needs: prerequisites
|
||||||
runs-on: pulumi-ubuntu-8core
|
runs-on: pulumi-ubuntu-8core
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: true
|
fail-fast: ${{ ! contains(github.actor, 'renovate') }}
|
||||||
matrix:
|
matrix:
|
||||||
language:
|
language:
|
||||||
- nodejs
|
- nodejs
|
||||||
@@ -162,52 +217,66 @@ jobs:
|
|||||||
- go
|
- go
|
||||||
- java
|
- java
|
||||||
name: build_sdks
|
name: build_sdks
|
||||||
|
permissions:
|
||||||
|
pull-requests: write # For Renovate SDK updates.
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ env.NODEVERSION }}
|
node-version: ${{ env.NODEVERSION }}
|
||||||
registry-url: https://registry.npmjs.org
|
registry-url: https://registry.npmjs.org
|
||||||
- name: Setup DotNet
|
- name: Setup DotNet
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0
|
||||||
with:
|
with:
|
||||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHONVERSION }}
|
python-version: ${{ env.PYTHONVERSION }}
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVAVERSION }}
|
java-version: ${{ env.JAVAVERSION }}
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
cache: gradle
|
cache: gradle
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/gradle-build-action@v3
|
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
||||||
with:
|
with:
|
||||||
gradle-version: "7.6"
|
gradle-version: "7.6"
|
||||||
- name: Download provider + tfgen binaries
|
- name: Download provider
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||||
path: ${{ github.workspace }}/bin
|
path: ${{ github.workspace }}/bin
|
||||||
@@ -222,30 +291,118 @@ jobs:
|
|||||||
- name: Build SDK
|
- name: Build SDK
|
||||||
run: make build_${{ matrix.language }}
|
run: make build_${{ matrix.language }}
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
id: worktreeClean
|
||||||
|
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||||
with:
|
with:
|
||||||
allowed-changes: |-
|
allowed-changes: |-
|
||||||
sdk/**/pulumi-plugin.json
|
sdk/**/pulumi-plugin.json
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
sdk/dotnet/*.*.csproj
|
||||||
sdk/go/*/internal/pulumiUtilities.go
|
sdk/dotnet/version.txt
|
||||||
|
sdk/go/**/pulumiUtilities.go
|
||||||
sdk/nodejs/package.json
|
sdk/nodejs/package.json
|
||||||
sdk/python/pyproject.toml
|
sdk/python/pyproject.toml
|
||||||
|
sdk/java/build.gradle
|
||||||
|
- name: Commit SDK changes for Renovate
|
||||||
|
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||||
|
contains(github.actor, 'renovate') && github.event_name ==
|
||||||
|
'pull_request'
|
||||||
|
shell: bash
|
||||||
|
run: >
|
||||||
|
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
||||||
|
|
||||||
|
git config --global user.email "bot@pulumi.com"
|
||||||
|
|
||||||
|
git config --global user.name "pulumi-bot"
|
||||||
|
|
||||||
|
# Stash local changes and check out the PR's branch directly.
|
||||||
|
|
||||||
|
git stash
|
||||||
|
|
||||||
|
git fetch
|
||||||
|
|
||||||
|
git checkout "origin/$HEAD_REF"
|
||||||
|
|
||||||
|
|
||||||
|
# Apply and add our changes, but don't commit any files we expect to
|
||||||
|
|
||||||
|
# always change due to versioning.
|
||||||
|
|
||||||
|
git stash pop
|
||||||
|
|
||||||
|
git add sdk
|
||||||
|
|
||||||
|
git reset sdk/python/*/pulumi-plugin.json \
|
||||||
|
sdk/python/pyproject.toml \
|
||||||
|
sdk/dotnet/pulumi-plugin.json \
|
||||||
|
sdk/dotnet/*.*.csproj \
|
||||||
|
sdk/dotnet/version.txt \
|
||||||
|
sdk/go/*/pulumi-plugin.json \
|
||||||
|
sdk/go/*/internal/pulumiUtilities.go \
|
||||||
|
sdk/nodejs/package.json
|
||||||
|
|
||||||
|
git commit -m 'Commit SDK for Renovate'
|
||||||
|
|
||||||
|
|
||||||
|
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||||
|
|
||||||
|
# workflow. https://github.com/orgs/community/discussions/25702
|
||||||
|
|
||||||
|
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||||
|
env:
|
||||||
|
HEAD_REF: ${{ github.head_ref }}
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar SDK folder
|
- name: Tar SDK folder
|
||||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.language }}-sdk.tar.gz
|
name: ${{ matrix.language }}-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
||||||
retention-days: 30
|
retention-days: 30
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure while building SDKs
|
author_name: Failure while building SDKs
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
|
|
||||||
|
tag_release_if_labeled_needs_release:
|
||||||
|
name: Tag release if labeled as needs-release
|
||||||
|
needs: publish
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repo
|
||||||
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
|
with:
|
||||||
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
|
- name: check if this commit needs release
|
||||||
|
if: ${{ env.RELEASE_BOT_ENDPOINT != '' }}
|
||||||
|
uses: pulumi/action-release-by-pr-label@main
|
||||||
|
with:
|
||||||
|
command: "release-if-needed"
|
||||||
|
repo: ${{ github.repository }}
|
||||||
|
commit: ${{ github.sha }}
|
||||||
|
slack_channel: C02MGR8JVST
|
||||||
|
env:
|
||||||
|
RELEASE_BOT_ENDPOINT: ${{ steps.esc-secrets.outputs.RELEASE_BOT_ENDPOINT }}
|
||||||
|
RELEASE_BOT_KEY: ${{ steps.esc-secrets.outputs.RELEASE_BOT_KEY }}
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
test:
|
test:
|
||||||
runs-on: pulumi-ubuntu-8core
|
runs-on: pulumi-ubuntu-8core
|
||||||
needs:
|
needs:
|
||||||
@@ -259,56 +416,68 @@ jobs:
|
|||||||
- dotnet
|
- dotnet
|
||||||
- go
|
- go
|
||||||
- java
|
- java
|
||||||
|
- yaml
|
||||||
name: test
|
name: test
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
id-token: write
|
id-token: write # For ESC secrets and Pulumi access token OIDC.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ env.NODEVERSION }}
|
node-version: ${{ env.NODEVERSION }}
|
||||||
registry-url: https://registry.npmjs.org
|
registry-url: https://registry.npmjs.org
|
||||||
- name: Setup DotNet
|
- name: Setup DotNet
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0
|
||||||
with:
|
with:
|
||||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHONVERSION }}
|
python-version: ${{ env.PYTHONVERSION }}
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVAVERSION }}
|
java-version: ${{ env.JAVAVERSION }}
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
cache: gradle
|
cache: gradle
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/gradle-build-action@v3
|
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
||||||
with:
|
with:
|
||||||
gradle-version: "7.6"
|
gradle-version: "7.6"
|
||||||
- name: Download provider + tfgen binaries
|
- name: Download provider
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||||
path: ${{ github.workspace }}/bin
|
path: ${{ github.workspace }}/bin
|
||||||
@@ -319,15 +488,17 @@ jobs:
|
|||||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||||
-exec chmod +x {} \;
|
-exec chmod +x {} \;
|
||||||
- name: Download SDK
|
- name: Download SDK
|
||||||
uses: actions/download-artifact@v4
|
if: ${{ matrix.language != 'yaml' }}
|
||||||
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.language }}-sdk.tar.gz
|
name: ${{ matrix.language }}-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
- name: UnTar SDK folder
|
- name: UnTar SDK folder
|
||||||
|
if: ${{ matrix.language != 'yaml' }}
|
||||||
run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{
|
run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{
|
||||||
github.workspace}}/sdk/${{ matrix.language}}
|
github.workspace}}/sdk/${{ matrix.language}}
|
||||||
- name: Update path
|
- name: Update path
|
||||||
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
|
run: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH"
|
||||||
- name: Install Node dependencies
|
- name: Install Node dependencies
|
||||||
run: yarn global add typescript
|
run: yarn global add typescript
|
||||||
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
||||||
@@ -336,18 +507,23 @@ jobs:
|
|||||||
pip3 install virtualenv==20.0.23
|
pip3 install virtualenv==20.0.23
|
||||||
pip3 install pipenv
|
pip3 install pipenv
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
|
if: ${{ matrix.language != 'yaml' }}
|
||||||
run: make install_${{ matrix.language}}_sdk
|
run: make install_${{ matrix.language}}_sdk
|
||||||
- name: Configure AWS Credentials
|
- name: Generate Pulumi Access Token
|
||||||
uses: aws-actions/configure-aws-credentials@v4
|
id: generate_pulumi_token
|
||||||
|
uses: pulumi/auth-actions@1c89817aab0c66407723cdef72b05266e7376640 # v1.0.1
|
||||||
with:
|
with:
|
||||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
organization: pulumi
|
||||||
aws-region: ${{ env.AWS_REGION }}
|
requested-token-type: urn:pulumi:token-type:access_token:organization
|
||||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
export-environment-variables: false
|
||||||
role-duration-seconds: 3600
|
- name: Export AWS Credentials
|
||||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
uses: pulumi/esc-action@efb0bc8946938f0dfbfa00e829196ec95f0d0ea7 # v1.4.0
|
||||||
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }}
|
env:
|
||||||
|
PULUMI_ACCESS_TOKEN: ${{ steps.generate_pulumi_token.outputs.pulumi-access-token }}
|
||||||
|
with:
|
||||||
|
environment: logins/pulumi-ci
|
||||||
- name: Authenticate to Google Cloud
|
- name: Authenticate to Google Cloud
|
||||||
uses: google-github-actions/auth@v0
|
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
|
||||||
with:
|
with:
|
||||||
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
||||||
}}/locations/global/workloadIdentityPools/${{
|
}}/locations/global/workloadIdentityPools/${{
|
||||||
@@ -355,7 +531,7 @@ jobs:
|
|||||||
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
||||||
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
||||||
- name: Setup gcloud auth
|
- name: Setup gcloud auth
|
||||||
uses: google-github-actions/setup-gcloud@v2
|
uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1
|
||||||
with:
|
with:
|
||||||
install_components: gke-gcloud-auth-plugin
|
install_components: gke-gcloud-auth-plugin
|
||||||
- name: Install gotestfmt
|
- name: Install gotestfmt
|
||||||
@@ -367,35 +543,53 @@ jobs:
|
|||||||
run: >-
|
run: >-
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
cd examples && go test -v -json -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . 2>&1 | tee /tmp/gotest.log | gotestfmt
|
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure in SDK tests
|
author_name: Failure in SDK tests
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
publish:
|
publish:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: test
|
needs: test
|
||||||
name: publish
|
name: publish
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Clear GitHub Actions Ubuntu runner disk space
|
- name: Clear GitHub Actions Ubuntu runner disk space
|
||||||
uses: jlumbroso/free-disk-space@v1.3.1
|
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
|
||||||
with:
|
with:
|
||||||
tool-cache: false
|
tool-cache: false
|
||||||
dotnet: false
|
dotnet: false
|
||||||
@@ -404,81 +598,103 @@ jobs:
|
|||||||
swap-storage: true
|
swap-storage: true
|
||||||
large-packages: false
|
large-packages: false
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Configure AWS Credentials
|
- name: Configure AWS Credentials
|
||||||
uses: aws-actions/configure-aws-credentials@v4
|
uses: aws-actions/configure-aws-credentials@00943011d9042930efac3dcd3a170e4273319bc8 # v5.1.0
|
||||||
with:
|
with:
|
||||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
aws-access-key-id: ${{ steps.esc-secrets.outputs.AWS_ACCESS_KEY_ID }}
|
||||||
aws-region: us-east-2
|
aws-region: us-east-2
|
||||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
aws-secret-access-key: ${{ steps.esc-secrets.outputs.AWS_SECRET_ACCESS_KEY }}
|
||||||
role-duration-seconds: 7200
|
role-duration-seconds: 7200
|
||||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||||
role-external-id: upload-pulumi-release
|
role-external-id: upload-pulumi-release
|
||||||
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
role-to-assume: ${{ steps.esc-secrets.outputs.AWS_UPLOAD_ROLE_ARN }}
|
||||||
- name: Run GoReleaser
|
- name: Run GoReleaser
|
||||||
uses: goreleaser/goreleaser-action@v5
|
uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
|
||||||
env:
|
env:
|
||||||
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
||||||
|
AZURE_SIGNING_CLIENT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID }}
|
||||||
|
AZURE_SIGNING_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET }}
|
||||||
|
AZURE_SIGNING_TENANT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID }}
|
||||||
|
AZURE_SIGNING_KEY_VAULT_URI: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI }}
|
||||||
|
SKIP_SIGNING: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET == '' && steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI == '' }}
|
||||||
|
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||||
with:
|
with:
|
||||||
args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s
|
args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s
|
||||||
version: latest
|
version: latest
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure in publishing binaries
|
author_name: Failure in publishing binaries
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
publish_sdk:
|
publish_sdk:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: publish
|
needs: publish
|
||||||
name: publish_sdk
|
name: publish_sdk
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Checkout Scripts Repo
|
- name: Checkout Scripts Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
path: ci-scripts
|
path: ci-scripts
|
||||||
repository: pulumi/scripts
|
repository: pulumi/scripts
|
||||||
- run: echo "ci-scripts" >> .git/info/exclude
|
- run: echo "ci-scripts" >> .git/info/exclude
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ env.NODEVERSION }}
|
node-version: ${{ env.NODEVERSION }}
|
||||||
registry-url: https://registry.npmjs.org
|
registry-url: https://registry.npmjs.org
|
||||||
- name: Setup DotNet
|
- name: Setup DotNet
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0
|
||||||
with:
|
with:
|
||||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHONVERSION }}
|
python-version: ${{ env.PYTHONVERSION }}
|
||||||
- name: Download python SDK
|
- name: Download python SDK
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: python-sdk.tar.gz
|
name: python-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
@@ -486,7 +702,7 @@ jobs:
|
|||||||
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
|
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
|
||||||
${{github.workspace}}/sdk/python
|
${{github.workspace}}/sdk/python
|
||||||
- name: Download dotnet SDK
|
- name: Download dotnet SDK
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: dotnet-sdk.tar.gz
|
name: dotnet-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
@@ -494,7 +710,7 @@ jobs:
|
|||||||
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
|
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
|
||||||
${{github.workspace}}/sdk/dotnet
|
${{github.workspace}}/sdk/dotnet
|
||||||
- name: Download nodejs SDK
|
- name: Download nodejs SDK
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: nodejs-sdk.tar.gz
|
name: nodejs-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
@@ -502,90 +718,51 @@ jobs:
|
|||||||
run: tar -zxf ${{github.workspace}}/sdk/nodejs.tar.gz -C
|
run: tar -zxf ${{github.workspace}}/sdk/nodejs.tar.gz -C
|
||||||
${{github.workspace}}/sdk/nodejs
|
${{github.workspace}}/sdk/nodejs
|
||||||
- name: Install Twine
|
- name: Install Twine
|
||||||
run: python -m pip install pip twine
|
run: python -m pip install twine==5.0.0
|
||||||
- name: Publish SDKs
|
- name: Publish SDKs
|
||||||
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
|
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
|
||||||
env:
|
env:
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
NUGET_PUBLISH_KEY: ${{ steps.esc-secrets.outputs.NUGET_PUBLISH_KEY }}
|
||||||
|
NODE_AUTH_TOKEN: ${{ steps.esc-secrets.outputs.NPM_TOKEN }}
|
||||||
PYPI_PUBLISH_ARTIFACTS: all
|
PYPI_PUBLISH_ARTIFACTS: all
|
||||||
|
PYPI_USERNAME: __token__
|
||||||
|
PYPI_PASSWORD: ${{ steps.esc-secrets.outputs.PYPI_API_TOKEN }}
|
||||||
|
SIGNING_KEY_ID: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY_ID }}
|
||||||
|
SIGNING_KEY: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY }}
|
||||||
|
SIGNING_PASSWORD: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_PASSWORD }}
|
||||||
|
PUBLISH_REPO_USERNAME: ${{ steps.esc-secrets.outputs.OSSRH_USERNAME }}
|
||||||
|
PUBLISH_REPO_PASSWORD: ${{ steps.esc-secrets.outputs.OSSRH_PASSWORD }}
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure in publishing SDK
|
author_name: Failure in publishing SDK
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
publish_java_sdk:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
continue-on-error: true
|
|
||||||
needs: publish
|
|
||||||
name: publish_java_sdk
|
|
||||||
steps:
|
|
||||||
- name: Checkout Repo
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
lfs: true
|
|
||||||
- id: version
|
|
||||||
name: Set Provider Version
|
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
|
||||||
set-env: PROVIDER_VERSION
|
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v5
|
|
||||||
with:
|
|
||||||
go-version: ${{ env.GOVERSION }}
|
|
||||||
cache-dependency-path: "**/*.sum"
|
|
||||||
- name: Install pulumictl
|
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
|
||||||
with:
|
|
||||||
repo: pulumi/pulumictl
|
|
||||||
- name: Install Pulumi CLI
|
|
||||||
uses: pulumi/actions@v5
|
|
||||||
- name: Setup Java
|
|
||||||
uses: actions/setup-java@v4
|
|
||||||
with:
|
|
||||||
java-version: ${{ env.JAVAVERSION }}
|
|
||||||
distribution: temurin
|
|
||||||
cache: gradle
|
|
||||||
- name: Setup Gradle
|
|
||||||
uses: gradle/gradle-build-action@v3
|
|
||||||
with:
|
|
||||||
gradle-version: "7.6"
|
|
||||||
- name: Download java SDK
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
name: java-sdk.tar.gz
|
|
||||||
path: ${{ github.workspace}}/sdk/
|
|
||||||
- name: Uncompress java SDK
|
|
||||||
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
|
||||||
${{github.workspace}}/sdk/java
|
|
||||||
- name: Publish Java SDK
|
|
||||||
uses: gradle/gradle-build-action@v3
|
|
||||||
env:
|
env:
|
||||||
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
with:
|
|
||||||
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
|
||||||
build-root-directory: ./sdk/java
|
|
||||||
gradle-version: 7.4.1
|
|
||||||
lint:
|
lint:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
persist-credentials: false
|
||||||
ref: ${{ env.PR_COMMIT_SHA }}
|
ref: ${{ env.PR_COMMIT_SHA }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
|
- name: Disarm go:embed directives to enable linters that compile source code
|
||||||
|
run: git grep -l 'go:embed' -- provider | xargs --no-run-if-empty sed -i
|
||||||
|
's/go:embed/ goembed/g'
|
||||||
- name: golangci-lint provider pkg
|
- name: golangci-lint provider pkg
|
||||||
uses: golangci/golangci-lint-action@v4
|
uses: golangci/golangci-lint-action@55c2c1448f86e01eaae002a5a3a9624417608d84 # v6.5.2
|
||||||
with:
|
with:
|
||||||
version: ${{ env.GOLANGCI_LINT_VERSION }}
|
version: ${{ env.GOLANGCI_LINT_VERSION }}
|
||||||
args: -c ../.golangci.yml
|
working-directory: .
|
||||||
working-directory: provider
|
|
||||||
name: lint
|
name: lint
|
||||||
if: github.event_name == 'repository_dispatch' ||
|
if: github.event_name == 'repository_dispatch' ||
|
||||||
github.event.pull_request.head.repo.full_name == github.repository
|
github.event.pull_request.head.repo.full_name == github.repository
|
||||||
|
|||||||
107
.github/workflows/command-dispatch.yml
vendored
107
.github/workflows/command-dispatch.yml
vendored
@@ -1,67 +1,54 @@
|
|||||||
# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt
|
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
|
||||||
|
|
||||||
|
env:
|
||||||
|
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||||
|
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||||
|
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||||
|
AWS_REGION: us-west-2
|
||||||
|
AZURE_LOCATION: westus
|
||||||
|
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||||
|
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||||
|
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||||
|
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
||||||
|
GOOGLE_PROJECT_NUMBER: "895284651812"
|
||||||
|
GOOGLE_REGION: us-central1
|
||||||
|
GOOGLE_ZONE: us-central1-a
|
||||||
|
PULUMI_API: https://api.pulumi-staging.io
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
command-dispatch-for-testing:
|
||||||
|
name: command-dispatch-for-testing
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repo
|
||||||
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
|
- uses: peter-evans/slash-command-dispatch@13bc09769d122a64f75aa5037256f6f2d78be8c4 # v4
|
||||||
|
with:
|
||||||
|
commands: |
|
||||||
|
run-acceptance-tests
|
||||||
|
release
|
||||||
|
issue-type: pull-request
|
||||||
|
permission: write
|
||||||
|
reaction-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
repository: pulumi/pulumi-docker-build
|
||||||
|
token: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||||
name: command-dispatch
|
name: command-dispatch
|
||||||
on:
|
on:
|
||||||
issue_comment:
|
issue_comment:
|
||||||
types:
|
types:
|
||||||
- created
|
- created
|
||||||
- edited
|
- edited
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
|
||||||
PROVIDER: docker-build
|
|
||||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
|
||||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
|
||||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
|
||||||
PYPI_USERNAME: __token__
|
|
||||||
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
||||||
TRAVIS_OS_NAME: linux
|
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
|
||||||
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
|
||||||
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
|
||||||
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
|
||||||
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
|
||||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
|
||||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
|
||||||
GOVERSION: 1.21.x
|
|
||||||
NODEVERSION: 20.x
|
|
||||||
PYTHONVERSION: "3.11"
|
|
||||||
DOTNETVERSION: |
|
|
||||||
6.0.x
|
|
||||||
3.1.301
|
|
||||||
JAVAVERSION: "11"
|
|
||||||
AWS_REGION: us-west-2
|
|
||||||
PULUMI_API: https://api.pulumi-staging.io
|
|
||||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
|
||||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
|
||||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
|
||||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
|
||||||
AZURE_LOCATION: westus
|
|
||||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
|
||||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
|
||||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
|
||||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
|
||||||
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
|
||||||
GOOGLE_PROJECT_NUMBER: 895284651812
|
|
||||||
GOOGLE_REGION: us-central1
|
|
||||||
GOOGLE_ZONE: us-central1-a
|
|
||||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
|
||||||
jobs:
|
|
||||||
command-dispatch-for-testing:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
name: command-dispatch-for-testing
|
|
||||||
steps:
|
|
||||||
- name: Checkout Repo
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
lfs: true
|
|
||||||
- uses: peter-evans/slash-command-dispatch@v2
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.PULUMI_BOT_TOKEN }}
|
|
||||||
reaction-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
commands: run-acceptance-tests
|
|
||||||
permission: write
|
|
||||||
issue-type: pull-request
|
|
||||||
repository: pulumi/pulumi-docker-build
|
|
||||||
if: ${{ github.event.issue.pull_request }}
|
|
||||||
|
|||||||
42
.github/workflows/comment-on-stale-issues.yml
vendored
Normal file
42
.github/workflows/comment-on-stale-issues.yml
vendored
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
name: "Comment on stale issues"
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "46 4 * * *" # run once per day
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
cleanup:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Stale issue job
|
||||||
|
steps:
|
||||||
|
- uses: aws-actions/stale-issue-cleanup@5650b49bcd757a078f6ca06c373d7807b773f9bc # v7.1.0
|
||||||
|
with:
|
||||||
|
issue-types: issues # only look at issues (ignore pull-requests)
|
||||||
|
|
||||||
|
# Setting messages to an empty string causes the automation to skip that category
|
||||||
|
ancient-issue-message: "Unfortunately, it looks like this issue hasn't seen any updates in a while. If you're still experiencing this issue, could you leave a quick comment to let us know so we can prioritize it?"
|
||||||
|
ancient-pr-message: ""
|
||||||
|
stale-issue-message: ""
|
||||||
|
stale-pr-message: ""
|
||||||
|
|
||||||
|
# These labels are required
|
||||||
|
stale-issue-label: awaiting-feedback # somewhat confusingly, this is also used for when labeling "ancient" issues
|
||||||
|
exempt-issue-labels: kind/enhancement,kind/task,kind/epic,kind/engineering, awaiting-upstream # only run on kind/bug for now, ignore awaiting-upstream too.
|
||||||
|
stale-pr-label: no-pr-activity # unused because we aren't processing PRs
|
||||||
|
exempt-pr-labels: awaiting-approval # unused because we aren't processing PRs
|
||||||
|
response-requested-label: response-requested # unused because we don't set a "stale-issue-message" above
|
||||||
|
|
||||||
|
# Issue timing
|
||||||
|
days-before-close: 10000 # this action lacks the option not to close, so just set this indefinitly far in the future
|
||||||
|
days-before-ancient: 180 # 6 months
|
||||||
|
|
||||||
|
# If you don't want to mark a issue as being ancient based on a
|
||||||
|
# threshold of "upvotes", you can set this here. An "upvote" is
|
||||||
|
# the total number of +1, heart, hooray, and rocket reactions
|
||||||
|
# on an issue.
|
||||||
|
minimum-upvotes-to-exempt: 2
|
||||||
|
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
loglevel: DEBUG
|
||||||
|
# Set dry-run to true to not perform label or close actions.
|
||||||
|
dry-run: true
|
||||||
43
.github/workflows/community-moderation.yml
vendored
Normal file
43
.github/workflows/community-moderation.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
warn_codegen:
|
||||||
|
name: warn_codegen
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repo
|
||||||
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
- id: schema_changed
|
||||||
|
name: Check for diff in schema
|
||||||
|
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
|
||||||
|
with:
|
||||||
|
filters: "changed: 'provider/cmd/**/schema.json'"
|
||||||
|
- id: sdk_changed
|
||||||
|
if: steps.schema_changed.outputs.changed == 'false'
|
||||||
|
name: Check for diff in sdk/**
|
||||||
|
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
|
||||||
|
with:
|
||||||
|
filters: "changed: 'sdk/**'"
|
||||||
|
- if: steps.sdk_changed.outputs.changed == 'true' &&
|
||||||
|
github.event.pull_request.head.repo.full_name != github.repository
|
||||||
|
name: Send codegen warning as comment on PR
|
||||||
|
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||||
|
with:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
message: >
|
||||||
|
Hello and thank you for your pull request! :heart: :sparkles:
|
||||||
|
|
||||||
|
It looks like you're directly modifying files in the language SDKs, many of which are autogenerated.
|
||||||
|
|
||||||
|
Be sure any files you're editing do not begin with a code generation warning.
|
||||||
|
|
||||||
|
For generated files, you will need to make changes in `resources.go` instead, and [generate the code](https://github.com/pulumi/${{ github.event.repository.name }}/blob/master/CONTRIBUTING.md#committing-generated-code).
|
||||||
|
name: warn-codegen
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
25
.github/workflows/export-repo-secrets.yml
vendored
Normal file
25
.github/workflows/export-repo-secrets.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
permissions: write-all # Equivalent to default permissions plus id-token: write
|
||||||
|
name: Export secrets to ESC
|
||||||
|
on: [workflow_dispatch]
|
||||||
|
jobs:
|
||||||
|
export-to-esc:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: export GitHub secrets to ESC
|
||||||
|
steps:
|
||||||
|
- name: Generate a GitHub token
|
||||||
|
id: generate-token
|
||||||
|
uses: actions/create-github-app-token@v1
|
||||||
|
with:
|
||||||
|
app-id: 1256780 # Export Secrets GitHub App
|
||||||
|
private-key: ${{ secrets.EXPORT_SECRETS_PRIVATE_KEY }}
|
||||||
|
- name: Export secrets to ESC
|
||||||
|
uses: pulumi/esc-export-secrets-action@9d6485759b6adff2538ae91f1b77cc96265c9dad # v1
|
||||||
|
with:
|
||||||
|
organization: pulumi
|
||||||
|
org-environment: imports/github-secrets
|
||||||
|
exclude-secrets: EXPORT_SECRETS_PRIVATE_KEY
|
||||||
|
github-token: ${{ steps.generate-token.outputs.token }}
|
||||||
|
oidc-auth: true
|
||||||
|
oidc-requested-token-type: urn:pulumi:token-type:access_token:organization
|
||||||
|
env:
|
||||||
|
GITHUB_SECRETS: ${{ toJSON(secrets) }}
|
||||||
501
.github/workflows/prerelease.yml
vendored
501
.github/workflows/prerelease.yml
vendored
@@ -6,75 +6,67 @@ on:
|
|||||||
tags:
|
tags:
|
||||||
- v*.*.*-**
|
- v*.*.*-**
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
|
||||||
PROVIDER: docker-build
|
PROVIDER: docker-build
|
||||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
|
||||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
|
||||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
|
||||||
PYPI_USERNAME: __token__
|
|
||||||
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
||||||
TRAVIS_OS_NAME: linux
|
TRAVIS_OS_NAME: linux
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
GOVERSION: "1.21.x"
|
||||||
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
NODEVERSION: "20.x"
|
||||||
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
PYTHONVERSION: "3.11.8"
|
||||||
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
DOTNETVERSION: "8.0.x"
|
||||||
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
|
||||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
|
||||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
|
||||||
GOVERSION: 1.21.x
|
|
||||||
NODEVERSION: 20.x
|
|
||||||
PYTHONVERSION: "3.11"
|
|
||||||
DOTNETVERSION: |
|
|
||||||
6.0.x
|
|
||||||
3.1.301
|
|
||||||
JAVAVERSION: "11"
|
JAVAVERSION: "11"
|
||||||
AWS_REGION: us-west-2
|
|
||||||
PULUMI_API: https://api.pulumi-staging.io
|
|
||||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
AWS_REGION: us-west-2
|
||||||
AZURE_LOCATION: westus
|
AZURE_LOCATION: westus
|
||||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
|
||||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||||
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
||||||
GOOGLE_PROJECT_NUMBER: 895284651812
|
GOOGLE_PROJECT_NUMBER: "895284651812"
|
||||||
GOOGLE_REGION: us-central1
|
GOOGLE_REGION: us-central1
|
||||||
GOOGLE_ZONE: us-central1-a
|
GOOGLE_ZONE: us-central1-a
|
||||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
PULUMI_API: https://api.pulumi-staging.io
|
||||||
IS_PRERELEASE: true
|
IS_PRERELEASE: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
prerequisites:
|
prerequisites:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: prerequisites
|
name: prerequisites
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- if: github.event_name == 'pull_request'
|
- if: github.event_name == 'pull_request'
|
||||||
name: Install Schema Tools
|
name: Install Schema Tools
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/schema-tools
|
repo: pulumi/schema-tools
|
||||||
- name: Build codegen binaries
|
- name: Build codegen binaries
|
||||||
@@ -84,25 +76,27 @@ jobs:
|
|||||||
- if: github.event_name == 'pull_request'
|
- if: github.event_name == 'pull_request'
|
||||||
name: Check Schema is Valid
|
name: Check Schema is Valid
|
||||||
run: >-
|
run: >-
|
||||||
echo 'SCHEMA_CHANGES<<EOF' >> $GITHUB_ENV
|
{
|
||||||
|
echo 'SCHEMA_CHANGES<<EOF';
|
||||||
|
|
||||||
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV
|
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json;
|
||||||
|
|
||||||
echo 'EOF' >> $GITHUB_ENV
|
echo 'EOF';
|
||||||
|
} >> "$GITHUB_ENV"
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||||
- if: github.event_name == 'pull_request'
|
- if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
|
||||||
name: Comment on PR with Details of Schema Check
|
name: Comment on PR with Details of Schema Check
|
||||||
uses: thollander/actions-comment-pull-request@v2
|
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||||
with:
|
with:
|
||||||
message: |
|
message: |
|
||||||
${{ env.SCHEMA_CHANGES }}
|
${{ env.SCHEMA_CHANGES }}
|
||||||
comment_tag: schemaCheck
|
comment-tag: schemaCheck
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') &&
|
- if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') &&
|
||||||
github.actor == 'pulumi-bot'
|
github.actor == 'pulumi-bot'
|
||||||
name: Add label if no breaking changes
|
name: Add label if no breaking changes
|
||||||
uses: actions-ecosystem/action-add-labels@v1.1.0
|
uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3
|
||||||
with:
|
with:
|
||||||
labels: impact/no-changelog-required
|
labels: impact/no-changelog-required
|
||||||
number: ${{ github.event.issue.number }}
|
number: ${{ github.event.issue.number }}
|
||||||
@@ -110,42 +104,100 @@ jobs:
|
|||||||
- name: Build Provider
|
- name: Build Provider
|
||||||
run: make provider
|
run: make provider
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
id: worktreeClean
|
||||||
|
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||||
with:
|
with:
|
||||||
allowed-changes: |-
|
allowed-changes: |-
|
||||||
sdk/**/pulumi-plugin.json
|
sdk/**/pulumi-plugin.json
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
sdk/dotnet/*.*.csproj
|
||||||
sdk/go/*/internal/pulumiUtilities.go
|
sdk/dotnet/version.txt
|
||||||
|
sdk/go/**/pulumiUtilities.go
|
||||||
sdk/nodejs/package.json
|
sdk/nodejs/package.json
|
||||||
sdk/python/pyproject.toml
|
sdk/python/pyproject.toml
|
||||||
|
sdk/java/build.gradle
|
||||||
|
- name: Commit SDK changes for Renovate
|
||||||
|
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||||
|
contains(github.actor, 'renovate') && github.event_name ==
|
||||||
|
'pull_request'
|
||||||
|
shell: bash
|
||||||
|
run: >
|
||||||
|
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
||||||
|
|
||||||
|
git config --global user.email "bot@pulumi.com"
|
||||||
|
|
||||||
|
git config --global user.name "pulumi-bot"
|
||||||
|
|
||||||
|
# Stash local changes and check out the PR's branch directly.
|
||||||
|
|
||||||
|
git stash
|
||||||
|
|
||||||
|
git fetch
|
||||||
|
|
||||||
|
git checkout "origin/$HEAD_REF"
|
||||||
|
|
||||||
|
|
||||||
|
# Apply and add our changes, but don't commit any files we expect to
|
||||||
|
|
||||||
|
# always change due to versioning.
|
||||||
|
|
||||||
|
git stash pop
|
||||||
|
|
||||||
|
git add sdk
|
||||||
|
|
||||||
|
git reset sdk/python/*/pulumi-plugin.json \
|
||||||
|
sdk/python/pyproject.toml \
|
||||||
|
sdk/dotnet/pulumi-plugin.json \
|
||||||
|
sdk/dotnet/*.*.csproj \
|
||||||
|
sdk/dotnet/version.txt \
|
||||||
|
sdk/go/*/pulumi-plugin.json \
|
||||||
|
sdk/go/*/internal/pulumiUtilities.go \
|
||||||
|
sdk/nodejs/package.json
|
||||||
|
|
||||||
|
git commit -m 'Commit SDK for Renovate'
|
||||||
|
|
||||||
|
|
||||||
|
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||||
|
|
||||||
|
# workflow. https://github.com/orgs/community/discussions/25702
|
||||||
|
|
||||||
|
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||||
|
env:
|
||||||
|
HEAD_REF: ${{ github.head_ref }}
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar provider binaries
|
- name: Tar provider binaries
|
||||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||||
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
||||||
pulumi-gen-${{ env.PROVIDER}}
|
pulumi-gen-${{ env.PROVIDER}}
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||||
with:
|
with:
|
||||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||||
path: ${{ github.workspace }}/bin/provider.tar.gz
|
path: ${{ github.workspace }}/bin/provider.tar.gz
|
||||||
- name: Test Provider Library
|
- name: Test Provider Library
|
||||||
run: make test_provider
|
run: make test_provider
|
||||||
- name: Upload coverage reports to Codecov
|
|
||||||
uses: codecov/codecov-action@v4
|
|
||||||
env:
|
env:
|
||||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
ARM_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.ARM_CLIENT_SECRET }}
|
||||||
|
DIGITALOCEAN_TOKEN: ${{ steps.esc-secrets.outputs.DIGITALOCEAN_TOKEN }}
|
||||||
|
DOCKER_HUB_PASSWORD: ${{ steps.esc-secrets.outputs.DOCKER_HUB_PASSWORD }}
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Upload coverage reports to Codecov
|
||||||
|
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
|
||||||
|
env:
|
||||||
|
CODECOV_TOKEN: ${{ steps.esc-secrets.outputs.CODECOV_TOKEN }}
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure in building provider prerequisites
|
author_name: Failure in building provider prerequisites
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
build_sdks:
|
build_sdks:
|
||||||
needs: prerequisites
|
needs: prerequisites
|
||||||
runs-on: pulumi-ubuntu-8core
|
runs-on: pulumi-ubuntu-8core
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: true
|
fail-fast: ${{ ! contains(github.actor, 'renovate') }}
|
||||||
matrix:
|
matrix:
|
||||||
language:
|
language:
|
||||||
- nodejs
|
- nodejs
|
||||||
@@ -154,52 +206,66 @@ jobs:
|
|||||||
- go
|
- go
|
||||||
- java
|
- java
|
||||||
name: build_sdks
|
name: build_sdks
|
||||||
|
permissions:
|
||||||
|
pull-requests: write # For Renovate SDK updates.
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ env.NODEVERSION }}
|
node-version: ${{ env.NODEVERSION }}
|
||||||
registry-url: https://registry.npmjs.org
|
registry-url: https://registry.npmjs.org
|
||||||
- name: Setup DotNet
|
- name: Setup DotNet
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0
|
||||||
with:
|
with:
|
||||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHONVERSION }}
|
python-version: ${{ env.PYTHONVERSION }}
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVAVERSION }}
|
java-version: ${{ env.JAVAVERSION }}
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
cache: gradle
|
cache: gradle
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/gradle-build-action@v3
|
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
||||||
with:
|
with:
|
||||||
gradle-version: "7.6"
|
gradle-version: "7.6"
|
||||||
- name: Download provider + tfgen binaries
|
- name: Download provider
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||||
path: ${{ github.workspace }}/bin
|
path: ${{ github.workspace }}/bin
|
||||||
@@ -214,29 +280,82 @@ jobs:
|
|||||||
- name: Build SDK
|
- name: Build SDK
|
||||||
run: make build_${{ matrix.language }}
|
run: make build_${{ matrix.language }}
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
id: worktreeClean
|
||||||
|
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||||
with:
|
with:
|
||||||
allowed-changes: |-
|
allowed-changes: |-
|
||||||
sdk/**/pulumi-plugin.json
|
sdk/**/pulumi-plugin.json
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
sdk/dotnet/*.*.csproj
|
||||||
sdk/go/*/internal/pulumiUtilities.go
|
sdk/dotnet/version.txt
|
||||||
|
sdk/go/**/pulumiUtilities.go
|
||||||
sdk/nodejs/package.json
|
sdk/nodejs/package.json
|
||||||
sdk/python/pyproject.toml
|
sdk/python/pyproject.toml
|
||||||
|
sdk/java/build.gradle
|
||||||
|
- name: Commit ${{ matrix.language }} SDK changes for Renovate
|
||||||
|
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||||
|
contains(github.actor, 'renovate') && github.event_name ==
|
||||||
|
'pull_request'
|
||||||
|
shell: bash
|
||||||
|
run: >
|
||||||
|
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
||||||
|
|
||||||
|
git config --global user.email "bot@pulumi.com"
|
||||||
|
|
||||||
|
git config --global user.name "pulumi-bot"
|
||||||
|
|
||||||
|
# Stash local changes and check out the PR's branch directly.
|
||||||
|
|
||||||
|
git stash
|
||||||
|
|
||||||
|
git fetch
|
||||||
|
|
||||||
|
git checkout "origin/$HEAD_REF"
|
||||||
|
|
||||||
|
|
||||||
|
# Apply and add our changes, but don't commit any files we expect to
|
||||||
|
|
||||||
|
# always change due to versioning.
|
||||||
|
|
||||||
|
git stash pop
|
||||||
|
|
||||||
|
git add sdk
|
||||||
|
|
||||||
|
git reset sdk/python/*/pulumi-plugin.json \
|
||||||
|
sdk/python/pyproject.toml \
|
||||||
|
sdk/dotnet/pulumi-plugin.json \
|
||||||
|
sdk/dotnet/*.*.csproj \
|
||||||
|
sdk/dotnet/version.txt \
|
||||||
|
sdk/go/*/pulumi-plugin.json \
|
||||||
|
sdk/go/*/internal/pulumiUtilities.go \
|
||||||
|
sdk/nodejs/package.json
|
||||||
|
|
||||||
|
git commit -m 'Commit ${{ matrix.language }} SDK for Renovate'
|
||||||
|
|
||||||
|
|
||||||
|
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||||
|
|
||||||
|
# workflow. https://github.com/orgs/community/discussions/25702
|
||||||
|
|
||||||
|
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||||
|
env:
|
||||||
|
HEAD_REF: ${{ github.head_ref }}
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar SDK folder
|
- name: Tar SDK folder
|
||||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.language }}-sdk.tar.gz
|
name: ${{ matrix.language }}-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure while building SDKs
|
author_name: Failure while building SDKs
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
test:
|
test:
|
||||||
runs-on: pulumi-ubuntu-8core
|
runs-on: pulumi-ubuntu-8core
|
||||||
needs:
|
needs:
|
||||||
@@ -250,56 +369,68 @@ jobs:
|
|||||||
- dotnet
|
- dotnet
|
||||||
- go
|
- go
|
||||||
- java
|
- java
|
||||||
|
- yaml
|
||||||
name: test
|
name: test
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
id-token: write
|
id-token: write # For ESC secrets and Pulumi access token OIDC.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ env.NODEVERSION }}
|
node-version: ${{ env.NODEVERSION }}
|
||||||
registry-url: https://registry.npmjs.org
|
registry-url: https://registry.npmjs.org
|
||||||
- name: Setup DotNet
|
- name: Setup DotNet
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0
|
||||||
with:
|
with:
|
||||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHONVERSION }}
|
python-version: ${{ env.PYTHONVERSION }}
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVAVERSION }}
|
java-version: ${{ env.JAVAVERSION }}
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
cache: gradle
|
cache: gradle
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/gradle-build-action@v3
|
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
||||||
with:
|
with:
|
||||||
gradle-version: "7.6"
|
gradle-version: "7.6"
|
||||||
- name: Download provider + tfgen binaries
|
- name: Download provider
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||||
path: ${{ github.workspace }}/bin
|
path: ${{ github.workspace }}/bin
|
||||||
@@ -310,15 +441,17 @@ jobs:
|
|||||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||||
-exec chmod +x {} \;
|
-exec chmod +x {} \;
|
||||||
- name: Download SDK
|
- name: Download SDK
|
||||||
uses: actions/download-artifact@v4
|
if: ${{ matrix.language != 'yaml' }}
|
||||||
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.language }}-sdk.tar.gz
|
name: ${{ matrix.language }}-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
- name: UnTar SDK folder
|
- name: UnTar SDK folder
|
||||||
|
if: ${{ matrix.language != 'yaml' }}
|
||||||
run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{
|
run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{
|
||||||
github.workspace}}/sdk/${{ matrix.language}}
|
github.workspace}}/sdk/${{ matrix.language}}
|
||||||
- name: Update path
|
- name: Update path
|
||||||
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
|
run: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH"
|
||||||
- name: Install Node dependencies
|
- name: Install Node dependencies
|
||||||
run: yarn global add typescript
|
run: yarn global add typescript
|
||||||
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
||||||
@@ -327,18 +460,23 @@ jobs:
|
|||||||
pip3 install virtualenv==20.0.23
|
pip3 install virtualenv==20.0.23
|
||||||
pip3 install pipenv
|
pip3 install pipenv
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
|
if: ${{ matrix.language != 'yaml' }}
|
||||||
run: make install_${{ matrix.language}}_sdk
|
run: make install_${{ matrix.language}}_sdk
|
||||||
- name: Configure AWS Credentials
|
- name: Generate Pulumi Access Token
|
||||||
uses: aws-actions/configure-aws-credentials@v4
|
id: generate_pulumi_token
|
||||||
|
uses: pulumi/auth-actions@1c89817aab0c66407723cdef72b05266e7376640 # v1.0.1
|
||||||
with:
|
with:
|
||||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
organization: pulumi
|
||||||
aws-region: ${{ env.AWS_REGION }}
|
requested-token-type: urn:pulumi:token-type:access_token:organization
|
||||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
export-environment-variables: false
|
||||||
role-duration-seconds: 3600
|
- name: Export AWS Credentials
|
||||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
uses: pulumi/esc-action@efb0bc8946938f0dfbfa00e829196ec95f0d0ea7 # v1.4.0
|
||||||
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }}
|
env:
|
||||||
|
PULUMI_ACCESS_TOKEN: ${{ steps.generate_pulumi_token.outputs.pulumi-access-token }}
|
||||||
|
with:
|
||||||
|
environment: logins/pulumi-ci
|
||||||
- name: Authenticate to Google Cloud
|
- name: Authenticate to Google Cloud
|
||||||
uses: google-github-actions/auth@v0
|
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
|
||||||
with:
|
with:
|
||||||
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
||||||
}}/locations/global/workloadIdentityPools/${{
|
}}/locations/global/workloadIdentityPools/${{
|
||||||
@@ -346,7 +484,7 @@ jobs:
|
|||||||
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
||||||
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
||||||
- name: Setup gcloud auth
|
- name: Setup gcloud auth
|
||||||
uses: google-github-actions/setup-gcloud@v2
|
uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1
|
||||||
with:
|
with:
|
||||||
install_components: gke-gcloud-auth-plugin
|
install_components: gke-gcloud-auth-plugin
|
||||||
- name: Install gotestfmt
|
- name: Install gotestfmt
|
||||||
@@ -358,35 +496,53 @@ jobs:
|
|||||||
run: >-
|
run: >-
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
cd examples && go test -v -json -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . 2>&1 | tee /tmp/gotest.log | gotestfmt
|
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure in SDK tests
|
author_name: Failure in SDK tests
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
publish:
|
publish:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: test
|
needs: test
|
||||||
name: publish
|
name: publish
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Clear GitHub Actions Ubuntu runner disk space
|
- name: Clear GitHub Actions Ubuntu runner disk space
|
||||||
uses: jlumbroso/free-disk-space@v1.3.1
|
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
|
||||||
with:
|
with:
|
||||||
tool-cache: false
|
tool-cache: false
|
||||||
dotnet: false
|
dotnet: false
|
||||||
@@ -395,81 +551,103 @@ jobs:
|
|||||||
swap-storage: true
|
swap-storage: true
|
||||||
large-packages: false
|
large-packages: false
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Configure AWS Credentials
|
- name: Configure AWS Credentials
|
||||||
uses: aws-actions/configure-aws-credentials@v4
|
uses: aws-actions/configure-aws-credentials@00943011d9042930efac3dcd3a170e4273319bc8 # v5.1.0
|
||||||
with:
|
with:
|
||||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
aws-access-key-id: ${{ steps.esc-secrets.outputs.AWS_ACCESS_KEY_ID }}
|
||||||
aws-region: us-east-2
|
aws-region: us-east-2
|
||||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
aws-secret-access-key: ${{ steps.esc-secrets.outputs.AWS_SECRET_ACCESS_KEY }}
|
||||||
role-duration-seconds: 7200
|
role-duration-seconds: 7200
|
||||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||||
role-external-id: upload-pulumi-release
|
role-external-id: upload-pulumi-release
|
||||||
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
role-to-assume: ${{ steps.esc-secrets.outputs.AWS_UPLOAD_ROLE_ARN }}
|
||||||
- name: Run GoReleaser
|
- name: Run GoReleaser
|
||||||
uses: goreleaser/goreleaser-action@v5
|
uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
|
||||||
env:
|
env:
|
||||||
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
||||||
|
AZURE_SIGNING_CLIENT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID }}
|
||||||
|
AZURE_SIGNING_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET }}
|
||||||
|
AZURE_SIGNING_TENANT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID }}
|
||||||
|
AZURE_SIGNING_KEY_VAULT_URI: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI }}
|
||||||
|
SKIP_SIGNING: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET == '' && steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI == '' }}
|
||||||
|
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||||
with:
|
with:
|
||||||
args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s
|
args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s
|
||||||
version: latest
|
version: latest
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure in publishing binaries
|
author_name: Failure in publishing binaries
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
publish_sdk:
|
publish_sdk:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: publish
|
needs: publish
|
||||||
name: publish_sdk
|
name: publish_sdk
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Checkout Scripts Repo
|
- name: Checkout Scripts Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
path: ci-scripts
|
path: ci-scripts
|
||||||
repository: pulumi/scripts
|
repository: pulumi/scripts
|
||||||
- run: echo "ci-scripts" >> .git/info/exclude
|
- run: echo "ci-scripts" >> .git/info/exclude
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ env.NODEVERSION }}
|
node-version: ${{ env.NODEVERSION }}
|
||||||
registry-url: https://registry.npmjs.org
|
registry-url: https://registry.npmjs.org
|
||||||
- name: Setup DotNet
|
- name: Setup DotNet
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0
|
||||||
with:
|
with:
|
||||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHONVERSION }}
|
python-version: ${{ env.PYTHONVERSION }}
|
||||||
- name: Download python SDK
|
- name: Download python SDK
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: python-sdk.tar.gz
|
name: python-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
@@ -477,7 +655,7 @@ jobs:
|
|||||||
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
|
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
|
||||||
${{github.workspace}}/sdk/python
|
${{github.workspace}}/sdk/python
|
||||||
- name: Download dotnet SDK
|
- name: Download dotnet SDK
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: dotnet-sdk.tar.gz
|
name: dotnet-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
@@ -485,7 +663,7 @@ jobs:
|
|||||||
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
|
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
|
||||||
${{github.workspace}}/sdk/dotnet
|
${{github.workspace}}/sdk/dotnet
|
||||||
- name: Download nodejs SDK
|
- name: Download nodejs SDK
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: nodejs-sdk.tar.gz
|
name: nodejs-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
@@ -493,87 +671,113 @@ jobs:
|
|||||||
run: tar -zxf ${{github.workspace}}/sdk/nodejs.tar.gz -C
|
run: tar -zxf ${{github.workspace}}/sdk/nodejs.tar.gz -C
|
||||||
${{github.workspace}}/sdk/nodejs
|
${{github.workspace}}/sdk/nodejs
|
||||||
- name: Install Twine
|
- name: Install Twine
|
||||||
run: python -m pip install pip twine
|
run: python -m pip install twine==5.0.0
|
||||||
- name: Publish SDKs
|
- name: Publish SDKs
|
||||||
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
|
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
|
||||||
env:
|
env:
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
NUGET_PUBLISH_KEY: ${{ steps.esc-secrets.outputs.NUGET_PUBLISH_KEY }}
|
||||||
|
NODE_AUTH_TOKEN: ${{ steps.esc-secrets.outputs.NPM_TOKEN }}
|
||||||
PYPI_PUBLISH_ARTIFACTS: all
|
PYPI_PUBLISH_ARTIFACTS: all
|
||||||
|
PYPI_USERNAME: __token__
|
||||||
|
PYPI_PASSWORD: ${{ steps.esc-secrets.outputs.PYPI_API_TOKEN }}
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure in publishing SDK
|
author_name: Failure in publishing SDK
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
publish_java_sdk:
|
publish_java_sdk:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
needs: publish
|
needs: publish
|
||||||
name: publish_java_sdk
|
name: publish_java_sdk
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVAVERSION }}
|
java-version: ${{ env.JAVAVERSION }}
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
cache: gradle
|
cache: gradle
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/gradle-build-action@v3
|
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
||||||
with:
|
with:
|
||||||
gradle-version: "7.6"
|
gradle-version: "7.6"
|
||||||
- name: Download java SDK
|
- name: Download java SDK
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: java-sdk.tar.gz
|
name: java-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
- name: Uncompress java SDK
|
- name: Uncompress java SDK
|
||||||
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
||||||
${{github.workspace}}/sdk/java
|
${{github.workspace}}/sdk/java
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
||||||
|
with:
|
||||||
|
gradle-version: "7.6"
|
||||||
- name: Publish Java SDK
|
- name: Publish Java SDK
|
||||||
uses: gradle/gradle-build-action@v3
|
run: gradle -p ./sdk/java publishToSonatype closeAndReleaseSonatypeStagingRepository
|
||||||
env:
|
env:
|
||||||
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
||||||
with:
|
SIGNING_KEY_ID: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY_ID }}
|
||||||
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
SIGNING_KEY: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY }}
|
||||||
build-root-directory: ./sdk/java
|
SIGNING_PASSWORD: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_PASSWORD }}
|
||||||
gradle-version: 7.4.1
|
PUBLISH_REPO_PASSWORD: ${{ steps.esc-secrets.outputs.OSSRH_PASSWORD }}
|
||||||
|
PUBLISH_REPO_USERNAME: ${{ steps.esc-secrets.outputs.OSSRH_USERNAME }}
|
||||||
publish_go_sdk:
|
publish_go_sdk:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: publish-go-sdk
|
name: publish-go-sdk
|
||||||
needs: publish_sdk
|
needs: publish_sdk
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Download go SDK
|
- name: Download go SDK
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: go-sdk.tar.gz
|
name: go-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
@@ -585,11 +789,8 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
repository: ${{ github.repository }}
|
repository: ${{ github.repository }}
|
||||||
base-ref: ${{ github.sha }}
|
base-ref: ${{ github.sha }}
|
||||||
source: sdk
|
source: sdk/go/dockerbuild
|
||||||
path: sdk
|
path: sdk/go/dockerbuild
|
||||||
version: ${{ steps.version.outputs.version }}
|
version: ${{ steps.version.outputs.version }}
|
||||||
additive: false
|
additive: false
|
||||||
files: |-
|
files: "**"
|
||||||
go.*
|
|
||||||
go/**
|
|
||||||
!*.tar.gz
|
|
||||||
|
|||||||
48
.github/workflows/pull-request.yml
vendored
48
.github/workflows/pull-request.yml
vendored
@@ -3,62 +3,22 @@
|
|||||||
name: pull-request
|
name: pull-request
|
||||||
on:
|
on:
|
||||||
pull_request_target: {}
|
pull_request_target: {}
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
|
||||||
PROVIDER: docker-build
|
|
||||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
|
||||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
|
||||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
|
||||||
PYPI_USERNAME: __token__
|
|
||||||
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
||||||
TRAVIS_OS_NAME: linux
|
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
|
||||||
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
|
||||||
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
|
||||||
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
|
||||||
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
|
||||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
|
||||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
|
||||||
GOVERSION: 1.21.x
|
|
||||||
NODEVERSION: 20.x
|
|
||||||
PYTHONVERSION: "3.11"
|
|
||||||
DOTNETVERSION: |
|
|
||||||
6.0.x
|
|
||||||
3.1.301
|
|
||||||
JAVAVERSION: "11"
|
|
||||||
AWS_REGION: us-west-2
|
|
||||||
PULUMI_API: https://api.pulumi-staging.io
|
|
||||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
|
||||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
|
||||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
|
||||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
|
||||||
AZURE_LOCATION: westus
|
|
||||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
|
||||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
|
||||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
|
||||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
|
||||||
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
|
||||||
GOOGLE_PROJECT_NUMBER: 895284651812
|
|
||||||
GOOGLE_REGION: us-central1
|
|
||||||
GOOGLE_ZONE: us-central1-a
|
|
||||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
|
||||||
jobs:
|
jobs:
|
||||||
comment-on-pr:
|
comment-on-pr:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: comment-on-pr
|
name: comment-on-pr
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- name: Comment PR
|
- name: Comment PR
|
||||||
uses: thollander/actions-comment-pull-request@v2
|
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||||
with:
|
with:
|
||||||
message: >
|
message: >
|
||||||
PR is now waiting for a maintainer to run the acceptance tests.
|
PR is now waiting for a maintainer to run the acceptance tests.
|
||||||
|
|
||||||
**Note for the maintainer:** To run the acceptance tests, please comment */run-acceptance-tests* on the PR
|
**Note for the maintainer:** To run the acceptance tests, please comment */run-acceptance-tests* on the PR
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
if: github.event.pull_request.head.repo.full_name != github.repository
|
if: github.event.pull_request.head.repo.full_name != github.repository
|
||||||
|
|||||||
526
.github/workflows/release.yml
vendored
526
.github/workflows/release.yml
vendored
@@ -7,74 +7,69 @@ on:
|
|||||||
- v*.*.*
|
- v*.*.*
|
||||||
- "!v*.*.*-**"
|
- "!v*.*.*-**"
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
|
||||||
PROVIDER: docker-build
|
PROVIDER: docker-build
|
||||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
|
||||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
|
||||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
|
||||||
PYPI_USERNAME: __token__
|
|
||||||
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
||||||
TRAVIS_OS_NAME: linux
|
TRAVIS_OS_NAME: linux
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
GOVERSION: "1.21.x"
|
||||||
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
NODEVERSION: "20.x"
|
||||||
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
PYTHONVERSION: "3.11.8"
|
||||||
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
DOTNETVERSION: "8.0.x"
|
||||||
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
|
||||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
|
||||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
|
||||||
GOVERSION: 1.21.x
|
|
||||||
NODEVERSION: 20.x
|
|
||||||
PYTHONVERSION: "3.11"
|
|
||||||
DOTNETVERSION: |
|
|
||||||
6.0.x
|
|
||||||
3.1.301
|
|
||||||
JAVAVERSION: "11"
|
JAVAVERSION: "11"
|
||||||
AWS_REGION: us-west-2
|
|
||||||
PULUMI_API: https://api.pulumi-staging.io
|
|
||||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
AWS_REGION: us-west-2
|
||||||
AZURE_LOCATION: westus
|
AZURE_LOCATION: westus
|
||||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
|
||||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||||
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
||||||
GOOGLE_PROJECT_NUMBER: 895284651812
|
GOOGLE_PROJECT_NUMBER: "895284651812"
|
||||||
GOOGLE_REGION: us-central1
|
GOOGLE_REGION: us-central1
|
||||||
GOOGLE_ZONE: us-central1-a
|
GOOGLE_ZONE: us-central1-a
|
||||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
PULUMI_API: https://api.pulumi-staging.io
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
prerequisites:
|
prerequisites:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: prerequisites
|
name: prerequisites
|
||||||
|
permissions:
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
|
pull-requests: write # For schema check comment.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- if: github.event_name == 'pull_request'
|
- if: github.event_name == 'pull_request'
|
||||||
name: Install Schema Tools
|
name: Install Schema Tools
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/schema-tools
|
repo: pulumi/schema-tools
|
||||||
- name: Build codegen binaries
|
- name: Build codegen binaries
|
||||||
@@ -84,25 +79,27 @@ jobs:
|
|||||||
- if: github.event_name == 'pull_request'
|
- if: github.event_name == 'pull_request'
|
||||||
name: Check Schema is Valid
|
name: Check Schema is Valid
|
||||||
run: >-
|
run: >-
|
||||||
echo 'SCHEMA_CHANGES<<EOF' >> $GITHUB_ENV
|
{
|
||||||
|
echo 'SCHEMA_CHANGES<<EOF';
|
||||||
|
|
||||||
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV
|
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json;
|
||||||
|
|
||||||
echo 'EOF' >> $GITHUB_ENV
|
echo 'EOF';
|
||||||
|
} >> "$GITHUB_ENV"
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||||
- if: github.event_name == 'pull_request'
|
- if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
|
||||||
name: Comment on PR with Details of Schema Check
|
name: Comment on PR with Details of Schema Check
|
||||||
uses: thollander/actions-comment-pull-request@v2
|
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||||
with:
|
with:
|
||||||
message: |
|
message: |
|
||||||
${{ env.SCHEMA_CHANGES }}
|
${{ env.SCHEMA_CHANGES }}
|
||||||
comment_tag: schemaCheck
|
comment-tag: schemaCheck
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') &&
|
- if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') &&
|
||||||
github.actor == 'pulumi-bot'
|
github.actor == 'pulumi-bot'
|
||||||
name: Add label if no breaking changes
|
name: Add label if no breaking changes
|
||||||
uses: actions-ecosystem/action-add-labels@v1.1.0
|
uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3
|
||||||
with:
|
with:
|
||||||
labels: impact/no-changelog-required
|
labels: impact/no-changelog-required
|
||||||
number: ${{ github.event.issue.number }}
|
number: ${{ github.event.issue.number }}
|
||||||
@@ -110,42 +107,100 @@ jobs:
|
|||||||
- name: Build Provider
|
- name: Build Provider
|
||||||
run: make provider
|
run: make provider
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
id: worktreeClean
|
||||||
|
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||||
with:
|
with:
|
||||||
allowed-changes: |-
|
allowed-changes: |-
|
||||||
sdk/**/pulumi-plugin.json
|
sdk/**/pulumi-plugin.json
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
sdk/dotnet/*.*.csproj
|
||||||
sdk/go/*/internal/pulumiUtilities.go
|
sdk/dotnet/version.txt
|
||||||
|
sdk/go/**/pulumiUtilities.go
|
||||||
sdk/nodejs/package.json
|
sdk/nodejs/package.json
|
||||||
sdk/python/pyproject.toml
|
sdk/python/pyproject.toml
|
||||||
|
sdk/java/build.gradle
|
||||||
|
- name: Commit SDK changes for Renovate
|
||||||
|
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||||
|
contains(github.actor, 'renovate') && github.event_name ==
|
||||||
|
'pull_request'
|
||||||
|
shell: bash
|
||||||
|
run: >
|
||||||
|
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
||||||
|
|
||||||
|
git config --global user.email "bot@pulumi.com"
|
||||||
|
|
||||||
|
git config --global user.name "pulumi-bot"
|
||||||
|
|
||||||
|
# Stash local changes and check out the PR's branch directly.
|
||||||
|
|
||||||
|
git stash
|
||||||
|
|
||||||
|
git fetch
|
||||||
|
|
||||||
|
git checkout "origin/$HEAD_REF"
|
||||||
|
|
||||||
|
|
||||||
|
# Apply and add our changes, but don't commit any files we expect to
|
||||||
|
|
||||||
|
# always change due to versioning.
|
||||||
|
|
||||||
|
git stash pop
|
||||||
|
|
||||||
|
git add sdk
|
||||||
|
|
||||||
|
git reset sdk/python/*/pulumi-plugin.json \
|
||||||
|
sdk/python/pyproject.toml \
|
||||||
|
sdk/dotnet/pulumi-plugin.json \
|
||||||
|
sdk/dotnet/*.*.csproj \
|
||||||
|
sdk/dotnet/version.txt \
|
||||||
|
sdk/go/*/pulumi-plugin.json \
|
||||||
|
sdk/go/*/internal/pulumiUtilities.go \
|
||||||
|
sdk/nodejs/package.json
|
||||||
|
|
||||||
|
git commit -m 'Commit SDK for Renovate'
|
||||||
|
|
||||||
|
|
||||||
|
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||||
|
|
||||||
|
# workflow. https://github.com/orgs/community/discussions/25702
|
||||||
|
|
||||||
|
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||||
|
env:
|
||||||
|
HEAD_REF: ${{ github.head_ref }}
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar provider binaries
|
- name: Tar provider binaries
|
||||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||||
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
||||||
pulumi-gen-${{ env.PROVIDER}}
|
pulumi-gen-${{ env.PROVIDER}}
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||||
with:
|
with:
|
||||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||||
path: ${{ github.workspace }}/bin/provider.tar.gz
|
path: ${{ github.workspace }}/bin/provider.tar.gz
|
||||||
- name: Test Provider Library
|
- name: Test Provider Library
|
||||||
run: make test_provider
|
run: make test_provider
|
||||||
- name: Upload coverage reports to Codecov
|
|
||||||
uses: codecov/codecov-action@v4
|
|
||||||
env:
|
env:
|
||||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
ARM_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.ARM_CLIENT_SECRET }}
|
||||||
|
DIGITALOCEAN_TOKEN: ${{ steps.esc-secrets.outputs.DIGITALOCEAN_TOKEN }}
|
||||||
|
DOCKER_HUB_PASSWORD: ${{ steps.esc-secrets.outputs.DOCKER_HUB_PASSWORD }}
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Upload coverage reports to Codecov
|
||||||
|
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
|
||||||
|
env:
|
||||||
|
CODECOV_TOKEN: ${{ steps.esc-secrets.outputs.CODECOV_TOKEN }}
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure in building provider prerequisites
|
author_name: Failure in building provider prerequisites
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
build_sdks:
|
build_sdks:
|
||||||
needs: prerequisites
|
needs: prerequisites
|
||||||
runs-on: pulumi-ubuntu-8core
|
runs-on: pulumi-ubuntu-8core
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: true
|
fail-fast: ${{ ! contains(github.actor, 'renovate') }}
|
||||||
matrix:
|
matrix:
|
||||||
language:
|
language:
|
||||||
- nodejs
|
- nodejs
|
||||||
@@ -154,52 +209,66 @@ jobs:
|
|||||||
- go
|
- go
|
||||||
- java
|
- java
|
||||||
name: build_sdks
|
name: build_sdks
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ env.NODEVERSION }}
|
node-version: ${{ env.NODEVERSION }}
|
||||||
registry-url: https://registry.npmjs.org
|
registry-url: https://registry.npmjs.org
|
||||||
- name: Setup DotNet
|
- name: Setup DotNet
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0
|
||||||
with:
|
with:
|
||||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHONVERSION }}
|
python-version: ${{ env.PYTHONVERSION }}
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVAVERSION }}
|
java-version: ${{ env.JAVAVERSION }}
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
cache: gradle
|
cache: gradle
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/gradle-build-action@v3
|
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
||||||
with:
|
with:
|
||||||
gradle-version: "7.6"
|
gradle-version: "7.6"
|
||||||
- name: Download provider + tfgen binaries
|
- name: Download provider
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||||
path: ${{ github.workspace }}/bin
|
path: ${{ github.workspace }}/bin
|
||||||
@@ -214,29 +283,82 @@ jobs:
|
|||||||
- name: Build SDK
|
- name: Build SDK
|
||||||
run: make build_${{ matrix.language }}
|
run: make build_${{ matrix.language }}
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
id: worktreeClean
|
||||||
|
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||||
with:
|
with:
|
||||||
allowed-changes: |-
|
allowed-changes: |-
|
||||||
sdk/**/pulumi-plugin.json
|
sdk/**/pulumi-plugin.json
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
sdk/dotnet/*.*.csproj
|
||||||
sdk/go/*/internal/pulumiUtilities.go
|
sdk/dotnet/version.txt
|
||||||
|
sdk/go/**/pulumiUtilities.go
|
||||||
sdk/nodejs/package.json
|
sdk/nodejs/package.json
|
||||||
sdk/python/pyproject.toml
|
sdk/python/pyproject.toml
|
||||||
|
sdk/java/build.gradle
|
||||||
|
- name: Commit SDK changes for Renovate
|
||||||
|
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||||
|
contains(github.actor, 'renovate') && github.event_name ==
|
||||||
|
'pull_request'
|
||||||
|
shell: bash
|
||||||
|
run: >
|
||||||
|
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
||||||
|
|
||||||
|
git config --global user.email "bot@pulumi.com"
|
||||||
|
|
||||||
|
git config --global user.name "pulumi-bot"
|
||||||
|
|
||||||
|
# Stash local changes and check out the PR's branch directly.
|
||||||
|
|
||||||
|
git stash
|
||||||
|
|
||||||
|
git fetch
|
||||||
|
|
||||||
|
git checkout "origin/$HEAD_REF"
|
||||||
|
|
||||||
|
|
||||||
|
# Apply and add our changes, but don't commit any files we expect to
|
||||||
|
|
||||||
|
# always change due to versioning.
|
||||||
|
|
||||||
|
git stash pop
|
||||||
|
|
||||||
|
git add sdk
|
||||||
|
|
||||||
|
git reset sdk/python/*/pulumi-plugin.json \
|
||||||
|
sdk/python/pyproject.toml \
|
||||||
|
sdk/dotnet/pulumi-plugin.json \
|
||||||
|
sdk/dotnet/*.*.csproj \
|
||||||
|
sdk/dotnet/version.txt \
|
||||||
|
sdk/go/*/pulumi-plugin.json \
|
||||||
|
sdk/go/*/internal/pulumiUtilities.go \
|
||||||
|
sdk/nodejs/package.json
|
||||||
|
|
||||||
|
git commit -m 'Commit SDK for Renovate'
|
||||||
|
|
||||||
|
|
||||||
|
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||||
|
|
||||||
|
# workflow. https://github.com/orgs/community/discussions/25702
|
||||||
|
|
||||||
|
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||||
|
env:
|
||||||
|
HEAD_REF: ${{ github.head_ref }}
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar SDK folder
|
- name: Tar SDK folder
|
||||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.language }}-sdk.tar.gz
|
name: ${{ matrix.language }}-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure while building SDKs
|
author_name: Failure while building SDKs
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
test:
|
test:
|
||||||
runs-on: pulumi-ubuntu-8core
|
runs-on: pulumi-ubuntu-8core
|
||||||
needs:
|
needs:
|
||||||
@@ -250,56 +372,68 @@ jobs:
|
|||||||
- dotnet
|
- dotnet
|
||||||
- go
|
- go
|
||||||
- java
|
- java
|
||||||
|
- yaml
|
||||||
name: test
|
name: test
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
id-token: write
|
id-token: write # For ESC secrets.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ env.NODEVERSION }}
|
node-version: ${{ env.NODEVERSION }}
|
||||||
registry-url: https://registry.npmjs.org
|
registry-url: https://registry.npmjs.org
|
||||||
- name: Setup DotNet
|
- name: Setup DotNet
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0
|
||||||
with:
|
with:
|
||||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHONVERSION }}
|
python-version: ${{ env.PYTHONVERSION }}
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVAVERSION }}
|
java-version: ${{ env.JAVAVERSION }}
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
cache: gradle
|
cache: gradle
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/gradle-build-action@v3
|
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
||||||
with:
|
with:
|
||||||
gradle-version: "7.6"
|
gradle-version: "7.6"
|
||||||
- name: Download provider + tfgen binaries
|
- name: Download provider
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||||
path: ${{ github.workspace }}/bin
|
path: ${{ github.workspace }}/bin
|
||||||
@@ -310,15 +444,17 @@ jobs:
|
|||||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||||
-exec chmod +x {} \;
|
-exec chmod +x {} \;
|
||||||
- name: Download SDK
|
- name: Download SDK
|
||||||
uses: actions/download-artifact@v4
|
if: ${{ matrix.language != 'yaml' }}
|
||||||
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.language }}-sdk.tar.gz
|
name: ${{ matrix.language }}-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
- name: UnTar SDK folder
|
- name: UnTar SDK folder
|
||||||
|
if: ${{ matrix.language != 'yaml' }}
|
||||||
run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{
|
run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{
|
||||||
github.workspace}}/sdk/${{ matrix.language}}
|
github.workspace}}/sdk/${{ matrix.language}}
|
||||||
- name: Update path
|
- name: Update path
|
||||||
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
|
run: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH"
|
||||||
- name: Install Node dependencies
|
- name: Install Node dependencies
|
||||||
run: yarn global add typescript
|
run: yarn global add typescript
|
||||||
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
||||||
@@ -327,18 +463,23 @@ jobs:
|
|||||||
pip3 install virtualenv==20.0.23
|
pip3 install virtualenv==20.0.23
|
||||||
pip3 install pipenv
|
pip3 install pipenv
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
|
if: ${{ matrix.language != 'yaml' }}
|
||||||
run: make install_${{ matrix.language}}_sdk
|
run: make install_${{ matrix.language}}_sdk
|
||||||
- name: Configure AWS Credentials
|
- name: Generate Pulumi Access Token
|
||||||
uses: aws-actions/configure-aws-credentials@v4
|
id: generate_pulumi_token
|
||||||
|
uses: pulumi/auth-actions@1c89817aab0c66407723cdef72b05266e7376640 # v1.0.1
|
||||||
with:
|
with:
|
||||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
organization: pulumi
|
||||||
aws-region: ${{ env.AWS_REGION }}
|
requested-token-type: urn:pulumi:token-type:access_token:organization
|
||||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
export-environment-variables: false
|
||||||
role-duration-seconds: 3600
|
- name: Export AWS Credentials
|
||||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
uses: pulumi/esc-action@efb0bc8946938f0dfbfa00e829196ec95f0d0ea7 # v1.4.0
|
||||||
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }}
|
env:
|
||||||
|
PULUMI_ACCESS_TOKEN: ${{ steps.generate_pulumi_token.outputs.pulumi-access-token }}
|
||||||
|
with:
|
||||||
|
environment: logins/pulumi-ci
|
||||||
- name: Authenticate to Google Cloud
|
- name: Authenticate to Google Cloud
|
||||||
uses: google-github-actions/auth@v0
|
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
|
||||||
with:
|
with:
|
||||||
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
||||||
}}/locations/global/workloadIdentityPools/${{
|
}}/locations/global/workloadIdentityPools/${{
|
||||||
@@ -346,7 +487,7 @@ jobs:
|
|||||||
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
||||||
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
||||||
- name: Setup gcloud auth
|
- name: Setup gcloud auth
|
||||||
uses: google-github-actions/setup-gcloud@v2
|
uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1
|
||||||
with:
|
with:
|
||||||
install_components: gke-gcloud-auth-plugin
|
install_components: gke-gcloud-auth-plugin
|
||||||
- name: Install gotestfmt
|
- name: Install gotestfmt
|
||||||
@@ -358,35 +499,53 @@ jobs:
|
|||||||
run: >-
|
run: >-
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
cd examples && go test -v -json -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . 2>&1 | tee /tmp/gotest.log | gotestfmt
|
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
|
||||||
|
env:
|
||||||
|
GTIHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure in SDK tests
|
author_name: Failure in SDK tests
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
publish:
|
publish:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: test
|
needs: test
|
||||||
name: publish
|
name: publish
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Clear GitHub Actions Ubuntu runner disk space
|
- name: Clear GitHub Actions Ubuntu runner disk space
|
||||||
uses: jlumbroso/free-disk-space@v1.3.1
|
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
|
||||||
with:
|
with:
|
||||||
tool-cache: false
|
tool-cache: false
|
||||||
dotnet: false
|
dotnet: false
|
||||||
@@ -395,81 +554,103 @@ jobs:
|
|||||||
swap-storage: true
|
swap-storage: true
|
||||||
large-packages: false
|
large-packages: false
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Configure AWS Credentials
|
- name: Configure AWS Credentials
|
||||||
uses: aws-actions/configure-aws-credentials@v4
|
uses: aws-actions/configure-aws-credentials@00943011d9042930efac3dcd3a170e4273319bc8 # v5.1.0
|
||||||
with:
|
with:
|
||||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
aws-access-key-id: ${{ steps.esc-secrets.outputs.AWS_ACCESS_KEY_ID }}
|
||||||
aws-region: us-east-2
|
aws-region: us-east-2
|
||||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
aws-secret-access-key: ${{ steps.esc-secrets.outputs.AWS_SECRET_ACCESS_KEY }}
|
||||||
role-duration-seconds: 7200
|
role-duration-seconds: 7200
|
||||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||||
role-external-id: upload-pulumi-release
|
role-external-id: upload-pulumi-release
|
||||||
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
role-to-assume: ${{ steps.esc-secrets.outputs.AWS_UPLOAD_ROLE_ARN }}
|
||||||
- name: Run GoReleaser
|
- name: Run GoReleaser
|
||||||
uses: goreleaser/goreleaser-action@v5
|
uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
|
||||||
env:
|
env:
|
||||||
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
||||||
|
AZURE_SIGNING_CLIENT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID }}
|
||||||
|
AZURE_SIGNING_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET }}
|
||||||
|
AZURE_SIGNING_TENANT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID }}
|
||||||
|
AZURE_SIGNING_KEY_VAULT_URI: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI }}
|
||||||
|
SKIP_SIGNING: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET == '' && steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI == '' }}
|
||||||
|
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||||
with:
|
with:
|
||||||
args: -p 3 release --clean --timeout 60m0s
|
args: -p 3 release --clean --timeout 60m0s
|
||||||
version: latest
|
version: latest
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure in publishing binaries
|
author_name: Failure in publishing binaries
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
publish_sdk:
|
publish_sdk:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: publish
|
needs: publish
|
||||||
name: publish_sdks
|
name: publish_sdks
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Checkout Scripts Repo
|
- name: Checkout Scripts Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
path: ci-scripts
|
path: ci-scripts
|
||||||
repository: pulumi/scripts
|
repository: pulumi/scripts
|
||||||
- run: echo "ci-scripts" >> .git/info/exclude
|
- run: echo "ci-scripts" >> .git/info/exclude
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ env.NODEVERSION }}
|
node-version: ${{ env.NODEVERSION }}
|
||||||
registry-url: https://registry.npmjs.org
|
registry-url: https://registry.npmjs.org
|
||||||
- name: Setup DotNet
|
- name: Setup DotNet
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0
|
||||||
with:
|
with:
|
||||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHONVERSION }}
|
python-version: ${{ env.PYTHONVERSION }}
|
||||||
- name: Download python SDK
|
- name: Download python SDK
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: python-sdk.tar.gz
|
name: python-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
@@ -477,7 +658,7 @@ jobs:
|
|||||||
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
|
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
|
||||||
${{github.workspace}}/sdk/python
|
${{github.workspace}}/sdk/python
|
||||||
- name: Download dotnet SDK
|
- name: Download dotnet SDK
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: dotnet-sdk.tar.gz
|
name: dotnet-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
@@ -485,7 +666,7 @@ jobs:
|
|||||||
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
|
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
|
||||||
${{github.workspace}}/sdk/dotnet
|
${{github.workspace}}/sdk/dotnet
|
||||||
- name: Download nodejs SDK
|
- name: Download nodejs SDK
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: nodejs-sdk.tar.gz
|
name: nodejs-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
@@ -493,87 +674,113 @@ jobs:
|
|||||||
run: tar -zxf ${{github.workspace}}/sdk/nodejs.tar.gz -C
|
run: tar -zxf ${{github.workspace}}/sdk/nodejs.tar.gz -C
|
||||||
${{github.workspace}}/sdk/nodejs
|
${{github.workspace}}/sdk/nodejs
|
||||||
- name: Install Twine
|
- name: Install Twine
|
||||||
run: python -m pip install pip twine
|
run: python -m pip install twine==5.0.0
|
||||||
- name: Publish SDKs
|
- name: Publish SDKs
|
||||||
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
|
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
|
||||||
env:
|
env:
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
NUGET_PUBLISH_KEY: ${{ steps.esc-secrets.outputs.NUGET_PUBLISH_KEY }}
|
||||||
|
NODE_AUTH_TOKEN: ${{ steps.esc-secrets.outputs.NPM_TOKEN }}
|
||||||
PYPI_PUBLISH_ARTIFACTS: all
|
PYPI_PUBLISH_ARTIFACTS: all
|
||||||
|
PYPI_USERNAME: __token__
|
||||||
|
PYPI_PASSWORD: ${{ steps.esc-secrets.outputs.PYPI_API_TOKEN }}
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure in publishing SDK
|
author_name: Failure in publishing SDK
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
publish_java_sdk:
|
publish_java_sdk:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
needs: publish
|
needs: publish
|
||||||
name: publish_java_sdk
|
name: publish_java_sdk
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVAVERSION }}
|
java-version: ${{ env.JAVAVERSION }}
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
cache: gradle
|
cache: gradle
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/gradle-build-action@v3
|
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
||||||
with:
|
with:
|
||||||
gradle-version: "7.6"
|
gradle-version: "7.6"
|
||||||
- name: Download java SDK
|
- name: Download java SDK
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: java-sdk.tar.gz
|
name: java-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
- name: Uncompress java SDK
|
- name: Uncompress java SDK
|
||||||
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
||||||
${{github.workspace}}/sdk/java
|
${{github.workspace}}/sdk/java
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
||||||
|
with:
|
||||||
|
gradle-version: "7.6"
|
||||||
- name: Publish Java SDK
|
- name: Publish Java SDK
|
||||||
uses: gradle/gradle-build-action@v3
|
run: gradle -p ./sdk/java publishToSonatype closeAndReleaseSonatypeStagingRepository
|
||||||
env:
|
env:
|
||||||
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
||||||
with:
|
SIGNING_KEY_ID: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY_ID }}
|
||||||
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
SIGNING_KEY: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY }}
|
||||||
build-root-directory: ./sdk/java
|
SIGNING_PASSWORD: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_PASSWORD }}
|
||||||
gradle-version: 7.4.1
|
PUBLISH_REPO_PASSWORD: ${{ steps.esc-secrets.outputs.OSSRH_PASSWORD }}
|
||||||
|
PUBLISH_REPO_USERNAME: ${{ steps.esc-secrets.outputs.OSSRH_USERNAME }}
|
||||||
publish_go_sdk:
|
publish_go_sdk:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: publish-go-sdk
|
name: publish-go-sdk
|
||||||
needs: publish_sdk
|
needs: publish_sdk
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Download go SDK
|
- name: Download go SDK
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: go-sdk.tar.gz
|
name: go-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
@@ -585,25 +792,38 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
repository: ${{ github.repository }}
|
repository: ${{ github.repository }}
|
||||||
base-ref: ${{ github.sha }}
|
base-ref: ${{ github.sha }}
|
||||||
source: sdk
|
source: sdk/go/dockerbuild
|
||||||
path: sdk
|
path: sdk/go/dockerbuild
|
||||||
version: ${{ steps.version.outputs.version }}
|
version: ${{ steps.version.outputs.version }}
|
||||||
additive: false
|
additive: false
|
||||||
files: |-
|
files: "**"
|
||||||
go.*
|
|
||||||
go/**
|
|
||||||
!*.tar.gz
|
|
||||||
dispatch_docs_build:
|
dispatch_docs_build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: publish_go_sdk
|
needs: publish_go_sdk
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
steps:
|
steps:
|
||||||
|
- name: Checkout Repo
|
||||||
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
|
with:
|
||||||
|
lfs: true
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Dispatch Event
|
- name: Dispatch Event
|
||||||
run: pulumictl create docs-build pulumi-${{ env.PROVIDER }}
|
run: pulumictl create docs-build pulumi-${{ env.PROVIDER }}
|
||||||
${GITHUB_REF#refs/tags/}
|
"${GITHUB_REF#refs/tags/}"
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||||
name: dispatch_docs_build
|
name: dispatch_docs_build
|
||||||
|
|||||||
54
.github/workflows/release_command.yml
vendored
Normal file
54
.github/workflows/release_command.yml
vendored
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
|
||||||
|
|
||||||
|
name: release-command
|
||||||
|
on:
|
||||||
|
repository_dispatch:
|
||||||
|
types:
|
||||||
|
- release-command
|
||||||
|
jobs:
|
||||||
|
should_release:
|
||||||
|
name: Should release PR
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repo
|
||||||
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
|
- name: Should release PR
|
||||||
|
uses: pulumi/action-release-by-pr-label@main
|
||||||
|
with:
|
||||||
|
command: "should-release"
|
||||||
|
repo: ${{ github.repository }}
|
||||||
|
pr: ${{ github.event.client_payload.pull_request.number }}
|
||||||
|
version: ${{ github.event.client_payload.slash_command.args.all }}
|
||||||
|
slack_channel: ${{ steps.esc-secrets.outputs.RELEASE_OPS_STAGING_SLACK_CHANNEL }}
|
||||||
|
env:
|
||||||
|
RELEASE_BOT_ENDPOINT: ${{ steps.esc-secrets.outputs.RELEASE_BOT_ENDPOINT }}
|
||||||
|
RELEASE_BOT_KEY: ${{ steps.esc-secrets.outputs.RELEASE_BOT_KEY }}
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- if: failure()
|
||||||
|
name: Notify failure
|
||||||
|
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
|
||||||
|
issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
|
||||||
|
body: |
|
||||||
|
"release command failed: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
|
||||||
|
- if: success()
|
||||||
|
name: Notify success
|
||||||
|
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
|
||||||
|
comment-id: ${{ github.event.client_payload.github.payload.comment.id }}
|
||||||
|
reaction-type: hooray
|
||||||
399
.github/workflows/run-acceptance-tests.yml
vendored
399
.github/workflows/run-acceptance-tests.yml
vendored
@@ -6,100 +6,98 @@ on:
|
|||||||
types:
|
types:
|
||||||
- run-acceptance-tests-command
|
- run-acceptance-tests-command
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- main
|
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- CHANGELOG.md
|
- CHANGELOG.md
|
||||||
workflow_dispatch: {}
|
workflow_dispatch: {}
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
|
||||||
PROVIDER: docker-build
|
PROVIDER: docker-build
|
||||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
|
||||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
|
||||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
|
||||||
PYPI_USERNAME: __token__
|
|
||||||
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
||||||
TRAVIS_OS_NAME: linux
|
TRAVIS_OS_NAME: linux
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
GOVERSION: "1.21.x"
|
||||||
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
NODEVERSION: "20.x"
|
||||||
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
PYTHONVERSION: "3.11.8"
|
||||||
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
DOTNETVERSION: "8.0.x"
|
||||||
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
|
||||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
|
||||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
|
||||||
GOVERSION: 1.21.x
|
|
||||||
NODEVERSION: 20.x
|
|
||||||
PYTHONVERSION: "3.11"
|
|
||||||
DOTNETVERSION: |
|
|
||||||
6.0.x
|
|
||||||
3.1.301
|
|
||||||
JAVAVERSION: "11"
|
JAVAVERSION: "11"
|
||||||
AWS_REGION: us-west-2
|
|
||||||
PULUMI_API: https://api.pulumi-staging.io
|
|
||||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
AWS_REGION: us-west-2
|
||||||
AZURE_LOCATION: westus
|
AZURE_LOCATION: westus
|
||||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
|
||||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||||
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
||||||
GOOGLE_PROJECT_NUMBER: 895284651812
|
GOOGLE_PROJECT_NUMBER: "895284651812"
|
||||||
GOOGLE_REGION: us-central1
|
GOOGLE_REGION: us-central1
|
||||||
GOOGLE_ZONE: us-central1-a
|
GOOGLE_ZONE: us-central1-a
|
||||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
PULUMI_API: https://api.pulumi-staging.io
|
||||||
PR_COMMIT_SHA: ${{ github.event.client_payload.pull_request.head.sha }}
|
PR_COMMIT_SHA: ${{ github.event.client_payload.pull_request.head.sha }}
|
||||||
jobs:
|
jobs:
|
||||||
comment-notification:
|
comment-notification:
|
||||||
|
if: github.event_name == 'repository_dispatch'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: comment-notification
|
name: comment-notification
|
||||||
steps:
|
steps:
|
||||||
|
- name: Checkout Repo
|
||||||
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
|
with:
|
||||||
|
lfs: true
|
||||||
|
persist-credentials: false
|
||||||
|
ref: ${{ env.PR_COMMIT_SHA }}
|
||||||
- name: Create URL to the run output
|
- name: Create URL to the run output
|
||||||
id: vars
|
id: vars
|
||||||
run: echo
|
run: echo
|
||||||
run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID
|
"run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"
|
||||||
>> "$GITHUB_OUTPUT"
|
>> "$GITHUB_OUTPUT"
|
||||||
- name: Update with Result
|
- name: Update with Result
|
||||||
uses: peter-evans/create-or-update-comment@v1
|
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.PULUMI_BOT_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
|
repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
|
||||||
issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
|
issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
|
||||||
body: "Please view the PR build: ${{ steps.vars.outputs.run-url }}"
|
body: "Please view the PR build: ${{ steps.vars.outputs.run-url }}"
|
||||||
if: github.event_name == 'repository_dispatch'
|
|
||||||
prerequisites:
|
prerequisites:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: prerequisites
|
name: prerequisites
|
||||||
|
permissions:
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
|
pull-requests: write # For schema check comment.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
ref: ${{ env.PR_COMMIT_SHA }}
|
persist-credentials: false
|
||||||
|
ref: ${{ env.PR_COMMIT_SHA }}
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- if: github.event_name == 'pull_request'
|
- if: github.event_name == 'pull_request'
|
||||||
name: Install Schema Tools
|
name: Install Schema Tools
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/schema-tools
|
repo: pulumi/schema-tools
|
||||||
- name: Build codegen binaries
|
- name: Build codegen binaries
|
||||||
@@ -109,25 +107,27 @@ jobs:
|
|||||||
- if: github.event_name == 'pull_request'
|
- if: github.event_name == 'pull_request'
|
||||||
name: Check Schema is Valid
|
name: Check Schema is Valid
|
||||||
run: >-
|
run: >-
|
||||||
echo 'SCHEMA_CHANGES<<EOF' >> $GITHUB_ENV
|
{
|
||||||
|
echo 'SCHEMA_CHANGES<<EOF';
|
||||||
|
|
||||||
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV
|
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json;
|
||||||
|
|
||||||
echo 'EOF' >> $GITHUB_ENV
|
echo 'EOF';
|
||||||
|
} >> "$GITHUB_ENV"
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||||
- if: github.event_name == 'pull_request'
|
- if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
|
||||||
name: Comment on PR with Details of Schema Check
|
name: Comment on PR with Details of Schema Check
|
||||||
uses: thollander/actions-comment-pull-request@v2
|
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||||
with:
|
with:
|
||||||
message: |
|
message: |
|
||||||
${{ env.SCHEMA_CHANGES }}
|
${{ env.SCHEMA_CHANGES }}
|
||||||
comment_tag: schemaCheck
|
comment-tag: schemaCheck
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') &&
|
- if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') &&
|
||||||
github.actor == 'pulumi-bot'
|
github.actor == 'pulumi-bot'
|
||||||
name: Add label if no breaking changes
|
name: Add label if no breaking changes
|
||||||
uses: actions-ecosystem/action-add-labels@v1.1.0
|
uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3
|
||||||
with:
|
with:
|
||||||
labels: impact/no-changelog-required
|
labels: impact/no-changelog-required
|
||||||
number: ${{ github.event.issue.number }}
|
number: ${{ github.event.issue.number }}
|
||||||
@@ -135,44 +135,102 @@ jobs:
|
|||||||
- name: Build Provider
|
- name: Build Provider
|
||||||
run: make provider
|
run: make provider
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
id: worktreeClean
|
||||||
|
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||||
with:
|
with:
|
||||||
allowed-changes: |-
|
allowed-changes: |-
|
||||||
sdk/**/pulumi-plugin.json
|
sdk/**/pulumi-plugin.json
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
sdk/dotnet/*.*.csproj
|
||||||
sdk/go/*/internal/pulumiUtilities.go
|
sdk/dotnet/version.txt
|
||||||
|
sdk/go/**/pulumiUtilities.go
|
||||||
sdk/nodejs/package.json
|
sdk/nodejs/package.json
|
||||||
sdk/python/pyproject.toml
|
sdk/python/pyproject.toml
|
||||||
|
sdk/java/build.gradle
|
||||||
|
- name: Commit SDK changes for Renovate
|
||||||
|
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||||
|
contains(github.actor, 'renovate') && github.event_name ==
|
||||||
|
'pull_request'
|
||||||
|
shell: bash
|
||||||
|
run: >
|
||||||
|
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
||||||
|
|
||||||
|
git config --global user.email "bot@pulumi.com"
|
||||||
|
|
||||||
|
git config --global user.name "pulumi-bot"
|
||||||
|
|
||||||
|
# Stash local changes and check out the PR's branch directly.
|
||||||
|
|
||||||
|
git stash
|
||||||
|
|
||||||
|
git fetch
|
||||||
|
|
||||||
|
git checkout "origin/$HEAD_REF"
|
||||||
|
|
||||||
|
|
||||||
|
# Apply and add our changes, but don't commit any files we expect to
|
||||||
|
|
||||||
|
# always change due to versioning.
|
||||||
|
|
||||||
|
git stash pop
|
||||||
|
|
||||||
|
git add sdk
|
||||||
|
|
||||||
|
git reset sdk/python/*/pulumi-plugin.json \
|
||||||
|
sdk/python/pyproject.toml \
|
||||||
|
sdk/dotnet/pulumi-plugin.json \
|
||||||
|
sdk/dotnet/*.*.csproj \
|
||||||
|
sdk/dotnet/version.txt \
|
||||||
|
sdk/go/*/pulumi-plugin.json \
|
||||||
|
sdk/go/*/internal/pulumiUtilities.go \
|
||||||
|
sdk/nodejs/package.json
|
||||||
|
|
||||||
|
git commit -m 'Commit SDK for Renovate'
|
||||||
|
|
||||||
|
|
||||||
|
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||||
|
|
||||||
|
# workflow. https://github.com/orgs/community/discussions/25702
|
||||||
|
|
||||||
|
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||||
|
env:
|
||||||
|
HEAD_REF: ${{ github.head_ref }}
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar provider binaries
|
- name: Tar provider binaries
|
||||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||||
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
||||||
pulumi-gen-${{ env.PROVIDER}}
|
pulumi-gen-${{ env.PROVIDER}}
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||||
with:
|
with:
|
||||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||||
path: ${{ github.workspace }}/bin/provider.tar.gz
|
path: ${{ github.workspace }}/bin/provider.tar.gz
|
||||||
- name: Test Provider Library
|
- name: Test Provider Library
|
||||||
run: make test_provider
|
run: make test_provider
|
||||||
- name: Upload coverage reports to Codecov
|
|
||||||
uses: codecov/codecov-action@v4
|
|
||||||
env:
|
env:
|
||||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
ARM_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.ARM_CLIENT_SECRET }}
|
||||||
|
DIGITALOCEAN_TOKEN: ${{ steps.esc-secrets.outputs.DIGITALOCEAN_TOKEN }}
|
||||||
|
DOCKER_HUB_PASSWORD: ${{ steps.esc-secrets.outputs.DOCKER_HUB_PASSWORD }}
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Upload coverage reports to Codecov
|
||||||
|
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
|
||||||
|
env:
|
||||||
|
CODECOV_TOKEN: ${{ steps.esc-secrets.outputs.CODECOV_TOKEN }}
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure in building provider prerequisites
|
author_name: Failure in building provider prerequisites
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
if: github.event_name == 'repository_dispatch' ||
|
if: github.event_name == 'repository_dispatch' ||
|
||||||
github.event.pull_request.head.repo.full_name == github.repository
|
github.event.pull_request.head.repo.full_name == github.repository
|
||||||
build_sdks:
|
build_sdks:
|
||||||
needs: prerequisites
|
needs: prerequisites
|
||||||
runs-on: pulumi-ubuntu-8core
|
runs-on: pulumi-ubuntu-8core
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: true
|
fail-fast: ${{ ! contains(github.actor, 'renovate') }}
|
||||||
matrix:
|
matrix:
|
||||||
language:
|
language:
|
||||||
- nodejs
|
- nodejs
|
||||||
@@ -181,53 +239,68 @@ jobs:
|
|||||||
- go
|
- go
|
||||||
- java
|
- java
|
||||||
name: build_sdks
|
name: build_sdks
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
ref: ${{ env.PR_COMMIT_SHA }}
|
persist-credentials: false
|
||||||
|
ref: ${{ env.PR_COMMIT_SHA }}
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ env.NODEVERSION }}
|
node-version: ${{ env.NODEVERSION }}
|
||||||
registry-url: https://registry.npmjs.org
|
registry-url: https://registry.npmjs.org
|
||||||
- name: Setup DotNet
|
- name: Setup DotNet
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0
|
||||||
with:
|
with:
|
||||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHONVERSION }}
|
python-version: ${{ env.PYTHONVERSION }}
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVAVERSION }}
|
java-version: ${{ env.JAVAVERSION }}
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
cache: gradle
|
cache: gradle
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/gradle-build-action@v3
|
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
||||||
with:
|
with:
|
||||||
gradle-version: "7.6"
|
gradle-version: "7.6"
|
||||||
- name: Download provider + tfgen binaries
|
- name: Download provider
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||||
path: ${{ github.workspace }}/bin
|
path: ${{ github.workspace }}/bin
|
||||||
@@ -242,30 +315,82 @@ jobs:
|
|||||||
- name: Build SDK
|
- name: Build SDK
|
||||||
run: make build_${{ matrix.language }}
|
run: make build_${{ matrix.language }}
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
id: worktreeClean
|
||||||
|
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
||||||
with:
|
with:
|
||||||
allowed-changes: |-
|
allowed-changes: |-
|
||||||
sdk/**/pulumi-plugin.json
|
sdk/**/pulumi-plugin.json
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
sdk/dotnet/*.*.csproj
|
||||||
sdk/go/*/internal/pulumiUtilities.go
|
sdk/dotnet/version.txt
|
||||||
|
sdk/go/**/pulumiUtilities.go
|
||||||
sdk/nodejs/package.json
|
sdk/nodejs/package.json
|
||||||
sdk/python/pyproject.toml
|
sdk/python/pyproject.toml
|
||||||
|
sdk/java/build.gradle
|
||||||
|
- name: Commit SDK changes for Renovate
|
||||||
|
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||||
|
contains(github.actor, 'renovate') && github.event_name ==
|
||||||
|
'pull_request'
|
||||||
|
shell: bash
|
||||||
|
run: >
|
||||||
|
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
||||||
|
|
||||||
|
git config --global user.email "bot@pulumi.com"
|
||||||
|
|
||||||
|
git config --global user.name "pulumi-bot"
|
||||||
|
|
||||||
|
# Stash local changes and check out the PR's branch directly.
|
||||||
|
|
||||||
|
git stash
|
||||||
|
|
||||||
|
git fetch
|
||||||
|
|
||||||
|
git checkout "origin/$HEAD_REF"
|
||||||
|
|
||||||
|
|
||||||
|
# Apply and add our changes, but don't commit any files we expect to
|
||||||
|
|
||||||
|
# always change due to versioning.
|
||||||
|
|
||||||
|
git stash pop
|
||||||
|
|
||||||
|
git add sdk
|
||||||
|
|
||||||
|
git reset sdk/python/*/pulumi-plugin.json \
|
||||||
|
sdk/python/pyproject.toml \
|
||||||
|
sdk/dotnet/pulumi-plugin.json \
|
||||||
|
sdk/dotnet/*.*.csproj \
|
||||||
|
sdk/dotnet/version.txt \
|
||||||
|
sdk/go/*/pulumi-plugin.json \
|
||||||
|
sdk/go/*/internal/pulumiUtilities.go \
|
||||||
|
sdk/nodejs/package.json
|
||||||
|
|
||||||
|
git commit -m 'Commit SDK for Renovate'
|
||||||
|
|
||||||
|
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||||
|
|
||||||
|
# workflow. https://github.com/orgs/community/discussions/25702
|
||||||
|
|
||||||
|
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||||
|
env:
|
||||||
|
HEAD_REF: ${{ github.head_ref }}
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar SDK folder
|
- name: Tar SDK folder
|
||||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.language }}-sdk.tar.gz
|
name: ${{ matrix.language }}-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
||||||
retention-days: 30
|
retention-days: 30
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure while building SDKs
|
author_name: Failure while building SDKs
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
if: github.event_name == 'repository_dispatch' ||
|
if: github.event_name == 'repository_dispatch' ||
|
||||||
github.event.pull_request.head.repo.full_name == github.repository
|
github.event.pull_request.head.repo.full_name == github.repository
|
||||||
test:
|
test:
|
||||||
@@ -281,57 +406,70 @@ jobs:
|
|||||||
- dotnet
|
- dotnet
|
||||||
- go
|
- go
|
||||||
- java
|
- java
|
||||||
|
- yaml
|
||||||
name: test
|
name: test
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
id-token: write
|
id-token: write
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
ref: ${{ env.PR_COMMIT_SHA }}
|
persist-credentials: false
|
||||||
|
ref: ${{ env.PR_COMMIT_SHA }}
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- id: version
|
- id: version
|
||||||
name: Set Provider Version
|
name: Set Provider Version
|
||||||
uses: pulumi/provider-version-action@v1
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
set-env: PROVIDER_VERSION
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ env.NODEVERSION }}
|
node-version: ${{ env.NODEVERSION }}
|
||||||
registry-url: https://registry.npmjs.org
|
registry-url: https://registry.npmjs.org
|
||||||
- name: Setup DotNet
|
- name: Setup DotNet
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0
|
||||||
with:
|
with:
|
||||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHONVERSION }}
|
python-version: ${{ env.PYTHONVERSION }}
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
|
||||||
with:
|
with:
|
||||||
java-version: ${{ env.JAVAVERSION }}
|
java-version: ${{ env.JAVAVERSION }}
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
cache: gradle
|
cache: gradle
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/gradle-build-action@v3
|
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
||||||
with:
|
with:
|
||||||
gradle-version: "7.6"
|
gradle-version: "7.6"
|
||||||
- name: Download provider + tfgen binaries
|
- name: Download provider
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||||
path: ${{ github.workspace }}/bin
|
path: ${{ github.workspace }}/bin
|
||||||
@@ -342,15 +480,17 @@ jobs:
|
|||||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||||
-exec chmod +x {} \;
|
-exec chmod +x {} \;
|
||||||
- name: Download SDK
|
- name: Download SDK
|
||||||
uses: actions/download-artifact@v4
|
if: ${{ matrix.language != 'yaml' }}
|
||||||
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.language }}-sdk.tar.gz
|
name: ${{ matrix.language }}-sdk.tar.gz
|
||||||
path: ${{ github.workspace}}/sdk/
|
path: ${{ github.workspace}}/sdk/
|
||||||
- name: UnTar SDK folder
|
- name: UnTar SDK folder
|
||||||
|
if: ${{ matrix.language != 'yaml' }}
|
||||||
run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{
|
run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{
|
||||||
github.workspace}}/sdk/${{ matrix.language}}
|
github.workspace}}/sdk/${{ matrix.language}}
|
||||||
- name: Update path
|
- name: Update path
|
||||||
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
|
run: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH"
|
||||||
- name: Install Node dependencies
|
- name: Install Node dependencies
|
||||||
run: yarn global add typescript
|
run: yarn global add typescript
|
||||||
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
||||||
@@ -359,18 +499,23 @@ jobs:
|
|||||||
pip3 install virtualenv==20.0.23
|
pip3 install virtualenv==20.0.23
|
||||||
pip3 install pipenv
|
pip3 install pipenv
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
|
if: ${{ matrix.language != 'yaml' }}
|
||||||
run: make install_${{ matrix.language}}_sdk
|
run: make install_${{ matrix.language}}_sdk
|
||||||
- name: Configure AWS Credentials
|
- name: Generate Pulumi Access Token
|
||||||
uses: aws-actions/configure-aws-credentials@v4
|
id: generate_pulumi_token
|
||||||
|
uses: pulumi/auth-actions@1c89817aab0c66407723cdef72b05266e7376640 # v1.0.1
|
||||||
with:
|
with:
|
||||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
organization: pulumi
|
||||||
aws-region: ${{ env.AWS_REGION }}
|
requested-token-type: urn:pulumi:token-type:access_token:organization
|
||||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
export-environment-variables: false
|
||||||
role-duration-seconds: 3600
|
- name: Export AWS Credentials
|
||||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
uses: pulumi/esc-action@efb0bc8946938f0dfbfa00e829196ec95f0d0ea7 # v1.4.0
|
||||||
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }}
|
env:
|
||||||
|
PULUMI_ACCESS_TOKEN: ${{ steps.generate_pulumi_token.outputs.pulumi-access-token }}
|
||||||
|
with:
|
||||||
|
environment: logins/pulumi-ci
|
||||||
- name: Authenticate to Google Cloud
|
- name: Authenticate to Google Cloud
|
||||||
uses: google-github-actions/auth@v0
|
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
|
||||||
with:
|
with:
|
||||||
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
||||||
}}/locations/global/workloadIdentityPools/${{
|
}}/locations/global/workloadIdentityPools/${{
|
||||||
@@ -378,7 +523,7 @@ jobs:
|
|||||||
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
||||||
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
||||||
- name: Setup gcloud auth
|
- name: Setup gcloud auth
|
||||||
uses: google-github-actions/setup-gcloud@v2
|
uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1
|
||||||
with:
|
with:
|
||||||
install_components: gke-gcloud-auth-plugin
|
install_components: gke-gcloud-auth-plugin
|
||||||
- name: Install gotestfmt
|
- name: Install gotestfmt
|
||||||
@@ -390,46 +535,78 @@ jobs:
|
|||||||
run: >-
|
run: >-
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
cd examples && go test -v -json -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . 2>&1 | tee /tmp/gotest.log | gotestfmt
|
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- if: failure() && github.event_name == 'push'
|
- if: failure() && github.event_name == 'push'
|
||||||
name: Notify Slack
|
name: Notify Slack
|
||||||
uses: 8398a7/action-slack@v3
|
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||||
with:
|
with:
|
||||||
author_name: Failure in SDK tests
|
author_name: Failure in SDK tests
|
||||||
fields: repo,commit,author,action
|
fields: repo,commit,author,action
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
env:
|
||||||
|
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||||
if: github.event_name == 'repository_dispatch' ||
|
if: github.event_name == 'repository_dispatch' ||
|
||||||
github.event.pull_request.head.repo.full_name == github.repository
|
github.event.pull_request.head.repo.full_name == github.repository
|
||||||
sentinel:
|
sentinel:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: sentinel
|
name: sentinel
|
||||||
steps:
|
steps:
|
||||||
- name: Is workflow a success
|
- name: Checkout Repo
|
||||||
run: echo yes
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
|
with:
|
||||||
|
lfs: true
|
||||||
|
persist-credentials: false
|
||||||
|
ref: ${{ env.PR_COMMIT_SHA }}
|
||||||
|
- env:
|
||||||
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
|
- name: Mark workflow as successful
|
||||||
|
uses: guibranco/github-status-action-v2@0849440ec82c5fa69b2377725b9b7852a3977e76 # v1.1.13
|
||||||
|
with:
|
||||||
|
authToken: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
context: Sentinel
|
||||||
|
state: success
|
||||||
|
description: Sentinel checks passed
|
||||||
|
sha: ${{ github.event.pull_request.head.sha || github.sha }}
|
||||||
|
permissions:
|
||||||
|
statuses: write
|
||||||
|
id-token: write # For ESC secrets.
|
||||||
if: github.event_name == 'repository_dispatch' ||
|
if: github.event_name == 'repository_dispatch' ||
|
||||||
github.event.pull_request.head.repo.full_name == github.repository
|
github.event.pull_request.head.repo.full_name == github.repository
|
||||||
needs:
|
needs:
|
||||||
- test
|
- test
|
||||||
|
- prerequisites
|
||||||
- lint
|
- lint
|
||||||
lint:
|
lint:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
|
persist-credentials: false
|
||||||
ref: ${{ env.PR_COMMIT_SHA }}
|
ref: ${{ env.PR_COMMIT_SHA }}
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
|
- name: Disarm go:embed directives to enable linters that compile source code
|
||||||
|
run: git grep -l 'go:embed' -- provider | xargs --no-run-if-empty sed -i
|
||||||
|
's/go:embed/ goembed/g'
|
||||||
- name: golangci-lint provider pkg
|
- name: golangci-lint provider pkg
|
||||||
uses: golangci/golangci-lint-action@v4
|
uses: golangci/golangci-lint-action@55c2c1448f86e01eaae002a5a3a9624417608d84 # v6.5.2
|
||||||
with:
|
with:
|
||||||
version: ${{ env.GOLANGCI_LINT_VERSION }}
|
version: ${{ env.GOLANGCI_LINT_VERSION }}
|
||||||
args: -c ../.golangci.yml
|
working-directory: .
|
||||||
working-directory: provider
|
|
||||||
name: lint
|
name: lint
|
||||||
if: github.event_name == 'repository_dispatch' ||
|
if: github.event_name == 'repository_dispatch' ||
|
||||||
github.event.pull_request.head.repo.full_name == github.repository
|
github.event.pull_request.head.repo.full_name == github.repository
|
||||||
|
|||||||
95
.github/workflows/weekly-pulumi-update.yml
vendored
95
.github/workflows/weekly-pulumi-update.yml
vendored
@@ -8,81 +8,78 @@ on:
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||||
PROVIDER: docker-build
|
PROVIDER: docker-build
|
||||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
|
||||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
|
||||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
|
||||||
PYPI_USERNAME: __token__
|
|
||||||
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
||||||
TRAVIS_OS_NAME: linux
|
TRAVIS_OS_NAME: linux
|
||||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
GOVERSION: "1.21.x"
|
||||||
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
NODEVERSION: "20.x"
|
||||||
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
PYTHONVERSION: "3.11.8"
|
||||||
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
DOTNETVERSION: "8.0.x"
|
||||||
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
|
||||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
|
||||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
|
||||||
GOVERSION: 1.21.x
|
|
||||||
NODEVERSION: 20.x
|
|
||||||
PYTHONVERSION: "3.11"
|
|
||||||
DOTNETVERSION: |
|
|
||||||
6.0.x
|
|
||||||
3.1.301
|
|
||||||
JAVAVERSION: "11"
|
JAVAVERSION: "11"
|
||||||
AWS_REGION: us-west-2
|
|
||||||
PULUMI_API: https://api.pulumi-staging.io
|
|
||||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
AWS_REGION: us-west-2
|
||||||
AZURE_LOCATION: westus
|
AZURE_LOCATION: westus
|
||||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
|
||||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||||
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
||||||
GOOGLE_PROJECT_NUMBER: 895284651812
|
GOOGLE_PROJECT_NUMBER: "895284651812"
|
||||||
GOOGLE_REGION: us-central1
|
GOOGLE_REGION: us-central1
|
||||||
GOOGLE_ZONE: us-central1-a
|
GOOGLE_ZONE: us-central1-a
|
||||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
PULUMI_API: https://api.pulumi-staging.io
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
weekly-pulumi-update:
|
weekly-pulumi-update:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
permissions: write-all
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- env:
|
||||||
name: Set Provider Version
|
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||||
uses: pulumi/provider-version-action@v1
|
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||||
with:
|
ESC_ACTION_OIDC_AUTH: "true"
|
||||||
set-env: PROVIDER_VERSION
|
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||||
|
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||||
|
id: esc-secrets
|
||||||
|
name: Fetch secrets from ESC
|
||||||
|
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOVERSION }}
|
go-version: ${{ env.GOVERSION }}
|
||||||
cache-dependency-path: "**/*.sum"
|
cache-dependency-path: "**/*.sum"
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||||
with:
|
with:
|
||||||
repo: pulumi/pulumictl
|
repo: pulumi/pulumictl
|
||||||
- name: Install Pulumi CLI
|
- name: Install Pulumi CLI
|
||||||
uses: pulumi/actions@v5
|
uses: pulumi/actions@cc7494be991dba0978f7ffafaf995b0449a0998e # v6.5.0
|
||||||
- name: Setup DotNet
|
- name: Setup DotNet
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d # v5.0.0
|
||||||
with:
|
with:
|
||||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||||
with:
|
with:
|
||||||
node-version: ${{ env.NODEVERSION }}
|
node-version: ${{ env.NODEVERSION }}
|
||||||
registry-url: https://registry.npmjs.org
|
registry-url: https://registry.npmjs.org
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHONVERSION }}
|
python-version: ${{ env.PYTHONVERSION }}
|
||||||
|
- name: Setup Java
|
||||||
|
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
|
||||||
|
with:
|
||||||
|
java-version: ${{ env.JAVAVERSION }}
|
||||||
|
distribution: temurin
|
||||||
|
cache: gradle
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
||||||
|
with:
|
||||||
|
gradle-version: "7.6"
|
||||||
- name: Update Pulumi/Pulumi
|
- name: Update Pulumi/Pulumi
|
||||||
id: gomod
|
id: gomod
|
||||||
run: >-
|
run: >-
|
||||||
@@ -92,7 +89,9 @@ jobs:
|
|||||||
|
|
||||||
git checkout -b update-pulumi/${{ github.run_id }}-${{ github.run_number }}
|
git checkout -b update-pulumi/${{ github.run_id }}-${{ github.run_number }}
|
||||||
|
|
||||||
for MODFILE in $(find . -name go.mod); do pushd $(dirname $MODFILE); go get github.com/pulumi/pulumi/pkg/v3 github.com/pulumi/pulumi/sdk/v3; go mod tidy; popd; done
|
find . -name go.mod -execdir sh -c 'go get github.com/pulumi/pulumi/pkg/v3 github.com/pulumi/pulumi/sdk/v3; go mod tidy' \;
|
||||||
|
|
||||||
|
gh repo view pulumi/pulumi --json latestRelease --jq .latestRelease.tagName | sed 's/^v//' > .pulumi.version
|
||||||
|
|
||||||
git update-index -q --refresh
|
git update-index -q --refresh
|
||||||
|
|
||||||
@@ -130,12 +129,14 @@ jobs:
|
|||||||
- name: Create PR
|
- name: Create PR
|
||||||
id: create-pr
|
id: create-pr
|
||||||
if: steps.gomod.outputs.changes != 0
|
if: steps.gomod.outputs.changes != 0
|
||||||
uses: repo-sync/pull-request@v2.6.2
|
run: >
|
||||||
with:
|
ver=$(cat .pulumi.version)
|
||||||
source_branch: update-pulumi/${{ github.run_id }}-${{ github.run_number }}
|
|
||||||
destination_branch: main
|
msg="Automated upgrade: bump pulumi/pulumi to ${ver}"
|
||||||
pr_title: Automated Pulumi/Pulumi upgrade
|
|
||||||
github_token: ${{ secrets.PULUMI_BOT_TOKEN }}
|
# See https://github.com/cli/cli/issues/6485#issuecomment-2560935183 for --head workaround
|
||||||
|
|
||||||
|
gh pr create -t "$msg" -b "$msg" --head "$(git branch --show-current)"
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||||
name: weekly-pulumi-update
|
name: weekly-pulumi-update
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ linters:
|
|||||||
- depguard
|
- depguard
|
||||||
- errcheck
|
- errcheck
|
||||||
- exhaustive
|
- exhaustive
|
||||||
- exportloopref
|
- copyloopvar
|
||||||
- gci
|
- gci
|
||||||
- gocritic
|
- gocritic
|
||||||
- gofumpt
|
- gofumpt
|
||||||
|
|||||||
@@ -2,24 +2,43 @@
|
|||||||
|
|
||||||
project_name: pulumi-docker-build
|
project_name: pulumi-docker-build
|
||||||
builds:
|
builds:
|
||||||
- dir: provider
|
- id: build-provider
|
||||||
|
dir: provider
|
||||||
env:
|
env:
|
||||||
- CGO_ENABLED=0
|
- CGO_ENABLED=0
|
||||||
- GO111MODULE=on
|
- GO111MODULE=on
|
||||||
goos:
|
goos:
|
||||||
- darwin
|
- darwin
|
||||||
- windows
|
|
||||||
- linux
|
- linux
|
||||||
goarch:
|
goarch:
|
||||||
- amd64
|
- amd64
|
||||||
- arm64
|
- arm64
|
||||||
ignore: []
|
ignore: &a1 []
|
||||||
main: ./cmd/pulumi-resource-docker-build/
|
main: ./cmd/pulumi-resource-docker-build/
|
||||||
ldflags:
|
ldflags: &a2
|
||||||
- -X
|
- -s
|
||||||
github.com/pulumi/pulumi-docker-build/provider/pkg/version.Version={{.Tag}}
|
- -w
|
||||||
- -X github.com/pulumi/pulumi-docker-build/provider.Version={{.Tag}}
|
- -X
|
||||||
|
github.com/pulumi/pulumi-docker-build/provider/pkg/version.Version={{.Tag}}
|
||||||
|
- -X github.com/pulumi/pulumi-docker-build/provider.Version={{.Tag}}
|
||||||
binary: pulumi-resource-docker-build
|
binary: pulumi-resource-docker-build
|
||||||
|
- id: build-provider-sign-windows
|
||||||
|
dir: provider
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=0
|
||||||
|
- GO111MODULE=on
|
||||||
|
goos:
|
||||||
|
- windows
|
||||||
|
goarch:
|
||||||
|
- amd64
|
||||||
|
- arm64
|
||||||
|
ignore: *a1
|
||||||
|
main: ./cmd/pulumi-resource-docker-build/
|
||||||
|
ldflags: *a2
|
||||||
|
binary: pulumi-resource-docker-build
|
||||||
|
hooks:
|
||||||
|
post:
|
||||||
|
- make sign-goreleaser-exe-{{ .Arch }}
|
||||||
archives:
|
archives:
|
||||||
- name_template: "{{ .Binary }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}"
|
- name_template: "{{ .Binary }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}"
|
||||||
id: archive
|
id: archive
|
||||||
|
|||||||
@@ -2,24 +2,43 @@
|
|||||||
|
|
||||||
project_name: pulumi-docker-build
|
project_name: pulumi-docker-build
|
||||||
builds:
|
builds:
|
||||||
- dir: provider
|
- id: build-provider
|
||||||
|
dir: provider
|
||||||
env:
|
env:
|
||||||
- CGO_ENABLED=0
|
- CGO_ENABLED=0
|
||||||
- GO111MODULE=on
|
- GO111MODULE=on
|
||||||
goos:
|
goos:
|
||||||
- darwin
|
- darwin
|
||||||
- windows
|
|
||||||
- linux
|
- linux
|
||||||
goarch:
|
goarch:
|
||||||
- amd64
|
- amd64
|
||||||
- arm64
|
- arm64
|
||||||
ignore: []
|
ignore: &a1 []
|
||||||
main: ./cmd/pulumi-resource-docker-build/
|
main: ./cmd/pulumi-resource-docker-build/
|
||||||
ldflags:
|
ldflags: &a2
|
||||||
- -X
|
- -s
|
||||||
github.com/pulumi/pulumi-docker-build/provider/pkg/version.Version={{.Tag}}
|
- -w
|
||||||
- -X github.com/pulumi/pulumi-docker-build/provider.Version={{.Tag}}
|
- -X
|
||||||
|
github.com/pulumi/pulumi-docker-build/provider/pkg/version.Version={{.Tag}}
|
||||||
|
- -X github.com/pulumi/pulumi-docker-build/provider.Version={{.Tag}}
|
||||||
binary: pulumi-resource-docker-build
|
binary: pulumi-resource-docker-build
|
||||||
|
- id: build-provider-sign-windows
|
||||||
|
dir: provider
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=0
|
||||||
|
- GO111MODULE=on
|
||||||
|
goos:
|
||||||
|
- windows
|
||||||
|
goarch:
|
||||||
|
- amd64
|
||||||
|
- arm64
|
||||||
|
ignore: *a1
|
||||||
|
main: ./cmd/pulumi-resource-docker-build/
|
||||||
|
ldflags: *a2
|
||||||
|
binary: pulumi-resource-docker-build
|
||||||
|
hooks:
|
||||||
|
post:
|
||||||
|
- make sign-goreleaser-exe-{{ .Arch }}
|
||||||
archives:
|
archives:
|
||||||
- name_template: "{{ .Binary }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}"
|
- name_template: "{{ .Binary }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}"
|
||||||
id: archive
|
id: archive
|
||||||
|
|||||||
1
.pulumi.version
Normal file
1
.pulumi.version
Normal file
@@ -0,0 +1 @@
|
|||||||
|
3.192.0
|
||||||
127
CHANGELOG.md
127
CHANGELOG.md
@@ -1,5 +1,131 @@
|
|||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
|
## Changed
|
||||||
|
|
||||||
|
- Arguments `CacheFromGitHubActions.URL` and `CacheFromGitHubActions.Token` have been removed. If the previous behaviour is desired, set the `ACTIONS_CACHE_URL` and `ACTIONS_RUNTIME_TOKEN` environment variables. (https://github.com/pulumi/pulumi-docker-build/issues/75)
|
||||||
|
|
||||||
|
## 0.0.14 (2025-09-30)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- A warning is no longer emitted for the reserved `__internal` key. (https://github.com/pulumi/pulumi-docker-build/issues/579)
|
||||||
|
|
||||||
|
## 0.0.13 (2025-08-27)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Docker Build Cloud and `exec` errors are more helpful. (https://github.com/pulumi/pulumi-docker-build/issues/549)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- The provider is no longer replaced on version changes. (https://github.com/pulumi/pulumi-docker-build/issues/581)
|
||||||
|
|
||||||
|
## 0.0.12 (2025-05-16)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Upgraded pulumi-go-provider to v1.0.0-rc2.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Builds now respect cancellation. (https://github.com/pulumi/pulumi-docker-build/issues/533, https://github.com/pulumi/pulumi-docker-build/pull/522)
|
||||||
|
|
||||||
|
## 0.0.11 (2025-04-11)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Upgraded buildx from 0.18.0 to 0.20.1 to remain compatible with upcoming
|
||||||
|
changes to GitHub Actions. (https://github.com/pulumi/pulumi-docker-build/pull/519)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Upgrading docker-build no longer causes resource replacements. (<https://github.com/pulumi/pulumi-docker-build/issues/404>)
|
||||||
|
- Fixed a panic that could occur in `exec` mode. (https://github.com/pulumi/pulumi-docker-build/issues/482)
|
||||||
|
- The default GitHub Actions cache scope is now correctly set as `buildkit`. (https://github.com/pulumi/pulumi-docker-build/issues/496)
|
||||||
|
|
||||||
|
## 0.0.10 (2025-01-27)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Windows binaries are now signed. (https://github.com/pulumi/pulumi-docker-build/pull/429)
|
||||||
|
|
||||||
|
## 0.0.9 (2025-01-16)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Upgraded pulumi-go-provider to v0.24.1. (https://github.com/pulumi/pulumi-docker-build/pull/413)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- `ACTIONS_RUNTIME_TOKEN` is now correctly marked as a secret. (https://github.com/pulumi/pulumi-docker-build/issues/403)
|
||||||
|
|
||||||
|
## 0.0.8 (2024-12-10)
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Multiple exports are now allowed if the build daemon is detected to have
|
||||||
|
version 0.13 of Buildkit or newer.
|
||||||
|
(https://github.com/pulumi/pulumi-docker-build/issues/21)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Upgraded buildx from 0.16.0 to 0.18.0.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Custom `# syntax=` directives no longer cause validation errors.
|
||||||
|
(https://github.com/pulumi/pulumi-docker-build/issues/300)
|
||||||
|
|
||||||
|
## 0.0.7 (2024-10-16)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed an issue where registry authentication couldn't be specified on the
|
||||||
|
provider. (<https://github.com/pulumi/pulumi-docker-build/issues/262>)
|
||||||
|
|
||||||
|
## 0.0.6 (2024-08-13)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Refreshing an `Index` resource will no longer fail if its stored credentials
|
||||||
|
have expired. (<https://github.com/pulumi/pulumi-docker-build/pull/194>)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Local and tar exporters will now trigger an update if an export doesn't exist
|
||||||
|
at the expected path. (<https://github.com/pulumi/pulumi-docker-build/pull/195>)
|
||||||
|
|
||||||
|
## 0.0.5 (2024-08-08)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed Go SDK publishing.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Upgraded docker from 27.0.3 to 27.1.0.
|
||||||
|
|
||||||
|
## 0.0.4 (2024-07-15)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Upgraded buildkit from 0.13.0 to 0.15.0.
|
||||||
|
- Upgraded buildx from 0.13.1. to 0.16.0.
|
||||||
|
- Upgraded docker from 26.0.0-rc1 to 27.0.3.
|
||||||
|
- Fixed an issue where warnings were not displayed correctly.
|
||||||
|
|
||||||
|
## 0.0.3 (2024-05-31)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed the default value for `ACTIONS_CACHE_URL` when using GitHub action caching. (<https://github.com/pulumi/pulumi-docker-build/pull/80>)
|
||||||
|
- Fixed Java SDK publishing. (<https://github.com/pulumi/pulumi-docker-build/pull/89>)
|
||||||
|
- Fixed a panic that could occur when `context` was omitted. (<https://github.com/pulumi/pulumi-docker-build/pull/83>)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- The provider will now wait for new builders to fully boot.
|
||||||
|
|
||||||
## 0.0.2 (2024-04-25)
|
## 0.0.2 (2024-04-25)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
@@ -9,4 +135,3 @@
|
|||||||
## 0.0.1 (2024-04-23)
|
## 0.0.1 (2024-04-23)
|
||||||
|
|
||||||
Initial release.
|
Initial release.
|
||||||
|
|
||||||
|
|||||||
80
CODE-OF-CONDUCT.md
Normal file
80
CODE-OF-CONDUCT.md
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
# Contributor Covenant Code of Conduct
|
||||||
|
|
||||||
|
## Our Pledge
|
||||||
|
|
||||||
|
In the interest of fostering an open and welcoming environment, we as
|
||||||
|
contributors and maintainers pledge to making participation in our project and
|
||||||
|
our community a harassment-free experience for everyone, regardless of age, body
|
||||||
|
size, disability, ethnicity, gender identity and expression, level of experience,
|
||||||
|
education, socio-economic status, nationality, personal appearance, race,
|
||||||
|
religion, or sexual identity and orientation.
|
||||||
|
|
||||||
|
## Our Standards
|
||||||
|
|
||||||
|
Examples of behavior that contributes to creating a positive environment
|
||||||
|
include:
|
||||||
|
|
||||||
|
* Using welcoming and inclusive language
|
||||||
|
* Being respectful of differing viewpoints and experiences
|
||||||
|
* Gracefully accepting constructive criticism
|
||||||
|
* Focusing on what is best for the community
|
||||||
|
* Showing empathy towards other community members
|
||||||
|
* Contribute in a positive and constructive way
|
||||||
|
|
||||||
|
Examples of unacceptable behavior by participants include:
|
||||||
|
|
||||||
|
* The use of sexualized language or imagery and unwelcome sexual attention or
|
||||||
|
advances
|
||||||
|
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||||
|
* Public or private harassment
|
||||||
|
* Publishing others' private information, such as a physical or electronic
|
||||||
|
address, without explicit permission
|
||||||
|
* Other conduct which could reasonably be considered inappropriate in a
|
||||||
|
professional setting
|
||||||
|
|
||||||
|
## Our Community Guidelines
|
||||||
|
* Be clear and stay on topic. Communicating with strangers on the Internet can make it hard to convey or read tone, and sarcasm is frequently misunderstood. Try to use clear language, and think about how the other person will receive it.
|
||||||
|
* Don’t cross-post the same thing in multiple GitHub Discussion topics or multiple Slack channels. This can make it difficult for people answering your questions and creates "scrollback spam".
|
||||||
|
* Public discussion is preferred to private. Avoid using Slack DMs for questions, and instead share them in public Slack channels or GitHub Discussion threads. This allows a larger audience to both share their knowledge as well as learn from your question or issue. If you're having a problem, chances are someone else is having a similar problem. Learning in public is a community contribution.
|
||||||
|
* Minimize notifications to other community members. Avoid tagging other community members in Slack messages or Discussion threads, unless you are replying to something specific. Community members are here to help each other, but are not "on call" for support, and we expect everyone to try to minimize "notification fatigue". If your issue is time-sensitive or critical, use methods like support@pulumi.com instead.
|
||||||
|
|
||||||
|
## Our Responsibilities
|
||||||
|
|
||||||
|
Project maintainers are responsible for clarifying the standards of acceptable
|
||||||
|
behavior and are expected to take appropriate and fair corrective action in
|
||||||
|
response to any instances of unacceptable behavior.
|
||||||
|
|
||||||
|
Project maintainers have the right and responsibility to remove, edit, or
|
||||||
|
reject comments, commits, code, wiki edits, issues, GitHub Discussions posts,
|
||||||
|
and other contributions that are not aligned to this Code of Conduct, or to ban
|
||||||
|
temporarily or permanently any contributor for other behaviors that they deem
|
||||||
|
inappropriate, threatening, offensive, or harmful.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
This Code of Conduct applies both within project spaces (including the Community Slack
|
||||||
|
and GitHub Discussions forums) and in public spaces when an individual is representing the
|
||||||
|
project or its community. Examples of representing a project or community include
|
||||||
|
using an official project e-mail address, posting via an official social media account,
|
||||||
|
or acting as an appointed representative at an online or offline event. Representation
|
||||||
|
of a project may be further defined and clarified by project maintainers.
|
||||||
|
|
||||||
|
## Enforcement
|
||||||
|
|
||||||
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||||
|
reported by contacting the project team at code-of-conduct@pulumi.com. All
|
||||||
|
complaints will be reviewed and investigated and will result in a response that
|
||||||
|
is deemed necessary and appropriate to the circumstances. The project team is
|
||||||
|
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||||
|
Further details of specific enforcement policies may be posted separately.
|
||||||
|
|
||||||
|
Project maintainers who do not follow or enforce the Code of Conduct in good
|
||||||
|
faith may face temporary or permanent repercussions as determined by other
|
||||||
|
members of the project's leadership.
|
||||||
|
|
||||||
|
## Attribution
|
||||||
|
|
||||||
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||||
|
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
||||||
|
|
||||||
|
[homepage]: https://www.contributor-covenant.org
|
||||||
133
Makefile
133
Makefile
@@ -17,15 +17,19 @@ WORKING_DIR := $(shell pwd)
|
|||||||
EXAMPLES_DIR := ${WORKING_DIR}/examples/yaml
|
EXAMPLES_DIR := ${WORKING_DIR}/examples/yaml
|
||||||
TESTPARALLELISM := 4
|
TESTPARALLELISM := 4
|
||||||
|
|
||||||
PULUMI := bin/pulumi
|
PULUMI := pulumi
|
||||||
GOGLANGCILINT := bin/golangci-lint
|
GOGLANGCILINT := golangci-lint
|
||||||
|
GOTEST := go test
|
||||||
|
|
||||||
# Override during CI using `make [TARGET] PROVIDER_VERSION=""` or by setting a PROVIDER_VERSION environment variable
|
# Override during CI using `make [TARGET] PROVIDER_VERSION=""` or by setting a PROVIDER_VERSION environment variable
|
||||||
# Local & branch builds will just used this fixed default version unless specified
|
# Local & branch builds will just used this fixed default version unless specified
|
||||||
PROVIDER_VERSION ?= 1.0.0-alpha.0+dev
|
PROVIDER_VERSION ?= 0.1.0-alpha.0+dev
|
||||||
# Use this normalised version everywhere rather than the raw input to ensure consistency.
|
# Use this normalised version everywhere rather than the raw input to ensure consistency.
|
||||||
VERSION_GENERIC = $(shell pulumictl convert-version --language generic --version "$(PROVIDER_VERSION)")
|
VERSION_GENERIC = $(shell pulumictl convert-version --language generic --version "$(PROVIDER_VERSION)")
|
||||||
|
|
||||||
|
export PULUMI_IGNORE_AMBIENT_PLUGINS = true
|
||||||
|
export PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION = true
|
||||||
|
|
||||||
.PHONY: ensure
|
.PHONY: ensure
|
||||||
ensure:: tidy lint test_provider examples
|
ensure:: tidy lint test_provider examples
|
||||||
|
|
||||||
@@ -43,10 +47,10 @@ provider_debug::
|
|||||||
(cd provider && go build -o $(WORKING_DIR)/bin/${PROVIDER} -gcflags="all=-N -l" -ldflags "-X ${PROJECT}/${VERSION_PATH}=${VERSION_GENERIC}" $(PROJECT)/${PROVIDER_PATH}/cmd/$(PROVIDER))
|
(cd provider && go build -o $(WORKING_DIR)/bin/${PROVIDER} -gcflags="all=-N -l" -ldflags "-X ${PROJECT}/${VERSION_PATH}=${VERSION_GENERIC}" $(PROJECT)/${PROVIDER_PATH}/cmd/$(PROVIDER))
|
||||||
|
|
||||||
test_provider:: # Required by CI
|
test_provider:: # Required by CI
|
||||||
go test -short -v -coverprofile="coverage.txt" -coverpkg=./provider/... -timeout 2h -parallel ${TESTPARALLELISM} ./provider/...
|
${GOTEST} -short -v -coverprofile="coverage.txt" -coverpkg=./provider/... -timeout 2h -parallel ${TESTPARALLELISM} ./provider/...
|
||||||
|
|
||||||
test_examples: install_nodejs_sdk install_dotnet_sdk
|
test_examples: install_nodejs_sdk install_dotnet_sdk
|
||||||
go test -short -v -cover -tags=all -timeout 2h -parallel ${TESTPARALLELISM} ./examples/...
|
${GOTEST} -short -v -cover -tags=all -timeout 2h -parallel ${TESTPARALLELISM} ./examples/...
|
||||||
|
|
||||||
test_all:: test_provider test_examples
|
test_all:: test_provider test_examples
|
||||||
|
|
||||||
@@ -60,33 +64,26 @@ examples/yaml:
|
|||||||
rm -rf ${WORKING_DIR}/examples/yaml/app
|
rm -rf ${WORKING_DIR}/examples/yaml/app
|
||||||
cp -r ${WORKING_DIR}/examples/app ${WORKING_DIR}/examples/yaml/app
|
cp -r ${WORKING_DIR}/examples/app ${WORKING_DIR}/examples/yaml/app
|
||||||
|
|
||||||
examples/go: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
examples/go: bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||||
$(call example,go)
|
$(call example,go)
|
||||||
@git checkout examples/go/go.mod
|
@git checkout examples/go/go.mod
|
||||||
|
|
||||||
examples/nodejs: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
examples/nodejs: bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||||
$(call example,nodejs)
|
$(call example,nodejs)
|
||||||
@git checkout examples/nodejs/package.json
|
@git checkout examples/nodejs/package.json
|
||||||
|
|
||||||
examples/python: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
examples/python: bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||||
$(call example,python)
|
$(call example,python)
|
||||||
@git checkout examples/python/requirements.txt
|
@git checkout examples/python/requirements.txt
|
||||||
|
|
||||||
examples/dotnet: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
examples/dotnet: bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||||
$(call example,dotnet)
|
$(call example,dotnet)
|
||||||
@git checkout examples/dotnet/provider-docker-build.csproj
|
@git checkout examples/dotnet/provider-docker-build.csproj
|
||||||
|
|
||||||
examples/java: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
examples/java: bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||||
$(call example,java)
|
$(call example,java)
|
||||||
@git checkout examples/java/pom.xml
|
@git checkout examples/java/pom.xml
|
||||||
|
|
||||||
${PULUMI}: go.sum
|
|
||||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi/pkg/v3/cmd/pulumi
|
|
||||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3
|
|
||||||
|
|
||||||
${GOGLANGCILINT}: go.sum
|
|
||||||
GOBIN=${WORKING_DIR}/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint
|
|
||||||
|
|
||||||
define pulumi_login
|
define pulumi_login
|
||||||
export PULUMI_CONFIG_PASSPHRASE=asdfqwerty1234; \
|
export PULUMI_CONFIG_PASSPHRASE=asdfqwerty1234; \
|
||||||
pulumi login --local;
|
pulumi login --local;
|
||||||
@@ -94,7 +91,7 @@ endef
|
|||||||
|
|
||||||
define example
|
define example
|
||||||
rm -rf ${WORKING_DIR}/examples/$(1)
|
rm -rf ${WORKING_DIR}/examples/$(1)
|
||||||
$(PULUMI) convert \
|
pulumi convert \
|
||||||
--cwd ${WORKING_DIR}/examples/yaml \
|
--cwd ${WORKING_DIR}/examples/yaml \
|
||||||
--logtostderr \
|
--logtostderr \
|
||||||
--generate-only \
|
--generate-only \
|
||||||
@@ -102,6 +99,7 @@ define example
|
|||||||
--language $(1) \
|
--language $(1) \
|
||||||
--out ${WORKING_DIR}/examples/$(1)
|
--out ${WORKING_DIR}/examples/$(1)
|
||||||
cp -r ${WORKING_DIR}/examples/app ${WORKING_DIR}/examples/$(1)/app
|
cp -r ${WORKING_DIR}/examples/app ${WORKING_DIR}/examples/$(1)/app
|
||||||
|
cp ${WORKING_DIR}/examples/yaml/.dockerignore ${WORKING_DIR}/examples/$(1)/.dockerignore
|
||||||
endef
|
endef
|
||||||
|
|
||||||
up::
|
up::
|
||||||
@@ -125,13 +123,13 @@ devcontainer::
|
|||||||
cp -f .devcontainer/devcontainer.json .devcontainer.json
|
cp -f .devcontainer/devcontainer.json .devcontainer.json
|
||||||
|
|
||||||
.PHONY: build
|
.PHONY: build
|
||||||
build:: provider dotnet_sdk go_sdk nodejs_sdk python_sdk
|
build:: provider sdk/dotnet sdk/go sdk/nodejs sdk/python sdk/java ${SCHEMA_PATH}
|
||||||
|
|
||||||
# Required for the codegen action that runs in pulumi/pulumi
|
# Required for the codegen action that runs in pulumi/pulumi
|
||||||
only_build:: build
|
only_build:: build
|
||||||
|
|
||||||
.PHONY: lint
|
.PHONY: lint
|
||||||
lint: ${GOGLANGCILINT}
|
lint:
|
||||||
${GOGLANGCILINT} run --fix -c .golangci.yml
|
${GOGLANGCILINT} run --fix -c .golangci.yml
|
||||||
|
|
||||||
install:: install_nodejs_sdk install_dotnet_sdk
|
install:: install_nodejs_sdk install_dotnet_sdk
|
||||||
@@ -155,7 +153,7 @@ install_nodejs_sdk:: # Required by CI
|
|||||||
codegen: # Required by CI
|
codegen: # Required by CI
|
||||||
|
|
||||||
.PHONY: generate_schema
|
.PHONY: generate_schema
|
||||||
generate_schema: # Required by CI
|
generate_schema: ${SCHEMA_PATH} # Required by CI
|
||||||
|
|
||||||
.PHONY: build_go install_go_sdk
|
.PHONY: build_go install_go_sdk
|
||||||
generate_go: sdk/go # Required by CI
|
generate_go: sdk/go # Required by CI
|
||||||
@@ -178,7 +176,7 @@ generate_dotnet: sdk/dotnet # Required by CI
|
|||||||
build_dotnet: # Required by CI
|
build_dotnet: # Required by CI
|
||||||
|
|
||||||
${SCHEMA_PATH}: bin/${PROVIDER}
|
${SCHEMA_PATH}: bin/${PROVIDER}
|
||||||
pulumi package get-schema bin/${PROVIDER} > $(SCHEMA_PATH)
|
pulumi package get-schema ./bin/${PROVIDER} | jq 'del(.version)' > $(SCHEMA_PATH)
|
||||||
|
|
||||||
bin/${PROVIDER}: $(shell find ./provider -name '*.go') go.mod
|
bin/${PROVIDER}: $(shell find ./provider -name '*.go') go.mod
|
||||||
(cd provider && go build -o ../bin/${PROVIDER} -ldflags "-X ${PROJECT}/${VERSION_PATH}=${VERSION_GENERIC}" $(PROJECT)/${PROVIDER_PATH}/cmd/$(PROVIDER))
|
(cd provider && go build -o ../bin/${PROVIDER} -ldflags "-X ${PROJECT}/${VERSION_PATH}=${VERSION_GENERIC}" $(PROJECT)/${PROVIDER_PATH}/cmd/$(PROVIDER))
|
||||||
@@ -192,65 +190,116 @@ go.sum: go.mod
|
|||||||
sdk: $(shell mkdir -p sdk)
|
sdk: $(shell mkdir -p sdk)
|
||||||
sdk: sdk/python sdk/nodejs sdk/java sdk/python sdk/go sdk/dotnet
|
sdk: sdk/python sdk/nodejs sdk/java sdk/python sdk/go sdk/dotnet
|
||||||
|
|
||||||
sdk/python: PYPI_VERSION := $(shell pulumictl convert-version --language python -v "$(VERSION_GENERIC)")
|
# Folders can't be used for up-to-date checks as they will be marked as up-to-date even if the step fails - leading to a broken state.
|
||||||
|
.PHONY: sdk/*
|
||||||
|
|
||||||
sdk/python: TMPDIR := $(shell mktemp -d)
|
sdk/python: TMPDIR := $(shell mktemp -d)
|
||||||
sdk/python: $(PULUMI) bin/${PROVIDER}
|
sdk/python: bin/${PROVIDER}
|
||||||
rm -rf sdk/python
|
rm -rf sdk/python
|
||||||
$(PULUMI) package gen-sdk bin/$(PROVIDER) --language python -o ${TMPDIR}
|
$(PULUMI) package gen-sdk ./bin/$(PROVIDER) --language python -o ${TMPDIR}
|
||||||
cp README.md ${TMPDIR}/python/
|
cp README.md ${TMPDIR}/python/
|
||||||
cd ${TMPDIR}/python/ && \
|
cd ${TMPDIR}/python/ && \
|
||||||
rm -rf ./bin/ ../python.bin/ && cp -R . ../python.bin && mv ../python.bin ./bin && \
|
rm -rf ./bin/ ../python.bin/ && cp -R . ../python.bin && mv ../python.bin ./bin && \
|
||||||
sed -i.bak -e 's/^ version = .*/ version = "$(PYPI_VERSION)"/g' ./bin/pyproject.toml && \
|
|
||||||
rm ./bin/pyproject.toml.bak && \
|
|
||||||
python3 -m venv venv && \
|
python3 -m venv venv && \
|
||||||
./venv/bin/python -m pip install build && \
|
./venv/bin/python -m pip install build && \
|
||||||
cd ./bin && \
|
cd ./bin && \
|
||||||
../venv/bin/python -m build .
|
../venv/bin/python -m build .
|
||||||
mv -f ${TMPDIR}/python ${WORKING_DIR}/sdk/.
|
mv -f ${TMPDIR}/python ${WORKING_DIR}/sdk/.
|
||||||
|
|
||||||
sdk/nodejs: NODE_VERSION := $(shell pulumictl convert-version --language javascript -v "$(VERSION_GENERIC)")
|
|
||||||
sdk/nodejs: TMPDIR := $(shell mktemp -d)
|
sdk/nodejs: TMPDIR := $(shell mktemp -d)
|
||||||
sdk/nodejs: $(PULUMI) bin/${PROVIDER}
|
sdk/nodejs: bin/${PROVIDER}
|
||||||
rm -rf sdk/nodejs
|
rm -rf sdk/nodejs
|
||||||
$(PULUMI) package gen-sdk bin/$(PROVIDER) --language nodejs -o ${TMPDIR}
|
$(PULUMI) package gen-sdk ./bin/$(PROVIDER) --language nodejs -o ${TMPDIR}
|
||||||
cp README.md LICENSE ${TMPDIR}/nodejs
|
cp README.md LICENSE ${TMPDIR}/nodejs
|
||||||
cd ${TMPDIR}/nodejs/ && \
|
cd ${TMPDIR}/nodejs/ && \
|
||||||
yarn install && \
|
yarn install && \
|
||||||
yarn run tsc && \
|
yarn run tsc && \
|
||||||
cp README.md LICENSE package.json yarn.lock bin/ && \
|
cp README.md LICENSE package.json yarn.lock bin/
|
||||||
sed -i.bak 's/$${VERSION}/$(NODE_VERSION)/g' bin/package.json && \
|
|
||||||
rm ./bin/package.json.bak
|
|
||||||
mv -f ${TMPDIR}/nodejs ${WORKING_DIR}/sdk/.
|
mv -f ${TMPDIR}/nodejs ${WORKING_DIR}/sdk/.
|
||||||
|
|
||||||
sdk/go: TMPDIR := $(shell mktemp -d)
|
sdk/go: TMPDIR := $(shell mktemp -d)
|
||||||
sdk/go: PATH := "$(WORKING_DIR)/bin:$(PATH)"
|
sdk/go: PATH := "$(WORKING_DIR)/bin:$(PATH)"
|
||||||
sdk/go: $(PULUMI) bin/${PROVIDER}
|
sdk/go: bin/${PROVIDER}
|
||||||
rm -rf sdk/go
|
rm -rf sdk/go
|
||||||
PATH=$(PATH) $(PULUMI) package gen-sdk bin/$(PROVIDER) --language go -o ${TMPDIR}
|
PATH=$(PATH) $(PULUMI) package gen-sdk ./bin/$(PROVIDER) --language go -o ${TMPDIR}
|
||||||
cp go.mod ${TMPDIR}/go/dockerbuild/go.mod
|
cp go.mod ${TMPDIR}/go/dockerbuild/go.mod
|
||||||
cd ${TMPDIR}/go/dockerbuild && \
|
cd ${TMPDIR}/go/dockerbuild && \
|
||||||
go mod edit -module=github.com/pulumi/pulumi-${PACK}/${PACKDIR}/go/dockerbuild && \
|
go mod edit -module=github.com/pulumi/pulumi-${PACK}/${PACKDIR}/go/dockerbuild && \
|
||||||
go mod tidy
|
go mod tidy
|
||||||
mv -f ${TMPDIR}/go ${WORKING_DIR}/sdk/go
|
mv -f ${TMPDIR}/go ${WORKING_DIR}/sdk/go
|
||||||
|
|
||||||
sdk/dotnet: DOTNET_VERSION := $(shell pulumictl convert-version --language dotnet -v "$(VERSION_GENERIC)")
|
|
||||||
sdk/dotnet: TMPDIR := $(shell mktemp -d)
|
sdk/dotnet: TMPDIR := $(shell mktemp -d)
|
||||||
sdk/dotnet: $(PULUMI) bin/${PROVIDER}
|
sdk/dotnet: bin/${PROVIDER}
|
||||||
rm -rf sdk/dotnet
|
rm -rf sdk/dotnet
|
||||||
$(PULUMI) package gen-sdk bin/${PROVIDER} --language dotnet -o ${TMPDIR}
|
$(PULUMI) package gen-sdk ./bin/${PROVIDER} --language dotnet -o ${TMPDIR}
|
||||||
cd ${TMPDIR}/dotnet/ && \
|
cd ${TMPDIR}/dotnet/ && \
|
||||||
echo "$(DOTNET_VERSION)" > version.txt && \
|
echo "$(VERSION_GENERIC)" > version.txt && \
|
||||||
dotnet build /p:Version=${DOTNET_VERSION}
|
dotnet build
|
||||||
mv -f ${TMPDIR}/dotnet ${WORKING_DIR}/sdk/.
|
mv -f ${TMPDIR}/dotnet ${WORKING_DIR}/sdk/.
|
||||||
|
|
||||||
sdk/java: PACKAGE_VERSION := $(shell pulumictl convert-version --language generic -v "$(VERSION_GENERIC)")
|
sdk/java: PACKAGE_VERSION := $(shell pulumictl convert-version --language generic -v "$(VERSION_GENERIC)")
|
||||||
sdk/java: TMPDIR := $(shell mktemp -d)
|
sdk/java: TMPDIR := $(shell mktemp -d)
|
||||||
sdk/java: $(PULUMI) bin/${PROVIDER}
|
sdk/java: bin/${PROVIDER}
|
||||||
rm -rf sdk/java
|
rm -rf sdk/java
|
||||||
$(PULUMI) package gen-sdk --language java bin/${PROVIDER} -o ${TMPDIR}
|
$(PULUMI) package gen-sdk --language java ./bin/${PROVIDER} -o ${TMPDIR}
|
||||||
cd ${TMPDIR}/java/ && gradle --console=plain build
|
cd ${TMPDIR}/java/ && gradle --console=plain build
|
||||||
mv -f ${TMPDIR}/java ${WORKING_DIR}/sdk/.
|
mv -f ${TMPDIR}/java ${WORKING_DIR}/sdk/.
|
||||||
|
|
||||||
docs: $(shell find docs/yaml -type f) $(shell find ./provider/internal/embed -name '*.md') ${SCHEMA_PATH}
|
docs: $(shell find docs/yaml -type f) $(shell find ./provider/internal/embed -name '*.md') ${SCHEMA_PATH}
|
||||||
go generate docs/generate.go
|
go generate docs/generate.go
|
||||||
@touch docs
|
@touch docs
|
||||||
|
|
||||||
|
# Set these variables to enable signing of the windows binary
|
||||||
|
AZURE_SIGNING_CLIENT_ID ?=
|
||||||
|
AZURE_SIGNING_CLIENT_SECRET ?=
|
||||||
|
AZURE_SIGNING_TENANT_ID ?=
|
||||||
|
AZURE_SIGNING_KEY_VAULT_URI ?=
|
||||||
|
SKIP_SIGNING ?=
|
||||||
|
|
||||||
|
bin/jsign-6.0.jar:
|
||||||
|
wget https://github.com/ebourg/jsign/releases/download/6.0/jsign-6.0.jar --output-document=bin/jsign-6.0.jar
|
||||||
|
|
||||||
|
sign-goreleaser-exe-amd64: GORELEASER_ARCH := amd64_v1
|
||||||
|
sign-goreleaser-exe-arm64: GORELEASER_ARCH := arm64
|
||||||
|
|
||||||
|
# Set the shell to bash to allow for the use of bash syntax.
|
||||||
|
sign-goreleaser-exe-%: SHELL:=/bin/bash
|
||||||
|
sign-goreleaser-exe-%: bin/jsign-6.0.jar
|
||||||
|
@# Only sign windows binary if fully configured.
|
||||||
|
@# Test variables set by joining with | between and looking for || showing at least one variable is empty.
|
||||||
|
@# Move the binary to a temporary location and sign it there to avoid the target being up-to-date if signing fails.
|
||||||
|
@set -e; \
|
||||||
|
if [[ "${SKIP_SIGNING}" != "true" ]]; then \
|
||||||
|
if [[ "|${AZURE_SIGNING_CLIENT_ID}|${AZURE_SIGNING_CLIENT_SECRET}|${AZURE_SIGNING_TENANT_ID}|${AZURE_SIGNING_KEY_VAULT_URI}|" == *"||"* ]]; then \
|
||||||
|
echo "Can't sign windows binaries as required configuration not set: AZURE_SIGNING_CLIENT_ID, AZURE_SIGNING_CLIENT_SECRET, AZURE_SIGNING_TENANT_ID, AZURE_SIGNING_KEY_VAULT_URI"; \
|
||||||
|
echo "To rebuild with signing delete the unsigned windows exe file and rebuild with the fixed configuration"; \
|
||||||
|
if [[ "${CI}" == "true" ]]; then exit 1; fi; \
|
||||||
|
else \
|
||||||
|
file=dist/build-provider-sign-windows_windows_${GORELEASER_ARCH}/pulumi-resource-docker-build.exe; \
|
||||||
|
mv $${file} $${file}.unsigned; \
|
||||||
|
az login --service-principal \
|
||||||
|
--username "${AZURE_SIGNING_CLIENT_ID}" \
|
||||||
|
--password "${AZURE_SIGNING_CLIENT_SECRET}" \
|
||||||
|
--tenant "${AZURE_SIGNING_TENANT_ID}" \
|
||||||
|
--output none; \
|
||||||
|
ACCESS_TOKEN=$$(az account get-access-token --resource "https://vault.azure.net" | jq -r .accessToken); \
|
||||||
|
java -jar bin/jsign-6.0.jar \
|
||||||
|
--storetype AZUREKEYVAULT \
|
||||||
|
--keystore "PulumiCodeSigning" \
|
||||||
|
--url "${AZURE_SIGNING_KEY_VAULT_URI}" \
|
||||||
|
--storepass "$${ACCESS_TOKEN}" \
|
||||||
|
$${file}.unsigned; \
|
||||||
|
mv $${file}.unsigned $${file}; \
|
||||||
|
az logout; \
|
||||||
|
fi; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# To make an immediately observable change to .ci-mgmt.yaml:
|
||||||
|
#
|
||||||
|
# - Edit .ci-mgmt.yaml
|
||||||
|
# - Run make ci-mgmt to apply the change locally.
|
||||||
|
#
|
||||||
|
ci-mgmt: .ci-mgmt.yaml
|
||||||
|
go run github.com/pulumi/ci-mgmt/provider-ci@master generate
|
||||||
|
.PHONY: ci-mgmt
|
||||||
|
fi
|
||||||
|
|||||||
204
bin/pulumi-language-python-exec
Executable file
204
bin/pulumi-language-python-exec
Executable file
@@ -0,0 +1,204 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# Copyright 2016-2018, Pulumi Corporation. All rights reserved.
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import asyncio
|
||||||
|
from typing import Optional
|
||||||
|
import logging
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import traceback
|
||||||
|
import runpy
|
||||||
|
from concurrent.futures import ThreadPoolExecutor
|
||||||
|
|
||||||
|
# The user might not have installed Pulumi yet in their environment - provide a high-quality error message in that case.
|
||||||
|
try:
|
||||||
|
import pulumi
|
||||||
|
import pulumi.runtime
|
||||||
|
except ImportError:
|
||||||
|
# For whatever reason, sys.stderr.write is not picked up by the engine as a message, but 'print' is. The Python
|
||||||
|
# langhost automatically flushes stdout and stderr on shutdown, so we don't need to do it here - just trust that
|
||||||
|
# Python does the sane thing when printing to stderr.
|
||||||
|
print(traceback.format_exc(), file=sys.stderr)
|
||||||
|
print("""
|
||||||
|
It looks like the Pulumi SDK has not been installed. Have you run pip install?
|
||||||
|
If you are running in a virtualenv, you must run pip install -r requirements.txt from inside the virtualenv.""", file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
# use exit code 32 to signal to the language host that an error message was displayed to the user
|
||||||
|
PYTHON_PROCESS_EXITED_AFTER_SHOWING_USER_ACTIONABLE_MESSAGE_CODE = 32
|
||||||
|
|
||||||
|
def get_abs_module_path(mod_path):
|
||||||
|
path, ext = os.path.splitext(mod_path)
|
||||||
|
if not ext:
|
||||||
|
path = os.path.join(path, '__main__')
|
||||||
|
return os.path.abspath(path)
|
||||||
|
|
||||||
|
|
||||||
|
def _get_user_stacktrace(user_program_abspath: str) -> str:
|
||||||
|
'''grabs the current stacktrace and truncates it to show the only stacks pertaining to a user's program'''
|
||||||
|
tb = traceback.extract_tb(sys.exc_info()[2])
|
||||||
|
|
||||||
|
for frame_index, frame in enumerate(tb):
|
||||||
|
# loop over stack frames until we reach the main program
|
||||||
|
# then return the traceback truncated to the user's code
|
||||||
|
cur_module = frame[0]
|
||||||
|
if get_abs_module_path(user_program_abspath) == get_abs_module_path(cur_module):
|
||||||
|
# we have detected the start of a user's stack trace
|
||||||
|
remaining_frames = len(tb)-frame_index
|
||||||
|
|
||||||
|
# include remaining frames from the bottom by negating
|
||||||
|
return traceback.format_exc(limit=-remaining_frames)
|
||||||
|
|
||||||
|
# we did not detect a __main__ program, return normal traceback
|
||||||
|
return traceback.format_exc()
|
||||||
|
|
||||||
|
def _set_default_executor(loop, parallelism: Optional[int]):
|
||||||
|
'''configure this event loop to respect the settings provided.'''
|
||||||
|
if parallelism is None:
|
||||||
|
return
|
||||||
|
parallelism = max(parallelism, 1)
|
||||||
|
exec = ThreadPoolExecutor(max_workers=parallelism)
|
||||||
|
loop.set_default_executor(exec)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
# Parse the arguments, program name, and optional arguments.
|
||||||
|
ap = argparse.ArgumentParser(description='Execute a Pulumi Python program')
|
||||||
|
ap.add_argument('--project', help='Set the project name')
|
||||||
|
ap.add_argument('--stack', help='Set the stack name')
|
||||||
|
ap.add_argument('--parallel', help='Run P resource operations in parallel (default=none)')
|
||||||
|
ap.add_argument('--dry_run', help='Simulate resource changes, but without making them')
|
||||||
|
ap.add_argument('--pwd', help='Change the working directory before running the program')
|
||||||
|
ap.add_argument('--monitor', help='An RPC address for the resource monitor to connect to')
|
||||||
|
ap.add_argument('--engine', help='An RPC address for the engine to connect to')
|
||||||
|
ap.add_argument('--tracing', help='A Zipkin-compatible endpoint to send tracing data to')
|
||||||
|
ap.add_argument('--organization', help='Set the organization name')
|
||||||
|
ap.add_argument('PROGRAM', help='The Python program to run')
|
||||||
|
ap.add_argument('ARGS', help='Arguments to pass to the program', nargs='*')
|
||||||
|
args = ap.parse_args()
|
||||||
|
|
||||||
|
# If any config variables are present, parse and set them, so subsequent accesses are fast.
|
||||||
|
config_env = pulumi.runtime.get_config_env()
|
||||||
|
if hasattr(pulumi.runtime, "get_config_secret_keys_env") and hasattr(pulumi.runtime, "set_all_config"):
|
||||||
|
# If the pulumi SDK has `get_config_secret_keys_env` and `set_all_config`, use them
|
||||||
|
# to set the config and secret keys.
|
||||||
|
config_secret_keys_env = pulumi.runtime.get_config_secret_keys_env()
|
||||||
|
pulumi.runtime.set_all_config(config_env, config_secret_keys_env)
|
||||||
|
else:
|
||||||
|
# Otherwise, fallback to setting individual config values.
|
||||||
|
for k, v in config_env.items():
|
||||||
|
pulumi.runtime.set_config(k, v)
|
||||||
|
|
||||||
|
# Configure the runtime so that the user program hooks up to Pulumi as appropriate.
|
||||||
|
# New versions of pulumi python support setting organization, old versions do not
|
||||||
|
try:
|
||||||
|
settings = pulumi.runtime.Settings(
|
||||||
|
monitor=args.monitor,
|
||||||
|
engine=args.engine,
|
||||||
|
project=args.project,
|
||||||
|
stack=args.stack,
|
||||||
|
parallel=int(args.parallel),
|
||||||
|
dry_run=args.dry_run == "true",
|
||||||
|
organization=args.organization,
|
||||||
|
)
|
||||||
|
except TypeError:
|
||||||
|
settings = pulumi.runtime.Settings(
|
||||||
|
monitor=args.monitor,
|
||||||
|
engine=args.engine,
|
||||||
|
project=args.project,
|
||||||
|
stack=args.stack,
|
||||||
|
parallel=int(args.parallel),
|
||||||
|
dry_run=args.dry_run == "true"
|
||||||
|
)
|
||||||
|
|
||||||
|
pulumi.runtime.configure(settings)
|
||||||
|
|
||||||
|
# Finally, swap in the args, chdir if needed, and run the program as if it had been executed directly.
|
||||||
|
sys.argv = [args.PROGRAM] + args.ARGS
|
||||||
|
if args.pwd is not None:
|
||||||
|
os.chdir(args.pwd)
|
||||||
|
|
||||||
|
successful = False
|
||||||
|
|
||||||
|
try:
|
||||||
|
# The docs for get_running_loop are somewhat misleading because they state:
|
||||||
|
# This function can only be called from a coroutine or a callback. However, if the function is
|
||||||
|
# called from outside a coroutine or callback (the standard case when running `pulumi up`), the function
|
||||||
|
# raises a RuntimeError as expected and falls through to the exception clause below.
|
||||||
|
loop = asyncio.get_running_loop()
|
||||||
|
except RuntimeError:
|
||||||
|
loop = asyncio.new_event_loop()
|
||||||
|
asyncio.set_event_loop(loop)
|
||||||
|
|
||||||
|
# Configure the event loop to respect the parallelism value provided as input.
|
||||||
|
_set_default_executor(loop, settings.parallel)
|
||||||
|
|
||||||
|
# We are (unfortunately) suppressing the log output of asyncio to avoid showing to users some of the bad things we
|
||||||
|
# do in our programming model.
|
||||||
|
#
|
||||||
|
# Fundamentally, Pulumi is a way for users to build asynchronous dataflow graphs that, as their deployments
|
||||||
|
# progress, resolve naturally and eventually result in the complete resolution of the graph. If one node in the
|
||||||
|
# graph fails (i.e. a resource fails to create, there's an exception in an apply, etc.), part of the graph remains
|
||||||
|
# unevaluated at the time that we exit.
|
||||||
|
#
|
||||||
|
# asyncio abhors this. It gets very upset if the process terminates without having observed every future that we
|
||||||
|
# have resolved. If we are terminating abnormally, it is highly likely that we are not going to observe every single
|
||||||
|
# future that we have created. Furthermore, it's *harmless* to do this - asyncio logs errors because it thinks it
|
||||||
|
# needs to tell users that they're doing bad things (which, to their credit, they are), but we are doing this
|
||||||
|
# deliberately.
|
||||||
|
#
|
||||||
|
# In order to paper over this for our users, we simply turn off the logger for asyncio. Users won't see any asyncio
|
||||||
|
# error messages, but if they stick to the Pulumi programming model, they wouldn't be seeing any anyway.
|
||||||
|
logging.getLogger("asyncio").setLevel(logging.CRITICAL)
|
||||||
|
exit_code = 1
|
||||||
|
try:
|
||||||
|
# record the location of the user's program to return user tracebacks
|
||||||
|
user_program_abspath = os.path.abspath(args.PROGRAM)
|
||||||
|
def run():
|
||||||
|
try:
|
||||||
|
runpy.run_path(args.PROGRAM, run_name='__main__')
|
||||||
|
except ImportError as e:
|
||||||
|
def fix_module_file(m: str) -> str:
|
||||||
|
# Work around python 11 reporting "<frozen runpy>" rather
|
||||||
|
# than runpy.__file__ in the traceback.
|
||||||
|
return runpy.__file__ if m == "<frozen runpy>" else m
|
||||||
|
|
||||||
|
# detect if the main pulumi python program does not exist
|
||||||
|
stack_modules = [fix_module_file(f.filename) for f in traceback.extract_tb(e.__traceback__)]
|
||||||
|
unique_modules = set(module for module in stack_modules)
|
||||||
|
last_module_name = stack_modules[-1]
|
||||||
|
|
||||||
|
# we identify a missing program error if
|
||||||
|
# 1. the only modules in the stack trace are
|
||||||
|
# - `pulumi-language-python-exec`
|
||||||
|
# - `runpy`
|
||||||
|
# 2. the last function in the stack trace is in the `runpy` module
|
||||||
|
if unique_modules == {
|
||||||
|
__file__, # the language runtime itself
|
||||||
|
runpy.__file__,
|
||||||
|
} and last_module_name == runpy.__file__ :
|
||||||
|
# this error will only be hit when the user provides a directory
|
||||||
|
# the engine has a check to determine if the `main` file exists and will fail early
|
||||||
|
|
||||||
|
# if a language runtime receives a directory, it's the language's responsibility to determine
|
||||||
|
# whether the provided directory has a pulumi program
|
||||||
|
pulumi.log.error(f"unable to find main python program `__main__.py` in `{user_program_abspath}`")
|
||||||
|
sys.exit(PYTHON_PROCESS_EXITED_AFTER_SHOWING_USER_ACTIONABLE_MESSAGE_CODE)
|
||||||
|
else:
|
||||||
|
raise e
|
||||||
|
|
||||||
|
coro = pulumi.runtime.run_in_stack(run)
|
||||||
|
loop.run_until_complete(coro)
|
||||||
|
exit_code = 0
|
||||||
|
except pulumi.RunError as e:
|
||||||
|
pulumi.log.error(str(e))
|
||||||
|
except Exception:
|
||||||
|
error_msg = "Program failed with an unhandled exception:\n" + _get_user_stacktrace(user_program_abspath)
|
||||||
|
pulumi.log.error(error_msg)
|
||||||
|
exit_code = PYTHON_PROCESS_EXITED_AFTER_SHOWING_USER_ACTIONABLE_MESSAGE_CODE
|
||||||
|
finally:
|
||||||
|
loop.close()
|
||||||
|
sys.stdout.flush()
|
||||||
|
sys.stderr.flush()
|
||||||
|
|
||||||
|
sys.exit(exit_code)
|
||||||
428
docs/_index.md
Normal file
428
docs/_index.md
Normal file
@@ -0,0 +1,428 @@
|
|||||||
|
---
|
||||||
|
title: Docker Build
|
||||||
|
meta_desc: Provides an overview of the Docker Build Provider for Pulumi.
|
||||||
|
layout: package
|
||||||
|
---
|
||||||
|
|
||||||
|
The Docker Build provider leverages [buildx and BuildKit](https://docs.docker.com/build/architecture/) to build modern Docker images with Pulumi.
|
||||||
|
|
||||||
|
Not to be confused with the earlier
|
||||||
|
[Docker](../docker) provider, which is still
|
||||||
|
appropriate for managing resources unrelated to building images.
|
||||||
|
|
||||||
|
| Provider | Use cases |
|
||||||
|
| ---------------- | ----------------------------------------------------------------------- |
|
||||||
|
| `@pulumi/docker-build` | Anything related to building images with `docker build`. |
|
||||||
|
| `@pulumi/docker` | Everything else -- including running containers and creating networks. |
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
If your Pulumi program has a directory called `app` alongside it, containing a
|
||||||
|
file named "Dockerfile" (which can be as simple as `FROM alpine` for the
|
||||||
|
purpose of example), then the code below shows how to build a multi-platform
|
||||||
|
image, publish it to a remote AWS ECR registry, and use an [inline
|
||||||
|
cache](https://docs.docker.com/build/cache/backends/inline/) to speed up
|
||||||
|
subsequent builds.
|
||||||
|
|
||||||
|
{{< chooser language "typescript,python,csharp,go,yaml,java" / >}}
|
||||||
|
|
||||||
|
{{% choosable language typescript %}}
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import * as aws from "@pulumi/aws";
|
||||||
|
import * as docker_build from "@pulumi/docker-build";
|
||||||
|
|
||||||
|
// Create an ECR repository for pushing.
|
||||||
|
const ecrRepository = new aws.ecr.Repository("ecr-repository", {});
|
||||||
|
|
||||||
|
// Grab auth credentials for ECR.
|
||||||
|
const authToken = aws.ecr.getAuthorizationTokenOutput({
|
||||||
|
registryId: ecrRepository.registryId,
|
||||||
|
});
|
||||||
|
|
||||||
|
// Build and push an image to ECR with inline caching.
|
||||||
|
const myImage = new docker_build.Image("my-image", {
|
||||||
|
// Tag our image with our ECR repository's address.
|
||||||
|
tags: [pulumi.interpolate`${ecrRepository.repositoryUrl}:latest`],
|
||||||
|
context: {
|
||||||
|
location: "./app",
|
||||||
|
},
|
||||||
|
// Use the pushed image as a cache source.
|
||||||
|
cacheFrom: [{
|
||||||
|
registry: {
|
||||||
|
ref: pulumi.interpolate`${ecrRepository.repositoryUrl}:latest`,
|
||||||
|
},
|
||||||
|
}],
|
||||||
|
// Include an inline cache with our pushed image.
|
||||||
|
cacheTo: [{
|
||||||
|
inline: {},
|
||||||
|
}],
|
||||||
|
// Build a multi-platform image manifest for ARM and AMD.
|
||||||
|
platforms: [
|
||||||
|
"linux/amd64",
|
||||||
|
"linux/arm64",
|
||||||
|
],
|
||||||
|
// Push the final result to ECR.
|
||||||
|
push: true,
|
||||||
|
// Provide our ECR credentials.
|
||||||
|
registries: [{
|
||||||
|
address: ecrRepository.repositoryUrl,
|
||||||
|
password: authToken.password,
|
||||||
|
username: authToken.userName,
|
||||||
|
}],
|
||||||
|
});
|
||||||
|
|
||||||
|
// Export a ref for the pushed images so we can deploy it.
|
||||||
|
export const ref = myImage.ref;
|
||||||
|
```
|
||||||
|
|
||||||
|
{{% /choosable %}}
|
||||||
|
|
||||||
|
{{% choosable language python %}}
|
||||||
|
|
||||||
|
```python
|
||||||
|
import pulumi
|
||||||
|
import pulumi_aws as aws
|
||||||
|
import pulumi_docker_build as docker_build
|
||||||
|
|
||||||
|
# Create an ECR repository for pushing.
|
||||||
|
ecr_repository = aws.ecr.Repository("ecr-repository")
|
||||||
|
|
||||||
|
# Grab auth credentials for ECR.
|
||||||
|
auth_token = aws.ecr.get_authorization_token_output(registry_id=ecr_repository.registry_id)
|
||||||
|
|
||||||
|
# Build and push an image to ECR with inline caching.
|
||||||
|
my_image = docker_build.Image("my-image",
|
||||||
|
# Tag our image with our ECR repository's address.
|
||||||
|
tags=[ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:latest")],
|
||||||
|
context=docker_build.BuildContextArgs(
|
||||||
|
location="./app",
|
||||||
|
),
|
||||||
|
# Use the pushed image as a cache source.
|
||||||
|
cache_from=[docker_build.CacheFromArgs(
|
||||||
|
registry=docker_build.CacheFromRegistryArgs(
|
||||||
|
ref=ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:latest"),
|
||||||
|
),
|
||||||
|
)],
|
||||||
|
# Include an inline cache with our pushed image.
|
||||||
|
cache_to=[docker_build.CacheToArgs(
|
||||||
|
inline=docker_build.CacheToInlineArgs(),
|
||||||
|
)],
|
||||||
|
# Build a multi-platform image manifest for ARM and AMD.
|
||||||
|
platforms=[
|
||||||
|
docker_build.Platform.LINUX_AMD64,
|
||||||
|
docker_build.Platform.LINUX_ARM64,
|
||||||
|
],
|
||||||
|
# Push the final result to ECR.
|
||||||
|
push=True,
|
||||||
|
# Provide our ECR credentials.
|
||||||
|
registries=[docker_build.RegistryArgs(
|
||||||
|
address=ecr_repository.repository_url,
|
||||||
|
password=auth_token.password,
|
||||||
|
username=auth_token.user_name,
|
||||||
|
)],
|
||||||
|
)
|
||||||
|
|
||||||
|
# Export a ref for the pushed images so we can deploy it.
|
||||||
|
pulumi.export("ref", my_image.ref)
|
||||||
|
```
|
||||||
|
|
||||||
|
{{% /choosable %}}
|
||||||
|
|
||||||
|
{{% choosable language csharp %}}
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Pulumi;
|
||||||
|
using Aws = Pulumi.Aws;
|
||||||
|
using DockerBuild = Pulumi.DockerBuild;
|
||||||
|
|
||||||
|
return await Deployment.RunAsync(() =>
|
||||||
|
{
|
||||||
|
// Create an ECR repository for pushing.
|
||||||
|
var ecrRepository = new Aws.Ecr.Repository("ecr-repository");
|
||||||
|
|
||||||
|
// Grab auth credentials for ECR.
|
||||||
|
var authToken = Aws.Ecr.GetAuthorizationToken.Invoke(new()
|
||||||
|
{
|
||||||
|
RegistryId = ecrRepository.RegistryId,
|
||||||
|
});
|
||||||
|
|
||||||
|
// Build and push an image to ECR with inline caching.
|
||||||
|
var myImage = new DockerBuild.Image("my-image", new()
|
||||||
|
{
|
||||||
|
// Tag our image with our ECR repository's address.
|
||||||
|
Tags = new[]
|
||||||
|
{
|
||||||
|
ecrRepository.RepositoryUrl.Apply(repositoryUrl => $"{repositoryUrl}:latest"),
|
||||||
|
},
|
||||||
|
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||||
|
{
|
||||||
|
Location = "./app",
|
||||||
|
},
|
||||||
|
// Use the pushed image as a cache source.
|
||||||
|
CacheFrom = new[]
|
||||||
|
{
|
||||||
|
new DockerBuild.Inputs.CacheFromArgs
|
||||||
|
{
|
||||||
|
Registry = new DockerBuild.Inputs.CacheFromRegistryArgs
|
||||||
|
{
|
||||||
|
Ref = ecrRepository.RepositoryUrl.Apply(repositoryUrl => $"{repositoryUrl}:latest"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// Include an inline cache with our pushed image.
|
||||||
|
CacheTo = new[]
|
||||||
|
{
|
||||||
|
new DockerBuild.Inputs.CacheToArgs
|
||||||
|
{
|
||||||
|
Inline = null,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// Build a multi-platform image manifest for ARM and AMD.
|
||||||
|
Platforms = new[]
|
||||||
|
{
|
||||||
|
DockerBuild.Platform.Linux_amd64,
|
||||||
|
DockerBuild.Platform.Linux_arm64,
|
||||||
|
},
|
||||||
|
// Push the final result to ECR.
|
||||||
|
Push = true,
|
||||||
|
// Provide our ECR credentials.
|
||||||
|
Registries = new[]
|
||||||
|
{
|
||||||
|
new DockerBuild.Inputs.RegistryArgs
|
||||||
|
{
|
||||||
|
Address = ecrRepository.RepositoryUrl,
|
||||||
|
Password = authToken.Apply(getAuthorizationTokenResult => getAuthorizationTokenResult.Password),
|
||||||
|
Username = authToken.Apply(getAuthorizationTokenResult => getAuthorizationTokenResult.UserName),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
// Export a ref for the pushed images so we can deploy it.
|
||||||
|
return new Dictionary<string, object?>
|
||||||
|
{
|
||||||
|
["ref"] = myImage.Ref,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
{{% /choosable %}}
|
||||||
|
|
||||||
|
{{% choosable language go %}}
|
||||||
|
|
||||||
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
|
||||||
|
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
pulumi.Run(func(ctx *pulumi.Context) error {
|
||||||
|
// Create an ECR repository for pushing.
|
||||||
|
ecrRepository, err := ecr.NewRepository(ctx, "ecr-repository", nil)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Grab auth credentials for ECR.
|
||||||
|
authToken := ecr.GetAuthorizationTokenOutput(ctx, ecr.GetAuthorizationTokenOutputArgs{
|
||||||
|
RegistryId: ecrRepository.RegistryId,
|
||||||
|
}, nil)
|
||||||
|
|
||||||
|
// Build and push an image to ECR with inline caching.
|
||||||
|
myImage, err := dockerbuild.NewImage(ctx, "my-image", &dockerbuild.ImageArgs{
|
||||||
|
// Tag our image with our ECR repository's address.
|
||||||
|
Tags: pulumi.StringArray{
|
||||||
|
ecrRepository.RepositoryUrl.ApplyT(func(repositoryUrl string) (string, error) {
|
||||||
|
return fmt.Sprintf("%v:latest", repositoryUrl), nil
|
||||||
|
}).(pulumi.StringOutput),
|
||||||
|
},
|
||||||
|
Context: &dockerbuild.BuildContextArgs{
|
||||||
|
Location: pulumi.String("./app"),
|
||||||
|
},
|
||||||
|
// Use the pushed image as a cache source.
|
||||||
|
CacheFrom: dockerbuild.CacheFromArray{
|
||||||
|
&dockerbuild.CacheFromArgs{
|
||||||
|
Registry: &dockerbuild.CacheFromRegistryArgs{
|
||||||
|
Ref: ecrRepository.RepositoryUrl.ApplyT(func(repositoryUrl string) (string, error) {
|
||||||
|
return fmt.Sprintf("%v:latest", repositoryUrl), nil
|
||||||
|
}).(pulumi.StringOutput),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// Include an inline cache with our pushed image.
|
||||||
|
CacheTo: dockerbuild.CacheToArray{
|
||||||
|
&dockerbuild.CacheToArgs{
|
||||||
|
Inline: nil,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// Build a multi-platform image manifest for ARM and AMD.
|
||||||
|
Platforms: dockerbuild.PlatformArray{
|
||||||
|
dockerbuild.Platform_Linux_amd64,
|
||||||
|
dockerbuild.Platform_Linux_arm64,
|
||||||
|
},
|
||||||
|
// Push the final result to ECR.
|
||||||
|
Push: pulumi.Bool(true),
|
||||||
|
// Provide our ECR credentials.
|
||||||
|
Registries: dockerbuild.RegistryArray{
|
||||||
|
&dockerbuild.RegistryArgs{
|
||||||
|
Address: ecrRepository.RepositoryUrl,
|
||||||
|
Password: authToken.ApplyT(func(authToken ecr.GetAuthorizationTokenResult) (*string, error) {
|
||||||
|
return &authToken.Password, nil
|
||||||
|
}).(pulumi.StringPtrOutput),
|
||||||
|
Username: authToken.ApplyT(func(authToken ecr.GetAuthorizationTokenResult) (*string, error) {
|
||||||
|
return &authToken.UserName, nil
|
||||||
|
}).(pulumi.StringPtrOutput),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Export a ref for the pushed images so we can deploy it.
|
||||||
|
ctx.Export("ref", myImage.Ref)
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
{{% /choosable %}}
|
||||||
|
|
||||||
|
{{% choosable language yaml %}}
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
description: Push to AWS ECR with caching
|
||||||
|
name: ecr
|
||||||
|
outputs:
|
||||||
|
ref: ${my-image.ref}
|
||||||
|
resources:
|
||||||
|
# Create an ECR repository for pushing.
|
||||||
|
ecr-repository:
|
||||||
|
type: aws:ecr:Repository
|
||||||
|
|
||||||
|
# Build and push an image to ECR with inline caching.
|
||||||
|
my-image:
|
||||||
|
type: docker-build:Image
|
||||||
|
properties:
|
||||||
|
# Tag our image with our ECR repository's address.
|
||||||
|
tags:
|
||||||
|
- ${ecr-repository.repositoryUrl}:latest
|
||||||
|
context:
|
||||||
|
location: ./app
|
||||||
|
# Use the pushed image as a cache source.
|
||||||
|
cacheFrom:
|
||||||
|
- registry:
|
||||||
|
ref: ${ecr-repository.repositoryUrl}:latest
|
||||||
|
# Include an inline cache with our pushed image.
|
||||||
|
cacheTo:
|
||||||
|
- inline: {}
|
||||||
|
# Build a multi-platform image manifest for ARM and AMD.
|
||||||
|
platforms:
|
||||||
|
- linux/amd64
|
||||||
|
- linux/arm64
|
||||||
|
# Push the final result to ECR.
|
||||||
|
push: true
|
||||||
|
# Provide our ECR credentials.
|
||||||
|
registries:
|
||||||
|
- address: ${ecr-repository.repositoryUrl}
|
||||||
|
password: ${auth-token.password}
|
||||||
|
username: ${auth-token.userName}
|
||||||
|
|
||||||
|
runtime: yaml
|
||||||
|
variables:
|
||||||
|
auth-token:
|
||||||
|
# Grab auth credentials for ECR.
|
||||||
|
fn::aws:ecr:getAuthorizationToken:
|
||||||
|
registryId: ${ecr-repository.registryId}
|
||||||
|
```
|
||||||
|
|
||||||
|
{{% /choosable %}}
|
||||||
|
|
||||||
|
{{% choosable language java %}}
|
||||||
|
|
||||||
|
```java
|
||||||
|
package myapp;
|
||||||
|
|
||||||
|
import com.pulumi.Context;
|
||||||
|
import com.pulumi.Pulumi;
|
||||||
|
import com.pulumi.core.Output;
|
||||||
|
import com.pulumi.aws.ecr.Repository;
|
||||||
|
import com.pulumi.aws.ecr.EcrFunctions;
|
||||||
|
import com.pulumi.aws.ecr.inputs.GetAuthorizationTokenArgs;
|
||||||
|
import com.pulumi.dockerbuild.Image;
|
||||||
|
import com.pulumi.dockerbuild.ImageArgs;
|
||||||
|
import com.pulumi.dockerbuild.inputs.CacheFromArgs;
|
||||||
|
import com.pulumi.dockerbuild.inputs.CacheFromRegistryArgs;
|
||||||
|
import com.pulumi.dockerbuild.inputs.CacheToArgs;
|
||||||
|
import com.pulumi.dockerbuild.inputs.CacheToInlineArgs;
|
||||||
|
import com.pulumi.dockerbuild.inputs.BuildContextArgs;
|
||||||
|
import com.pulumi.dockerbuild.inputs.RegistryArgs;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.io.File;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
|
||||||
|
public class App {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Pulumi.run(App::stack);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void stack(Context ctx) {
|
||||||
|
// Create an ECR repository for pushing.
|
||||||
|
var ecrRepository = new Repository("ecrRepository");
|
||||||
|
|
||||||
|
// Grab auth credentials for ECR.
|
||||||
|
final var authToken = EcrFunctions.getAuthorizationToken(GetAuthorizationTokenArgs.builder()
|
||||||
|
.registryId(ecrRepository.registryId())
|
||||||
|
.build());
|
||||||
|
|
||||||
|
// Build and push an image to ECR with inline caching.
|
||||||
|
var myImage = new Image("myImage", ImageArgs.builder()
|
||||||
|
// Tag our image with our ECR repository's address.
|
||||||
|
.tags(ecrRepository.repositoryUrl().applyValue(repositoryUrl -> String.format("%s:latest", repositoryUrl)))
|
||||||
|
.context(BuildContextArgs.builder()
|
||||||
|
.location("./app")
|
||||||
|
.build())
|
||||||
|
// Use the pushed image as a cache source.
|
||||||
|
.cacheFrom(CacheFromArgs.builder()
|
||||||
|
.registry(CacheFromRegistryArgs.builder()
|
||||||
|
.ref(ecrRepository.repositoryUrl().applyValue(repositoryUrl -> String.format("%s:latest", repositoryUrl)))
|
||||||
|
.build())
|
||||||
|
.build())
|
||||||
|
// Include an inline cache with our pushed image.
|
||||||
|
.cacheTo(CacheToArgs.builder()
|
||||||
|
.inline()
|
||||||
|
.build())
|
||||||
|
// Build a multi-platform image manifest for ARM and AMD.
|
||||||
|
.platforms(
|
||||||
|
"linux/amd64",
|
||||||
|
"linux/arm64")
|
||||||
|
// Push the final result to ECR.
|
||||||
|
.push(true)
|
||||||
|
// Provide our ECR credentials.
|
||||||
|
.registries(RegistryArgs.builder()
|
||||||
|
.address(ecrRepository.repositoryUrl())
|
||||||
|
.password(authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult).applyValue(authToken -> authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult.password())))
|
||||||
|
.username(authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult).applyValue(authToken -> authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult.userName())))
|
||||||
|
.build())
|
||||||
|
.build());
|
||||||
|
|
||||||
|
ctx.export("ref", myImage.ref());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
{{% /choosable %}}
|
||||||
|
|
||||||
|
{{< /chooser >}}
|
||||||
@@ -34,7 +34,7 @@ import (
|
|||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
if len(os.Args) < 3 {
|
if len(os.Args) < 3 {
|
||||||
fmt.Fprintf(os.Stdout, "Usage: %s <yaml source dir path> <markdown destination path>\n", os.Args[0])
|
_, _ = fmt.Fprintf(os.Stdout, "Usage: %s <yaml source dir path> <markdown destination path>\n", os.Args[0])
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
yamlPath := os.Args[1]
|
yamlPath := os.Args[1]
|
||||||
@@ -204,7 +204,7 @@ func processYaml(path, mdDir string) error {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fmt.Fprintf(os.Stdout, "Writing %s\n", filepath.Join(mdDir, md))
|
_, _ = fmt.Fprintf(os.Stdout, "Writing %s\n", filepath.Join(mdDir, md))
|
||||||
f, err := os.OpenFile(filepath.Clean(filepath.Join(mdDir, md)), os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0o600)
|
f, err := os.OpenFile(filepath.Clean(filepath.Join(mdDir, md)), os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0o600)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|||||||
33
docs/installation-configuration.md
Normal file
33
docs/installation-configuration.md
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
---
|
||||||
|
title: Docker-Build Installation & Configuration
|
||||||
|
meta_desc: Provides an overview on how to configure the Pulumi Docker-Build Provider.
|
||||||
|
layout: package
|
||||||
|
---
|
||||||
|
|
||||||
|
The Pulumi Docker-build provider builds modern Docker images with [buildx](https://docs.docker.com/reference/cli/docker/buildx/) and [BuildKit](https://docs.docker.com/build/buildkit/).
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
The Docker-Build provider is available as a package in all Pulumi languages:
|
||||||
|
|
||||||
|
* JavaScript/TypeScript: [`@pulumi/docker-build`](https://www.npmjs.com/package/@pulumi/docker-build)
|
||||||
|
* Python: [`pulumi-docker-build`](https://pypi.org/project/pulumi-docker-build/)
|
||||||
|
* Go: [`github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild`](https://github.com/pulumi/pulumi-docker-build)
|
||||||
|
* .NET: [`Pulumi.DockerBuild`](https://www.nuget.org/packages/Pulumi.DockerBuild)
|
||||||
|
* Java: [`com.pulumi/docker-build`](https://central.sonatype.com/artifact/com.pulumi/docker-build)
|
||||||
|
|
||||||
|
## Configuring The Provider
|
||||||
|
|
||||||
|
### Host
|
||||||
|
|
||||||
|
The `DOCKER_HOST` environment variable can be used to specify a custom build daemon's location.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ export DOCKER_HOST=tcp://127.0.0.1:2376/
|
||||||
|
```
|
||||||
|
|
||||||
|
This can also be specified in your stack's configuration:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ pulumi config set docker-build:host tcp://127.0.0.1:2376/
|
||||||
|
```
|
||||||
2
examples/dotnet/.dockerignore
Normal file
2
examples/dotnet/.dockerignore
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
command-output
|
||||||
|
tmp
|
||||||
@@ -239,10 +239,6 @@ COPY hello.c ./
|
|||||||
RUN echo ""This uses an inline Dockerfile! 👍""
|
RUN echo ""This uses an inline Dockerfile! 👍""
|
||||||
",
|
",
|
||||||
},
|
},
|
||||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
|
||||||
{
|
|
||||||
Location = "./app",
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var dockerLoad = new DockerBuild.Image("dockerLoad", new()
|
var dockerLoad = new DockerBuild.Image("dockerLoad", new()
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|||||||
2
examples/go/.dockerignore
Normal file
2
examples/go/.dockerignore
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
command-output
|
||||||
|
tmp
|
||||||
@@ -1,95 +1,99 @@
|
|||||||
module provider-docker-build
|
module provider-docker-build
|
||||||
|
|
||||||
go 1.21.7
|
go 1.24.1
|
||||||
|
|
||||||
toolchain go1.21.9
|
toolchain go1.24.5
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.0-20240425180359-26c144c916b7
|
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.12
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.113.3
|
github.com/pulumi/pulumi/sdk/v3 v3.192.0
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
dario.cat/mergo v1.0.0 // indirect
|
dario.cat/mergo v1.0.1 // indirect
|
||||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
github.com/BurntSushi/toml v1.5.0 // indirect
|
||||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect
|
github.com/Microsoft/go-winio v0.6.2 // indirect
|
||||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
|
github.com/ProtonMail/go-crypto v1.2.0 // indirect
|
||||||
github.com/agext/levenshtein v1.2.3 // indirect
|
github.com/agext/levenshtein v1.2.3 // indirect
|
||||||
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
||||||
github.com/atotto/clipboard v0.1.4 // indirect
|
github.com/atotto/clipboard v0.1.4 // indirect
|
||||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
||||||
github.com/blang/semver v3.5.1+incompatible // indirect
|
github.com/blang/semver v3.5.1+incompatible // indirect
|
||||||
github.com/charmbracelet/bubbles v0.16.1 // indirect
|
github.com/charmbracelet/bubbles v0.21.0 // indirect
|
||||||
github.com/charmbracelet/bubbletea v0.24.2 // indirect
|
github.com/charmbracelet/bubbletea v1.3.4 // indirect
|
||||||
github.com/charmbracelet/lipgloss v0.7.1 // indirect
|
github.com/charmbracelet/colorprofile v0.3.0 // indirect
|
||||||
|
github.com/charmbracelet/lipgloss v1.1.0 // indirect
|
||||||
|
github.com/charmbracelet/x/ansi v0.8.0 // indirect
|
||||||
|
github.com/charmbracelet/x/cellbuf v0.0.13 // indirect
|
||||||
|
github.com/charmbracelet/x/term v0.2.1 // indirect
|
||||||
github.com/cheggaaa/pb v1.0.29 // indirect
|
github.com/cheggaaa/pb v1.0.29 // indirect
|
||||||
github.com/cloudflare/circl v1.3.7 // indirect
|
github.com/cloudflare/circl v1.6.1 // indirect
|
||||||
github.com/containerd/console v1.0.4 // indirect
|
github.com/cyphar/filepath-securejoin v0.4.1 // indirect
|
||||||
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
|
github.com/djherbis/times v1.6.0 // indirect
|
||||||
github.com/djherbis/times v1.5.0 // indirect
|
|
||||||
github.com/emirpasic/gods v1.18.1 // indirect
|
github.com/emirpasic/gods v1.18.1 // indirect
|
||||||
|
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
|
||||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
||||||
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
github.com/go-git/go-billy/v5 v5.6.2 // indirect
|
||||||
github.com/go-git/go-git/v5 v5.11.0 // indirect
|
github.com/go-git/go-git/v5 v5.16.0 // indirect
|
||||||
github.com/gogo/protobuf v1.3.2 // indirect
|
github.com/gogo/protobuf v1.3.2 // indirect
|
||||||
github.com/golang/glog v1.2.0 // indirect
|
github.com/golang/glog v1.2.4 // indirect
|
||||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
|
||||||
github.com/golang/protobuf v1.5.4 // indirect
|
|
||||||
github.com/google/uuid v1.6.0 // indirect
|
github.com/google/uuid v1.6.0 // indirect
|
||||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
||||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||||
github.com/hashicorp/hcl/v2 v2.19.1 // indirect
|
github.com/hashicorp/hcl/v2 v2.23.0 // indirect
|
||||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
||||||
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
||||||
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
|
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
|
||||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||||
github.com/mattn/go-localereader v0.0.1 // indirect
|
github.com/mattn/go-localereader v0.0.1 // indirect
|
||||||
github.com/mattn/go-runewidth v0.0.15 // indirect
|
github.com/mattn/go-runewidth v0.0.16 // indirect
|
||||||
github.com/mitchellh/go-ps v1.0.0 // indirect
|
github.com/mitchellh/go-ps v1.0.0 // indirect
|
||||||
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
||||||
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
|
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
|
||||||
github.com/muesli/cancelreader v0.2.2 // indirect
|
github.com/muesli/cancelreader v0.2.2 // indirect
|
||||||
github.com/muesli/reflow v0.3.0 // indirect
|
github.com/muesli/termenv v0.16.0 // indirect
|
||||||
github.com/muesli/termenv v0.15.2 // indirect
|
|
||||||
github.com/opentracing/basictracer-go v1.1.0 // indirect
|
github.com/opentracing/basictracer-go v1.1.0 // indirect
|
||||||
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
||||||
github.com/pgavlin/fx v0.1.6 // indirect
|
github.com/pgavlin/fx v0.1.6 // indirect
|
||||||
github.com/pjbgf/sha1cd v0.3.0 // indirect
|
github.com/pjbgf/sha1cd v0.3.2 // indirect
|
||||||
github.com/pkg/errors v0.9.1 // indirect
|
github.com/pkg/errors v0.9.1 // indirect
|
||||||
github.com/pkg/term v1.1.0 // indirect
|
github.com/pkg/term v1.1.0 // indirect
|
||||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
||||||
github.com/pulumi/esc v0.6.2 // indirect
|
github.com/pulumi/esc v0.17.0 // indirect
|
||||||
github.com/rivo/uniseg v0.4.4 // indirect
|
github.com/rivo/uniseg v0.4.7 // indirect
|
||||||
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
github.com/rogpeppe/go-internal v1.14.1 // indirect
|
||||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
||||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
||||||
github.com/sergi/go-diff v1.3.1 // indirect
|
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
|
||||||
github.com/skeema/knownhosts v1.2.1 // indirect
|
github.com/skeema/knownhosts v1.3.1 // indirect
|
||||||
github.com/spf13/cast v1.5.0 // indirect
|
github.com/spf13/cast v1.5.0 // indirect
|
||||||
github.com/spf13/cobra v1.8.0 // indirect
|
github.com/spf13/cobra v1.9.1 // indirect
|
||||||
github.com/spf13/pflag v1.0.5 // indirect
|
github.com/spf13/pflag v1.0.6 // indirect
|
||||||
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
|
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
|
||||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect
|
|
||||||
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
||||||
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
|
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
|
||||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||||
github.com/zclconf/go-cty v1.14.1 // indirect
|
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
||||||
go.uber.org/atomic v1.10.0 // indirect
|
github.com/zclconf/go-cty v1.16.2 // indirect
|
||||||
golang.org/x/crypto v0.21.0 // indirect
|
go.opentelemetry.io/otel v1.36.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect
|
go.opentelemetry.io/otel/sdk v1.36.0 // indirect
|
||||||
golang.org/x/mod v0.16.0 // indirect
|
go.uber.org/atomic v1.11.0 // indirect
|
||||||
golang.org/x/net v0.22.0 // indirect
|
golang.org/x/crypto v0.39.0 // indirect
|
||||||
golang.org/x/sync v0.6.0 // indirect
|
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect
|
||||||
golang.org/x/sys v0.18.0 // indirect
|
golang.org/x/mod v0.25.0 // indirect
|
||||||
golang.org/x/term v0.18.0 // indirect
|
golang.org/x/net v0.40.0 // indirect
|
||||||
golang.org/x/text v0.14.0 // indirect
|
golang.org/x/sync v0.15.0 // indirect
|
||||||
golang.org/x/tools v0.19.0 // indirect
|
golang.org/x/sys v0.33.0 // indirect
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 // indirect
|
golang.org/x/term v0.32.0 // indirect
|
||||||
google.golang.org/grpc v1.62.1 // indirect
|
golang.org/x/text v0.26.0 // indirect
|
||||||
google.golang.org/protobuf v1.33.0 // indirect
|
golang.org/x/tools v0.33.0 // indirect
|
||||||
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 // indirect
|
||||||
|
google.golang.org/grpc v1.72.1 // indirect
|
||||||
|
google.golang.org/protobuf v1.36.6 // indirect
|
||||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
lukechampine.com/frand v1.4.2 // indirect
|
lukechampine.com/frand v1.5.1 // indirect
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
|
dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
|
||||||
dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
|
dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
|
||||||
|
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
|
||||||
|
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
|
||||||
github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM=
|
github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM=
|
||||||
github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=
|
github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=
|
||||||
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
||||||
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
|
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
|
||||||
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
|
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
|
||||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg=
|
github.com/ProtonMail/go-crypto v1.2.0 h1:+PhXXn4SPGd+qk76TlEePBfOfivE0zkWFenhGhFLzWs=
|
||||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
|
github.com/ProtonMail/go-crypto v1.2.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE=
|
||||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY=
|
|
||||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA=
|
|
||||||
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
|
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
|
||||||
github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
|
github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
|
||||||
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
|
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
|
||||||
@@ -23,58 +23,69 @@ github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiE
|
|||||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
|
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
|
||||||
github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
|
github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
|
||||||
github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
|
github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
|
||||||
github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
|
github.com/charmbracelet/bubbles v0.21.0 h1:9TdC97SdRVg/1aaXNVWfFH3nnLAwOXr8Fn6u6mfQdFs=
|
||||||
github.com/charmbracelet/bubbles v0.16.1 h1:6uzpAAaT9ZqKssntbvZMlksWHruQLNxg49H5WdeuYSY=
|
github.com/charmbracelet/bubbles v0.21.0/go.mod h1:HF+v6QUR4HkEpz62dx7ym2xc71/KBHg+zKwJtMw+qtg=
|
||||||
github.com/charmbracelet/bubbles v0.16.1/go.mod h1:2QCp9LFlEsBQMvIYERr7Ww2H2bA7xen1idUDIzm/+Xc=
|
github.com/charmbracelet/bubbletea v1.3.4 h1:kCg7B+jSCFPLYRA52SDZjr51kG/fMUEoPoZrkaDHyoI=
|
||||||
github.com/charmbracelet/bubbletea v0.24.2 h1:uaQIKx9Ai6Gdh5zpTbGiWpytMU+CfsPp06RaW2cx/SY=
|
github.com/charmbracelet/bubbletea v1.3.4/go.mod h1:dtcUCyCGEX3g9tosuYiut3MXgY/Jsv9nKVdibKKRRXo=
|
||||||
github.com/charmbracelet/bubbletea v0.24.2/go.mod h1:XdrNrV4J8GiyshTtx3DNuYkR1FDaJmO3l2nejekbsgg=
|
github.com/charmbracelet/colorprofile v0.3.0 h1:KtLh9uuu1RCt+Hml4s6Hz+kB1PfV3wi++1h5ia65yKQ=
|
||||||
github.com/charmbracelet/lipgloss v0.7.1 h1:17WMwi7N1b1rVWOjMT+rCh7sQkvDU75B2hbZpc5Kc1E=
|
github.com/charmbracelet/colorprofile v0.3.0/go.mod h1:oHJ340RS2nmG1zRGPmhJKJ/jf4FPNNk0P39/wBPA1G0=
|
||||||
github.com/charmbracelet/lipgloss v0.7.1/go.mod h1:yG0k3giv8Qj8edTCbbg6AlQ5e8KNWpFujkNawKNhE2c=
|
github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
|
||||||
|
github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
|
||||||
|
github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
|
||||||
|
github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q=
|
||||||
|
github.com/charmbracelet/x/cellbuf v0.0.13 h1:/KBBKHuVRbq1lYx5BzEHBAFBP8VcQzJejZ/IA3iR28k=
|
||||||
|
github.com/charmbracelet/x/cellbuf v0.0.13/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=
|
||||||
|
github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ=
|
||||||
|
github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
|
||||||
github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo=
|
github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo=
|
||||||
github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30=
|
github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30=
|
||||||
github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
|
github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0=
|
||||||
github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
|
github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs=
|
||||||
github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
|
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
|
||||||
github.com/containerd/console v1.0.4 h1:F2g4+oChYvBTsASRTz8NP6iIAi97J3TtSAsLbIFn4ro=
|
github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s=
|
||||||
github.com/containerd/console v1.0.4/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk=
|
github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
|
||||||
github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
|
|
||||||
github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
|
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/djherbis/times v1.5.0 h1:79myA211VwPhFTqUk8xehWrsEO+zcIZj0zT8mXPVARU=
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
||||||
github.com/djherbis/times v1.5.0/go.mod h1:5q7FDLvbNg1L/KaBmPcWlVR9NmoKo3+ucqUA3ijQhA0=
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU=
|
github.com/djherbis/times v1.6.0 h1:w2ctJ92J8fBvWPxugmXIv7Nz7Q3iDMKNx9v5ocVH20c=
|
||||||
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM=
|
github.com/djherbis/times v1.6.0/go.mod h1:gOHeRAz2h+VJNZ5Gmc/o7iD9k4wW7NMVqieYCY99oc0=
|
||||||
|
github.com/elazarl/goproxy v1.7.2 h1:Y2o6urb7Eule09PjlhQRGNsqRfPmYI3KKQLFpCAV3+o=
|
||||||
|
github.com/elazarl/goproxy v1.7.2/go.mod h1:82vkLNir0ALaW14Rc399OTTjyNREgmdL2cVoIbS6XaE=
|
||||||
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
|
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
|
||||||
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
|
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
|
||||||
|
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f h1:Y/CXytFA4m6baUTXGLOoWe4PQhGxaX0KpnayAqC48p4=
|
||||||
|
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f/go.mod h1:vw97MGsxSvLiUE2X8qFplwetxpGLQrlU1Q9AUEIzCaM=
|
||||||
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
|
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
|
||||||
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
|
github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
|
||||||
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
|
github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
|
||||||
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
||||||
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||||
github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
|
github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c=
|
||||||
github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4=
|
github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU=
|
||||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
|
||||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
|
||||||
github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
|
github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UNbRM=
|
||||||
github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow=
|
github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU=
|
||||||
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
|
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
|
||||||
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
|
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
|
||||||
github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4=
|
github.com/go-git/go-git/v5 v5.16.0 h1:k3kuOEpkc0DeY7xlL6NaaNg39xdgQbtH5mwCafHO9AQ=
|
||||||
github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY=
|
github.com/go-git/go-git/v5 v5.16.0/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8=
|
||||||
|
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
|
||||||
|
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
|
||||||
|
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
||||||
|
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
||||||
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||||
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||||
github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68=
|
github.com/golang/glog v1.2.4 h1:CNNw5U8lSiiBk7druxtSHHTsRWcxKoac6kZKm2peBBc=
|
||||||
github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
|
github.com/golang/glog v1.2.4/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
|
||||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
|
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ=
|
||||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw=
|
||||||
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
|
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
|
||||||
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
|
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
|
||||||
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
||||||
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
||||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
|
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
|
||||||
@@ -84,8 +95,8 @@ github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY
|
|||||||
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||||
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
|
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
|
||||||
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
|
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
|
||||||
github.com/hashicorp/hcl/v2 v2.19.1 h1://i05Jqznmb2EXqa39Nsvyan2o5XyMowW5fnCKW5RPI=
|
github.com/hashicorp/hcl/v2 v2.23.0 h1:Fphj1/gCylPxHutVSEOf2fBOh1VE4AuLV7+kbJf3qos=
|
||||||
github.com/hashicorp/hcl/v2 v2.19.1/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE=
|
github.com/hashicorp/hcl/v2 v2.23.0/go.mod h1:62ZYHrXgPoX8xBnzl8QzbWq4dyDsDtfCRgIq1rbJEvA=
|
||||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
|
||||||
@@ -114,9 +125,8 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D
|
|||||||
github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4=
|
github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4=
|
||||||
github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=
|
github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=
|
||||||
github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
||||||
github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk=
|
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
|
||||||
github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
|
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
|
||||||
github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
|
|
||||||
github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc=
|
github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc=
|
||||||
github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg=
|
github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg=
|
||||||
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
|
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
|
||||||
@@ -125,12 +135,10 @@ github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D
|
|||||||
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo=
|
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo=
|
||||||
github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA=
|
github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA=
|
||||||
github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo=
|
github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo=
|
||||||
github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s=
|
github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
|
||||||
github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8=
|
github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
|
||||||
github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo=
|
github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k=
|
||||||
github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8=
|
github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY=
|
||||||
github.com/onsi/gomega v1.31.1 h1:KYppCUK+bUgAZwHOu7EXVBKyQA6ILvOESHkn/tgoqvo=
|
|
||||||
github.com/onsi/gomega v1.31.1/go.mod h1:y40C95dwAD1Nz36SsEnxvfFe8FFfNxzI5eJ0EYGyAy0=
|
|
||||||
github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0=
|
github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0=
|
||||||
github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc=
|
github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc=
|
||||||
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
|
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
|
||||||
@@ -138,113 +146,114 @@ github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+
|
|||||||
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
|
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
|
||||||
github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU=
|
github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU=
|
||||||
github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M=
|
github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M=
|
||||||
github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
|
github.com/pgavlin/fx/v2 v2.0.3 h1:ZBVklTFjxcWvBVPE+ti5qwnmTIQ0Gq6nuj3J5RKDtKk=
|
||||||
github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI=
|
github.com/pgavlin/fx/v2 v2.0.3/go.mod h1:Cvnwqq0BopdHUJ7CU50h1XPeKrF4ZwdFj1nJLXbAjCE=
|
||||||
|
github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4=
|
||||||
|
github.com/pjbgf/sha1cd v0.3.2/go.mod h1:zQWigSxVmsHEZow5qaLtPYxpcKMMQpa09ixqBxuCS6A=
|
||||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk=
|
github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk=
|
||||||
github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw=
|
github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
|
||||||
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0=
|
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0=
|
||||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
|
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
|
||||||
github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw=
|
github.com/pulumi/esc v0.17.0 h1:oaVOIyFTENlYDuqc3pW75lQT9jb2cd6ie/4/Twxn66w=
|
||||||
github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k=
|
github.com/pulumi/esc v0.17.0/go.mod h1:XnSxlt5NkmuAj304l/gK4pRErFbtqq6XpfX1tYT9Jbc=
|
||||||
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.0-20240425180359-26c144c916b7 h1:elp7Ar01zvIJtRQv+megjeGSfpxxzPYyKBGfDDtWFBA=
|
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.12 h1:uzmw+0iic764m0Yvh4I/jRV1x3q49dVh5Ctq9RllsQ8=
|
||||||
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.0-20240425180359-26c144c916b7/go.mod h1:48lEA1mq2tRC4SfASAJmLYG1hRWM5sP5VPFeoZEM54U=
|
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.12/go.mod h1:6zFMe786NvFDO03BVJwdw1R/Yms4F6vAU49iBHo8zbQ=
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.113.3 h1:ySNxoL+O9TtS9WiPa9SWu6mthJryryRzP0kyYaQlNaU=
|
github.com/pulumi/pulumi/sdk/v3 v3.192.0 h1:sfHuR3P02wSbV3xdSMEQ0+uC/HzlMz0YfKrVAXy1hSQ=
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.113.3/go.mod h1:JWSzKBoHd8rlncC1DhXLf7YdV+Bk/Qf+hSZOOQh0WwQ=
|
github.com/pulumi/pulumi/sdk/v3 v3.192.0/go.mod h1:aV0+c5xpSYccWKmOjTZS9liYCqh7+peu3cQgSXu7CJw=
|
||||||
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
|
||||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||||
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
|
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
|
||||||
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
||||||
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
|
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
|
||||||
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
|
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
|
||||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI=
|
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI=
|
||||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs=
|
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs=
|
||||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
|
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
|
||||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
|
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
|
||||||
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
|
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
|
||||||
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
|
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
|
||||||
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||||
github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ=
|
github.com/skeema/knownhosts v1.3.1 h1:X2osQ+RAjK76shCbvhHHHVl3ZlgDm8apHEHFqRjnBY8=
|
||||||
github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
|
github.com/skeema/knownhosts v1.3.1/go.mod h1:r7KTdC8l4uxWRyK2TpQZ/1o5HaSzh06ePQNxPwTcfiY=
|
||||||
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
|
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
|
||||||
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
|
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
|
||||||
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
|
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
|
||||||
github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
|
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
|
||||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
|
||||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||||
github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4=
|
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
|
||||||
|
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
|
||||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
||||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
|
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||||
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||||
github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U=
|
github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U=
|
||||||
github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8=
|
github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8=
|
||||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 h1:X9dsIWPuuEJlPX//UmRKophhOKCGXc46RVIGuttks68=
|
|
||||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7/go.mod h1:UxoP3EypF8JfGEjAII8jx1q8rQyDnX8qdTCs/UQBVIE=
|
|
||||||
github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o=
|
github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o=
|
||||||
github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
|
github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
|
||||||
github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg=
|
github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg=
|
||||||
github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=
|
github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=
|
||||||
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
|
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
|
||||||
github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
|
github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
|
||||||
|
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
|
||||||
|
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
|
||||||
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
github.com/zclconf/go-cty v1.16.2 h1:LAJSwc3v81IRBZyUVQDUdZ7hs3SYs9jv0eZJDWHD/70=
|
||||||
github.com/zclconf/go-cty v1.14.1 h1:t9fyA35fwjjUMcmL5hLER+e/rEPqrbCK1/OSE4SI9KA=
|
github.com/zclconf/go-cty v1.16.2/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
|
||||||
github.com/zclconf/go-cty v1.14.1/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
|
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
|
||||||
go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
|
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
|
||||||
go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
|
go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg=
|
||||||
|
go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E=
|
||||||
|
go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE=
|
||||||
|
go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs=
|
||||||
|
go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs=
|
||||||
|
go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY=
|
||||||
|
go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk=
|
||||||
|
go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w=
|
||||||
|
go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w=
|
||||||
|
go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
|
||||||
|
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
|
||||||
|
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
|
||||||
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||||
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
|
||||||
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
|
||||||
golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
|
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
|
||||||
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
|
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
|
||||||
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 h1:hNQpMuAJe5CtcUqCXaWga3FHu+kQvCqcsoVaQgSV60o=
|
|
||||||
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08=
|
|
||||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||||
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
||||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
|
||||||
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
|
||||||
golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
|
|
||||||
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
||||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
|
||||||
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
|
||||||
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
|
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
|
||||||
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
|
||||||
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
|
||||||
golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
|
|
||||||
golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
|
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
|
||||||
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
||||||
golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
|
|
||||||
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
@@ -253,52 +262,38 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w
|
|||||||
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
||||||
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
||||||
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
||||||
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
||||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
|
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
|
||||||
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
|
||||||
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
|
||||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
|
||||||
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
|
||||||
golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
|
|
||||||
golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
|
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
|
||||||
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
|
||||||
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
|
||||||
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
|
||||||
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
|
||||||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||||
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
|
||||||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
|
||||||
golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw=
|
|
||||||
golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc=
|
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 h1:8EeVk1VKMD+GD/neyEHGmz7pFblqPjHoi+PGQIlLx2s=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 h1:cJfm9zPbe1e873mHJzmQ1nwVEeRDU/T1wXDK2kUSU34=
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
|
||||||
google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk=
|
google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA=
|
||||||
google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE=
|
google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM=
|
||||||
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
|
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
|
||||||
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||||
@@ -311,7 +306,7 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
|||||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw=
|
lukechampine.com/frand v1.5.1 h1:fg0eRtdmGFIxhP5zQJzM1lFDbD6CUfu/f+7WgAZd5/w=
|
||||||
lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s=
|
lukechampine.com/frand v1.5.1/go.mod h1:4VstaWc2plN4Mjr10chUD46RAVGWhpkZ5Nja8+Azp0Q=
|
||||||
pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw=
|
pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw=
|
||||||
pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
|
pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
|
||||||
|
|||||||
@@ -207,9 +207,6 @@ func main() {
|
|||||||
Dockerfile: &dockerbuild.DockerfileArgs{
|
Dockerfile: &dockerbuild.DockerfileArgs{
|
||||||
Inline: pulumi.String("FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"),
|
Inline: pulumi.String("FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"),
|
||||||
},
|
},
|
||||||
Context: &dockerbuild.BuildContextArgs{
|
|
||||||
Location: pulumi.String("./app"),
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|||||||
2
examples/java/.dockerignore
Normal file
2
examples/java/.dockerignore
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
command-output
|
||||||
|
tmp
|
||||||
@@ -185,9 +185,6 @@ FROM alpine
|
|||||||
RUN echo "This uses an inline Dockerfile! 👍"
|
RUN echo "This uses an inline Dockerfile! 👍"
|
||||||
""")
|
""")
|
||||||
.build())
|
.build())
|
||||||
.context(BuildContextArgs.builder()
|
|
||||||
.location("./app")
|
|
||||||
.build())
|
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
var dockerLoad = new Image("dockerLoad", ImageArgs.builder()
|
var dockerLoad = new Image("dockerLoad", ImageArgs.builder()
|
||||||
|
|||||||
2
examples/nodejs/.dockerignore
Normal file
2
examples/nodejs/.dockerignore
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
command-output
|
||||||
|
tmp
|
||||||
@@ -154,9 +154,6 @@ const inline = new docker_build.Image("inline", {
|
|||||||
RUN echo "This uses an inline Dockerfile! 👍"
|
RUN echo "This uses an inline Dockerfile! 👍"
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
context: {
|
|
||||||
location: "./app",
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
const dockerLoad = new docker_build.Image("dockerLoad", {
|
const dockerLoad = new docker_build.Image("dockerLoad", {
|
||||||
push: false,
|
push: false,
|
||||||
|
|||||||
@@ -5,6 +5,6 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"typescript": "^4.0.0",
|
"typescript": "^4.0.0",
|
||||||
"@pulumi/pulumi": "^3.0.0"
|
"@pulumi/pulumi": "3.184.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,11 +4,25 @@
|
|||||||
package examples
|
package examples
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/base64"
|
||||||
|
"fmt"
|
||||||
|
"math/rand"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/aws/aws-sdk-go/aws"
|
||||||
|
"github.com/aws/aws-sdk-go/aws/session"
|
||||||
|
"github.com/aws/aws-sdk-go/service/ecr"
|
||||||
|
"github.com/pulumi/providertest"
|
||||||
|
"github.com/pulumi/providertest/optproviderupgrade"
|
||||||
|
"github.com/pulumi/providertest/pulumitest"
|
||||||
|
"github.com/pulumi/providertest/pulumitest/assertpreview"
|
||||||
|
"github.com/pulumi/providertest/pulumitest/opttest"
|
||||||
"github.com/pulumi/pulumi/pkg/v3/testing/integration"
|
"github.com/pulumi/pulumi/pkg/v3/testing/integration"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -26,3 +40,216 @@ func TestNodeExample(t *testing.T) {
|
|||||||
|
|
||||||
integration.ProgramTest(t, &test)
|
integration.ProgramTest(t, &test)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestNodeExampleUpgrade(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
var (
|
||||||
|
providerName string = "docker-build"
|
||||||
|
baselineVersion string = "0.0.7"
|
||||||
|
)
|
||||||
|
|
||||||
|
cwd, err := os.Getwd()
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
options := []opttest.Option{
|
||||||
|
opttest.DownloadProviderVersion(providerName, baselineVersion),
|
||||||
|
opttest.LocalProviderPath(providerName, filepath.Join(cwd, "..", "bin")),
|
||||||
|
opttest.YarnLink("@pulumi/docker-build"),
|
||||||
|
opttest.TestInPlace(),
|
||||||
|
}
|
||||||
|
|
||||||
|
test := pulumitest.NewPulumiTest(t, filepath.Join(cwd, "upgrade-node"), options...)
|
||||||
|
result := providertest.PreviewProviderUpgrade(t, test, providerName, baselineVersion,
|
||||||
|
optproviderupgrade.DisableAttach())
|
||||||
|
|
||||||
|
assertpreview.HasNoReplacements(t, result)
|
||||||
|
}
|
||||||
|
|
||||||
|
// TestCaching simulates a slow build with --cache-to enabled. We aren't able
|
||||||
|
// to directly detect cache hits, so we re-run the update and confirm it took
|
||||||
|
// less time than the image originally took to build.
|
||||||
|
//
|
||||||
|
// This is a moderately slow test because we need to "build" (i.e., sleep)
|
||||||
|
// longer than it would take for cache layer uploads under slow network
|
||||||
|
// conditions.
|
||||||
|
func TestCaching(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
sleep := 20.0 // seconds
|
||||||
|
|
||||||
|
// Provision ECR outside of our stack, because the cache needs to be shared
|
||||||
|
// across updates.
|
||||||
|
ecr, ecrOK := tmpEcr(t)
|
||||||
|
|
||||||
|
cwd, err := os.Getwd()
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
localCache := t.TempDir()
|
||||||
|
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
skip bool
|
||||||
|
|
||||||
|
cacheTo string
|
||||||
|
cacheFrom string
|
||||||
|
address string
|
||||||
|
username string
|
||||||
|
password string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "local",
|
||||||
|
cacheTo: fmt.Sprintf("type=local,mode=max,oci-mediatypes=true,dest=%s", localCache),
|
||||||
|
cacheFrom: fmt.Sprintf("type=local,src=%s", localCache),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "gha",
|
||||||
|
skip: os.Getenv("ACTIONS_CACHE_URL") == "",
|
||||||
|
cacheTo: "type=gha,mode=max,scope=cache-test",
|
||||||
|
cacheFrom: "type=gha,scope=cache-test",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "dockerhub",
|
||||||
|
skip: os.Getenv("DOCKER_HUB_PASSWORD") == "",
|
||||||
|
cacheTo: "type=registry,mode=max,ref=docker.io/pulumibot/myapp:cache",
|
||||||
|
cacheFrom: "type=registry,ref=docker.io/pulumibot/myapp:cache",
|
||||||
|
address: "docker.io",
|
||||||
|
username: "pulumibot",
|
||||||
|
password: os.Getenv("DOCKER_HUB_PASSWORD"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ecr",
|
||||||
|
skip: !ecrOK,
|
||||||
|
cacheTo: fmt.Sprintf("type=registry,mode=max,image-manifest=true,oci-mediatypes=true,ref=%s:cache", ecr.address),
|
||||||
|
cacheFrom: fmt.Sprintf("type=registry,ref=%s:cache", ecr.address),
|
||||||
|
address: ecr.address,
|
||||||
|
username: ecr.username,
|
||||||
|
password: ecr.password,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
if tt.skip {
|
||||||
|
t.Skip("Missing environment variables")
|
||||||
|
}
|
||||||
|
|
||||||
|
sleepFuzzed := sleep + rand.Float64() // Add some fuzz to bust any prior build caches.
|
||||||
|
|
||||||
|
test := integration.ProgramTestOptions{
|
||||||
|
Dir: path.Join(cwd, "tests", "caching"),
|
||||||
|
ExtraRuntimeValidation: func(t *testing.T, stack integration.RuntimeValidationStackInfo) {
|
||||||
|
duration, ok := stack.Outputs["durationSeconds"]
|
||||||
|
assert.True(t, ok)
|
||||||
|
assert.Greater(t, duration.(float64), sleepFuzzed)
|
||||||
|
},
|
||||||
|
Dependencies: []string{"@pulumi/docker-build"},
|
||||||
|
Config: map[string]string{
|
||||||
|
"SLEEP_SECONDS": fmt.Sprint(sleepFuzzed),
|
||||||
|
"cacheTo": tt.cacheTo,
|
||||||
|
"cacheFrom": tt.cacheFrom,
|
||||||
|
"name": tt.name,
|
||||||
|
"address": tt.address,
|
||||||
|
"username": tt.username,
|
||||||
|
},
|
||||||
|
Secrets: map[string]string{
|
||||||
|
"password": tt.password,
|
||||||
|
},
|
||||||
|
NoParallel: true,
|
||||||
|
Quick: true,
|
||||||
|
SkipPreview: true,
|
||||||
|
SkipRefresh: true,
|
||||||
|
Verbose: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
// First run should be un-cached.
|
||||||
|
integration.ProgramTest(t, &test)
|
||||||
|
|
||||||
|
// Now run again and confirm our build was faster due to a cache hit.
|
||||||
|
test.ExtraRuntimeValidation = func(t *testing.T, stack integration.RuntimeValidationStackInfo) {
|
||||||
|
duration, ok := stack.Outputs["durationSeconds"]
|
||||||
|
assert.True(t, ok)
|
||||||
|
assert.Less(t, duration.(float64), sleepFuzzed)
|
||||||
|
}
|
||||||
|
test.Config["name"] += "-cached"
|
||||||
|
integration.ProgramTest(t, &test)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestConfig(t *testing.T) {
|
||||||
|
cwd, err := os.Getwd()
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
test := integration.ProgramTestOptions{
|
||||||
|
Dir: path.Join(cwd, "tests", "config"),
|
||||||
|
Dependencies: []string{"@pulumi/docker-build"},
|
||||||
|
SkipEmptyPreviewUpdate: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
integration.ProgramTest(t, &test)
|
||||||
|
}
|
||||||
|
|
||||||
|
type ECR struct {
|
||||||
|
address string
|
||||||
|
username string
|
||||||
|
password string
|
||||||
|
}
|
||||||
|
|
||||||
|
// tmpEcr creates a new ECR repo and cleans it up after the test concludes.
|
||||||
|
func tmpEcr(t *testing.T) (ECR, bool) {
|
||||||
|
sess, err := session.NewSession(&aws.Config{
|
||||||
|
Region: aws.String("us-west-2"),
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return ECR{}, false
|
||||||
|
}
|
||||||
|
|
||||||
|
svc := ecr.New(sess)
|
||||||
|
name := strings.ToLower(t.Name()) + fmt.Sprint(rand.Intn(1000))
|
||||||
|
|
||||||
|
// Always attempt to delete pre-existing repos, in case our cleanup didn't
|
||||||
|
// run.
|
||||||
|
_, _ = svc.DeleteRepository(&ecr.DeleteRepositoryInput{
|
||||||
|
Force: aws.Bool(true),
|
||||||
|
RepositoryName: aws.String(name),
|
||||||
|
})
|
||||||
|
|
||||||
|
params := &ecr.CreateRepositoryInput{
|
||||||
|
RepositoryName: aws.String(name),
|
||||||
|
}
|
||||||
|
resp, err := svc.CreateRepository(params)
|
||||||
|
if err != nil {
|
||||||
|
return ECR{}, false
|
||||||
|
}
|
||||||
|
repo := resp.Repository
|
||||||
|
t.Cleanup(func() {
|
||||||
|
svc.DeleteRepository(&ecr.DeleteRepositoryInput{
|
||||||
|
Force: aws.Bool(true),
|
||||||
|
RegistryId: repo.RegistryId,
|
||||||
|
RepositoryName: repo.RepositoryName,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
// Now grab auth for the repo.
|
||||||
|
auth, err := svc.GetAuthorizationToken(&ecr.GetAuthorizationTokenInput{})
|
||||||
|
if err != nil {
|
||||||
|
return ECR{}, false
|
||||||
|
}
|
||||||
|
b64token := auth.AuthorizationData[0].AuthorizationToken
|
||||||
|
token, err := base64.StdEncoding.DecodeString(*b64token)
|
||||||
|
if err != nil {
|
||||||
|
return ECR{}, false
|
||||||
|
}
|
||||||
|
parts := strings.SplitN(string(token), ":", 2)
|
||||||
|
if len(parts) != 2 {
|
||||||
|
return ECR{}, false
|
||||||
|
}
|
||||||
|
username := parts[0]
|
||||||
|
password := parts[1]
|
||||||
|
|
||||||
|
return ECR{
|
||||||
|
address: *repo.RepositoryUri,
|
||||||
|
username: username,
|
||||||
|
password: password,
|
||||||
|
}, true
|
||||||
|
}
|
||||||
|
|||||||
2
examples/python/.dockerignore
Normal file
2
examples/python/.dockerignore
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
command-output
|
||||||
|
tmp
|
||||||
@@ -5,154 +5,151 @@ config = pulumi.Config()
|
|||||||
docker_hub_password = config.require("dockerHubPassword")
|
docker_hub_password = config.require("dockerHubPassword")
|
||||||
multi_platform = docker_build.Image("multiPlatform",
|
multi_platform = docker_build.Image("multiPlatform",
|
||||||
push=False,
|
push=False,
|
||||||
dockerfile=docker_build.DockerfileArgs(
|
dockerfile={
|
||||||
location="./app/Dockerfile.multiPlatform",
|
"location": "./app/Dockerfile.multiPlatform",
|
||||||
),
|
},
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="./app",
|
"location": "./app",
|
||||||
),
|
},
|
||||||
platforms=[
|
platforms=[
|
||||||
docker_build.Platform.PLAN9_AMD64,
|
docker_build.Platform.PLAN9_AMD64,
|
||||||
docker_build.Platform.PLAN9_386,
|
docker_build.Platform.PLAN9_386,
|
||||||
])
|
])
|
||||||
registry_push = docker_build.Image("registryPush",
|
registry_push = docker_build.Image("registryPush",
|
||||||
push=False,
|
push=False,
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="./app",
|
"location": "./app",
|
||||||
),
|
},
|
||||||
tags=["docker.io/pulumibot/buildkit-e2e:example"],
|
tags=["docker.io/pulumibot/buildkit-e2e:example"],
|
||||||
exports=[docker_build.ExportArgs(
|
exports=[{
|
||||||
registry=docker_build.ExportRegistryArgs(
|
"registry": {
|
||||||
oci_media_types=True,
|
"oci_media_types": True,
|
||||||
push=False,
|
"push": False,
|
||||||
),
|
},
|
||||||
)],
|
}],
|
||||||
registries=[docker_build.RegistryArgs(
|
registries=[{
|
||||||
address="docker.io",
|
"address": "docker.io",
|
||||||
username="pulumibot",
|
"username": "pulumibot",
|
||||||
password=docker_hub_password,
|
"password": docker_hub_password,
|
||||||
)])
|
}])
|
||||||
cached = docker_build.Image("cached",
|
cached = docker_build.Image("cached",
|
||||||
push=False,
|
push=False,
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="./app",
|
"location": "./app",
|
||||||
),
|
},
|
||||||
cache_to=[docker_build.CacheToArgs(
|
cache_to=[{
|
||||||
local=docker_build.CacheToLocalArgs(
|
"local": {
|
||||||
dest="tmp/cache",
|
"dest": "tmp/cache",
|
||||||
mode=docker_build.CacheMode.MAX,
|
"mode": docker_build.CacheMode.MAX,
|
||||||
),
|
},
|
||||||
)],
|
}],
|
||||||
cache_from=[docker_build.CacheFromArgs(
|
cache_from=[{
|
||||||
local=docker_build.CacheFromLocalArgs(
|
"local": {
|
||||||
src="tmp/cache",
|
"src": "tmp/cache",
|
||||||
),
|
},
|
||||||
)])
|
}])
|
||||||
build_args = docker_build.Image("buildArgs",
|
build_args = docker_build.Image("buildArgs",
|
||||||
push=False,
|
push=False,
|
||||||
dockerfile=docker_build.DockerfileArgs(
|
dockerfile={
|
||||||
location="./app/Dockerfile.buildArgs",
|
"location": "./app/Dockerfile.buildArgs",
|
||||||
),
|
},
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="./app",
|
"location": "./app",
|
||||||
),
|
},
|
||||||
build_args={
|
build_args={
|
||||||
"SET_ME_TO_TRUE": "true",
|
"SET_ME_TO_TRUE": "true",
|
||||||
})
|
})
|
||||||
extra_hosts = docker_build.Image("extraHosts",
|
extra_hosts = docker_build.Image("extraHosts",
|
||||||
push=False,
|
push=False,
|
||||||
dockerfile=docker_build.DockerfileArgs(
|
dockerfile={
|
||||||
location="./app/Dockerfile.extraHosts",
|
"location": "./app/Dockerfile.extraHosts",
|
||||||
),
|
},
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="./app",
|
"location": "./app",
|
||||||
),
|
},
|
||||||
add_hosts=["metadata.google.internal:169.254.169.254"])
|
add_hosts=["metadata.google.internal:169.254.169.254"])
|
||||||
ssh_mount = docker_build.Image("sshMount",
|
ssh_mount = docker_build.Image("sshMount",
|
||||||
push=False,
|
push=False,
|
||||||
dockerfile=docker_build.DockerfileArgs(
|
dockerfile={
|
||||||
location="./app/Dockerfile.sshMount",
|
"location": "./app/Dockerfile.sshMount",
|
||||||
),
|
},
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="./app",
|
"location": "./app",
|
||||||
),
|
},
|
||||||
ssh=[docker_build.SSHArgs(
|
ssh=[{
|
||||||
id="default",
|
"id": "default",
|
||||||
)])
|
}])
|
||||||
secrets = docker_build.Image("secrets",
|
secrets = docker_build.Image("secrets",
|
||||||
push=False,
|
push=False,
|
||||||
dockerfile=docker_build.DockerfileArgs(
|
dockerfile={
|
||||||
location="./app/Dockerfile.secrets",
|
"location": "./app/Dockerfile.secrets",
|
||||||
),
|
},
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="./app",
|
"location": "./app",
|
||||||
),
|
},
|
||||||
secrets={
|
secrets={
|
||||||
"password": "hunter2",
|
"password": "hunter2",
|
||||||
})
|
})
|
||||||
labels = docker_build.Image("labels",
|
labels = docker_build.Image("labels",
|
||||||
push=False,
|
push=False,
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="./app",
|
"location": "./app",
|
||||||
),
|
},
|
||||||
labels={
|
labels={
|
||||||
"description": "This image will get a descriptive label 👍",
|
"description": "This image will get a descriptive label 👍",
|
||||||
})
|
})
|
||||||
target = docker_build.Image("target",
|
target = docker_build.Image("target",
|
||||||
push=False,
|
push=False,
|
||||||
dockerfile=docker_build.DockerfileArgs(
|
dockerfile={
|
||||||
location="./app/Dockerfile.target",
|
"location": "./app/Dockerfile.target",
|
||||||
),
|
},
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="./app",
|
"location": "./app",
|
||||||
),
|
},
|
||||||
target="build-me")
|
target="build-me")
|
||||||
named_contexts = docker_build.Image("namedContexts",
|
named_contexts = docker_build.Image("namedContexts",
|
||||||
push=False,
|
push=False,
|
||||||
dockerfile=docker_build.DockerfileArgs(
|
dockerfile={
|
||||||
location="./app/Dockerfile.namedContexts",
|
"location": "./app/Dockerfile.namedContexts",
|
||||||
),
|
},
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="./app",
|
"location": "./app",
|
||||||
named={
|
"named": {
|
||||||
"golang:latest": docker_build.ContextArgs(
|
"golang:latest": {
|
||||||
location="docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984",
|
"location": "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984",
|
||||||
),
|
},
|
||||||
},
|
},
|
||||||
))
|
})
|
||||||
remote_context = docker_build.Image("remoteContext",
|
remote_context = docker_build.Image("remoteContext",
|
||||||
push=False,
|
push=False,
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
|
"location": "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
|
||||||
))
|
})
|
||||||
remote_context_with_inline = docker_build.Image("remoteContextWithInline",
|
remote_context_with_inline = docker_build.Image("remoteContextWithInline",
|
||||||
push=False,
|
push=False,
|
||||||
dockerfile=docker_build.DockerfileArgs(
|
dockerfile={
|
||||||
inline="""FROM busybox
|
"inline": """FROM busybox
|
||||||
COPY hello.c ./
|
COPY hello.c ./
|
||||||
""",
|
""",
|
||||||
),
|
},
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="https://github.com/docker-library/hello-world.git",
|
"location": "https://github.com/docker-library/hello-world.git",
|
||||||
))
|
})
|
||||||
inline = docker_build.Image("inline",
|
inline = docker_build.Image("inline",
|
||||||
push=False,
|
push=False,
|
||||||
dockerfile=docker_build.DockerfileArgs(
|
dockerfile={
|
||||||
inline="""FROM alpine
|
"inline": """FROM alpine
|
||||||
RUN echo "This uses an inline Dockerfile! 👍"
|
RUN echo "This uses an inline Dockerfile! 👍"
|
||||||
""",
|
""",
|
||||||
),
|
})
|
||||||
context=docker_build.BuildContextArgs(
|
|
||||||
location="./app",
|
|
||||||
))
|
|
||||||
docker_load = docker_build.Image("dockerLoad",
|
docker_load = docker_build.Image("dockerLoad",
|
||||||
push=False,
|
push=False,
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="./app",
|
"location": "./app",
|
||||||
),
|
},
|
||||||
exports=[docker_build.ExportArgs(
|
exports=[{
|
||||||
docker=docker_build.ExportDockerArgs(
|
"docker": {
|
||||||
tar=True,
|
"tar": True,
|
||||||
),
|
},
|
||||||
)])
|
}])
|
||||||
pulumi.export("platforms", multi_platform.platforms)
|
pulumi.export("platforms", multi_platform.platforms)
|
||||||
|
|||||||
20
examples/testdata/recorded/TestProviderUpgrade/upgrade-node/0.0.7/grpc.json
vendored
Normal file
20
examples/testdata/recorded/TestProviderUpgrade/upgrade-node/0.0.7/grpc.json
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{"method":"/pulumirpc.LanguageRuntime/GetPluginInfo","request":{},"response":{"version":"3.145.0-dev.0"}}
|
||||||
|
{"method":"/pulumirpc.LanguageRuntime/GetRequiredPackages","request":{"info":{"entryPoint":".","options":{},"programDirectory":"/private/var/folders/xl/bqjwsf01315fs4yp20dj3x640000gn/T/TestNodeExampleUpgrade4279645683/006/upgrade-node","rootDirectory":"/private/var/folders/xl/bqjwsf01315fs4yp20dj3x640000gn/T/TestNodeExampleUpgrade4279645683/006/upgrade-node"}},"response":{"packages":[{"kind":"resource","name":"docker-build","version":"v0.1.0-alpha.0+dev"}]}}
|
||||||
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"transforms"},"response":{"hasSupport":true}}
|
||||||
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"deletedWith"},"response":{"hasSupport":true}}
|
||||||
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"invokeTransforms"},"response":{"hasSupport":true}}
|
||||||
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"resourceReferences"},"response":{"hasSupport":true}}
|
||||||
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"aliasSpecs"},"response":{"hasSupport":true}}
|
||||||
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"secrets"},"response":{"hasSupport":true}}
|
||||||
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"parameterization"},"response":{"hasSupport":true}}
|
||||||
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"outputValues"},"response":{"hasSupport":true}}
|
||||||
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"acceptResources":true,"acceptSecrets":true,"aliasSpecs":true,"customTimeouts":{},"name":"provider-docker-build-test","object":{},"sourcePosition":{"column":23,"line":38,"uri":"file:///private/var/folders/xl/bqjwsf01315fs4yp20dj3x640000gn/T/TestNodeExampleUpgrade4279645683/006/upgrade-node/node_modules/@pulumi/runtime/stack.ts"},"supportsPartialValues":true,"supportsResultReporting":true,"type":"pulumi:pulumi:Stack"},"response":{"object":{},"urn":"urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test"}}
|
||||||
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResourceOutputs","request":{"outputs":{},"urn":"urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test"},"response":{}}
|
||||||
|
{"method":"/pulumirpc.ResourceProvider/Handshake","request":{"engineAddress":"127.0.0.1:56051","programDirectory":"/Users/rquitales/.pulumi/plugins/resource-docker-build-v0.0.7","rootDirectory":"/Users/rquitales/.pulumi/plugins/resource-docker-build-v0.0.7"}}
|
||||||
|
{"method":"/pulumirpc.ResourceProvider/GetPluginInfo","request":{},"response":{"version":"v0.0.7"}}
|
||||||
|
{"method":"/pulumirpc.ResourceProvider/CheckConfig","request":{"name":"default_0_1_0_alpha_0_dev","news":{"version":"0.1.0-alpha.0+dev"},"olds":{},"type":"pulumi:providers:docker-build","urn":"urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default_0_1_0_alpha_0_dev"},"response":{"inputs":{"host":""}}}
|
||||||
|
{"method":"/pulumirpc.ResourceProvider/Configure","request":{"acceptResources":true,"acceptSecrets":true,"args":{"host":""},"sendsOldInputs":true,"sendsOldInputsToDelete":true,"variables":{"docker-build:config:host":""}},"response":{"acceptOutputs":true,"acceptResources":true,"acceptSecrets":true,"supportsPreview":true}}
|
||||||
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"name":"inline","news":{"buildOnPreview":true,"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"},"network":"default","push":false},"olds":{},"randomSeed":"gfcHtIMoX4qpk2cxRceOJcYDaSsHyPNBhhd8lYTFcqw=","type":"docker-build:index:Image","urn":"urn:pulumi:test::provider-docker-build::docker-build:index:Image::inline"},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"."},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}}}
|
||||||
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"name":"inline","properties":{"buildOnPreview":true,"context":{"location":"."},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"type":"docker-build:index:Image","urn":"urn:pulumi:test::provider-docker-build::docker-build:index:Image::inline"},"response":{"id":"inline","properties":{"buildOnPreview":true,"context":{"location":"."},"contextHash":"a9db789a55c8ad91fe04e176aefcf0b74f86636ae12e7cd475421416672da8c1","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}}}
|
||||||
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"acceptResources":true,"acceptSecrets":true,"aliasSpecs":true,"custom":true,"customTimeouts":{},"name":"inline","object":{"buildOnPreview":true,"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"},"network":"default","push":false},"parent":"urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test","propertyDependencies":{"buildOnPreview":{},"dockerfile":{},"network":{},"push":{}},"sourcePosition":{"column":16,"line":4,"uri":"file:///private/var/folders/xl/bqjwsf01315fs4yp20dj3x640000gn/T/TestNodeExampleUpgrade4279645683/006/upgrade-node/index.ts"},"supportsPartialValues":true,"supportsResultReporting":true,"type":"docker-build:index:Image","version":"0.1.0-alpha.0+dev"},"response":{"id":"inline","object":{"buildOnPreview":true,"context":{"location":"."},"contextHash":"a9db789a55c8ad91fe04e176aefcf0b74f86636ae12e7cd475421416672da8c1","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"urn":"urn:pulumi:test::provider-docker-build::docker-build:index:Image::inline"}}
|
||||||
|
{"method":"/pulumirpc.LanguageRuntime/Run","request":{"configPropertyMap":{},"info":{"entryPoint":".","options":{},"programDirectory":"/private/var/folders/xl/bqjwsf01315fs4yp20dj3x640000gn/T/TestNodeExampleUpgrade4279645683/006/upgrade-node","rootDirectory":"/private/var/folders/xl/bqjwsf01315fs4yp20dj3x640000gn/T/TestNodeExampleUpgrade4279645683/006/upgrade-node"},"loaderTarget":"127.0.0.1:56055","monitorAddress":"127.0.0.1:56054","organization":"organization","parallel":40,"program":".","project":"provider-docker-build","pwd":"/private/var/folders/xl/bqjwsf01315fs4yp20dj3x640000gn/T/TestNodeExampleUpgrade4279645683/006/upgrade-node","stack":"test"},"response":{}}
|
||||||
96
examples/testdata/recorded/TestProviderUpgrade/upgrade-node/0.0.7/stack.json
vendored
Normal file
96
examples/testdata/recorded/TestProviderUpgrade/upgrade-node/0.0.7/stack.json
vendored
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"deployment": {
|
||||||
|
"manifest": {
|
||||||
|
"time": "2025-01-14T12:40:32.429451-08:00",
|
||||||
|
"magic": "7c53c69df7094e39d5562ed2abf1e12099c2c54a7b9b411faca1dcb7ec1fef8a",
|
||||||
|
"version": "v3.145.0"
|
||||||
|
},
|
||||||
|
"secrets_providers": {
|
||||||
|
"type": "passphrase",
|
||||||
|
"state": {
|
||||||
|
"salt": "v1:EuqbHY9lEXg=:v1:xNv8Pt7D2Pf/iDkg:tOvHbUIXPITf+BgbbjqPZaWIqKD8jQ=="
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"custom": false,
|
||||||
|
"type": "pulumi:pulumi:Stack",
|
||||||
|
"created": "2025-01-14T20:40:27.082534Z",
|
||||||
|
"modified": "2025-01-14T20:40:27.082534Z",
|
||||||
|
"sourcePosition": "project:///node_modules/@pulumi/runtime/stack.ts#38,23"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default_0_1_0_alpha_0_dev",
|
||||||
|
"custom": true,
|
||||||
|
"id": "04f4e431-4d74-43f1-86d5-52d410f3f6e8",
|
||||||
|
"type": "pulumi:providers:docker-build",
|
||||||
|
"inputs": {
|
||||||
|
"__internal": {},
|
||||||
|
"host": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"host": ""
|
||||||
|
},
|
||||||
|
"created": "2025-01-14T20:40:28.862159Z",
|
||||||
|
"modified": "2025-01-14T20:40:28.862159Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::docker-build:index:Image::inline",
|
||||||
|
"custom": true,
|
||||||
|
"id": "inline",
|
||||||
|
"type": "docker-build:index:Image",
|
||||||
|
"inputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "."
|
||||||
|
},
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n",
|
||||||
|
"location": ""
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "."
|
||||||
|
},
|
||||||
|
"contextHash": "a9db789a55c8ad91fe04e176aefcf0b74f86636ae12e7cd475421416672da8c1",
|
||||||
|
"digest": "",
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n",
|
||||||
|
"location": ""
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ref": "",
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"parent": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"provider": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default_0_1_0_alpha_0_dev::04f4e431-4d74-43f1-86d5-52d410f3f6e8",
|
||||||
|
"propertyDependencies": {
|
||||||
|
"buildOnPreview": [],
|
||||||
|
"dockerfile": [],
|
||||||
|
"network": [],
|
||||||
|
"push": []
|
||||||
|
},
|
||||||
|
"created": "2025-01-14T20:40:32.357012Z",
|
||||||
|
"modified": "2025-01-14T20:40:32.357012Z",
|
||||||
|
"sourcePosition": "project:///index.ts#4,16"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"metadata": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,238 +1,238 @@
|
|||||||
{"method":"/pulumirpc.LanguageRuntime/GetPluginInfo","request":{},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
{"method":"/pulumirpc.LanguageRuntime/GetPluginInfo","request":{},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
||||||
{"method":"/pulumirpc.LanguageRuntime/GetRequiredPlugins","request":{"project":"deprecated","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","program":".","info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","entryPoint":".","options":{}}},"response":{"plugins":[{"name":"docker-build","kind":"resource"}]},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
{"method":"/pulumirpc.LanguageRuntime/GetRequiredPlugins","request":{"project":"deprecated","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","program":".","info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","entryPoint":".","options":{}}},"response":{"plugins":[{"name":"docker-build","kind":"resource"}]},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"resourceReferences"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"resourceReferences"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"outputValues"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"outputValues"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"deletedWith"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"deletedWith"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"aliasSpecs"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"aliasSpecs"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"transforms"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"transforms"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"pulumi:pulumi:Stack","name":"provider-docker-build-p-it-bryces-wor-upgrade-e061461f","object":{},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fgo%2Fpkg%2Fmod%2Fgithub.com%2Fpulumi%2Fpulumi%2Fsdk%2Fv3@v3.109.0%2Fgo%2Fpulumi%2Frun.go","line":113}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","object":{}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"pulumi:pulumi:Stack","name":"provider-docker-build-p-it-bryces-wor-upgrade-7b788721","object":{},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fgo%2Fpkg%2Fmod%2Fgithub.com%2Fpulumi%2Fpulumi%2Fsdk%2Fv3@v3.109.0%2Fgo%2Fpulumi%2Frun.go","line":113}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","object":{}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/GetPluginInfo","request":{},"response":{"version":"0.0.2-alpha.1713828576+f5e57ab7.dirty"},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/GetPluginInfo","request":{},"response":{"version":"0.1.0-alpha.0+dev"},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/CheckConfig","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default","olds":{},"news":{}},"response":{"inputs":{"host":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/CheckConfig","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:providers:docker-build::default","olds":{},"news":{}},"response":{"inputs":{"host":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Configure","request":{"variables":{"docker-build:config:host":""},"args":{"host":""},"acceptSecrets":true,"acceptResources":true,"sendsOldInputs":true,"sendsOldInputsToDelete":true},"response":{"acceptSecrets":true,"supportsPreview":true,"acceptResources":true,"acceptOutputs":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Configure","request":{"variables":{"docker-build:config:host":""},"args":{"host":""},"acceptSecrets":true,"acceptResources":true,"sendsOldInputs":true,"sendsOldInputsToDelete":true},"response":{"acceptSecrets":true,"supportsPreview":true,"acceptResources":true,"acceptOutputs":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::buildArgs","olds":{},"news":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"}},"randomSeed":"Zpop9M+JmIOwQmpumbecUCsV/ks1h9w6l2kNF3lHjtY="},"response":{"inputs":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::multiPlatform","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"],"push":false},"randomSeed":"dU9nGeHtuY5WJ07dmNJzuNfMNpu5YSkT+/iPf7hkJzc="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::cached","olds":{},"news":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"}},"randomSeed":"dazhCjb2uC3lg762/5M8fHXC64y7VpteYy88EbBvYRk="},"response":{"inputs":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::inline","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"},"push":false},"randomSeed":"XqJMo5Kt3kgFUbYiaE63S5h/JCUlRMuJatK4VKfDrZ0="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::dockerLoad","olds":{},"news":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}]},"randomSeed":"k/yAQzkpHW8a2lT12qIMuQfWrQ6sxi52a7UTd31LbD4="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::cached","olds":{},"news":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"},"push":false},"randomSeed":"COiEoFhH0tso6trAyR79dggykuPUuPdTDAb6rWLJEQM="},"response":{"inputs":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::extraHosts","olds":{},"news":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"}},"randomSeed":"NEWS/2SobJBiSZclKMV4daNb9w/gZpL9pcnSEjW15fY="},"response":{"inputs":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::buildArgs","olds":{},"news":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"},"push":false},"randomSeed":"Gqcahy0DgifH8J5t9K+BsxwiB9uRMFuQ9oxvjypJIrA="},"response":{"inputs":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::labels","olds":{},"news":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"}},"randomSeed":"w9MW3AkZK+TS8c5c+uX+fP+Vt8poZV/PUbderi6/3dE="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::labels","olds":{},"news":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"},"push":false},"randomSeed":"ytb+Wil0bAmvXPONadCFP+parr+foknm4DcS15rd5TQ="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::inline","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"}},"randomSeed":"mV9MJBEc699p8wXnrZvEsyefqhUZDd3HxcbOcnUAdO0="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::dockerLoad","olds":{},"news":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}],"push":false},"randomSeed":"PFor5hNxbNZQWonQLqkMofHhhnLaeCB6cOsQRA+ERzs="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::multiPlatform","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"]},"randomSeed":"SPsY4RQylcrhPetcrwIr7G+BibJW0+09naCR6cJSJGg="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::extraHosts","olds":{},"news":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"},"push":false},"randomSeed":"tpi4T6Kip+uy6rCR8k8/KdxSWALhFFxqK9wksnJCfmc="},"response":{"inputs":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::namedContexts","olds":{},"news":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"}},"randomSeed":"6nH/HyMcjBzTIyOjPbXERsM0mAuEXlIBKB24F1Gsa80="},"response":{"inputs":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::registryPush","olds":{},"news":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"randomSeed":"EBui8rdz/fz1NIUztJAk3k7Gc7+P2IfXASoakd6FA5M="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::registryPush","olds":{},"news":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"randomSeed":"fMySvdt7mS2bvuQkC+8ICtuDrqf6d8R/cNdjP+iii6w="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::namedContexts","olds":{},"news":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"},"push":false},"randomSeed":"RgX3qPiWKOVCgLcmZp4QUOyvFoaaVoUTWViRXjhfQUI="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContext","olds":{},"news":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"}},"randomSeed":"pXjbeSMAG78wM0O3cgoHerpS38bRyXVDCXAXHVmkeXA="},"response":{"inputs":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContext","olds":{},"news":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"push":false},"randomSeed":"+4AO29jRRRBb0gRp6MN5nVp6YFhhPNwi4oIUcwZjG2I="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContextWithInline","olds":{},"news":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"}},"randomSeed":"hU23n1oCU57Ug9cijDs3BOi/NUF0CsL2DRpU9QXayJU="},"response":{"inputs":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::secrets","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"push":false,"secrets":{"password":"hunter2"}},"randomSeed":"o2Y/gjI4Jjn48JgGbW4AaWzJu3zB0C/rDgZsCM5kGw0="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::secrets","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"secrets":{"password":"hunter2"}},"randomSeed":"9oO+TJ0chIeCLZuHJV29ILCIQ6XWA9HcT34B8nt7lI8="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContextWithInline","olds":{},"news":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"},"push":false},"randomSeed":"3aunMbWswKRz30w9y7n2H24Cb3i4dFlOAYwcfR9w/54="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::sshMount","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"ssh":[{"id":"default"}]},"randomSeed":"kWpnWR43XXn09f6NoRg3J1ahweFpu+Ki90I2VetJ8SM="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::sshMount","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"push":false,"ssh":[{"id":"default"}]},"randomSeed":"zxXPBnfcEhgGkfYNKxuYMPGYTwEqZ2SaLarIx/NrHCM="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::target","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"target":"build-me"},"randomSeed":"VXrvj73695AeVkkB+YfN35qaeyIUVEvBOVHVxSSfaIw="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":"build-me"}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::target","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"push":false,"target":"build-me"},"randomSeed":"xZ7r1luOcYPTziWVg+rNAXWWVXmvNOAI4PwDkoogo4c="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":"build-me"}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::sshMount","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""},"preview":true},"response":{"id":"sshMount","properties":{"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","ssh":[{"id":"default"}],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::extraHosts","properties":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"extraHosts","properties":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::labels","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"labels","properties":{"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"extraHosts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"},"push":false},"propertyDependencies":{"addHosts":{},"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::extraHosts","id":"extraHosts","object":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"sshMount","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"ssh":[{"id":"default"}]},"propertyDependencies":{"context":{},"dockerfile":{},"ssh":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::sshMount","id":"sshMount","object":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContext","properties":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"remoteContext","properties":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::inline","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"inline","properties":{"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContext","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"push":false},"propertyDependencies":{"context":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContext","id":"remoteContext","object":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::secrets","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""},"preview":true},"response":{"id":"secrets","properties":{"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","secrets":{"password":"hunter2"},"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::namedContexts","properties":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"namedContexts","properties":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"inline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"}},"propertyDependencies":{"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::inline","id":"inline","object":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"namedContexts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"},"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::namedContexts","id":"namedContexts","object":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"labels","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"}},"propertyDependencies":{"context":{},"labels":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::labels","id":"labels","object":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::labels","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"labels","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"secrets","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"secrets":{"password":"hunter2"}},"propertyDependencies":{"context":{},"dockerfile":{},"secrets":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::secrets","id":"secrets","object":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"labels","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"},"push":false},"propertyDependencies":{"context":{},"labels":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::labels","id":"labels","object":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::registryPush","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"preview":true},"response":{"id":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","properties":{"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::target","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":"build-me"},"preview":true},"response":{"id":"target","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":"build-me"}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"registryPush","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"propertyDependencies":{"context":{},"exports":{},"tags":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::registryPush","id":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","object":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"target","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"push":false,"target":"build-me"},"propertyDependencies":{"context":{},"dockerfile":{},"push":{},"target":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::target","id":"target","object":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":"build-me"}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::target","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":"build-me"},"preview":true},"response":{"id":"target","properties":{"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":"build-me"}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::inline","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"inline","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"target","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"target":"build-me"},"propertyDependencies":{"context":{},"dockerfile":{},"target":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::target","id":"target","object":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":"build-me"}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"inline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"},"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::inline","id":"inline","object":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::buildArgs","properties":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"buildArgs","properties":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::secrets","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""},"preview":true},"response":{"id":"secrets","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","secrets":{"password":"hunter2"},"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"buildArgs","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"}},"propertyDependencies":{"buildArgs":{},"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::buildArgs","id":"buildArgs","object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"secrets","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"push":false,"secrets":{"password":"hunter2"}},"propertyDependencies":{"context":{},"dockerfile":{},"push":{},"secrets":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::secrets","id":"secrets","object":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::dockerLoad","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","properties":{"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::sshMount","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""},"preview":true},"response":{"id":"sshMount","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","ssh":[{"id":"default"}],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"dockerLoad","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}]},"propertyDependencies":{"context":{},"exports":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::dockerLoad","id":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","object":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"sshMount","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"push":false,"ssh":[{"id":"default"}]},"propertyDependencies":{"context":{},"dockerfile":{},"push":{},"ssh":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::sshMount","id":"sshMount","object":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::cached","properties":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"cached","properties":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::buildArgs","properties":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"buildArgs","properties":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"cached","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"}},"propertyDependencies":{"cacheFrom":{},"cacheTo":{},"context":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::cached","id":"cached","object":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"buildArgs","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"},"push":false},"propertyDependencies":{"buildArgs":{},"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::buildArgs","id":"buildArgs","object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::multiPlatform","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"multiPlatform","properties":{"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::cached","properties":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"cached","properties":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"multiPlatform","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"]},"propertyDependencies":{"context":{},"dockerfile":{},"platforms":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::multiPlatform","id":"multiPlatform","object":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"cached","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"},"push":false},"propertyDependencies":{"cacheFrom":{},"cacheTo":{},"context":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::cached","id":"cached","object":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResourceOutputs","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","outputs":{"platforms":["plan9/amd64","plan9/386"]}},"response":{},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContextWithInline","properties":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"remoteContextWithInline","properties":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContext","properties":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"remoteContext","properties":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContextWithInline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"},"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContextWithInline","id":"remoteContextWithInline","object":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContext","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"}},"propertyDependencies":{"context":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContext","id":"remoteContext","object":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::registryPush","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"preview":true},"response":{"id":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::extraHosts","properties":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"extraHosts","properties":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"registryPush","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"propertyDependencies":{"context":{},"exports":{},"push":{},"tags":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::registryPush","id":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","object":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"extraHosts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"}},"propertyDependencies":{"addHosts":{},"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::extraHosts","id":"extraHosts","object":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::dockerLoad","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContextWithInline","properties":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"remoteContextWithInline","properties":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"dockerLoad","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}],"push":false},"propertyDependencies":{"context":{},"exports":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::dockerLoad","id":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","object":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContextWithInline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"}},"propertyDependencies":{"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContextWithInline","id":"remoteContextWithInline","object":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::multiPlatform","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"multiPlatform","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::namedContexts","properties":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"preview":true},"response":{"id":"namedContexts","properties":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","digest":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"04da6b54-80e4-46f7-96ec-b56ff0331ba9","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"multiPlatform","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"],"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"platforms":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::multiPlatform","id":"multiPlatform","object":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"namedContexts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"}},"propertyDependencies":{"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::namedContexts","id":"namedContexts","object":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResourceOutputs","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","outputs":{"platforms":["plan9/amd64","plan9/386"]}},"response":{},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.LanguageRuntime/Run","request":{"project":"provider-docker-build","stack":"p-it-bryces-wor-upgrade-e061461f","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","program":".","dryRun":true,"parallel":40,"monitorAddress":"127.0.0.1:60753","organization":"organization","configPropertyMap":{},"info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","entryPoint":".","options":{}}},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
{"method":"/pulumirpc.LanguageRuntime/Run","request":{"project":"provider-docker-build","stack":"p-it-bryces-wor-upgrade-7b788721","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","program":".","dryRun":true,"parallel":40,"monitorAddress":"127.0.0.1:60047","organization":"organization","configPropertyMap":{},"info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","entryPoint":".","options":{}}},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
||||||
{"method":"/pulumirpc.LanguageRuntime/GetPluginInfo","request":{},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
{"method":"/pulumirpc.LanguageRuntime/GetPluginInfo","request":{},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
||||||
{"method":"/pulumirpc.LanguageRuntime/GetRequiredPlugins","request":{"project":"deprecated","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","program":".","info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","entryPoint":".","options":{}}},"response":{"plugins":[{"name":"docker-build","kind":"resource"}]},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
{"method":"/pulumirpc.LanguageRuntime/GetRequiredPlugins","request":{"project":"deprecated","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","program":".","info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","entryPoint":".","options":{}}},"response":{"plugins":[{"name":"docker-build","kind":"resource"}]},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"resourceReferences"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"resourceReferences"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"outputValues"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"outputValues"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"deletedWith"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"deletedWith"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"aliasSpecs"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"aliasSpecs"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"transforms"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"transforms"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"pulumi:pulumi:Stack","name":"provider-docker-build-p-it-bryces-wor-upgrade-e061461f","object":{},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fgo%2Fpkg%2Fmod%2Fgithub.com%2Fpulumi%2Fpulumi%2Fsdk%2Fv3@v3.109.0%2Fgo%2Fpulumi%2Frun.go","line":113}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","object":{}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"pulumi:pulumi:Stack","name":"provider-docker-build-p-it-bryces-wor-upgrade-7b788721","object":{},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fgo%2Fpkg%2Fmod%2Fgithub.com%2Fpulumi%2Fpulumi%2Fsdk%2Fv3@v3.109.0%2Fgo%2Fpulumi%2Frun.go","line":113}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","object":{}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/GetPluginInfo","request":{},"response":{"version":"0.0.2-alpha.1713828576+f5e57ab7.dirty"},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/GetPluginInfo","request":{},"response":{"version":"0.1.0-alpha.0+dev"},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/CheckConfig","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default","olds":{},"news":{}},"response":{"inputs":{"host":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/CheckConfig","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:providers:docker-build::default","olds":{},"news":{}},"response":{"inputs":{"host":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Configure","request":{"variables":{"docker-build:config:host":""},"args":{"host":""},"acceptSecrets":true,"acceptResources":true,"sendsOldInputs":true,"sendsOldInputsToDelete":true},"response":{"acceptSecrets":true,"supportsPreview":true,"acceptResources":true,"acceptOutputs":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Configure","request":{"variables":{"docker-build:config:host":""},"args":{"host":""},"acceptSecrets":true,"acceptResources":true,"sendsOldInputs":true,"sendsOldInputsToDelete":true},"response":{"acceptSecrets":true,"supportsPreview":true,"acceptResources":true,"acceptOutputs":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::cached","olds":{},"news":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"}},"randomSeed":"c+JQMdFhF6DOlV8hBuEsf76TrMLc6uX0cKSx/rvuQcc="},"response":{"inputs":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::buildArgs","olds":{},"news":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"},"push":false},"randomSeed":"FZMNXsuPFd7JqA7qMlAHnlCtWr2gKRa/ITgO7YohD44="},"response":{"inputs":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::buildArgs","olds":{},"news":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"}},"randomSeed":"iPranfQEDhU2tBPuJ2P7Q3/OHjdBPVHK9/IzM11zxfk="},"response":{"inputs":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::dockerLoad","olds":{},"news":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}],"push":false},"randomSeed":"DUB/i+Z/ucGQ+TVUulrwieB9dd8t+TOcUyfgnQQmjCc="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::dockerLoad","olds":{},"news":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}]},"randomSeed":"nIXHrGklHMSwivplBfBucdtH4wJ7A5eo7bjj4ZxL8QE="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::cached","olds":{},"news":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"},"push":false},"randomSeed":"yxyIE0C4phiPUhheFV41Xg1bX+8wcbIgy3qyFjIVW6g="},"response":{"inputs":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::extraHosts","olds":{},"news":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"}},"randomSeed":"hd2D8/SmwfN3kSVt2mzNB6K7p8wSD24qhpQ+kH+6Kxk="},"response":{"inputs":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::extraHosts","olds":{},"news":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"},"push":false},"randomSeed":"eCBsJYwXwQDSSi4y7QcY/kdPKJPnu4JoKM38UlRyxHU="},"response":{"inputs":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::labels","olds":{},"news":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"}},"randomSeed":"i/5eV6MV38Hjst81A4OlJF42udbJ9Asyz/r3P+1NTZ0="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::inline","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"},"push":false},"randomSeed":"lNZQwWiX/qkTcLuNbUILnoM2tjPSdIVM/PrqJIvnv18="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::inline","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"}},"randomSeed":"spb/oBaOJEb8pwkhwRwVY/swPtN8qOE65qm/r+WENhM="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::labels","olds":{},"news":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"},"push":false},"randomSeed":"zIa33eziRhsfR2RO7eY2ktEEvUgnnD8XfRzV2G+UM5Y="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::multiPlatform","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"]},"randomSeed":"VAIZ261e1K5SdjJGxUK4lFZZ81lVX9uLZNaMJZSaSgc="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::multiPlatform","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"],"push":false},"randomSeed":"STIHwB3iA+/8qMHjWIZkI5wjyplfH8wQzHdFF5W3i+E="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::namedContexts","olds":{},"news":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"}},"randomSeed":"ckcraHsDcgQy8Xfc5GCkEctolkFoPJuQBchIjgaIy5o="},"response":{"inputs":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::namedContexts","olds":{},"news":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"},"push":false},"randomSeed":"cDBwoi3YKtq7Zt4kIUwM+ZbCCHWdVMfnZdFNt7qnd7w="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::registryPush","olds":{},"news":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"randomSeed":"qLetBHXWUUbd1nzRKwb+4Q3vMS1U992mEpsIV3aWY68="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::registryPush","olds":{},"news":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"randomSeed":"Wi7wbKDyh7iNjdEvKOj1CZHpGlDhKMzknP7A+bhlriM="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContext","olds":{},"news":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"}},"randomSeed":"1Z8ESqA4tOmwRrcM6D0q+ipiiHXwTJ9qgw9HT7+WaWo="},"response":{"inputs":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContext","olds":{},"news":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"push":false},"randomSeed":"W+iS+Se45ETk6+abc4er+KlaA4TAH9irkx9Hkw/cm6U="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::secrets","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"secrets":{"password":"hunter2"}},"randomSeed":"jVeY5oCFxhbO0PQM/yzT/j5sqyKRIiswQOHMkXQy1cw="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContextWithInline","olds":{},"news":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"},"push":false},"randomSeed":"AiHGTww74Oht+dh8O8CojODnFHYGgPTbUPZLsbAM9jU="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::sshMount","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"ssh":[{"id":"default"}]},"randomSeed":"DhxVd/uvzafm07NfEWe2OBqp3t/o9IR6AT18EKLmEuU="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::secrets","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"push":false,"secrets":{"password":"hunter2"}},"randomSeed":"1TlDiLt9Hldo6+7mqn8es7MX1hSx48Che3nECuQ/2ms="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContextWithInline","olds":{},"news":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"}},"randomSeed":"I0Y9+u4kHEsYQsS6cmtW6TOL8Bagud98ZK8PBzHAKOU="},"response":{"inputs":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::sshMount","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"push":false,"ssh":[{"id":"default"}]},"randomSeed":"T55G55cr/92u/6J7gzFOx0M7YFQdga0z0m6t1fnJLFQ="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::target","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"target":"build-me"},"randomSeed":"T9HnfRgKDfZ+iBd2a68qPmyp8eGs0f+K2xsnjj0ISWE="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":"build-me"}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::target","olds":{},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"push":false,"target":"build-me"},"randomSeed":"AJuyQw5wBse3pjxJmvz7Dh6y2vlMeUD1DCH4ZrM3tMw="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":"build-me"}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContext","properties":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"remoteContext","properties":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::secrets","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"response":{"id":"secrets","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","secrets":{"password":"hunter2"},"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContext","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"}},"propertyDependencies":{"context":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContext","id":"remoteContext","object":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::buildArgs","properties":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"buildArgs","properties":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::inline","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"inline","properties":{"context":{"location":"./app"},"contextHash":"36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::sshMount","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"response":{"id":"sshMount","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","ssh":[{"id":"default"}],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"inline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"}},"propertyDependencies":{"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::inline","id":"inline","object":{"context":{"location":"./app"},"contextHash":"36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContext","properties":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"remoteContext","properties":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::target","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":"build-me"}},"response":{"id":"target","properties":{"context":{"location":"./app"},"contextHash":"fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":"build-me"}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::registryPush","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"response":{"id":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"docker.io/pulumibot/buildkit-e2e:example@sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"target","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"target":"build-me"},"propertyDependencies":{"context":{},"dockerfile":{},"target":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::target","id":"target","object":{"context":{"location":"./app"},"contextHash":"fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":"build-me"}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::dockerLoad","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::secrets","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"response":{"id":"secrets","properties":{"context":{"location":"./app"},"contextHash":"5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","secrets":{"password":"hunter2"},"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::labels","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"labels","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"secrets","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"secrets":{"password":"hunter2"}},"propertyDependencies":{"context":{},"dockerfile":{},"secrets":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::secrets","id":"secrets","object":{"context":{"location":"./app"},"contextHash":"5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","secrets":{"password":"hunter2"},"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::inline","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"inline","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::sshMount","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"response":{"id":"sshMount","properties":{"context":{"location":"./app"},"contextHash":"71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","ssh":[{"id":"default"}],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::target","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":"build-me"}},"response":{"id":"target","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":"build-me"}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"sshMount","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"ssh":[{"id":"default"}]},"propertyDependencies":{"context":{},"dockerfile":{},"ssh":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::sshMount","id":"sshMount","object":{"context":{"location":"./app"},"contextHash":"71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","ssh":[{"id":"default"}],"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"secrets","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"push":false,"secrets":{"password":"hunter2"}},"propertyDependencies":{"context":{},"dockerfile":{},"push":{},"secrets":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::secrets","id":"secrets","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","secrets":{"password":"hunter2"},"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::registryPush","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"response":{"id":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","properties":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"docker.io/pulumibot/buildkit-e2e:example@sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"buildArgs","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"},"push":false},"propertyDependencies":{"buildArgs":{},"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::buildArgs","id":"buildArgs","object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"registryPush","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"propertyDependencies":{"context":{},"exports":{},"tags":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::registryPush","id":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","object":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"docker.io/pulumibot/buildkit-e2e:example@sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"sshMount","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"push":false,"ssh":[{"id":"default"}]},"propertyDependencies":{"context":{},"dockerfile":{},"push":{},"ssh":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::sshMount","id":"sshMount","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","ssh":[{"id":"default"}],"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::cached","properties":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"cached","properties":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContext","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"push":false},"propertyDependencies":{"context":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContext","id":"remoteContext","object":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"cached","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"}},"propertyDependencies":{"cacheFrom":{},"cacheTo":{},"context":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::cached","id":"cached","object":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"registryPush","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"propertyDependencies":{"context":{},"exports":{},"push":{},"tags":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::registryPush","id":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"docker.io/pulumibot/buildkit-e2e:example@sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::dockerLoad","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","properties":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::cached","properties":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"cached","properties":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"dockerLoad","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}]},"propertyDependencies":{"context":{},"exports":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::dockerLoad","id":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","object":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"dockerLoad","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}],"push":false},"propertyDependencies":{"context":{},"exports":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::dockerLoad","id":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::extraHosts","properties":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"extraHosts","properties":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"contextHash":"e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"labels","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"},"push":false},"propertyDependencies":{"context":{},"labels":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::labels","id":"labels","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"extraHosts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"}},"propertyDependencies":{"addHosts":{},"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::extraHosts","id":"extraHosts","object":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"contextHash":"e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"inline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"},"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::inline","id":"inline","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::labels","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"labels","properties":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"target","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"push":false,"target":"build-me"},"propertyDependencies":{"context":{},"dockerfile":{},"push":{},"target":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::target","id":"target","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":"build-me"}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"labels","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"}},"propertyDependencies":{"context":{},"labels":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::labels","id":"labels","object":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"cached","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"},"push":false},"propertyDependencies":{"cacheFrom":{},"cacheTo":{},"context":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::cached","id":"cached","object":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::buildArgs","properties":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"buildArgs","properties":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"contextHash":"55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::multiPlatform","properties":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"response":{"id":"multiPlatform","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"buildArgs","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"}},"propertyDependencies":{"buildArgs":{},"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::buildArgs","id":"buildArgs","object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"contextHash":"55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"multiPlatform","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"],"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"platforms":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::multiPlatform","id":"multiPlatform","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::multiPlatform","properties":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"response":{"id":"multiPlatform","properties":{"context":{"location":"./app"},"contextHash":"c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResourceOutputs","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","outputs":{"platforms":["plan9/amd64","plan9/386"]}},"response":{},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"multiPlatform","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"]},"propertyDependencies":{"context":{},"dockerfile":{},"platforms":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::multiPlatform","id":"multiPlatform","object":{"context":{"location":"./app"},"contextHash":"c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::extraHosts","properties":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"extraHosts","properties":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResourceOutputs","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","outputs":{"platforms":["plan9/amd64","plan9/386"]}},"response":{},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"extraHosts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"},"push":false},"propertyDependencies":{"addHosts":{},"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::extraHosts","id":"extraHosts","object":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::namedContexts","properties":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"namedContexts","properties":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContextWithInline","properties":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"remoteContextWithInline","properties":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"namedContexts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"}},"propertyDependencies":{"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::namedContexts","id":"namedContexts","object":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContextWithInline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"},"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContextWithInline","id":"remoteContextWithInline","object":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContextWithInline","properties":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"remoteContextWithInline","properties":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Create","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::namedContexts","properties":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"id":"namedContexts","properties":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContextWithInline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"}},"propertyDependencies":{"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContextWithInline","id":"remoteContextWithInline","object":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"namedContexts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"},"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::namedContexts","id":"namedContexts","object":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.LanguageRuntime/Run","request":{"project":"provider-docker-build","stack":"p-it-bryces-wor-upgrade-e061461f","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","program":".","parallel":40,"monitorAddress":"127.0.0.1:60794","organization":"organization","configPropertyMap":{},"info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","entryPoint":".","options":{}}},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
{"method":"/pulumirpc.LanguageRuntime/Run","request":{"project":"provider-docker-build","stack":"p-it-bryces-wor-upgrade-7b788721","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","program":".","parallel":40,"monitorAddress":"127.0.0.1:60086","organization":"organization","configPropertyMap":{},"info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","entryPoint":".","options":{}}},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
||||||
{"method":"/pulumirpc.LanguageRuntime/GetPluginInfo","request":{},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
{"method":"/pulumirpc.LanguageRuntime/GetPluginInfo","request":{},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
||||||
{"method":"/pulumirpc.LanguageRuntime/GetRequiredPlugins","request":{"project":"deprecated","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","program":".","info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","entryPoint":".","options":{}}},"response":{"plugins":[{"name":"docker-build","kind":"resource"}]},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
{"method":"/pulumirpc.LanguageRuntime/GetRequiredPlugins","request":{"project":"deprecated","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","program":".","info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","entryPoint":".","options":{}}},"response":{"plugins":[{"name":"docker-build","kind":"resource"}]},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"resourceReferences"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"resourceReferences"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"outputValues"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"outputValues"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"deletedWith"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"deletedWith"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"aliasSpecs"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"aliasSpecs"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"transforms"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"transforms"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"pulumi:pulumi:Stack","name":"provider-docker-build-p-it-bryces-wor-upgrade-e061461f","object":{},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fgo%2Fpkg%2Fmod%2Fgithub.com%2Fpulumi%2Fpulumi%2Fsdk%2Fv3@v3.109.0%2Fgo%2Fpulumi%2Frun.go","line":113}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","object":{}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"pulumi:pulumi:Stack","name":"provider-docker-build-p-it-bryces-wor-upgrade-7b788721","object":{},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fgo%2Fpkg%2Fmod%2Fgithub.com%2Fpulumi%2Fpulumi%2Fsdk%2Fv3@v3.109.0%2Fgo%2Fpulumi%2Frun.go","line":113}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","object":{}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/GetPluginInfo","request":{},"response":{"version":"0.0.2-alpha.1713828576+f5e57ab7.dirty"},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/GetPluginInfo","request":{},"response":{"version":"0.1.0-alpha.0+dev"},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/CheckConfig","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default","olds":{"host":""},"news":{}},"response":{"inputs":{"host":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/CheckConfig","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:providers:docker-build::default","olds":{"host":""},"news":{}},"response":{"inputs":{"host":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/DiffConfig","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default","olds":{"host":""},"news":{"host":""},"oldInputs":{"host":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/DiffConfig","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:providers:docker-build::default","olds":{"host":""},"news":{"host":""},"oldInputs":{"host":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Configure","request":{"variables":{"docker-build:config:host":""},"args":{"host":""},"acceptSecrets":true,"acceptResources":true,"sendsOldInputs":true,"sendsOldInputsToDelete":true},"response":{"acceptSecrets":true,"supportsPreview":true,"acceptResources":true,"acceptOutputs":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Configure","request":{"variables":{"docker-build:config:host":""},"args":{"host":""},"acceptSecrets":true,"acceptResources":true,"sendsOldInputs":true,"sendsOldInputsToDelete":true},"response":{"acceptSecrets":true,"supportsPreview":true,"acceptResources":true,"acceptOutputs":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::buildArgs","olds":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"}},"randomSeed":"tMXM48V491BYs4k3nOqa+BUpCpy8mkFXc1Jyngtv2ks="},"response":{"inputs":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::cached","olds":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"},"push":false},"randomSeed":"ZWskN3jlqBMv6tmMC3iYcp72JlJi3BaynABwfJvItf0="},"response":{"inputs":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"buildArgs","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::buildArgs","olds":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"contextHash":"55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"cached","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::cached","olds":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"buildArgs","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"}},"propertyDependencies":{"buildArgs":{},"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::buildArgs","id":"buildArgs","object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"contextHash":"55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"cached","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"},"push":false},"propertyDependencies":{"cacheFrom":{},"cacheTo":{},"context":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::cached","id":"cached","object":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::cached","olds":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"}},"randomSeed":"DcWNEJg0Y5LZ6MCTk5H8k58+T7cr/GbT3jb4gNz5zNc="},"response":{"inputs":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::buildArgs","olds":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"},"push":false},"randomSeed":"w2fMu6b3i00ragSVGWmvIDtQcSnrc+tjouVOX94MOjs="},"response":{"inputs":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"cached","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::cached","olds":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"buildArgs","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::buildArgs","olds":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"cached","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"}},"propertyDependencies":{"cacheFrom":{},"cacheTo":{},"context":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::cached","id":"cached","object":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"buildArgs","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"},"push":false},"propertyDependencies":{"buildArgs":{},"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::buildArgs","id":"buildArgs","object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::dockerLoad","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}]},"randomSeed":"H71/WG0tiWTMF269z3kMD9zBX9Ln0uXis2MuCV/A1NQ="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::dockerLoad","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}],"push":false},"randomSeed":"byZBE5Pr6wsJm1uCqGA7Y7/ONw/2rlV3aRk7xWWLEo8="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::dockerLoad","olds":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::dockerLoad","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"dockerLoad","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}]},"propertyDependencies":{"context":{},"exports":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::dockerLoad","id":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","object":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"dockerLoad","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}],"push":false},"propertyDependencies":{"context":{},"exports":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::dockerLoad","id":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::extraHosts","olds":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"}},"randomSeed":"HMPS/w4UZY/QwMCrYxUJnzTrLqe3q5V/LmY6nKTB484="},"response":{"inputs":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::extraHosts","olds":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"},"push":false},"randomSeed":"p8FBq6krg4I7hAUYM4neg5YNRa3tWVakQOHYfF6vFN4="},"response":{"inputs":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"extraHosts","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::extraHosts","olds":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"contextHash":"e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"extraHosts","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::extraHosts","olds":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"extraHosts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"}},"propertyDependencies":{"addHosts":{},"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::extraHosts","id":"extraHosts","object":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"contextHash":"e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"extraHosts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"},"push":false},"propertyDependencies":{"addHosts":{},"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::extraHosts","id":"extraHosts","object":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::inline","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"}},"randomSeed":"agoXAuKdGsp1d8fTJ9q9+zEZCYWyZTuS2p3bvSUHOyA="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::inline","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"},"push":false},"randomSeed":"G7n7xhvbi62QRvCJna5KrofLnmMIZ/vGJAdrCW/Rtrk="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"inline","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::inline","olds":{"context":{"location":"./app"},"contextHash":"36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"inline","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::inline","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"inline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"}},"propertyDependencies":{"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::inline","id":"inline","object":{"context":{"location":"./app"},"contextHash":"36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"inline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"},"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::inline","id":"inline","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::labels","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"}},"randomSeed":"9dw+AeJcDZPN4zirq4fWzncjMehMUqGP+reeeUwWhBY="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::labels","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"},"push":false},"randomSeed":"0p/EMi8wX7/oogSrdOLh7212T5s3xiJg8LTvx472XvE="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"labels","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::labels","olds":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"labels","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::labels","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"labels","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"}},"propertyDependencies":{"context":{},"labels":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::labels","id":"labels","object":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"labels","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"},"push":false},"propertyDependencies":{"context":{},"labels":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::labels","id":"labels","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::multiPlatform","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"]},"randomSeed":"eisHaeSJgr13Hz+Y+OW0HajMWGInl2AdIdvYKhaiYM8="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::multiPlatform","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"],"push":false},"randomSeed":"/PtiUljglYok1d9FeJAyPeK5pqQgJHX7UDdo0iN6eh4="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"multiPlatform","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::multiPlatform","olds":{"context":{"location":"./app"},"contextHash":"c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"","target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"multiPlatform","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::multiPlatform","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"multiPlatform","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"]},"propertyDependencies":{"context":{},"dockerfile":{},"platforms":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::multiPlatform","id":"multiPlatform","object":{"context":{"location":"./app"},"contextHash":"c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"multiPlatform","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"],"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"platforms":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::multiPlatform","id":"multiPlatform","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::namedContexts","olds":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"}},"randomSeed":"dozyePo0yXgy++Qeg4zKJgYgteXPg9nDONDS38XVAWc="},"response":{"inputs":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::registryPush","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"news":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"randomSeed":"2MLryJXUSCtyYEay5UqLHXK2NmAO7gqFArJoR94yqxQ="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"namedContexts","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::namedContexts","olds":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::registryPush","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"docker.io/pulumibot/buildkit-e2e:example@sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"namedContexts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"}},"propertyDependencies":{"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::namedContexts","id":"namedContexts","object":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"registryPush","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"propertyDependencies":{"context":{},"exports":{},"push":{},"tags":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::registryPush","id":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"docker.io/pulumibot/buildkit-e2e:example@sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContext","olds":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"}},"randomSeed":"GeqkcC4hzoLB0IuMuSrn0UluNtAKnAwskinrZUpwQHY="},"response":{"inputs":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::namedContexts","olds":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"},"push":false},"randomSeed":"jwjqrWoEo9bkNxg+c/bGkujinMxk9u6H6kXZz609seE="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"remoteContext","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContext","olds":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"namedContexts","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::namedContexts","olds":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContext","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"}},"propertyDependencies":{"context":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContext","id":"remoteContext","object":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResourceOutputs","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","outputs":{"platforms":["plan9/amd64","plan9/386"]}},"response":{},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::registryPush","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"news":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"randomSeed":"dJuBcpYybxF+YavduppyVIwRmNtwxnfbY/QvUOcVEkU="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"namedContexts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"},"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::namedContexts","id":"namedContexts","object":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::registryPush","olds":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"docker.io/pulumibot/buildkit-e2e:example@sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContext","olds":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"push":false},"randomSeed":"CaplRfMxjiQCr1PCFJaqI/RWqzglzoESxXZfrdbwAt4="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"registryPush","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"propertyDependencies":{"context":{},"exports":{},"tags":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::registryPush","id":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","object":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"docker.io/pulumibot/buildkit-e2e:example@sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"remoteContext","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContext","olds":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::secrets","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"secrets":{"password":"hunter2"}},"randomSeed":"DQv3cDSC/jY0j+m+Uuxz4NGr+SPwkxRd0NQEcjXKjFU="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContext","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"push":false},"propertyDependencies":{"context":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContext","id":"remoteContext","object":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"secrets","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::secrets","olds":{"context":{"location":"./app"},"contextHash":"5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","secrets":{"password":"hunter2"},"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContextWithInline","olds":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"},"push":false},"randomSeed":"xNAphsB4aznduk89CDvOVS8w52uf7APLGilnNvFeW4M="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResourceOutputs","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","outputs":{"platforms":["plan9/amd64","plan9/386"]}},"response":{},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"remoteContextWithInline","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContextWithInline","olds":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"secrets","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"secrets":{"password":"hunter2"}},"propertyDependencies":{"context":{},"dockerfile":{},"secrets":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::secrets","id":"secrets","object":{"context":{"location":"./app"},"contextHash":"5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","secrets":{"password":"hunter2"},"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContextWithInline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"},"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContextWithInline","id":"remoteContextWithInline","object":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContextWithInline","olds":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"}},"randomSeed":"LUCJNdWcMwcGg8+RC4Ps+WrX65B8InJWTsWzq/7tadw="},"response":{"inputs":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::secrets","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"push":false,"secrets":{"password":"hunter2"}},"randomSeed":"2pWR2Fya+kqsX+fiRZsCijKKNyM4Vg7cV+zWbvgYd40="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"remoteContextWithInline","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContextWithInline","olds":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"secrets","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::secrets","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","secrets":{"password":"hunter2"},"target":""},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContextWithInline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"}},"propertyDependencies":{"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContextWithInline","id":"remoteContextWithInline","object":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"secrets","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"push":false,"secrets":{"password":"hunter2"}},"propertyDependencies":{"context":{},"dockerfile":{},"push":{},"secrets":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::secrets","id":"secrets","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","secrets":{"password":"hunter2"},"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::sshMount","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"ssh":[{"id":"default"}]},"randomSeed":"XvWY+fKcYQGtROjT+EFktlT4gOcDqR5hl3ICvkGeEDE="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::sshMount","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"push":false,"ssh":[{"id":"default"}]},"randomSeed":"p3KkWQOMacJB3Xx3iA9xzZNVbq4cisgeBDusyc7Dd5M="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"sshMount","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::sshMount","olds":{"context":{"location":"./app"},"contextHash":"71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","ssh":[{"id":"default"}],"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"sshMount","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::sshMount","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","ssh":[{"id":"default"}],"target":""},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"sshMount","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"ssh":[{"id":"default"}]},"propertyDependencies":{"context":{},"dockerfile":{},"ssh":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::sshMount","id":"sshMount","object":{"context":{"location":"./app"},"contextHash":"71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","ssh":[{"id":"default"}],"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"sshMount","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"push":false,"ssh":[{"id":"default"}]},"propertyDependencies":{"context":{},"dockerfile":{},"push":{},"ssh":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::sshMount","id":"sshMount","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","ssh":[{"id":"default"}],"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::target","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":"build-me"},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"target":"build-me"},"randomSeed":"H0mPGShL53nYNHWweNJpfa/pyS3//KbQRVxI9hsRdqM="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":"build-me"}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::target","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":"build-me"},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"push":false,"target":"build-me"},"randomSeed":"NtYD6OUq2twAADxlS7q6b/RtDapKb1B5Ho88CrkTvRg="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":"build-me"}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"target","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::target","olds":{"context":{"location":"./app"},"contextHash":"fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":"build-me"},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":"build-me"},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":"build-me"}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"target","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::target","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":"build-me"},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":"build-me"},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":"build-me"}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"target","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"target":"build-me"},"propertyDependencies":{"context":{},"dockerfile":{},"target":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::target","id":"target","object":{"context":{"location":"./app"},"contextHash":"fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":"build-me"}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"target","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"push":false,"target":"build-me"},"propertyDependencies":{"context":{},"dockerfile":{},"push":{},"target":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::target","id":"target","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":"build-me"}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.LanguageRuntime/Run","request":{"project":"provider-docker-build","stack":"p-it-bryces-wor-upgrade-e061461f","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","program":".","dryRun":true,"parallel":40,"monitorAddress":"127.0.0.1:60813","organization":"organization","configPropertyMap":{},"info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","entryPoint":".","options":{}}},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
{"method":"/pulumirpc.LanguageRuntime/Run","request":{"project":"provider-docker-build","stack":"p-it-bryces-wor-upgrade-7b788721","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","program":".","dryRun":true,"parallel":40,"monitorAddress":"127.0.0.1:60111","organization":"organization","configPropertyMap":{},"info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","entryPoint":".","options":{}}},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
||||||
{"method":"/pulumirpc.LanguageRuntime/GetPluginInfo","request":{},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
{"method":"/pulumirpc.LanguageRuntime/GetPluginInfo","request":{},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
||||||
{"method":"/pulumirpc.LanguageRuntime/GetRequiredPlugins","request":{"project":"deprecated","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","program":".","info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","entryPoint":".","options":{}}},"response":{"plugins":[{"name":"docker-build","kind":"resource"}]},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
{"method":"/pulumirpc.LanguageRuntime/GetRequiredPlugins","request":{"project":"deprecated","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","program":".","info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","entryPoint":".","options":{}}},"response":{"plugins":[{"name":"docker-build","kind":"resource"}]},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"resourceReferences"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"resourceReferences"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"outputValues"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"outputValues"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"deletedWith"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"deletedWith"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"aliasSpecs"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"aliasSpecs"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"transforms"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/SupportsFeature","request":{"id":"transforms"},"response":{"hasSupport":true},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"pulumi:pulumi:Stack","name":"provider-docker-build-p-it-bryces-wor-upgrade-e061461f","object":{},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fgo%2Fpkg%2Fmod%2Fgithub.com%2Fpulumi%2Fpulumi%2Fsdk%2Fv3@v3.109.0%2Fgo%2Fpulumi%2Frun.go","line":113}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","object":{}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"pulumi:pulumi:Stack","name":"provider-docker-build-p-it-bryces-wor-upgrade-7b788721","object":{},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fgo%2Fpkg%2Fmod%2Fgithub.com%2Fpulumi%2Fpulumi%2Fsdk%2Fv3@v3.109.0%2Fgo%2Fpulumi%2Frun.go","line":113}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","object":{}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/GetPluginInfo","request":{},"response":{"version":"0.0.2-alpha.1713828576+f5e57ab7.dirty"},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/GetPluginInfo","request":{},"response":{"version":"0.1.0-alpha.0+dev"},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/CheckConfig","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default","olds":{"host":""},"news":{}},"response":{"inputs":{"host":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/CheckConfig","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:providers:docker-build::default","olds":{"host":""},"news":{}},"response":{"inputs":{"host":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/DiffConfig","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default","olds":{"host":""},"news":{"host":""},"oldInputs":{"host":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/DiffConfig","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:providers:docker-build::default","olds":{"host":""},"news":{"host":""},"oldInputs":{"host":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Configure","request":{"variables":{"docker-build:config:host":""},"args":{"host":""},"acceptSecrets":true,"acceptResources":true,"sendsOldInputs":true,"sendsOldInputsToDelete":true},"response":{"acceptSecrets":true,"supportsPreview":true,"acceptResources":true,"acceptOutputs":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Configure","request":{"variables":{"docker-build:config:host":""},"args":{"host":""},"acceptSecrets":true,"acceptResources":true,"sendsOldInputs":true,"sendsOldInputsToDelete":true},"response":{"acceptSecrets":true,"supportsPreview":true,"acceptResources":true,"acceptOutputs":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::cached","olds":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"}},"randomSeed":"0R8XzurAkZVBVo5Ak3rdfLsdkT4+q95F/3DhfHyWma8="},"response":{"inputs":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::cached","olds":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"},"push":false},"randomSeed":"YlPwz+irKxTn1onICMkOdP6qPuH2AjQyDdO2UwPged4="},"response":{"inputs":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"cached","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::cached","olds":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"cached","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::cached","olds":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"cached","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"}},"propertyDependencies":{"cacheFrom":{},"cacheTo":{},"context":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::cached","id":"cached","object":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"cached","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"cacheFrom":[{"local":{"src":"tmp/cache"}}],"cacheTo":[{"local":{"dest":"tmp/cache","mode":"max"}}],"context":{"location":"./app"},"push":false},"propertyDependencies":{"cacheFrom":{},"cacheTo":{},"context":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::cached","id":"cached","object":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::buildArgs","olds":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"}},"randomSeed":"y7SP2cfhyxX/xTtxfJbroa9/iXEXVW6Eaci4JXJTNxQ="},"response":{"inputs":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::buildArgs","olds":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"},"push":false},"randomSeed":"ZD8yxSVnJPTrHTTgkkjj/8omgT2p16ynkABPukmQF0Q="},"response":{"inputs":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"buildArgs","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::buildArgs","olds":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"contextHash":"55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"buildArgs","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::buildArgs","olds":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"buildArgs","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"}},"propertyDependencies":{"buildArgs":{},"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::buildArgs","id":"buildArgs","object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"contextHash":"55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"buildArgs","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.buildArgs"},"push":false},"propertyDependencies":{"buildArgs":{},"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::buildArgs","id":"buildArgs","object":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::dockerLoad","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}]},"randomSeed":"cz62E7jO5yWlw9mkJj9Ez4cpdYBF2dgh7E0FUuzLxl8="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::dockerLoad","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}],"push":false},"randomSeed":"aAbPxtKNUA8gxPyARhZulNHP/6Vt4M7Olim0RngACqE="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::dockerLoad","olds":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::dockerLoad","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"dockerLoad","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}]},"propertyDependencies":{"context":{},"exports":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::dockerLoad","id":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","object":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"dockerLoad","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"exports":[{"docker":{"tar":true}}],"push":false},"propertyDependencies":{"context":{},"exports":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::dockerLoad","id":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::extraHosts","olds":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"}},"randomSeed":"7y6D1J226DjAjOcjiIkhaRj6CTPNcN4M2H70xK/eCVE="},"response":{"inputs":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::extraHosts","olds":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"},"push":false},"randomSeed":"e6kvEVUQRH/xdMeQ2DOsyjpKlcF1hsfj3wai8X//zO8="},"response":{"inputs":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"extraHosts","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::extraHosts","olds":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"contextHash":"e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"extraHosts","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::extraHosts","olds":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"extraHosts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"}},"propertyDependencies":{"addHosts":{},"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::extraHosts","id":"extraHosts","object":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"contextHash":"e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"extraHosts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.extraHosts"},"push":false},"propertyDependencies":{"addHosts":{},"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::extraHosts","id":"extraHosts","object":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::inline","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"}},"randomSeed":"YY7uODwIoO2TN3U21WRsr19e/afGYYMZhvFEdWfsi4g="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::inline","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"},"push":false},"randomSeed":"LzbI6Hzqd7u7gGJKzIw6YQcc6lQ6rqQB4pNq0sPYz64="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"inline","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::inline","olds":{"context":{"location":"./app"},"contextHash":"36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"inline","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::inline","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"inline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"}},"propertyDependencies":{"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::inline","id":"inline","object":{"context":{"location":"./app"},"contextHash":"36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"inline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"},"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::inline","id":"inline","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::labels","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"}},"randomSeed":"w3KBpsGE5S0Y+m/1J+0/lClLXfM53bkQwrs6RHl3xlE="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::labels","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"},"push":false},"randomSeed":"jYHvYFLcKQWdJpSasE1PwlWilrWqfx1pK3DeAUgjPj4="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"labels","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::labels","olds":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"labels","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::labels","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"labels","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"}},"propertyDependencies":{"context":{},"labels":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::labels","id":"labels","object":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"labels","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"labels":{"description":"This image will get a descriptive label 👍"},"push":false},"propertyDependencies":{"context":{},"labels":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::labels","id":"labels","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::multiPlatform","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"]},"randomSeed":"Ty0cOel4m07ZkB3A+9oMsoZbmI2Q+HUb8UsAbfy/QvU="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::multiPlatform","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"],"push":false},"randomSeed":"uASdht9PbZ7eqA+irTXzT70A8/vLkMDvDz6p37ID7pU="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"multiPlatform","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::multiPlatform","olds":{"context":{"location":"./app"},"contextHash":"c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"","target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"multiPlatform","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::multiPlatform","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"multiPlatform","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"]},"propertyDependencies":{"context":{},"dockerfile":{},"platforms":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::multiPlatform","id":"multiPlatform","object":{"context":{"location":"./app"},"contextHash":"c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"multiPlatform","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.multiPlatform"},"platforms":["plan9/amd64","plan9/386"],"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"platforms":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::multiPlatform","id":"multiPlatform","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::namedContexts","olds":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"}},"randomSeed":"zIZQ9y9Yx+mkkcVMVreEF0oSRj3raIAxkTQxi9rr18E="},"response":{"inputs":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::namedContexts","olds":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"},"push":false},"randomSeed":"DQmtLvsL7o7CYPZQipV/1LT+i944Ar572mKkVF4OAfY="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"namedContexts","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::namedContexts","olds":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"namedContexts","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::namedContexts","olds":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"namedContexts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"}},"propertyDependencies":{"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::namedContexts","id":"namedContexts","object":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"namedContexts","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"location":"./app/Dockerfile.namedContexts"},"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::namedContexts","id":"namedContexts","object":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::registryPush","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"news":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"randomSeed":"+e5XWIeDD3dvxfeCWWouOUkymanKzu57dKusbE3L9Zg="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::registryPush","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"news":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"randomSeed":"tDOnnOAQPWITFZ3C5q5muS3yfoAwGPVRAljRVmRtqi8="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::registryPush","olds":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"docker.io/pulumibot/buildkit-e2e:example@sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::registryPush","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"docker.io/pulumibot/buildkit-e2e:example@sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResourceOutputs","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","outputs":{"platforms":["plan9/amd64","plan9/386"]}},"response":{},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"registryPush","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"propertyDependencies":{"context":{},"exports":{},"push":{},"tags":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::registryPush","id":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"docker.io/pulumibot/buildkit-e2e:example@sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"registryPush","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"exports":[{"registry":{"ociMediaTypes":true,"push":false}}],"tags":["docker.io/pulumibot/buildkit-e2e:example"]},"propertyDependencies":{"context":{},"exports":{},"tags":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::registryPush","id":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","object":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"docker.io/pulumibot/buildkit-e2e:example@sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContext","olds":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"push":false},"randomSeed":"o6ZbqfPdKuSOgWB7HF3l28QX3vGlQSMjgidCJtKpxMg="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContext","olds":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"}},"randomSeed":"uB8WQMUAsec6AH38scYXxeWFx+nAhZp+rUm2WGgrYxk="},"response":{"inputs":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"remoteContext","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContext","olds":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"remoteContext","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContext","olds":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResourceOutputs","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","outputs":{"platforms":["plan9/amd64","plan9/386"]}},"response":{},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContext","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"}},"propertyDependencies":{"context":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContext","id":"remoteContext","object":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContext","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"push":false},"propertyDependencies":{"context":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContext","id":"remoteContext","object":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContextWithInline","olds":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"}},"randomSeed":"1V9l2UKAV9cHSJcJTKt0ymI0WMMLUnIr+8qPkP6XqGc="},"response":{"inputs":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::secrets","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"push":false,"secrets":{"password":"hunter2"}},"randomSeed":"/5/ksFewBQi7wRXAj4xuv2CKJTcW5ZUbz4+rgjKE3jA="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"remoteContextWithInline","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContextWithInline","olds":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"secrets","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::secrets","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","secrets":{"password":"hunter2"},"target":""},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContextWithInline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"}},"propertyDependencies":{"context":{},"dockerfile":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContextWithInline","id":"remoteContextWithInline","object":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"secrets","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"push":false,"secrets":{"password":"hunter2"}},"propertyDependencies":{"context":{},"dockerfile":{},"push":{},"secrets":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::secrets","id":"secrets","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","secrets":{"password":"hunter2"},"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::secrets","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"secrets":{"password":"hunter2"}},"randomSeed":"+icqSaPIIvsMlPWlo6cwzRCAeYedBVcz625lO/zhkio="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContextWithInline","olds":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"news":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"},"push":false},"randomSeed":"9ii22+m87HW/Fzxigp7uU8ogSpzUmAVh45+GLFjdOnA="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"secrets","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::secrets","olds":{"context":{"location":"./app"},"contextHash":"5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","secrets":{"password":"hunter2"},"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"remoteContextWithInline","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContextWithInline","olds":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"news":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"secrets","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.secrets"},"secrets":{"password":"hunter2"}},"propertyDependencies":{"context":{},"dockerfile":{},"secrets":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::secrets","id":"secrets","object":{"context":{"location":"./app"},"contextHash":"5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","secrets":{"password":"hunter2"},"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"remoteContextWithInline","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n"},"push":false},"propertyDependencies":{"context":{},"dockerfile":{},"push":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContextWithInline","id":"remoteContextWithInline","object":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::sshMount","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"ssh":[{"id":"default"}]},"randomSeed":"rK2kTpMkTSvZwJOL04Qni9QGC/C92dnGNNjTxCKtSO8="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::sshMount","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"push":false,"ssh":[{"id":"default"}]},"randomSeed":"8yg7waJ1blvyXo8K0C0jflHueD+JoAov302Lp3iZkbg="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"sshMount","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::sshMount","olds":{"context":{"location":"./app"},"contextHash":"71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","ssh":[{"id":"default"}],"target":""},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"sshMount","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::sshMount","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","ssh":[{"id":"default"}],"target":""},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"sshMount","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"ssh":[{"id":"default"}]},"propertyDependencies":{"context":{},"dockerfile":{},"ssh":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::sshMount","id":"sshMount","object":{"context":{"location":"./app"},"contextHash":"71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","ssh":[{"id":"default"}],"target":""}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"sshMount","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.sshMount"},"push":false,"ssh":[{"id":"default"}]},"propertyDependencies":{"context":{},"dockerfile":{},"push":{},"ssh":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::sshMount","id":"sshMount","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","ssh":[{"id":"default"}],"target":""}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::target","olds":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":"build-me"},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"target":"build-me"},"randomSeed":"qrvpFrYtistuCpd/I8Dq63WU/hRxec5tndtlGxorgoY="},"response":{"inputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":"build-me"}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Check","request":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::target","olds":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":"build-me"},"news":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"push":false,"target":"build-me"},"randomSeed":"oRDdZiTWGCmPPp/DLBko63qKWS9ZN6FjERsvBlkkbX4="},"response":{"inputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":"build-me"}},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"target","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::target","olds":{"context":{"location":"./app"},"contextHash":"fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":"build-me"},"news":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":"build-me"},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":"build-me"}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Diff","request":{"id":"target","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::target","olds":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":"build-me"},"news":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":"build-me"},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"target":"build-me"}},"response":{"changes":"DIFF_NONE","hasDetailedDiff":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"target","parent":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"target":"build-me"},"propertyDependencies":{"context":{},"dockerfile":{},"target":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::target","id":"target","object":{"context":{"location":"./app"},"contextHash":"fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":"build-me"}},"metadata":{"mode":"server"}}
|
{"method":"/pulumirpc.ResourceMonitor/RegisterResource","request":{"type":"docker-build:index:Image","name":"target","parent":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721","custom":true,"object":{"context":{"location":"./app"},"dockerfile":{"location":"./app/Dockerfile.target"},"push":false,"target":"build-me"},"propertyDependencies":{"context":{},"dockerfile":{},"push":{},"target":{}},"acceptSecrets":true,"customTimeouts":{},"acceptResources":true,"sourcePosition":{"uri":"project://%2FUsers%2Frunner%2Fwork%2Fpulumi-yaml%2Fpulumi-yaml%2Fpkg%2Fpulumiyaml%2Frun.go","line":1330}},"response":{"urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::target","id":"target","object":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":"build-me"}},"metadata":{"mode":"server"}}
|
||||||
{"method":"/pulumirpc.LanguageRuntime/Run","request":{"project":"provider-docker-build","stack":"p-it-bryces-wor-upgrade-e061461f","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","program":".","parallel":40,"monitorAddress":"127.0.0.1:60829","organization":"organization","configPropertyMap":{},"info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-e061461f-4146250643","entryPoint":".","options":{}}},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
{"method":"/pulumirpc.LanguageRuntime/Run","request":{"project":"provider-docker-build","stack":"p-it-bryces-wor-upgrade-7b788721","pwd":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","program":".","parallel":40,"monitorAddress":"127.0.0.1:60131","organization":"organization","configPropertyMap":{},"info":{"rootDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","programDirectory":"/private/var/folders/kq/zdlx0fn57yl66gxktcyzylv40000gn/T/p-it-bryces-wor-upgrade-7b788721-304961874","entryPoint":".","options":{}}},"response":{},"metadata":{"kind":"language","mode":"client","runtime":"yaml"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/GetPluginInfo","request":{},"response":{"version":"0.0.2-alpha.1713828576+f5e57ab7.dirty"},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/GetPluginInfo","request":{},"response":{"version":"0.1.0-alpha.0+dev"},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Configure","request":{"variables":{"docker-build:config:host":""},"args":{"host":""},"acceptSecrets":true,"acceptResources":true,"sendsOldInputs":true,"sendsOldInputsToDelete":true},"response":{"acceptSecrets":true,"supportsPreview":true,"acceptResources":true,"acceptOutputs":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Configure","request":{"variables":{"docker-build:config:host":""},"args":{"host":""},"acceptSecrets":true,"acceptResources":true,"sendsOldInputs":true,"sendsOldInputsToDelete":true},"response":{"acceptSecrets":true,"supportsPreview":true,"acceptResources":true,"acceptOutputs":true},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::dockerLoad","properties":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compressionLevel":0,"dest":"","tar":true},"raw":""}],"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::dockerLoad","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"docker":{"compression":"gzip","compressionLevel":0,"dest":"","forceCompression":false,"ociMediaTypes":false,"tar":true},"raw":""}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"multiPlatform","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::multiPlatform","properties":{"context":{"location":"./app"},"contextHash":"c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"remoteContextWithInline","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContextWithInline","properties":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"inline","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::inline","properties":{"context":{"location":"./app"},"contextHash":"36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"extraHosts","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::extraHosts","properties":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"addHosts":["metadata.google.internal:169.254.169.254"],"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"buildArgs","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::buildArgs","properties":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"contextHash":"55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"target","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::target","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":"build-me"},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":"build-me"}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"target","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::target","properties":{"context":{"location":"./app"},"contextHash":"fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":"build-me"},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.target"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":"build-me"}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"secrets","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::secrets","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","secrets":{"password":"hunter2"},"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","secrets":{"password":"hunter2"},"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"labels","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::labels","properties":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"namedContexts","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::namedContexts","properties":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"sshMount","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::sshMount","properties":{"context":{"location":"./app"},"contextHash":"71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","ssh":[{"id":"default"}],"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ssh":[{"id":"default"}],"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"cached","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::cached","properties":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"buildOnPreview":true,"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compression":"gzip","compressionLevel":0,"dest":"tmp/cache","forceCompression":false,"ignoreError":false,"mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"namedContexts","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::namedContexts","properties":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"contextHash":"3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"context":{"location":"./app","named":{"golang:latest":{"location":"docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"}}},"dockerfile":{"inline":"","location":"./app/Dockerfile.namedContexts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"sshMount","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::sshMount","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","ssh":[{"id":"default"}],"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.sshMount"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","ssh":[{"id":"default"}],"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"cached","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::cached","properties":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"cacheFrom":[{"disabled":false,"local":{"digest":"","src":"tmp/cache"},"raw":""}],"cacheTo":[{"disabled":false,"local":{"compressionLevel":0,"dest":"tmp/cache","mode":"max"},"raw":""}],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"inline","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::inline","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec","digest":"","dockerfile":{"inline":"FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"remoteContextWithInline","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContextWithInline","properties":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"context":{"location":"https://github.com/docker-library/hello-world.git"},"dockerfile":{"inline":"FROM busybox\nCOPY hello.c ./\n","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"multiPlatform","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::multiPlatform","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.multiPlatform"},"exec":false,"load":false,"network":"default","noCache":false,"platforms":["plan9/amd64","plan9/386"],"pull":false,"push":false,"ref":"","target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"extraHosts","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::extraHosts","properties":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"contextHash":"e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"addHosts":["metadata.google.internal:169.254.169.254"],"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.extraHosts"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"buildArgs","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::buildArgs","properties":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"buildArgs":{"SET_ME_TO_TRUE":"true"},"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.buildArgs"},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"secrets","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::secrets","properties":{"context":{"location":"./app"},"contextHash":"5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21","digest":"","dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","secrets":{"password":"hunter2"},"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"./app/Dockerfile.secrets"},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"secrets":{"password":"hunter2"},"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"labels","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::labels","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"labels":{"description":"This image will get a descriptive label 👍"},"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"remoteContext","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContext","properties":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"dockerfile":{"inline":"","location":""},"exec":false,"load":false,"noCache":false,"pull":false,"push":false,"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"remoteContext","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::remoteContext","properties":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"},"contextHash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","digest":"","dockerfile":{"inline":"","location":""},"exec":false,"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"","target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","urn":"urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::registryPush","properties":{"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"ref":"docker.io/pulumibot/buildkit-e2e:example@sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"oldInputs":{"context":{"location":"./app"},"dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compressionLevel":0,"danglingNamePrefix":"","ociMediaTypes":true,"push":false}}],"load":false,"noCache":false,"pull":false,"push":false,"tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
{"method":"/pulumirpc.ResourceProvider/Delete","request":{"id":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","urn":"urn:pulumi:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::docker-build:index:Image::registryPush","properties":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"docker.io/pulumibot/buildkit-e2e:example@sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""},"oldInputs":{"buildOnPreview":true,"context":{"location":"./app"},"contextHash":"e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5","digest":"sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","dockerfile":{"inline":"","location":"app/Dockerfile"},"exec":false,"exports":[{"disabled":false,"raw":"","registry":{"compression":"gzip","compressionLevel":0,"danglingNamePrefix":"","forceCompression":false,"ociMediaTypes":true,"push":false,"store":true}}],"load":false,"network":"default","noCache":false,"pull":false,"push":false,"ref":"docker.io/pulumibot/buildkit-e2e:example@sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a","tags":["docker.io/pulumibot/buildkit-e2e:example"],"target":""}},"response":{},"metadata":{"kind":"resource","mode":"client","name":"docker-build"}}
|
||||||
|
|||||||
944
examples/testdata/recorded/TestProviderUpgrade/upgrade/0.0.1/stack.json
vendored
Executable file
944
examples/testdata/recorded/TestProviderUpgrade/upgrade/0.0.1/stack.json
vendored
Executable file
@@ -0,0 +1,944 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"deployment": {
|
||||||
|
"manifest": {
|
||||||
|
"time": "2024-06-18T15:10:50.439881-07:00",
|
||||||
|
"magic": "",
|
||||||
|
"version": ""
|
||||||
|
},
|
||||||
|
"secrets_providers": {
|
||||||
|
"type": "passphrase",
|
||||||
|
"state": {
|
||||||
|
"salt": "v1:uRYnzeN15MA=:v1:rpAZ+oxUTuiNyCpF:KQmWj5xMhsTrE2XhW35Gd1XoMW7RDg=="
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resources": [
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"custom": false,
|
||||||
|
"type": "pulumi:pulumi:Stack",
|
||||||
|
"outputs": {
|
||||||
|
"platforms": [
|
||||||
|
"plan9/amd64",
|
||||||
|
"plan9/386"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:48.091797Z",
|
||||||
|
"modified": "2024-06-18T22:10:48.091797Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default",
|
||||||
|
"custom": true,
|
||||||
|
"id": "b62bb809-b83b-42cb-889c-46d524de5fe7",
|
||||||
|
"type": "pulumi:providers:docker-build",
|
||||||
|
"inputs": {
|
||||||
|
"host": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"host": ""
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:48.187658Z",
|
||||||
|
"modified": "2024-06-18T22:10:48.187658Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::docker-build:index:Image::secrets",
|
||||||
|
"custom": true,
|
||||||
|
"id": "secrets",
|
||||||
|
"type": "docker-build:index:Image",
|
||||||
|
"inputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "./app/Dockerfile.secrets"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"secrets": {
|
||||||
|
"password": "hunter2"
|
||||||
|
},
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"contextHash": "5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21",
|
||||||
|
"digest": "",
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "./app/Dockerfile.secrets"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ref": "",
|
||||||
|
"secrets": {
|
||||||
|
"password": "hunter2"
|
||||||
|
},
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"parent": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"provider": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default::b62bb809-b83b-42cb-889c-46d524de5fe7",
|
||||||
|
"propertyDependencies": {
|
||||||
|
"context": [],
|
||||||
|
"dockerfile": [],
|
||||||
|
"push": [],
|
||||||
|
"secrets": []
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:50.181453Z",
|
||||||
|
"modified": "2024-06-18T22:10:50.181453Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::docker-build:index:Image::buildArgs",
|
||||||
|
"custom": true,
|
||||||
|
"id": "buildArgs",
|
||||||
|
"type": "docker-build:index:Image",
|
||||||
|
"inputs": {
|
||||||
|
"buildArgs": {
|
||||||
|
"SET_ME_TO_TRUE": "true"
|
||||||
|
},
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "./app/Dockerfile.buildArgs"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"buildArgs": {
|
||||||
|
"SET_ME_TO_TRUE": "true"
|
||||||
|
},
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"contextHash": "55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381",
|
||||||
|
"digest": "",
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "./app/Dockerfile.buildArgs"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ref": "",
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"parent": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"provider": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default::b62bb809-b83b-42cb-889c-46d524de5fe7",
|
||||||
|
"propertyDependencies": {
|
||||||
|
"buildArgs": [],
|
||||||
|
"context": [],
|
||||||
|
"dockerfile": [],
|
||||||
|
"push": []
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:50.182348Z",
|
||||||
|
"modified": "2024-06-18T22:10:50.182348Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::docker-build:index:Image::sshMount",
|
||||||
|
"custom": true,
|
||||||
|
"id": "sshMount",
|
||||||
|
"type": "docker-build:index:Image",
|
||||||
|
"inputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "./app/Dockerfile.sshMount"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ssh": [
|
||||||
|
{
|
||||||
|
"id": "default"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"contextHash": "71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9",
|
||||||
|
"digest": "",
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "./app/Dockerfile.sshMount"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ref": "",
|
||||||
|
"ssh": [
|
||||||
|
{
|
||||||
|
"id": "default"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"parent": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"provider": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default::b62bb809-b83b-42cb-889c-46d524de5fe7",
|
||||||
|
"propertyDependencies": {
|
||||||
|
"context": [],
|
||||||
|
"dockerfile": [],
|
||||||
|
"push": [],
|
||||||
|
"ssh": []
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:50.182807Z",
|
||||||
|
"modified": "2024-06-18T22:10:50.182807Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::docker-build:index:Image::remoteContext",
|
||||||
|
"custom": true,
|
||||||
|
"id": "remoteContext",
|
||||||
|
"type": "docker-build:index:Image",
|
||||||
|
"inputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"
|
||||||
|
},
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": ""
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"
|
||||||
|
},
|
||||||
|
"contextHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||||
|
"digest": "",
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": ""
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ref": "",
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"parent": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"provider": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default::b62bb809-b83b-42cb-889c-46d524de5fe7",
|
||||||
|
"propertyDependencies": {
|
||||||
|
"context": [],
|
||||||
|
"push": []
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:50.18341Z",
|
||||||
|
"modified": "2024-06-18T22:10:50.18341Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::docker-build:index:Image::registryPush",
|
||||||
|
"custom": true,
|
||||||
|
"id": "sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a",
|
||||||
|
"type": "docker-build:index:Image",
|
||||||
|
"inputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "app/Dockerfile"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"exports": [
|
||||||
|
{
|
||||||
|
"disabled": false,
|
||||||
|
"raw": "",
|
||||||
|
"registry": {
|
||||||
|
"compression": "gzip",
|
||||||
|
"compressionLevel": 0,
|
||||||
|
"danglingNamePrefix": "",
|
||||||
|
"forceCompression": false,
|
||||||
|
"ociMediaTypes": true,
|
||||||
|
"push": false,
|
||||||
|
"store": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"tags": [
|
||||||
|
"docker.io/pulumibot/buildkit-e2e:example"
|
||||||
|
],
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"contextHash": "e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5",
|
||||||
|
"digest": "sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a",
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "app/Dockerfile"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"exports": [
|
||||||
|
{
|
||||||
|
"disabled": false,
|
||||||
|
"raw": "",
|
||||||
|
"registry": {
|
||||||
|
"compression": "gzip",
|
||||||
|
"compressionLevel": 0,
|
||||||
|
"danglingNamePrefix": "",
|
||||||
|
"forceCompression": false,
|
||||||
|
"ociMediaTypes": true,
|
||||||
|
"push": false,
|
||||||
|
"store": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ref": "docker.io/pulumibot/buildkit-e2e:example@sha256:0d286c8339e2bc4e166585dcda28a501fb08c8f991c2293209faa78a13bfb79a",
|
||||||
|
"tags": [
|
||||||
|
"docker.io/pulumibot/buildkit-e2e:example"
|
||||||
|
],
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"parent": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"provider": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default::b62bb809-b83b-42cb-889c-46d524de5fe7",
|
||||||
|
"propertyDependencies": {
|
||||||
|
"context": [],
|
||||||
|
"exports": [],
|
||||||
|
"push": [],
|
||||||
|
"tags": []
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:50.183668Z",
|
||||||
|
"modified": "2024-06-18T22:10:50.183668Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::docker-build:index:Image::dockerLoad",
|
||||||
|
"custom": true,
|
||||||
|
"id": "sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4",
|
||||||
|
"type": "docker-build:index:Image",
|
||||||
|
"inputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "app/Dockerfile"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"exports": [
|
||||||
|
{
|
||||||
|
"disabled": false,
|
||||||
|
"docker": {
|
||||||
|
"compression": "gzip",
|
||||||
|
"compressionLevel": 0,
|
||||||
|
"dest": "",
|
||||||
|
"forceCompression": false,
|
||||||
|
"ociMediaTypes": false,
|
||||||
|
"tar": true
|
||||||
|
},
|
||||||
|
"raw": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"contextHash": "e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5",
|
||||||
|
"digest": "sha256:ec5d5c149823f61d56f5666d494d19c4edca42cfe4b578e640f57bf2429716a4",
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "app/Dockerfile"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"exports": [
|
||||||
|
{
|
||||||
|
"disabled": false,
|
||||||
|
"docker": {
|
||||||
|
"compression": "gzip",
|
||||||
|
"compressionLevel": 0,
|
||||||
|
"dest": "",
|
||||||
|
"forceCompression": false,
|
||||||
|
"ociMediaTypes": false,
|
||||||
|
"tar": true
|
||||||
|
},
|
||||||
|
"raw": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ref": "",
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"parent": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"provider": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default::b62bb809-b83b-42cb-889c-46d524de5fe7",
|
||||||
|
"propertyDependencies": {
|
||||||
|
"context": [],
|
||||||
|
"exports": [],
|
||||||
|
"push": []
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:50.183874Z",
|
||||||
|
"modified": "2024-06-18T22:10:50.183874Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::docker-build:index:Image::labels",
|
||||||
|
"custom": true,
|
||||||
|
"id": "labels",
|
||||||
|
"type": "docker-build:index:Image",
|
||||||
|
"inputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "app/Dockerfile"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"labels": {
|
||||||
|
"description": "This image will get a descriptive label 👍"
|
||||||
|
},
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"contextHash": "e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5",
|
||||||
|
"digest": "",
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "app/Dockerfile"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"labels": {
|
||||||
|
"description": "This image will get a descriptive label 👍"
|
||||||
|
},
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ref": "",
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"parent": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"provider": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default::b62bb809-b83b-42cb-889c-46d524de5fe7",
|
||||||
|
"propertyDependencies": {
|
||||||
|
"context": [],
|
||||||
|
"labels": [],
|
||||||
|
"push": []
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:50.183996Z",
|
||||||
|
"modified": "2024-06-18T22:10:50.183996Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::docker-build:index:Image::inline",
|
||||||
|
"custom": true,
|
||||||
|
"id": "inline",
|
||||||
|
"type": "docker-build:index:Image",
|
||||||
|
"inputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n",
|
||||||
|
"location": ""
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"contextHash": "36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec",
|
||||||
|
"digest": "",
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n",
|
||||||
|
"location": ""
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ref": "",
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"parent": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"provider": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default::b62bb809-b83b-42cb-889c-46d524de5fe7",
|
||||||
|
"propertyDependencies": {
|
||||||
|
"context": [],
|
||||||
|
"dockerfile": [],
|
||||||
|
"push": []
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:50.184088Z",
|
||||||
|
"modified": "2024-06-18T22:10:50.184088Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::docker-build:index:Image::target",
|
||||||
|
"custom": true,
|
||||||
|
"id": "target",
|
||||||
|
"type": "docker-build:index:Image",
|
||||||
|
"inputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "./app/Dockerfile.target"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"target": "build-me"
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"contextHash": "fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc",
|
||||||
|
"digest": "",
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "./app/Dockerfile.target"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ref": "",
|
||||||
|
"target": "build-me"
|
||||||
|
},
|
||||||
|
"parent": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"provider": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default::b62bb809-b83b-42cb-889c-46d524de5fe7",
|
||||||
|
"propertyDependencies": {
|
||||||
|
"context": [],
|
||||||
|
"dockerfile": [],
|
||||||
|
"push": [],
|
||||||
|
"target": []
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:50.18426Z",
|
||||||
|
"modified": "2024-06-18T22:10:50.18426Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::docker-build:index:Image::cached",
|
||||||
|
"custom": true,
|
||||||
|
"id": "cached",
|
||||||
|
"type": "docker-build:index:Image",
|
||||||
|
"inputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"cacheFrom": [
|
||||||
|
{
|
||||||
|
"disabled": false,
|
||||||
|
"local": {
|
||||||
|
"digest": "",
|
||||||
|
"src": "tmp/cache"
|
||||||
|
},
|
||||||
|
"raw": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cacheTo": [
|
||||||
|
{
|
||||||
|
"disabled": false,
|
||||||
|
"local": {
|
||||||
|
"compression": "gzip",
|
||||||
|
"compressionLevel": 0,
|
||||||
|
"dest": "tmp/cache",
|
||||||
|
"forceCompression": false,
|
||||||
|
"ignoreError": false,
|
||||||
|
"mode": "max"
|
||||||
|
},
|
||||||
|
"raw": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "app/Dockerfile"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"cacheFrom": [
|
||||||
|
{
|
||||||
|
"disabled": false,
|
||||||
|
"local": {
|
||||||
|
"digest": "",
|
||||||
|
"src": "tmp/cache"
|
||||||
|
},
|
||||||
|
"raw": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cacheTo": [
|
||||||
|
{
|
||||||
|
"disabled": false,
|
||||||
|
"local": {
|
||||||
|
"compression": "gzip",
|
||||||
|
"compressionLevel": 0,
|
||||||
|
"dest": "tmp/cache",
|
||||||
|
"forceCompression": false,
|
||||||
|
"ignoreError": false,
|
||||||
|
"mode": "max"
|
||||||
|
},
|
||||||
|
"raw": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"contextHash": "e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5",
|
||||||
|
"digest": "",
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "app/Dockerfile"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ref": "",
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"parent": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"provider": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default::b62bb809-b83b-42cb-889c-46d524de5fe7",
|
||||||
|
"propertyDependencies": {
|
||||||
|
"cacheFrom": [],
|
||||||
|
"cacheTo": [],
|
||||||
|
"context": [],
|
||||||
|
"push": []
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:50.206842Z",
|
||||||
|
"modified": "2024-06-18T22:10:50.206842Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::docker-build:index:Image::multiPlatform",
|
||||||
|
"custom": true,
|
||||||
|
"id": "multiPlatform",
|
||||||
|
"type": "docker-build:index:Image",
|
||||||
|
"inputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "./app/Dockerfile.multiPlatform"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"platforms": [
|
||||||
|
"plan9/amd64",
|
||||||
|
"plan9/386"
|
||||||
|
],
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"contextHash": "c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755",
|
||||||
|
"digest": "",
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "./app/Dockerfile.multiPlatform"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"platforms": [
|
||||||
|
"plan9/amd64",
|
||||||
|
"plan9/386"
|
||||||
|
],
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ref": "",
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"parent": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"provider": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default::b62bb809-b83b-42cb-889c-46d524de5fe7",
|
||||||
|
"propertyDependencies": {
|
||||||
|
"context": [],
|
||||||
|
"dockerfile": [],
|
||||||
|
"platforms": [],
|
||||||
|
"push": []
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:50.257528Z",
|
||||||
|
"modified": "2024-06-18T22:10:50.257528Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::docker-build:index:Image::extraHosts",
|
||||||
|
"custom": true,
|
||||||
|
"id": "extraHosts",
|
||||||
|
"type": "docker-build:index:Image",
|
||||||
|
"inputs": {
|
||||||
|
"addHosts": [
|
||||||
|
"metadata.google.internal:169.254.169.254"
|
||||||
|
],
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "./app/Dockerfile.extraHosts"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"addHosts": [
|
||||||
|
"metadata.google.internal:169.254.169.254"
|
||||||
|
],
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app"
|
||||||
|
},
|
||||||
|
"contextHash": "e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712",
|
||||||
|
"digest": "",
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "./app/Dockerfile.extraHosts"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ref": "",
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"parent": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"provider": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default::b62bb809-b83b-42cb-889c-46d524de5fe7",
|
||||||
|
"propertyDependencies": {
|
||||||
|
"addHosts": [],
|
||||||
|
"context": [],
|
||||||
|
"dockerfile": [],
|
||||||
|
"push": []
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:50.274264Z",
|
||||||
|
"modified": "2024-06-18T22:10:50.274264Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::docker-build:index:Image::remoteContextWithInline",
|
||||||
|
"custom": true,
|
||||||
|
"id": "remoteContextWithInline",
|
||||||
|
"type": "docker-build:index:Image",
|
||||||
|
"inputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "https://github.com/docker-library/hello-world.git"
|
||||||
|
},
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "FROM busybox\nCOPY hello.c ./\n",
|
||||||
|
"location": ""
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "https://github.com/docker-library/hello-world.git"
|
||||||
|
},
|
||||||
|
"contextHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||||
|
"digest": "",
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "FROM busybox\nCOPY hello.c ./\n",
|
||||||
|
"location": ""
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ref": "",
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"parent": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"provider": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default::b62bb809-b83b-42cb-889c-46d524de5fe7",
|
||||||
|
"propertyDependencies": {
|
||||||
|
"context": [],
|
||||||
|
"dockerfile": [],
|
||||||
|
"push": []
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:50.332506Z",
|
||||||
|
"modified": "2024-06-18T22:10:50.332506Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"urn": "urn:pulumi:test::provider-docker-build::docker-build:index:Image::namedContexts",
|
||||||
|
"custom": true,
|
||||||
|
"id": "namedContexts",
|
||||||
|
"type": "docker-build:index:Image",
|
||||||
|
"inputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app",
|
||||||
|
"named": {
|
||||||
|
"golang:latest": {
|
||||||
|
"location": "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "./app/Dockerfile.namedContexts"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"outputs": {
|
||||||
|
"buildOnPreview": true,
|
||||||
|
"context": {
|
||||||
|
"location": "./app",
|
||||||
|
"named": {
|
||||||
|
"golang:latest": {
|
||||||
|
"location": "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"contextHash": "3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d",
|
||||||
|
"digest": "",
|
||||||
|
"dockerfile": {
|
||||||
|
"inline": "",
|
||||||
|
"location": "./app/Dockerfile.namedContexts"
|
||||||
|
},
|
||||||
|
"exec": false,
|
||||||
|
"load": false,
|
||||||
|
"network": "default",
|
||||||
|
"noCache": false,
|
||||||
|
"pull": false,
|
||||||
|
"push": false,
|
||||||
|
"ref": "",
|
||||||
|
"target": ""
|
||||||
|
},
|
||||||
|
"parent": "urn:pulumi:test::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-test",
|
||||||
|
"provider": "urn:pulumi:test::provider-docker-build::pulumi:providers:docker-build::default::b62bb809-b83b-42cb-889c-46d524de5fe7",
|
||||||
|
"propertyDependencies": {
|
||||||
|
"context": [],
|
||||||
|
"dockerfile": [],
|
||||||
|
"push": []
|
||||||
|
},
|
||||||
|
"created": "2024-06-18T22:10:50.422524Z",
|
||||||
|
"modified": "2024-06-18T22:10:50.422524Z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,856 +0,0 @@
|
|||||||
{
|
|
||||||
"version": 3,
|
|
||||||
"deployment": {
|
|
||||||
"manifest": {
|
|
||||||
"time": "2024-04-25T08:48:01.267863-07:00",
|
|
||||||
"magic": "",
|
|
||||||
"version": ""
|
|
||||||
},
|
|
||||||
"secrets_providers": {
|
|
||||||
"type": "passphrase",
|
|
||||||
"state": {
|
|
||||||
"salt": "v1:VL+kccbv65M=:v1:rRAfrl2TUFiFVdMv:sqpTiKP4J8mt05CfZp3bhu9Zqp4UsA=="
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"resources": [
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f",
|
|
||||||
"custom": false,
|
|
||||||
"type": "pulumi:pulumi:Stack",
|
|
||||||
"outputs": {
|
|
||||||
"platforms": [
|
|
||||||
"plan9/amd64",
|
|
||||||
"plan9/386"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:47:59.523578Z",
|
|
||||||
"modified": "2024-04-25T15:47:59.523578Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default",
|
|
||||||
"custom": true,
|
|
||||||
"id": "1262d75a-1f92-4f7b-8b32-6b5246d188f0",
|
|
||||||
"type": "pulumi:providers:docker-build",
|
|
||||||
"inputs": {
|
|
||||||
"host": ""
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"host": ""
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:47:59.664483Z",
|
|
||||||
"modified": "2024-04-25T15:47:59.664483Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContext",
|
|
||||||
"custom": true,
|
|
||||||
"id": "remoteContext",
|
|
||||||
"type": "docker-build:index:Image",
|
|
||||||
"inputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"
|
|
||||||
},
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": ""
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"
|
|
||||||
},
|
|
||||||
"contextHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
||||||
"digest": "",
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": ""
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"ref": "",
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"parent": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f",
|
|
||||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default::1262d75a-1f92-4f7b-8b32-6b5246d188f0",
|
|
||||||
"propertyDependencies": {
|
|
||||||
"context": []
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:48:00.520476Z",
|
|
||||||
"modified": "2024-04-25T15:48:00.520476Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::inline",
|
|
||||||
"custom": true,
|
|
||||||
"id": "inline",
|
|
||||||
"type": "docker-build:index:Image",
|
|
||||||
"inputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n",
|
|
||||||
"location": ""
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"contextHash": "36c67969e6700e87bde75fcf604a7db1fa9593194718fc0ae1c498df43228aec",
|
|
||||||
"digest": "",
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n",
|
|
||||||
"location": ""
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"ref": "",
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"parent": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f",
|
|
||||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default::1262d75a-1f92-4f7b-8b32-6b5246d188f0",
|
|
||||||
"propertyDependencies": {
|
|
||||||
"context": [],
|
|
||||||
"dockerfile": []
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:48:00.542164Z",
|
|
||||||
"modified": "2024-04-25T15:48:00.542164Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::target",
|
|
||||||
"custom": true,
|
|
||||||
"id": "target",
|
|
||||||
"type": "docker-build:index:Image",
|
|
||||||
"inputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "./app/Dockerfile.target"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"target": "build-me"
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"contextHash": "fefadf795b6b4b119e97a87067a25f52a16cc3375223acad7b3f642fdcd413fc",
|
|
||||||
"digest": "",
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "./app/Dockerfile.target"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"ref": "",
|
|
||||||
"target": "build-me"
|
|
||||||
},
|
|
||||||
"parent": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f",
|
|
||||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default::1262d75a-1f92-4f7b-8b32-6b5246d188f0",
|
|
||||||
"propertyDependencies": {
|
|
||||||
"context": [],
|
|
||||||
"dockerfile": [],
|
|
||||||
"target": []
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:48:00.568397Z",
|
|
||||||
"modified": "2024-04-25T15:48:00.568397Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::secrets",
|
|
||||||
"custom": true,
|
|
||||||
"id": "secrets",
|
|
||||||
"type": "docker-build:index:Image",
|
|
||||||
"inputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "./app/Dockerfile.secrets"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"secrets": {
|
|
||||||
"password": "hunter2"
|
|
||||||
},
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"contextHash": "5c1561571a60aa3b5a234a9c26f69e2ba5d9a18624f426109d36a1d729b23a21",
|
|
||||||
"digest": "",
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "./app/Dockerfile.secrets"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"ref": "",
|
|
||||||
"secrets": {
|
|
||||||
"password": "hunter2"
|
|
||||||
},
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"parent": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f",
|
|
||||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default::1262d75a-1f92-4f7b-8b32-6b5246d188f0",
|
|
||||||
"propertyDependencies": {
|
|
||||||
"context": [],
|
|
||||||
"dockerfile": [],
|
|
||||||
"secrets": []
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:48:00.578273Z",
|
|
||||||
"modified": "2024-04-25T15:48:00.578273Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::sshMount",
|
|
||||||
"custom": true,
|
|
||||||
"id": "sshMount",
|
|
||||||
"type": "docker-build:index:Image",
|
|
||||||
"inputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "./app/Dockerfile.sshMount"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"ssh": [
|
|
||||||
{
|
|
||||||
"id": "default"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"contextHash": "71d21b382ab9ee0324ad820ce57a0a4318342a0a244931f51fc46b791f1b37e9",
|
|
||||||
"digest": "",
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "./app/Dockerfile.sshMount"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"ref": "",
|
|
||||||
"ssh": [
|
|
||||||
{
|
|
||||||
"id": "default"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"parent": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f",
|
|
||||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default::1262d75a-1f92-4f7b-8b32-6b5246d188f0",
|
|
||||||
"propertyDependencies": {
|
|
||||||
"context": [],
|
|
||||||
"dockerfile": [],
|
|
||||||
"ssh": []
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:48:00.590119Z",
|
|
||||||
"modified": "2024-04-25T15:48:00.590119Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::registryPush",
|
|
||||||
"custom": true,
|
|
||||||
"id": "sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e",
|
|
||||||
"type": "docker-build:index:Image",
|
|
||||||
"inputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "app/Dockerfile"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"exports": [
|
|
||||||
{
|
|
||||||
"disabled": false,
|
|
||||||
"raw": "",
|
|
||||||
"registry": {
|
|
||||||
"compressionLevel": 0,
|
|
||||||
"danglingNamePrefix": "",
|
|
||||||
"ociMediaTypes": true,
|
|
||||||
"push": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"tags": [
|
|
||||||
"docker.io/pulumibot/buildkit-e2e:example"
|
|
||||||
],
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"contextHash": "e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5",
|
|
||||||
"digest": "sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e",
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "app/Dockerfile"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"exports": [
|
|
||||||
{
|
|
||||||
"disabled": false,
|
|
||||||
"raw": "",
|
|
||||||
"registry": {
|
|
||||||
"compressionLevel": 0,
|
|
||||||
"danglingNamePrefix": "",
|
|
||||||
"ociMediaTypes": true,
|
|
||||||
"push": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"ref": "docker.io/pulumibot/buildkit-e2e:example@sha256:daf363fb4e814674f8e3e542e3dc1dbb9f7fb21f83c1956ddc948f20c1f9553e",
|
|
||||||
"tags": [
|
|
||||||
"docker.io/pulumibot/buildkit-e2e:example"
|
|
||||||
],
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"parent": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f",
|
|
||||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default::1262d75a-1f92-4f7b-8b32-6b5246d188f0",
|
|
||||||
"propertyDependencies": {
|
|
||||||
"context": [],
|
|
||||||
"exports": [],
|
|
||||||
"tags": []
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:48:00.59945Z",
|
|
||||||
"modified": "2024-04-25T15:48:00.59945Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::cached",
|
|
||||||
"custom": true,
|
|
||||||
"id": "cached",
|
|
||||||
"type": "docker-build:index:Image",
|
|
||||||
"inputs": {
|
|
||||||
"cacheFrom": [
|
|
||||||
{
|
|
||||||
"disabled": false,
|
|
||||||
"local": {
|
|
||||||
"digest": "",
|
|
||||||
"src": "tmp/cache"
|
|
||||||
},
|
|
||||||
"raw": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"cacheTo": [
|
|
||||||
{
|
|
||||||
"disabled": false,
|
|
||||||
"local": {
|
|
||||||
"compressionLevel": 0,
|
|
||||||
"dest": "tmp/cache",
|
|
||||||
"mode": "max"
|
|
||||||
},
|
|
||||||
"raw": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "app/Dockerfile"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"cacheFrom": [
|
|
||||||
{
|
|
||||||
"disabled": false,
|
|
||||||
"local": {
|
|
||||||
"digest": "",
|
|
||||||
"src": "tmp/cache"
|
|
||||||
},
|
|
||||||
"raw": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"cacheTo": [
|
|
||||||
{
|
|
||||||
"disabled": false,
|
|
||||||
"local": {
|
|
||||||
"compressionLevel": 0,
|
|
||||||
"dest": "tmp/cache",
|
|
||||||
"mode": "max"
|
|
||||||
},
|
|
||||||
"raw": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"contextHash": "e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5",
|
|
||||||
"digest": "",
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "app/Dockerfile"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"ref": "",
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"parent": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f",
|
|
||||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default::1262d75a-1f92-4f7b-8b32-6b5246d188f0",
|
|
||||||
"propertyDependencies": {
|
|
||||||
"cacheFrom": [],
|
|
||||||
"cacheTo": [],
|
|
||||||
"context": []
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:48:00.616567Z",
|
|
||||||
"modified": "2024-04-25T15:48:00.616567Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::dockerLoad",
|
|
||||||
"custom": true,
|
|
||||||
"id": "sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040",
|
|
||||||
"type": "docker-build:index:Image",
|
|
||||||
"inputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "app/Dockerfile"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"exports": [
|
|
||||||
{
|
|
||||||
"disabled": false,
|
|
||||||
"docker": {
|
|
||||||
"compressionLevel": 0,
|
|
||||||
"dest": "",
|
|
||||||
"tar": true
|
|
||||||
},
|
|
||||||
"raw": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"contextHash": "e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5",
|
|
||||||
"digest": "sha256:af0f1b830122444f250e8f6d50ceea71b6f485cfc0f7a9cc828390c2f0647040",
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "app/Dockerfile"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"exports": [
|
|
||||||
{
|
|
||||||
"disabled": false,
|
|
||||||
"docker": {
|
|
||||||
"compressionLevel": 0,
|
|
||||||
"dest": "",
|
|
||||||
"tar": true
|
|
||||||
},
|
|
||||||
"raw": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"ref": "",
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"parent": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f",
|
|
||||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default::1262d75a-1f92-4f7b-8b32-6b5246d188f0",
|
|
||||||
"propertyDependencies": {
|
|
||||||
"context": [],
|
|
||||||
"exports": []
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:48:00.629463Z",
|
|
||||||
"modified": "2024-04-25T15:48:00.629463Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::extraHosts",
|
|
||||||
"custom": true,
|
|
||||||
"id": "extraHosts",
|
|
||||||
"type": "docker-build:index:Image",
|
|
||||||
"inputs": {
|
|
||||||
"addHosts": [
|
|
||||||
"metadata.google.internal:169.254.169.254"
|
|
||||||
],
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "./app/Dockerfile.extraHosts"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"addHosts": [
|
|
||||||
"metadata.google.internal:169.254.169.254"
|
|
||||||
],
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"contextHash": "e5d510d9ce39d91260e3aa7f8c81d7517a76165eb35e7134cae2f3e4e9fcb712",
|
|
||||||
"digest": "",
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "./app/Dockerfile.extraHosts"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"ref": "",
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"parent": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f",
|
|
||||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default::1262d75a-1f92-4f7b-8b32-6b5246d188f0",
|
|
||||||
"propertyDependencies": {
|
|
||||||
"addHosts": [],
|
|
||||||
"context": [],
|
|
||||||
"dockerfile": []
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:48:00.639744Z",
|
|
||||||
"modified": "2024-04-25T15:48:00.639744Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::labels",
|
|
||||||
"custom": true,
|
|
||||||
"id": "labels",
|
|
||||||
"type": "docker-build:index:Image",
|
|
||||||
"inputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "app/Dockerfile"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"labels": {
|
|
||||||
"description": "This image will get a descriptive label 👍"
|
|
||||||
},
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"contextHash": "e569495ad1cfde07d0e769ab9b5ed56b889508f299d2e7a90400caf9e12795d5",
|
|
||||||
"digest": "",
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "app/Dockerfile"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"labels": {
|
|
||||||
"description": "This image will get a descriptive label 👍"
|
|
||||||
},
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"ref": "",
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"parent": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f",
|
|
||||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default::1262d75a-1f92-4f7b-8b32-6b5246d188f0",
|
|
||||||
"propertyDependencies": {
|
|
||||||
"context": [],
|
|
||||||
"labels": []
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:48:00.707146Z",
|
|
||||||
"modified": "2024-04-25T15:48:00.707146Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::buildArgs",
|
|
||||||
"custom": true,
|
|
||||||
"id": "buildArgs",
|
|
||||||
"type": "docker-build:index:Image",
|
|
||||||
"inputs": {
|
|
||||||
"buildArgs": {
|
|
||||||
"SET_ME_TO_TRUE": "true"
|
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "./app/Dockerfile.buildArgs"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"buildArgs": {
|
|
||||||
"SET_ME_TO_TRUE": "true"
|
|
||||||
},
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"contextHash": "55695ddcfb4d08a0d78d1a74c7b0141dada73ed05bc4b056ba29a51e42c83381",
|
|
||||||
"digest": "",
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "./app/Dockerfile.buildArgs"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"ref": "",
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"parent": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f",
|
|
||||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default::1262d75a-1f92-4f7b-8b32-6b5246d188f0",
|
|
||||||
"propertyDependencies": {
|
|
||||||
"buildArgs": [],
|
|
||||||
"context": [],
|
|
||||||
"dockerfile": []
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:48:00.713219Z",
|
|
||||||
"modified": "2024-04-25T15:48:00.713219Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::multiPlatform",
|
|
||||||
"custom": true,
|
|
||||||
"id": "multiPlatform",
|
|
||||||
"type": "docker-build:index:Image",
|
|
||||||
"inputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "./app/Dockerfile.multiPlatform"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"platforms": [
|
|
||||||
"plan9/amd64",
|
|
||||||
"plan9/386"
|
|
||||||
],
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app"
|
|
||||||
},
|
|
||||||
"contextHash": "c7ecf546ed2402de04f2dfa56ca4adb6fd490eed4219d7f1b2e559cd475f1755",
|
|
||||||
"digest": "",
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "./app/Dockerfile.multiPlatform"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"platforms": [
|
|
||||||
"plan9/amd64",
|
|
||||||
"plan9/386"
|
|
||||||
],
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"ref": "",
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"parent": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f",
|
|
||||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default::1262d75a-1f92-4f7b-8b32-6b5246d188f0",
|
|
||||||
"propertyDependencies": {
|
|
||||||
"context": [],
|
|
||||||
"dockerfile": [],
|
|
||||||
"platforms": []
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:48:00.802952Z",
|
|
||||||
"modified": "2024-04-25T15:48:00.802952Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::namedContexts",
|
|
||||||
"custom": true,
|
|
||||||
"id": "namedContexts",
|
|
||||||
"type": "docker-build:index:Image",
|
|
||||||
"inputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app",
|
|
||||||
"named": {
|
|
||||||
"golang:latest": {
|
|
||||||
"location": "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "./app/Dockerfile.namedContexts"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "./app",
|
|
||||||
"named": {
|
|
||||||
"golang:latest": {
|
|
||||||
"location": "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"contextHash": "3adfaaf17fbb548f06310e76d2826bccb223b49463504d0cc4fe86b0eef5d47d",
|
|
||||||
"digest": "",
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "",
|
|
||||||
"location": "./app/Dockerfile.namedContexts"
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"ref": "",
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"parent": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f",
|
|
||||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default::1262d75a-1f92-4f7b-8b32-6b5246d188f0",
|
|
||||||
"propertyDependencies": {
|
|
||||||
"context": [],
|
|
||||||
"dockerfile": []
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:48:00.82495Z",
|
|
||||||
"modified": "2024-04-25T15:48:00.82495Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"urn": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::docker-build:index:Image::remoteContextWithInline",
|
|
||||||
"custom": true,
|
|
||||||
"id": "remoteContextWithInline",
|
|
||||||
"type": "docker-build:index:Image",
|
|
||||||
"inputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "https://github.com/docker-library/hello-world.git"
|
|
||||||
},
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "FROM busybox\nCOPY hello.c ./\n",
|
|
||||||
"location": ""
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"outputs": {
|
|
||||||
"context": {
|
|
||||||
"location": "https://github.com/docker-library/hello-world.git"
|
|
||||||
},
|
|
||||||
"contextHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
||||||
"digest": "",
|
|
||||||
"dockerfile": {
|
|
||||||
"inline": "FROM busybox\nCOPY hello.c ./\n",
|
|
||||||
"location": ""
|
|
||||||
},
|
|
||||||
"exec": false,
|
|
||||||
"load": false,
|
|
||||||
"noCache": false,
|
|
||||||
"pull": false,
|
|
||||||
"push": false,
|
|
||||||
"ref": "",
|
|
||||||
"target": ""
|
|
||||||
},
|
|
||||||
"parent": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-e061461f",
|
|
||||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-e061461f::provider-docker-build::pulumi:providers:docker-build::default::1262d75a-1f92-4f7b-8b32-6b5246d188f0",
|
|
||||||
"propertyDependencies": {
|
|
||||||
"context": [],
|
|
||||||
"dockerfile": []
|
|
||||||
},
|
|
||||||
"created": "2024-04-25T15:48:01.263124Z",
|
|
||||||
"modified": "2024-04-25T15:48:01.263124Z"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
7
examples/tests/caching/Dockerfile
Normal file
7
examples/tests/caching/Dockerfile
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
FROM --platform=$BUILDPLATFORM golang:1.21.6-alpine3.18 as initial
|
||||||
|
ARG SLEEP_SECONDS
|
||||||
|
RUN sleep ${SLEEP_SECONDS} && echo ${SLEEP_SECONDS} > output
|
||||||
|
|
||||||
|
FROM alpine:3.18 as final
|
||||||
|
COPY --from=initial /go/output output
|
||||||
|
RUN cat output
|
||||||
3
examples/tests/caching/Pulumi.yaml
Normal file
3
examples/tests/caching/Pulumi.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
name: test-buildx-caching
|
||||||
|
runtime: nodejs
|
||||||
|
description: A minimal TypeScript Pulumi program
|
||||||
40
examples/tests/caching/index.ts
Normal file
40
examples/tests/caching/index.ts
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
import * as buildx from "@pulumi/docker-build";
|
||||||
|
import * as pulumi from "@pulumi/pulumi";
|
||||||
|
|
||||||
|
const config = new pulumi.Config();
|
||||||
|
|
||||||
|
const start = new Date().getTime();
|
||||||
|
|
||||||
|
// docker buildx build \
|
||||||
|
// -f Dockerfile \
|
||||||
|
// --cache-to type=local,dest=tmp,mode=max,oci-mediatypes=true \
|
||||||
|
// --cache-from type=local,src=tmp \
|
||||||
|
// --build-arg SLEEP-MS=$SLEEP_MS \
|
||||||
|
// -t not-pushed \
|
||||||
|
// -f Dockerfile \
|
||||||
|
// .
|
||||||
|
const img = new buildx.Image(`buildx-${config.require("name")}`, {
|
||||||
|
tags: ["not-pushed"],
|
||||||
|
dockerfile: { location: "Dockerfile" },
|
||||||
|
push: false,
|
||||||
|
context: { location: "." },
|
||||||
|
buildArgs: {
|
||||||
|
SLEEP_SECONDS: config.require("SLEEP_SECONDS"),
|
||||||
|
},
|
||||||
|
cacheTo: [{ raw: config.require("cacheTo") }],
|
||||||
|
cacheFrom: [{ raw: config.require("cacheFrom") }],
|
||||||
|
// Set registry auth if it was provided.
|
||||||
|
registries: config.require("username")
|
||||||
|
? [
|
||||||
|
{
|
||||||
|
address: config.getSecret("address"),
|
||||||
|
username: config.getSecret("username"),
|
||||||
|
password: config.getSecret("password"),
|
||||||
|
},
|
||||||
|
]
|
||||||
|
: undefined,
|
||||||
|
});
|
||||||
|
|
||||||
|
export const durationSeconds = img.ref.apply(
|
||||||
|
(_) => (new Date().getTime() - start) / 1000.0
|
||||||
|
);
|
||||||
9
examples/tests/caching/package.json
Normal file
9
examples/tests/caching/package.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"name": "test-buildx-caching",
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/node": "^20.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@pulumi/pulumi": "3.184.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
1964
examples/tests/caching/yarn.lock
Normal file
1964
examples/tests/caching/yarn.lock
Normal file
File diff suppressed because it is too large
Load Diff
3
examples/tests/config/Pulumi.yaml
Normal file
3
examples/tests/config/Pulumi.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
name: test-buildx-config
|
||||||
|
runtime: nodejs
|
||||||
|
description: A minimal TypeScript Pulumi program
|
||||||
5
examples/tests/config/index.ts
Normal file
5
examples/tests/config/index.ts
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
import * as buildx from "@pulumi/docker-build";
|
||||||
|
|
||||||
|
new buildx.Provider("with-structured-config", {
|
||||||
|
registries: [{ username: "foo", password: "bar", address: "docker.io" }],
|
||||||
|
});
|
||||||
9
examples/tests/config/package.json
Normal file
9
examples/tests/config/package.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"name": "test-buildx-caching",
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/node": "^20.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@pulumi/pulumi": "3.184.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
6
examples/upgrade-node/Pulumi.yaml
Normal file
6
examples/upgrade-node/Pulumi.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
name: provider-docker-build
|
||||||
|
runtime: nodejs
|
||||||
|
plugins:
|
||||||
|
providers:
|
||||||
|
- name: docker-build
|
||||||
|
path: ../../bin
|
||||||
11
examples/upgrade-node/index.ts
Normal file
11
examples/upgrade-node/index.ts
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
import * as pulumi from "@pulumi/pulumi";
|
||||||
|
import * as docker_build from "@pulumi/docker-build";
|
||||||
|
|
||||||
|
const inline = new docker_build.Image("inline", {
|
||||||
|
push: false,
|
||||||
|
dockerfile: {
|
||||||
|
inline: `FROM alpine
|
||||||
|
RUN echo "This uses an inline Dockerfile! 👍"
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
});
|
||||||
10
examples/upgrade-node/package.json
Normal file
10
examples/upgrade-node/package.json
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"name": "provider-docker-build",
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/node": "^18"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"typescript": "^4.0.0",
|
||||||
|
"@pulumi/pulumi": "3.184.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
18
examples/upgrade-node/tsconfig.json
Normal file
18
examples/upgrade-node/tsconfig.json
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"strict": true,
|
||||||
|
"outDir": "bin",
|
||||||
|
"target": "es2016",
|
||||||
|
"module": "commonjs",
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"sourceMap": true,
|
||||||
|
"experimentalDecorators": true,
|
||||||
|
"pretty": true,
|
||||||
|
"noFallthroughCasesInSwitch": true,
|
||||||
|
"noImplicitReturns": true,
|
||||||
|
"forceConsistentCasingInFileNames": true
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"index.ts",
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,9 +1,5 @@
|
|||||||
name: provider-docker-build
|
name: provider-docker-build
|
||||||
runtime: yaml
|
runtime: yaml
|
||||||
plugins:
|
|
||||||
providers:
|
|
||||||
- name: docker-build
|
|
||||||
path: ../../bin
|
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
# docker buildx build -f app/Dockerfile.multiPlatform --platform plan9/amd64,plan9/386 app
|
# docker buildx build -f app/Dockerfile.multiPlatform --platform plan9/amd64,plan9/386 app
|
||||||
|
|||||||
2
examples/yaml/.dockerignore
Normal file
2
examples/yaml/.dockerignore
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
command-output
|
||||||
|
tmp
|
||||||
@@ -166,8 +166,6 @@ resources:
|
|||||||
inline: |
|
inline: |
|
||||||
FROM alpine
|
FROM alpine
|
||||||
RUN echo "This uses an inline Dockerfile! 👍"
|
RUN echo "This uses an inline Dockerfile! 👍"
|
||||||
context:
|
|
||||||
location: "./app"
|
|
||||||
|
|
||||||
# docker buildx build --load .
|
# docker buildx build --load .
|
||||||
dockerLoad:
|
dockerLoad:
|
||||||
|
|||||||
@@ -1,17 +1,21 @@
|
|||||||
//go:build java || all
|
//go:build yaml || all
|
||||||
// +build java all
|
// +build yaml all
|
||||||
|
|
||||||
package examples
|
package examples
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/pulumi/providertest"
|
"github.com/pulumi/providertest"
|
||||||
|
"github.com/pulumi/providertest/providers"
|
||||||
|
"github.com/pulumi/providertest/pulumitest"
|
||||||
|
"github.com/pulumi/providertest/pulumitest/assertpreview"
|
||||||
|
"github.com/pulumi/providertest/pulumitest/opttest"
|
||||||
"github.com/pulumi/pulumi-docker-build/provider"
|
"github.com/pulumi/pulumi-docker-build/provider"
|
||||||
"github.com/pulumi/pulumi/pkg/v3/testing/integration"
|
"github.com/pulumi/pulumi/pkg/v3/testing/integration"
|
||||||
|
pulumirpc "github.com/pulumi/pulumi/sdk/v3/proto/go"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -30,25 +34,15 @@ func TestYAMLExample(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestYAMLExampleUpgrade(t *testing.T) {
|
func TestYAMLExampleUpgrade(t *testing.T) {
|
||||||
// t.Setenv("PULUMI_PROVIDER_TEST_MODE", "snapshot")
|
pt := pulumitest.NewPulumiTest(t, "upgrade",
|
||||||
|
opttest.AttachProviderServer("docker-build", providerServerFactory))
|
||||||
|
previewResult := providertest.PreviewProviderUpgrade(t, pt, "docker-build", "0.0.1")
|
||||||
|
|
||||||
cwd, err := os.Getwd()
|
assertpreview.HasNoChanges(t, previewResult)
|
||||||
require.NoError(t, err)
|
}
|
||||||
|
|
||||||
bin, err := filepath.Abs("../bin")
|
func providerServerFactory(pt providers.PulumiTest) (pulumirpc.ResourceProviderServer, error) {
|
||||||
require.NoError(t, err)
|
return provider.New(nil)
|
||||||
|
|
||||||
t.Setenv("PATH", bin+":"+os.Getenv("PATH"))
|
|
||||||
p, err := provider.New(nil)
|
|
||||||
require.NoError(t, err)
|
|
||||||
|
|
||||||
test := providertest.NewProviderTest(path.Join(cwd, "upgrade"),
|
|
||||||
providertest.WithProviderName("docker-build"),
|
|
||||||
providertest.WithBaselineVersion("0.0.1"),
|
|
||||||
providertest.WithResourceProviderServer(p),
|
|
||||||
// providertest.WithConfig("dockerHubPassword", os.Getenv("DOCKER_HUB_PASSWORD")), // Doesn't support secrets yet.
|
|
||||||
)
|
|
||||||
test.Run(t)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestECR(t *testing.T) {
|
func TestECR(t *testing.T) {
|
||||||
|
|||||||
460
go.mod
460
go.mod
@@ -1,34 +1,42 @@
|
|||||||
module github.com/pulumi/pulumi-docker-build
|
module github.com/pulumi/pulumi-docker-build
|
||||||
|
|
||||||
go 1.21.7
|
go 1.24.1
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
github.com/aws/aws-sdk-go v1.55.5
|
||||||
github.com/blang/semver v3.5.1+incompatible
|
github.com/blang/semver v3.5.1+incompatible
|
||||||
github.com/distribution/reference v0.5.0
|
github.com/distribution/reference v0.6.0
|
||||||
github.com/docker/buildx v0.13.1
|
github.com/docker/buildx v0.22.0
|
||||||
github.com/docker/cli v26.0.0-rc1+incompatible
|
github.com/docker/cli v28.0.4+incompatible
|
||||||
github.com/docker/distribution v2.8.2+incompatible
|
github.com/docker/docker v28.0.1+incompatible
|
||||||
github.com/docker/docker v26.0.0-rc1+incompatible
|
github.com/golangci/golangci-lint v1.59.1
|
||||||
github.com/golangci/golangci-lint v1.57.1
|
github.com/moby/buildkit v0.20.1
|
||||||
github.com/moby/buildkit v0.13.0
|
|
||||||
github.com/moby/patternmatcher v0.6.0
|
github.com/moby/patternmatcher v0.6.0
|
||||||
github.com/muesli/reflow v0.3.0
|
github.com/muesli/reflow v0.3.0
|
||||||
github.com/otiai10/copy v1.14.0
|
github.com/otiai10/copy v1.14.0
|
||||||
github.com/pulumi/providertest v0.0.12
|
github.com/pulumi/providertest v0.3.1
|
||||||
github.com/pulumi/pulumi-go-provider v0.16.1-0.20240426163030-72606b1e6fb7
|
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.0.0-20250806132441-44ca9a522cef
|
||||||
github.com/pulumi/pulumi-java/pkg v0.10.0
|
github.com/pulumi/pulumi-go-provider v1.1.2
|
||||||
github.com/pulumi/pulumi/pkg/v3 v3.113.3
|
github.com/pulumi/pulumi-java/pkg v1.16.0
|
||||||
github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20240415162817-44c8de53d5d2
|
github.com/pulumi/pulumi-yaml v1.21.2
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.113.3
|
github.com/pulumi/pulumi/pkg/v3 v3.192.0
|
||||||
github.com/regclient/regclient v0.0.0-20240308005156-a7434cff9c6b
|
github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20250806165243-bee5e4fa4815
|
||||||
|
github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20250806165243-bee5e4fa4815
|
||||||
|
github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20250806165243-bee5e4fa4815
|
||||||
|
github.com/pulumi/pulumi/sdk/v3 v3.192.0
|
||||||
|
github.com/regclient/regclient v0.7.1
|
||||||
github.com/sirupsen/logrus v1.9.3
|
github.com/sirupsen/logrus v1.9.3
|
||||||
github.com/spf13/afero v1.11.0
|
github.com/spf13/afero v1.14.0
|
||||||
github.com/stretchr/testify v1.9.0
|
github.com/stretchr/testify v1.10.0
|
||||||
github.com/theupdateframework/notary v0.7.0
|
github.com/tonistiigi/fsutil v0.0.0-20250113203817-b14e27f4135a
|
||||||
github.com/tonistiigi/fsutil v0.0.0-20240301111122-7525a1af2bb5
|
github.com/tonistiigi/go-csvvalue v0.0.0-20240710180619-ddb21b71c0b4
|
||||||
go.uber.org/mock v0.3.0
|
go.opentelemetry.io/otel/metric v1.36.0
|
||||||
golang.org/x/crypto v0.21.0
|
go.opentelemetry.io/otel/sdk v1.36.0
|
||||||
google.golang.org/protobuf v1.33.0
|
go.opentelemetry.io/otel/trace v1.36.0
|
||||||
|
go.uber.org/mock v0.5.2
|
||||||
|
golang.org/x/crypto v0.39.0
|
||||||
|
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0
|
||||||
|
google.golang.org/protobuf v1.36.6
|
||||||
gopkg.in/yaml.v3 v3.0.1
|
gopkg.in/yaml.v3 v3.0.1
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -36,74 +44,70 @@ require (
|
|||||||
4d63.com/gocheckcompilerdirectives v1.2.1 // indirect
|
4d63.com/gocheckcompilerdirectives v1.2.1 // indirect
|
||||||
4d63.com/gochecknoglobals v0.2.1 // indirect
|
4d63.com/gochecknoglobals v0.2.1 // indirect
|
||||||
cloud.google.com/go v0.112.1 // indirect
|
cloud.google.com/go v0.112.1 // indirect
|
||||||
cloud.google.com/go/compute v1.25.0 // indirect
|
cloud.google.com/go/compute/metadata v0.6.0 // indirect
|
||||||
cloud.google.com/go/compute/metadata v0.2.3 // indirect
|
|
||||||
cloud.google.com/go/iam v1.1.6 // indirect
|
cloud.google.com/go/iam v1.1.6 // indirect
|
||||||
cloud.google.com/go/kms v1.15.7 // indirect
|
cloud.google.com/go/kms v1.15.7 // indirect
|
||||||
cloud.google.com/go/logging v1.9.0 // indirect
|
cloud.google.com/go/logging v1.9.0 // indirect
|
||||||
cloud.google.com/go/longrunning v0.5.5 // indirect
|
cloud.google.com/go/longrunning v0.5.5 // indirect
|
||||||
cloud.google.com/go/storage v1.39.1 // indirect
|
cloud.google.com/go/storage v1.39.1 // indirect
|
||||||
dario.cat/mergo v1.0.0 // indirect
|
dario.cat/mergo v1.0.1 // indirect
|
||||||
github.com/4meepo/tagalign v1.3.3 // indirect
|
github.com/4meepo/tagalign v1.3.4 // indirect
|
||||||
github.com/Abirdcfly/dupword v0.0.14 // indirect
|
github.com/Abirdcfly/dupword v0.0.14 // indirect
|
||||||
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect
|
github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 // indirect
|
||||||
github.com/AlecAivazis/survey/v2 v2.3.7 // indirect
|
github.com/AlecAivazis/survey/v2 v2.3.7 // indirect
|
||||||
github.com/Antonboom/errname v0.1.12 // indirect
|
github.com/Antonboom/errname v0.1.13 // indirect
|
||||||
github.com/Antonboom/nilnil v0.1.7 // indirect
|
github.com/Antonboom/nilnil v0.1.9 // indirect
|
||||||
github.com/Antonboom/testifylint v1.2.0 // indirect
|
github.com/Antonboom/testifylint v1.3.1 // indirect
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.10.0 // indirect
|
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.17.0 // indirect
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.1 // indirect
|
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.2 // indirect
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2 // indirect
|
github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0 // indirect
|
github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0 // indirect
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1 // indirect
|
github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1 // indirect
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.3.1 // indirect
|
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.5.0 // indirect
|
||||||
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
|
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect
|
||||||
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
|
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
|
||||||
github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect
|
github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect
|
||||||
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect
|
github.com/AzureAD/microsoft-authentication-library-for-go v1.3.3 // indirect
|
||||||
github.com/BurntSushi/toml v1.3.2 // indirect
|
github.com/BurntSushi/toml v1.5.0 // indirect
|
||||||
|
github.com/Crocmagnon/fatcontext v0.2.2 // indirect
|
||||||
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect
|
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect
|
||||||
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0 // indirect
|
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0 // indirect
|
||||||
github.com/Masterminds/semver v1.5.0 // indirect
|
github.com/Masterminds/semver/v3 v3.2.1 // indirect
|
||||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
github.com/Microsoft/go-winio v0.6.2 // indirect
|
||||||
github.com/Microsoft/hcsshim v0.11.4 // indirect
|
|
||||||
github.com/OpenPeeDeeP/depguard/v2 v2.2.0 // indirect
|
github.com/OpenPeeDeeP/depguard/v2 v2.2.0 // indirect
|
||||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect
|
github.com/ProtonMail/go-crypto v1.2.0 // indirect
|
||||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
|
|
||||||
github.com/agext/levenshtein v1.2.3 // indirect
|
github.com/agext/levenshtein v1.2.3 // indirect
|
||||||
github.com/alecthomas/chroma v0.10.0 // indirect
|
github.com/alecthomas/chroma v0.10.0 // indirect
|
||||||
|
github.com/alecthomas/chroma/v2 v2.13.0 // indirect
|
||||||
github.com/alecthomas/go-check-sumtype v0.1.4 // indirect
|
github.com/alecthomas/go-check-sumtype v0.1.4 // indirect
|
||||||
github.com/alexkohler/nakedret/v2 v2.0.4 // indirect
|
github.com/alexkohler/nakedret/v2 v2.0.4 // indirect
|
||||||
github.com/alexkohler/prealloc v1.0.0 // indirect
|
github.com/alexkohler/prealloc v1.0.0 // indirect
|
||||||
github.com/alingse/asasalint v0.0.11 // indirect
|
github.com/alingse/asasalint v0.0.11 // indirect
|
||||||
github.com/apparentlymart/go-cidr v1.1.0 // indirect
|
github.com/apparentlymart/go-cidr v1.0.1 // indirect
|
||||||
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
||||||
github.com/armon/go-metrics v0.4.1 // indirect
|
|
||||||
github.com/armon/go-radix v1.0.0 // indirect
|
|
||||||
github.com/ashanbrown/forbidigo v1.6.0 // indirect
|
github.com/ashanbrown/forbidigo v1.6.0 // indirect
|
||||||
github.com/ashanbrown/makezero v1.1.1 // indirect
|
github.com/ashanbrown/makezero v1.1.1 // indirect
|
||||||
github.com/atotto/clipboard v0.1.4 // indirect
|
github.com/atotto/clipboard v0.1.4 // indirect
|
||||||
github.com/aws/aws-sdk-go v1.50.36 // indirect
|
github.com/aws/aws-sdk-go-v2 v1.30.3 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2 v1.26.1 // indirect
|
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 // indirect
|
github.com/aws/aws-sdk-go-v2/config v1.27.27 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/config v1.27.11 // indirect
|
github.com/aws/aws-sdk-go-v2/credentials v1.17.27 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/credentials v1.17.11 // indirect
|
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 // indirect
|
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.8 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15 // indirect
|
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 // indirect
|
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 // indirect
|
|
||||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect
|
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.5 // indirect
|
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.15 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect
|
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.7 // indirect
|
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.17 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 // indirect
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 // indirect
|
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.15 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/kms v1.30.1 // indirect
|
github.com/aws/aws-sdk-go-v2/service/kms v1.30.1 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1 // indirect
|
github.com/aws/aws-sdk-go-v2/service/s3 v1.58.2 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 // indirect
|
github.com/aws/aws-sdk-go-v2/service/sso v1.22.4 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4 // indirect
|
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 // indirect
|
github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 // indirect
|
||||||
github.com/aws/smithy-go v1.20.2 // indirect
|
github.com/aws/smithy-go v1.20.3 // indirect
|
||||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
||||||
github.com/aymerick/douceur v0.2.0 // indirect
|
github.com/aymerick/douceur v0.2.0 // indirect
|
||||||
github.com/beorn7/perks v1.0.1 // indirect
|
github.com/beorn7/perks v1.0.1 // indirect
|
||||||
@@ -113,69 +117,80 @@ require (
|
|||||||
github.com/breml/bidichk v0.2.7 // indirect
|
github.com/breml/bidichk v0.2.7 // indirect
|
||||||
github.com/breml/errchkjson v0.3.6 // indirect
|
github.com/breml/errchkjson v0.3.6 // indirect
|
||||||
github.com/butuzov/ireturn v0.3.0 // indirect
|
github.com/butuzov/ireturn v0.3.0 // indirect
|
||||||
github.com/butuzov/mirror v1.1.0 // indirect
|
github.com/butuzov/mirror v1.2.0 // indirect
|
||||||
github.com/catenacyber/perfsprint v0.7.1 // indirect
|
github.com/catenacyber/perfsprint v0.7.1 // indirect
|
||||||
github.com/ccojocar/zxcvbn-go v1.0.2 // indirect
|
github.com/ccojocar/zxcvbn-go v1.0.2 // indirect
|
||||||
github.com/cenkalti/backoff/v3 v3.2.2 // indirect
|
github.com/cenkalti/backoff/v3 v3.2.2 // indirect
|
||||||
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
|
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
|
||||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
github.com/cenkalti/backoff/v5 v5.0.2 // indirect
|
||||||
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
||||||
github.com/charithe/durationcheck v0.0.10 // indirect
|
github.com/charithe/durationcheck v0.0.10 // indirect
|
||||||
github.com/charmbracelet/bubbles v0.16.1 // indirect
|
github.com/charmbracelet/bubbles v0.21.0 // indirect
|
||||||
github.com/charmbracelet/bubbletea v0.24.2 // indirect
|
github.com/charmbracelet/bubbletea v1.3.4 // indirect
|
||||||
|
github.com/charmbracelet/colorprofile v0.3.0 // indirect
|
||||||
github.com/charmbracelet/glamour v0.6.0 // indirect
|
github.com/charmbracelet/glamour v0.6.0 // indirect
|
||||||
github.com/charmbracelet/lipgloss v0.7.1 // indirect
|
github.com/charmbracelet/lipgloss v1.1.0 // indirect
|
||||||
|
github.com/charmbracelet/x/ansi v0.8.0 // indirect
|
||||||
|
github.com/charmbracelet/x/cellbuf v0.0.13 // indirect
|
||||||
|
github.com/charmbracelet/x/term v0.2.1 // indirect
|
||||||
github.com/chavacava/garif v0.1.0 // indirect
|
github.com/chavacava/garif v0.1.0 // indirect
|
||||||
github.com/cheggaaa/pb v1.0.29 // indirect
|
github.com/cheggaaa/pb v1.0.29 // indirect
|
||||||
github.com/ckaznocha/intrange v0.1.0 // indirect
|
github.com/ckaznocha/intrange v0.1.2 // indirect
|
||||||
github.com/cloudflare/circl v1.3.7 // indirect
|
github.com/cloudflare/circl v1.6.1 // indirect
|
||||||
github.com/compose-spec/compose-go/v2 v2.0.0-rc.8 // indirect
|
github.com/compose-spec/compose-go/v2 v2.4.8 // indirect
|
||||||
github.com/containerd/console v1.0.4 // indirect
|
github.com/containerd/console v1.0.4 // indirect
|
||||||
github.com/containerd/containerd v1.7.13 // indirect
|
github.com/containerd/containerd/api v1.8.0 // indirect
|
||||||
github.com/containerd/continuity v0.4.3 // indirect
|
github.com/containerd/containerd/v2 v2.0.3 // indirect
|
||||||
|
github.com/containerd/continuity v0.4.5 // indirect
|
||||||
|
github.com/containerd/errdefs v1.0.0 // indirect
|
||||||
|
github.com/containerd/errdefs/pkg v0.3.0 // indirect
|
||||||
github.com/containerd/log v0.1.0 // indirect
|
github.com/containerd/log v0.1.0 // indirect
|
||||||
github.com/containerd/ttrpc v1.2.2 // indirect
|
github.com/containerd/platforms v1.0.0-rc.1 // indirect
|
||||||
github.com/containerd/typeurl/v2 v2.1.1 // indirect
|
github.com/containerd/ttrpc v1.2.7 // indirect
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect
|
github.com/containerd/typeurl/v2 v2.2.3 // indirect
|
||||||
|
github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect
|
||||||
github.com/curioswitch/go-reassign v0.2.0 // indirect
|
github.com/curioswitch/go-reassign v0.2.0 // indirect
|
||||||
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
|
github.com/cyphar/filepath-securejoin v0.4.1 // indirect
|
||||||
github.com/daixiang0/gci v0.12.3 // indirect
|
github.com/daixiang0/gci v0.13.4 // indirect
|
||||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||||
github.com/deckarep/golang-set/v2 v2.5.0 // indirect
|
github.com/deckarep/golang-set/v2 v2.5.0 // indirect
|
||||||
github.com/denis-tingaikin/go-header v0.5.0 // indirect
|
github.com/denis-tingaikin/go-header v0.5.0 // indirect
|
||||||
github.com/djherbis/times v1.5.0 // indirect
|
github.com/djherbis/times v1.6.0 // indirect
|
||||||
github.com/dlclark/regexp2 v1.4.0 // indirect
|
github.com/dlclark/regexp2 v1.11.0 // indirect
|
||||||
github.com/docker/cli-docs-tool v0.7.0 // indirect
|
github.com/docker/cli-docs-tool v0.9.0 // indirect
|
||||||
github.com/docker/docker-credential-helpers v0.8.0 // indirect
|
github.com/docker/distribution v2.8.3+incompatible // indirect
|
||||||
github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c // indirect
|
github.com/docker/docker-credential-helpers v0.8.2 // indirect
|
||||||
github.com/docker/go-connections v0.5.0 // indirect
|
github.com/docker/go-connections v0.5.0 // indirect
|
||||||
github.com/docker/go-metrics v0.0.1 // indirect
|
github.com/docker/go-metrics v0.0.1 // indirect
|
||||||
github.com/docker/go-units v0.5.0 // indirect
|
github.com/docker/go-units v0.5.0 // indirect
|
||||||
github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 // indirect
|
github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 // indirect
|
||||||
github.com/dustin/go-humanize v1.0.1 // indirect
|
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||||
github.com/edsrzf/mmap-go v1.1.0 // indirect
|
github.com/edsrzf/mmap-go v1.2.0 // indirect
|
||||||
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
|
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
|
||||||
github.com/emirpasic/gods v1.18.1 // indirect
|
github.com/emirpasic/gods v1.18.1 // indirect
|
||||||
|
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
|
||||||
github.com/erikgeiser/promptkit v0.9.0 // indirect
|
github.com/erikgeiser/promptkit v0.9.0 // indirect
|
||||||
github.com/ettle/strcase v0.2.0 // indirect
|
github.com/ettle/strcase v0.2.0 // indirect
|
||||||
github.com/fatih/color v1.16.0 // indirect
|
github.com/fatih/color v1.17.0 // indirect
|
||||||
github.com/fatih/structtag v1.2.0 // indirect
|
github.com/fatih/structtag v1.2.0 // indirect
|
||||||
github.com/felixge/httpsnoop v1.0.4 // indirect
|
github.com/felixge/httpsnoop v1.0.4 // indirect
|
||||||
github.com/firefart/nonamedreturns v1.0.4 // indirect
|
github.com/firefart/nonamedreturns v1.0.5 // indirect
|
||||||
github.com/fsnotify/fsnotify v1.7.0 // indirect
|
github.com/fsnotify/fsnotify v1.9.0 // indirect
|
||||||
github.com/fvbommel/sortorder v1.1.0 // indirect
|
github.com/fvbommel/sortorder v1.0.1 // indirect
|
||||||
|
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
|
||||||
github.com/fzipp/gocyclo v0.6.0 // indirect
|
github.com/fzipp/gocyclo v0.6.0 // indirect
|
||||||
github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect
|
github.com/ghostiam/protogetter v0.3.6 // indirect
|
||||||
github.com/ghostiam/protogetter v0.3.5 // indirect
|
github.com/go-critic/go-critic v0.11.4 // indirect
|
||||||
github.com/go-critic/go-critic v0.11.2 // indirect
|
|
||||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
||||||
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
github.com/go-git/go-billy/v5 v5.6.2 // indirect
|
||||||
github.com/go-git/go-git/v5 v5.11.0 // indirect
|
github.com/go-git/go-git/v5 v5.16.0 // indirect
|
||||||
github.com/go-logr/logr v1.4.1 // indirect
|
github.com/go-jose/go-jose/v3 v3.0.4 // indirect
|
||||||
|
github.com/go-logr/logr v1.4.2 // indirect
|
||||||
github.com/go-logr/stdr v1.2.2 // indirect
|
github.com/go-logr/stdr v1.2.2 // indirect
|
||||||
github.com/go-ole/go-ole v1.2.6 // indirect
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||||
github.com/go-openapi/jsonpointer v0.19.6 // indirect
|
github.com/go-openapi/jsonpointer v0.19.6 // indirect
|
||||||
github.com/go-openapi/jsonreference v0.20.2 // indirect
|
github.com/go-openapi/jsonreference v0.20.2 // indirect
|
||||||
github.com/go-openapi/swag v0.22.3 // indirect
|
github.com/go-openapi/swag v0.22.4 // indirect
|
||||||
github.com/go-toolsmith/astcast v1.1.0 // indirect
|
github.com/go-toolsmith/astcast v1.1.0 // indirect
|
||||||
github.com/go-toolsmith/astcopy v1.1.0 // indirect
|
github.com/go-toolsmith/astcopy v1.1.0 // indirect
|
||||||
github.com/go-toolsmith/astequal v1.2.0 // indirect
|
github.com/go-toolsmith/astequal v1.2.0 // indirect
|
||||||
@@ -183,29 +198,29 @@ require (
|
|||||||
github.com/go-toolsmith/astp v1.1.0 // indirect
|
github.com/go-toolsmith/astp v1.1.0 // indirect
|
||||||
github.com/go-toolsmith/strparse v1.1.0 // indirect
|
github.com/go-toolsmith/strparse v1.1.0 // indirect
|
||||||
github.com/go-toolsmith/typep v1.1.0 // indirect
|
github.com/go-toolsmith/typep v1.1.0 // indirect
|
||||||
github.com/go-viper/mapstructure/v2 v2.0.0-alpha.1 // indirect
|
github.com/go-viper/mapstructure/v2 v2.0.0 // indirect
|
||||||
github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect
|
github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect
|
||||||
github.com/gobwas/glob v0.2.3 // indirect
|
github.com/gobwas/glob v0.2.3 // indirect
|
||||||
github.com/gofrs/flock v0.8.1 // indirect
|
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
||||||
|
github.com/gofrs/flock v0.12.1 // indirect
|
||||||
github.com/gofrs/uuid v4.2.0+incompatible // indirect
|
github.com/gofrs/uuid v4.2.0+incompatible // indirect
|
||||||
github.com/gogo/googleapis v1.4.1 // indirect
|
|
||||||
github.com/gogo/protobuf v1.3.2 // indirect
|
github.com/gogo/protobuf v1.3.2 // indirect
|
||||||
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
|
github.com/golang-jwt/jwt/v5 v5.2.2 // indirect
|
||||||
github.com/golang/glog v1.2.0 // indirect
|
github.com/golang/glog v1.2.4 // indirect
|
||||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
|
||||||
github.com/golang/protobuf v1.5.4 // indirect
|
github.com/golang/protobuf v1.5.4 // indirect
|
||||||
github.com/golang/snappy v0.0.4 // indirect
|
|
||||||
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect
|
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect
|
||||||
github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e // indirect
|
github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e // indirect
|
||||||
github.com/golangci/misspell v0.4.1 // indirect
|
github.com/golangci/misspell v0.6.0 // indirect
|
||||||
|
github.com/golangci/modinfo v0.3.4 // indirect
|
||||||
github.com/golangci/plugin-module-register v0.1.1 // indirect
|
github.com/golangci/plugin-module-register v0.1.1 // indirect
|
||||||
github.com/golangci/revgrep v0.5.2 // indirect
|
github.com/golangci/revgrep v0.5.3 // indirect
|
||||||
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed // indirect
|
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed // indirect
|
||||||
github.com/google/gnostic-models v0.6.8 // indirect
|
github.com/google/gnostic-models v0.6.8 // indirect
|
||||||
github.com/google/go-cmp v0.6.0 // indirect
|
github.com/google/go-cmp v0.7.0 // indirect
|
||||||
github.com/google/go-querystring v1.1.0 // indirect
|
github.com/google/go-querystring v1.1.0 // indirect
|
||||||
github.com/google/gofuzz v1.2.0 // indirect
|
github.com/google/gofuzz v1.2.0 // indirect
|
||||||
github.com/google/pprof v0.0.0-20230406165453-00490a63f317 // indirect
|
github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af // indirect
|
||||||
github.com/google/s2a-go v0.1.7 // indirect
|
github.com/google/s2a-go v0.1.7 // indirect
|
||||||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
|
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
|
||||||
github.com/google/uuid v1.6.0 // indirect
|
github.com/google/uuid v1.6.0 // indirect
|
||||||
@@ -214,64 +229,59 @@ require (
|
|||||||
github.com/googleapis/gax-go/v2 v2.12.2 // indirect
|
github.com/googleapis/gax-go/v2 v2.12.2 // indirect
|
||||||
github.com/gordonklaus/ineffassign v0.1.0 // indirect
|
github.com/gordonklaus/ineffassign v0.1.0 // indirect
|
||||||
github.com/gorilla/css v1.0.0 // indirect
|
github.com/gorilla/css v1.0.0 // indirect
|
||||||
github.com/gorilla/mux v1.8.0 // indirect
|
github.com/gorilla/mux v1.8.1 // indirect
|
||||||
github.com/gorilla/websocket v1.5.0 // indirect
|
github.com/gorilla/websocket v1.5.0 // indirect
|
||||||
github.com/gostaticanalysis/analysisutil v0.7.1 // indirect
|
github.com/gostaticanalysis/analysisutil v0.7.1 // indirect
|
||||||
github.com/gostaticanalysis/comment v1.4.2 // indirect
|
github.com/gostaticanalysis/comment v1.4.2 // indirect
|
||||||
github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect
|
github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect
|
||||||
github.com/gostaticanalysis/nilerr v0.1.1 // indirect
|
github.com/gostaticanalysis/nilerr v0.1.1 // indirect
|
||||||
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect
|
||||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect
|
|
||||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
||||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||||
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
||||||
github.com/hashicorp/go-cty-funcs v0.0.0-20230405223818-a090f58aa992 // indirect
|
github.com/hashicorp/go-cty-funcs v0.0.0-20241120183456-c51673e0b3dd // indirect
|
||||||
github.com/hashicorp/go-hclog v1.5.0 // indirect
|
|
||||||
github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
|
|
||||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||||
github.com/hashicorp/go-plugin v1.6.0 // indirect
|
github.com/hashicorp/go-retryablehttp v0.7.7 // indirect
|
||||||
github.com/hashicorp/go-retryablehttp v0.7.5 // indirect
|
|
||||||
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
|
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
|
||||||
github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 // indirect
|
github.com/hashicorp/go-secure-stdlib/parseutil v0.1.8 // indirect
|
||||||
github.com/hashicorp/go-secure-stdlib/parseutil v0.1.7 // indirect
|
|
||||||
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect
|
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect
|
||||||
github.com/hashicorp/go-sockaddr v1.0.2 // indirect
|
github.com/hashicorp/go-sockaddr v1.0.6 // indirect
|
||||||
github.com/hashicorp/go-uuid v1.0.3 // indirect
|
github.com/hashicorp/go-version v1.7.0 // indirect
|
||||||
github.com/hashicorp/go-version v1.6.0 // indirect
|
|
||||||
github.com/hashicorp/golang-lru v0.5.4 // indirect
|
|
||||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||||
github.com/hashicorp/hcl/v2 v2.19.1 // indirect
|
github.com/hashicorp/hcl/v2 v2.23.0 // indirect
|
||||||
github.com/hashicorp/vault/api v1.8.2 // indirect
|
github.com/hashicorp/vault/api v1.12.0 // indirect
|
||||||
github.com/hashicorp/vault/sdk v0.6.1 // indirect
|
|
||||||
github.com/hashicorp/yamux v0.1.1 // indirect
|
|
||||||
github.com/hexops/gotextdiff v1.0.3 // indirect
|
github.com/hexops/gotextdiff v1.0.3 // indirect
|
||||||
github.com/iancoleman/strcase v0.2.0 // indirect
|
github.com/iancoleman/strcase v0.3.0 // indirect
|
||||||
github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd // indirect
|
github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd // indirect
|
||||||
github.com/imdario/mergo v0.3.16 // indirect
|
github.com/imdario/mergo v0.3.16 // indirect
|
||||||
github.com/in-toto/in-toto-golang v0.5.0 // indirect
|
github.com/in-toto/in-toto-golang v0.5.0 // indirect
|
||||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||||
|
github.com/iwdgo/sigintwindows v0.2.2 // indirect
|
||||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
||||||
github.com/jgautheron/goconst v1.7.0 // indirect
|
github.com/jgautheron/goconst v1.7.1 // indirect
|
||||||
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
|
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
|
||||||
github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect
|
github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect
|
||||||
github.com/jjti/go-spancheck v0.5.3 // indirect
|
github.com/jjti/go-spancheck v0.6.1 // indirect
|
||||||
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
||||||
|
github.com/jonboulle/clockwork v0.4.0 // indirect
|
||||||
github.com/josharian/intern v1.0.0 // indirect
|
github.com/josharian/intern v1.0.0 // indirect
|
||||||
github.com/json-iterator/go v1.1.12 // indirect
|
github.com/json-iterator/go v1.1.12 // indirect
|
||||||
github.com/julz/importas v0.1.0 // indirect
|
github.com/julz/importas v0.1.0 // indirect
|
||||||
github.com/karamaru-alpha/copyloopvar v1.0.8 // indirect
|
github.com/karamaru-alpha/copyloopvar v1.1.0 // indirect
|
||||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
|
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
|
||||||
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
||||||
github.com/kisielk/errcheck v1.7.0 // indirect
|
github.com/kisielk/errcheck v1.7.0 // indirect
|
||||||
github.com/kkHAIKE/contextcheck v1.1.4 // indirect
|
github.com/kkHAIKE/contextcheck v1.1.5 // indirect
|
||||||
github.com/klauspost/compress v1.17.4 // indirect
|
github.com/klauspost/compress v1.17.11 // indirect
|
||||||
github.com/kulti/thelper v0.6.3 // indirect
|
github.com/kulti/thelper v0.6.3 // indirect
|
||||||
github.com/kunwardeep/paralleltest v1.0.10 // indirect
|
github.com/kunwardeep/paralleltest v1.0.10 // indirect
|
||||||
github.com/kylelemons/godebug v1.1.0 // indirect
|
github.com/kylelemons/godebug v1.1.0 // indirect
|
||||||
github.com/kyoh86/exportloopref v0.1.11 // indirect
|
github.com/kyoh86/exportloopref v0.1.11 // indirect
|
||||||
github.com/ldez/gomoddirectives v0.2.3 // indirect
|
github.com/lasiar/canonicalheader v1.1.1 // indirect
|
||||||
|
github.com/ldez/gomoddirectives v0.2.4 // indirect
|
||||||
github.com/ldez/tagliatelle v0.5.0 // indirect
|
github.com/ldez/tagliatelle v0.5.0 // indirect
|
||||||
github.com/leonklingele/grouper v1.1.1 // indirect
|
github.com/leonklingele/grouper v1.1.2 // indirect
|
||||||
|
github.com/lib/pq v1.10.9 // indirect
|
||||||
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
|
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
|
||||||
github.com/lufeee/execinquery v1.2.1 // indirect
|
github.com/lufeee/execinquery v1.2.1 // indirect
|
||||||
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
|
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
|
||||||
@@ -284,36 +294,35 @@ require (
|
|||||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||||
github.com/mattn/go-localereader v0.0.1 // indirect
|
github.com/mattn/go-localereader v0.0.1 // indirect
|
||||||
github.com/mattn/go-runewidth v0.0.15 // indirect
|
github.com/mattn/go-runewidth v0.0.16 // indirect
|
||||||
github.com/mattn/go-shellwords v1.0.12 // indirect
|
github.com/mattn/go-shellwords v1.0.12 // indirect
|
||||||
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
|
|
||||||
github.com/mgechev/revive v1.3.7 // indirect
|
github.com/mgechev/revive v1.3.7 // indirect
|
||||||
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect
|
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect
|
||||||
github.com/microcosm-cc/bluemonday v1.0.21 // indirect
|
github.com/microcosm-cc/bluemonday v1.0.21 // indirect
|
||||||
github.com/miekg/pkcs11 v1.1.1 // indirect
|
|
||||||
github.com/mitchellh/copystructure v1.2.0 // indirect
|
github.com/mitchellh/copystructure v1.2.0 // indirect
|
||||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||||
github.com/mitchellh/go-ps v1.0.0 // indirect
|
github.com/mitchellh/go-ps v1.0.0 // indirect
|
||||||
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
|
|
||||||
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
||||||
|
github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect
|
||||||
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
||||||
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
||||||
github.com/moby/docker-image-spec v1.3.1 // indirect
|
github.com/moby/docker-image-spec v1.3.1 // indirect
|
||||||
github.com/moby/locker v1.0.1 // indirect
|
github.com/moby/locker v1.0.1 // indirect
|
||||||
github.com/moby/moby v25.0.4+incompatible // indirect
|
github.com/moby/moby v28.3.3+incompatible // indirect
|
||||||
github.com/moby/spdystream v0.2.0 // indirect
|
github.com/moby/spdystream v0.4.0 // indirect
|
||||||
github.com/moby/sys/mountinfo v0.7.1 // indirect
|
github.com/moby/sys/mountinfo v0.7.2 // indirect
|
||||||
github.com/moby/sys/sequential v0.5.0 // indirect
|
github.com/moby/sys/sequential v0.6.0 // indirect
|
||||||
github.com/moby/sys/signal v0.7.0 // indirect
|
github.com/moby/sys/signal v0.7.1 // indirect
|
||||||
github.com/moby/sys/user v0.1.0 // indirect
|
github.com/moby/sys/user v0.3.0 // indirect
|
||||||
github.com/moby/term v0.5.0 // indirect
|
github.com/moby/sys/userns v0.1.0 // indirect
|
||||||
|
github.com/moby/term v0.5.2 // indirect
|
||||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||||
github.com/moricho/tparallel v0.3.1 // indirect
|
github.com/moricho/tparallel v0.3.1 // indirect
|
||||||
github.com/morikuni/aec v1.0.0 // indirect
|
github.com/morikuni/aec v1.0.0 // indirect
|
||||||
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
|
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
|
||||||
github.com/muesli/cancelreader v0.2.2 // indirect
|
github.com/muesli/cancelreader v0.2.2 // indirect
|
||||||
github.com/muesli/termenv v0.15.2 // indirect
|
github.com/muesli/termenv v0.16.0 // indirect
|
||||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
||||||
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
|
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
|
||||||
github.com/nakabonne/nestif v0.3.1 // indirect
|
github.com/nakabonne/nestif v0.3.1 // indirect
|
||||||
@@ -321,73 +330,73 @@ require (
|
|||||||
github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d // indirect
|
github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d // indirect
|
||||||
github.com/nishanths/exhaustive v0.12.0 // indirect
|
github.com/nishanths/exhaustive v0.12.0 // indirect
|
||||||
github.com/nishanths/predeclared v0.2.2 // indirect
|
github.com/nishanths/predeclared v0.2.2 // indirect
|
||||||
github.com/nunnatsa/ginkgolinter v0.16.1 // indirect
|
github.com/nunnatsa/ginkgolinter v0.16.2 // indirect
|
||||||
github.com/nxadm/tail v1.4.11 // indirect
|
github.com/nxadm/tail v1.4.11 // indirect
|
||||||
github.com/oklog/run v1.1.0 // indirect
|
|
||||||
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
||||||
github.com/opencontainers/go-digest v1.0.0 // indirect
|
github.com/opencontainers/go-digest v1.0.0 // indirect
|
||||||
github.com/opencontainers/image-spec v1.1.0-rc5 // indirect
|
github.com/opencontainers/image-spec v1.1.0 // indirect
|
||||||
github.com/opentracing/basictracer-go v1.1.0 // indirect
|
github.com/opentracing/basictracer-go v1.1.0 // indirect
|
||||||
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
||||||
github.com/pelletier/go-toml v1.9.5 // indirect
|
github.com/pelletier/go-toml v1.9.5 // indirect
|
||||||
github.com/pelletier/go-toml/v2 v2.2.0 // indirect
|
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
|
||||||
github.com/petar-dambovaliev/aho-corasick v0.0.0-20230725210150-fb29fc3c913e // indirect
|
github.com/pgavlin/aho-corasick v0.5.1 // indirect
|
||||||
github.com/pgavlin/diff v0.0.0-20230503175810-113847418e2e // indirect
|
github.com/pgavlin/diff v0.0.0-20230503175810-113847418e2e // indirect
|
||||||
github.com/pgavlin/fx v0.1.6 // indirect
|
github.com/pgavlin/fx v0.1.6 // indirect
|
||||||
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect
|
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect
|
||||||
github.com/pgavlin/text v0.0.0-20230428184845-84c285f11d2f // indirect
|
github.com/pgavlin/text v0.0.0-20240821195002-b51d0990e284 // indirect
|
||||||
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
|
github.com/pjbgf/sha1cd v0.3.2 // indirect
|
||||||
github.com/pjbgf/sha1cd v0.3.0 // indirect
|
|
||||||
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
|
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
|
||||||
github.com/pkg/errors v0.9.1 // indirect
|
github.com/pkg/errors v0.9.1 // indirect
|
||||||
github.com/pkg/term v1.1.0 // indirect
|
github.com/pkg/term v1.1.0 // indirect
|
||||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
|
||||||
github.com/polyfloyd/go-errorlint v1.4.8 // indirect
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||||
|
github.com/polyfloyd/go-errorlint v1.5.2 // indirect
|
||||||
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
|
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
|
||||||
github.com/prometheus/client_golang v1.17.0 // indirect
|
github.com/prometheus/client_golang v1.20.5 // indirect
|
||||||
github.com/prometheus/client_model v0.5.0 // indirect
|
github.com/prometheus/client_model v0.6.1 // indirect
|
||||||
github.com/prometheus/common v0.44.0 // indirect
|
github.com/prometheus/common v0.55.0 // indirect
|
||||||
github.com/prometheus/procfs v0.12.0 // indirect
|
github.com/prometheus/procfs v0.15.1 // indirect
|
||||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
||||||
github.com/pulumi/esc v0.6.2 // indirect
|
github.com/pulumi/esc v0.17.0 // indirect
|
||||||
github.com/pulumi/pulumi-yaml v1.6.0 // indirect
|
github.com/pulumi/inflector v0.2.1 // indirect
|
||||||
github.com/quasilyte/go-ruleguard v0.4.2 // indirect
|
github.com/quasilyte/go-ruleguard v0.4.2 // indirect
|
||||||
|
github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect
|
||||||
github.com/quasilyte/gogrep v0.5.0 // indirect
|
github.com/quasilyte/gogrep v0.5.0 // indirect
|
||||||
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
|
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
|
||||||
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
|
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
|
||||||
github.com/rivo/uniseg v0.4.4 // indirect
|
github.com/rivo/uniseg v0.4.7 // indirect
|
||||||
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
github.com/rogpeppe/go-internal v1.14.1 // indirect
|
||||||
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||||
github.com/ryancurrah/gomodguard v1.3.1 // indirect
|
github.com/ryancurrah/gomodguard v1.3.2 // indirect
|
||||||
github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect
|
github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect
|
||||||
github.com/ryanuber/go-glob v1.0.0 // indirect
|
github.com/ryanuber/go-glob v1.0.0 // indirect
|
||||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
||||||
github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect
|
github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect
|
||||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
||||||
github.com/sashamelentyev/interfacebloat v1.1.0 // indirect
|
github.com/sashamelentyev/interfacebloat v1.1.0 // indirect
|
||||||
github.com/sashamelentyev/usestdlibvars v1.25.0 // indirect
|
github.com/sashamelentyev/usestdlibvars v1.26.0 // indirect
|
||||||
github.com/secure-systems-lab/go-securesystemslib v0.4.0 // indirect
|
github.com/secure-systems-lab/go-securesystemslib v0.4.0 // indirect
|
||||||
github.com/securego/gosec/v2 v2.19.0 // indirect
|
github.com/securego/gosec/v2 v2.20.1-0.20240525090044-5f0084eb01a9 // indirect
|
||||||
github.com/segmentio/asm v1.1.3 // indirect
|
github.com/segmentio/asm v1.2.0 // indirect
|
||||||
github.com/segmentio/encoding v0.3.5 // indirect
|
github.com/segmentio/encoding v0.4.1 // indirect
|
||||||
github.com/sergi/go-diff v1.3.1 // indirect
|
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
|
||||||
github.com/serialx/hashring v0.0.0-20200727003509-22c0c7ab6b1b // indirect
|
github.com/serialx/hashring v0.0.0-20200727003509-22c0c7ab6b1b // indirect
|
||||||
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect
|
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect
|
||||||
github.com/shibumi/go-pathspec v1.3.0 // indirect
|
github.com/shibumi/go-pathspec v1.3.0 // indirect
|
||||||
github.com/shirou/gopsutil/v3 v3.24.2 // indirect
|
github.com/shirou/gopsutil/v3 v3.24.5 // indirect
|
||||||
github.com/shoenig/go-m1cpu v0.1.6 // indirect
|
github.com/shoenig/go-m1cpu v0.1.6 // indirect
|
||||||
github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 // indirect
|
github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 // indirect
|
||||||
github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 // indirect
|
github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 // indirect
|
||||||
github.com/sivchari/containedctx v1.0.3 // indirect
|
github.com/sivchari/containedctx v1.0.3 // indirect
|
||||||
github.com/sivchari/tenv v1.7.1 // indirect
|
github.com/sivchari/tenv v1.7.1 // indirect
|
||||||
github.com/skeema/knownhosts v1.2.1 // indirect
|
github.com/skeema/knownhosts v1.3.1 // indirect
|
||||||
github.com/sonatard/noctx v0.0.2 // indirect
|
github.com/sonatard/noctx v0.0.2 // indirect
|
||||||
github.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67 // indirect
|
github.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67 // indirect
|
||||||
github.com/sourcegraph/go-diff v0.7.0 // indirect
|
github.com/sourcegraph/go-diff v0.7.0 // indirect
|
||||||
github.com/spf13/cast v1.5.0 // indirect
|
github.com/spf13/cast v1.5.0 // indirect
|
||||||
github.com/spf13/cobra v1.8.0 // indirect
|
github.com/spf13/cobra v1.9.1 // indirect
|
||||||
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
||||||
github.com/spf13/pflag v1.0.5 // indirect
|
github.com/spf13/pflag v1.0.6 // indirect
|
||||||
github.com/spf13/viper v1.12.0 // indirect
|
github.com/spf13/viper v1.12.0 // indirect
|
||||||
github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect
|
github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect
|
||||||
github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect
|
github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect
|
||||||
@@ -403,90 +412,85 @@ require (
|
|||||||
github.com/tklauser/numcpus v0.6.1 // indirect
|
github.com/tklauser/numcpus v0.6.1 // indirect
|
||||||
github.com/tomarrell/wrapcheck/v2 v2.8.3 // indirect
|
github.com/tomarrell/wrapcheck/v2 v2.8.3 // indirect
|
||||||
github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect
|
github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect
|
||||||
|
github.com/tonistiigi/dchapes-mode v0.0.0-20241001053921-ca0759fec205 // indirect
|
||||||
|
github.com/tonistiigi/jaeger-ui-rest v0.0.0-20250211190051-7d4944a45bb6 // indirect
|
||||||
github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea // indirect
|
github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea // indirect
|
||||||
github.com/tonistiigi/vt100 v0.0.0-20230623042737-f9a4f7ef6531 // indirect
|
github.com/tonistiigi/vt100 v0.0.0-20240514184818-90bafcd6abab // indirect
|
||||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect
|
|
||||||
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
||||||
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
|
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
|
||||||
github.com/ulikunitz/xz v0.5.11 // indirect
|
github.com/ulikunitz/xz v0.5.12 // indirect
|
||||||
github.com/ultraware/funlen v0.1.0 // indirect
|
github.com/ultraware/funlen v0.1.0 // indirect
|
||||||
github.com/ultraware/whitespace v0.1.0 // indirect
|
github.com/ultraware/whitespace v0.1.1 // indirect
|
||||||
github.com/uudashr/gocognit v1.1.2 // indirect
|
github.com/uudashr/gocognit v1.1.2 // indirect
|
||||||
|
github.com/x448/float16 v0.8.4 // indirect
|
||||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||||
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
|
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
|
||||||
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
|
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
|
||||||
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
|
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
|
||||||
github.com/xen0n/gosmopolitan v1.2.2 // indirect
|
github.com/xen0n/gosmopolitan v1.2.2 // indirect
|
||||||
|
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
||||||
github.com/yagipy/maintidx v1.0.0 // indirect
|
github.com/yagipy/maintidx v1.0.0 // indirect
|
||||||
github.com/yeya24/promlinter v0.2.0 // indirect
|
github.com/yeya24/promlinter v0.3.0 // indirect
|
||||||
github.com/ykadowak/zerologlint v0.1.5 // indirect
|
github.com/ykadowak/zerologlint v0.1.5 // indirect
|
||||||
github.com/yuin/goldmark v1.5.2 // indirect
|
github.com/yuin/goldmark v1.5.2 // indirect
|
||||||
github.com/yuin/goldmark-emoji v1.0.1 // indirect
|
github.com/yuin/goldmark-emoji v1.0.1 // indirect
|
||||||
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
||||||
github.com/zclconf/go-cty v1.14.1 // indirect
|
github.com/zclconf/go-cty v1.16.3 // indirect
|
||||||
gitlab.com/bosi/decorder v0.4.1 // indirect
|
gitlab.com/bosi/decorder v0.4.2 // indirect
|
||||||
go-simpler.org/musttag v0.9.0 // indirect
|
go-simpler.org/musttag v0.12.2 // indirect
|
||||||
go-simpler.org/sloglint v0.5.0 // indirect
|
go-simpler.org/sloglint v0.7.1 // indirect
|
||||||
go.opencensus.io v0.24.0 // indirect
|
go.opencensus.io v0.24.0 // indirect
|
||||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect
|
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
|
||||||
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.46.1 // indirect
|
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect
|
||||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
|
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.56.0 // indirect
|
||||||
go.opentelemetry.io/otel v1.24.0 // indirect
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect
|
||||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.42.0 // indirect
|
go.opentelemetry.io/otel v1.36.0 // indirect
|
||||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.42.0 // indirect
|
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 // indirect
|
||||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.42.0 // indirect
|
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 // indirect
|
||||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 // indirect
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.36.0 // indirect
|
||||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 // indirect
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.36.0 // indirect
|
||||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0 // indirect
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 // indirect
|
||||||
go.opentelemetry.io/otel/exporters/prometheus v0.42.0 // indirect
|
go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect
|
||||||
go.opentelemetry.io/otel/metric v1.24.0 // indirect
|
go.opentelemetry.io/proto/otlp v1.6.0 // indirect
|
||||||
go.opentelemetry.io/otel/sdk v1.22.0 // indirect
|
|
||||||
go.opentelemetry.io/otel/sdk/metric v1.21.0 // indirect
|
|
||||||
go.opentelemetry.io/otel/trace v1.24.0 // indirect
|
|
||||||
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
|
|
||||||
go.pennock.tech/tabular v1.1.3 // indirect
|
go.pennock.tech/tabular v1.1.3 // indirect
|
||||||
go.uber.org/atomic v1.10.0 // indirect
|
go.uber.org/atomic v1.11.0 // indirect
|
||||||
go.uber.org/automaxprocs v1.5.3 // indirect
|
go.uber.org/automaxprocs v1.6.0 // indirect
|
||||||
go.uber.org/multierr v1.11.0 // indirect
|
go.uber.org/multierr v1.11.0 // indirect
|
||||||
go.uber.org/zap v1.27.0 // indirect
|
go.uber.org/zap v1.27.0 // indirect
|
||||||
gocloud.dev v0.37.0 // indirect
|
gocloud.dev v0.37.0 // indirect
|
||||||
gocloud.dev/secrets/hashivault v0.28.0 // indirect
|
gocloud.dev/secrets/hashivault v0.37.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect
|
|
||||||
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f // indirect
|
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f // indirect
|
||||||
golang.org/x/mod v0.16.0 // indirect
|
golang.org/x/mod v0.25.0 // indirect
|
||||||
golang.org/x/net v0.23.0 // indirect
|
golang.org/x/net v0.40.0 // indirect
|
||||||
golang.org/x/oauth2 v0.18.0 // indirect
|
golang.org/x/oauth2 v0.30.0 // indirect
|
||||||
golang.org/x/sync v0.6.0 // indirect
|
golang.org/x/sync v0.15.0 // indirect
|
||||||
golang.org/x/sys v0.18.0 // indirect
|
golang.org/x/sys v0.33.0 // indirect
|
||||||
golang.org/x/term v0.18.0 // indirect
|
golang.org/x/term v0.32.0 // indirect
|
||||||
golang.org/x/text v0.14.0 // indirect
|
golang.org/x/text v0.26.0 // indirect
|
||||||
golang.org/x/time v0.5.0 // indirect
|
golang.org/x/time v0.6.0 // indirect
|
||||||
golang.org/x/tools v0.19.0 // indirect
|
golang.org/x/tools v0.33.0 // indirect
|
||||||
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
|
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
|
||||||
google.golang.org/api v0.169.0 // indirect
|
google.golang.org/api v0.169.0 // indirect
|
||||||
google.golang.org/appengine v1.6.8 // indirect
|
|
||||||
google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect
|
google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20240311173647-c811ad7063a7 // indirect
|
google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 // indirect
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 // indirect
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 // indirect
|
||||||
google.golang.org/grpc v1.62.1 // indirect
|
google.golang.org/grpc v1.72.1 // indirect
|
||||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||||
gopkg.in/ini.v1 v1.67.0 // indirect
|
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||||
gopkg.in/square/go-jose.v2 v2.6.0 // indirect
|
|
||||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
|
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
|
||||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||||
honnef.co/go/tools v0.4.7 // indirect
|
honnef.co/go/tools v0.4.7 // indirect
|
||||||
k8s.io/api v0.29.2 // indirect
|
k8s.io/api v0.31.2 // indirect
|
||||||
k8s.io/apimachinery v0.29.2 // indirect
|
k8s.io/apimachinery v0.31.2 // indirect
|
||||||
k8s.io/apiserver v0.29.2 // indirect
|
k8s.io/client-go v0.31.2 // indirect
|
||||||
k8s.io/client-go v0.29.2 // indirect
|
k8s.io/klog/v2 v2.130.1 // indirect
|
||||||
k8s.io/klog/v2 v2.110.1 // indirect
|
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
|
||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
lukechampine.com/frand v1.5.1 // indirect
|
||||||
lukechampine.com/frand v1.4.2 // indirect
|
|
||||||
mvdan.cc/gofumpt v0.6.0 // indirect
|
mvdan.cc/gofumpt v0.6.0 // indirect
|
||||||
mvdan.cc/unparam v0.0.0-20240104100049-c549a3470d14 // indirect
|
mvdan.cc/unparam v0.0.0-20240528143540-8a5130ca722f // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.4.0 // indirect
|
||||||
)
|
)
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -17,7 +17,7 @@ package internal
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"reflect"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
controllerapi "github.com/docker/buildx/controller/pb"
|
controllerapi "github.com/docker/buildx/controller/pb"
|
||||||
@@ -149,33 +149,20 @@ func (c CacheWithOCI) String() string {
|
|||||||
|
|
||||||
// CacheFromGitHubActions pulls cache manifests from the GitHub actions cache.
|
// CacheFromGitHubActions pulls cache manifests from the GitHub actions cache.
|
||||||
type CacheFromGitHubActions struct {
|
type CacheFromGitHubActions struct {
|
||||||
URL string `pulumi:"url,optional"`
|
|
||||||
Token string `pulumi:"token,optional" provider:"secret"`
|
|
||||||
Scope string `pulumi:"scope,optional"`
|
Scope string `pulumi:"scope,optional"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Annotate sets docstrings on CacheFromGitHubActions.
|
// Annotate sets docstrings on CacheFromGitHubActions.
|
||||||
func (c *CacheFromGitHubActions) Annotate(a infer.Annotator) {
|
func (c *CacheFromGitHubActions) Annotate(a infer.Annotator) {
|
||||||
a.SetDefault(&c.URL, "", "ACTIONS_RUNTIME_URL")
|
a.Describe(&c, dedent(`
|
||||||
a.SetDefault(&c.Token, "", "ACTIONS_RUNTIME_TOKEN")
|
Recommended for use with GitHub Actions workflows.
|
||||||
a.SetDefault(&c.Scope, "", "buildkit")
|
|
||||||
|
|
||||||
a.Describe(&c.URL, dedent(`
|
An action like "crazy-max/ghaction-github-runtime" is recommended to expose
|
||||||
The cache server URL to use for artifacts.
|
appropriate credentials to your GitHub workflow.
|
||||||
|
|
||||||
Defaults to "$ACTIONS_RUNTIME_URL", although a separate action like
|
|
||||||
"crazy-max/ghaction-github-runtime" is recommended to expose this
|
|
||||||
environment variable to your jobs.
|
|
||||||
`))
|
`))
|
||||||
a.Describe(&c.Token, dedent(`
|
|
||||||
The GitHub Actions token to use. This is not a personal access tokens
|
|
||||||
and is typically generated automatically as part of each job.
|
|
||||||
|
|
||||||
Defaults to "$ACTIONS_RUNTIME_TOKEN", although a separate action like
|
a.SetDefault(&c.Scope, "buildkit")
|
||||||
"crazy-max/ghaction-github-runtime" is recommended to expose this
|
|
||||||
environment variable to your jobs.
|
|
||||||
|
|
||||||
`))
|
|
||||||
a.Describe(&c.Scope, dedent(`
|
a.Describe(&c.Scope, dedent(`
|
||||||
The scope to use for cache keys. Defaults to "buildkit".
|
The scope to use for cache keys. Defaults to "buildkit".
|
||||||
|
|
||||||
@@ -192,11 +179,12 @@ func (c *CacheFromGitHubActions) String() string {
|
|||||||
if c.Scope != "" {
|
if c.Scope != "" {
|
||||||
parts = append(parts, "scope="+c.Scope)
|
parts = append(parts, "scope="+c.Scope)
|
||||||
}
|
}
|
||||||
if c.Token != "" {
|
// Preserving backwards compatibility with the old behaviour.
|
||||||
parts = append(parts, "token="+c.Token)
|
if token := os.Getenv("ACTIONS_RUNTIME_TOKEN"); token != "" {
|
||||||
|
parts = append(parts, "token="+token)
|
||||||
}
|
}
|
||||||
if c.URL != "" {
|
if url := os.Getenv("ACTIONS_CACHE_URL"); url != "" {
|
||||||
parts = append(parts, "url="+c.URL)
|
parts = append(parts, "url="+url)
|
||||||
}
|
}
|
||||||
return strings.Join(parts, ",")
|
return strings.Join(parts, ",")
|
||||||
}
|
}
|
||||||
@@ -348,8 +336,7 @@ type CacheWithMode struct {
|
|||||||
|
|
||||||
// Annotate sets docstrings and defaults on CacheWithMode.
|
// Annotate sets docstrings and defaults on CacheWithMode.
|
||||||
func (c *CacheWithMode) Annotate(a infer.Annotator) {
|
func (c *CacheWithMode) Annotate(a infer.Annotator) {
|
||||||
m := Min
|
a.SetDefault(&c.Mode, Min)
|
||||||
a.SetDefault(&c.Mode, &m)
|
|
||||||
a.Describe(&c.Mode, dedent(`
|
a.Describe(&c.Mode, dedent(`
|
||||||
The cache mode to use. Defaults to "min".
|
The cache mode to use. Defaults to "min".
|
||||||
`))
|
`))
|
||||||
@@ -461,23 +448,6 @@ func (c CacheFrom) String() string {
|
|||||||
return join(c.Local, c.Registry, c.GHA, c.AZBlob, c.S3, c.Raw)
|
return join(c.Local, c.Registry, c.GHA, c.AZBlob, c.S3, c.Raw)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Diff returns false if both cache entries are identical enough to ignore
|
|
||||||
// changes during diff. Differences to tokens are allowed.
|
|
||||||
func (c CacheFrom) Diff(other CacheFrom) bool {
|
|
||||||
if c.GHA != nil && other.GHA != nil {
|
|
||||||
other.GHA.Token = c.GHA.Token
|
|
||||||
}
|
|
||||||
if c.S3 != nil && other.S3 != nil {
|
|
||||||
other.S3.AccessKeyID = c.S3.AccessKeyID
|
|
||||||
other.S3.SecretAccessKey = c.S3.SecretAccessKey
|
|
||||||
other.S3.SessionToken = c.S3.SessionToken
|
|
||||||
}
|
|
||||||
if c.AZBlob != nil && other.AZBlob != nil {
|
|
||||||
other.AZBlob.SecretAccessKey = c.AZBlob.SecretAccessKey
|
|
||||||
}
|
|
||||||
return reflect.DeepEqual(c, other)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c CacheFrom) validate(preview bool) (*controllerapi.CacheOptionsEntry, error) {
|
func (c CacheFrom) validate(preview bool) (*controllerapi.CacheOptionsEntry, error) {
|
||||||
if strings.Count(c.String(), "type=") > 1 {
|
if strings.Count(c.String(), "type=") > 1 {
|
||||||
return nil, errors.New("cacheFrom should only specify one cache type")
|
return nil, errors.New("cacheFrom should only specify one cache type")
|
||||||
@@ -487,12 +457,27 @@ func (c CacheFrom) validate(preview bool) (*controllerapi.CacheOptionsEntry, err
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if len(parsed) == 0 {
|
if len(parsed) == 0 {
|
||||||
// This can happen for example if we have a GHA cache but no GitHub
|
// This can happen for example if we have a GHA cache configuration but no GitHub
|
||||||
// environment variables set.
|
// environment variables set. Ignore the cacheFrom entry in this case.
|
||||||
// Shouldn't happen...
|
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
return parsed[0], nil
|
|
||||||
|
pb := parsed[0].ToPB()
|
||||||
|
if !isActive(pb) {
|
||||||
|
pb = nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return pb, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// isActive checks if the GitHub token is set in the cache entry.
|
||||||
|
// If it is not a GHA cache entry, it will return true.
|
||||||
|
// This is to maintain backwards compatibility with the old buildx behaviour.
|
||||||
|
func isActive(ci *controllerapi.CacheOptionsEntry) bool {
|
||||||
|
if ci.Type != "gha" {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return ci.Attrs["token"] != "" && (ci.Attrs["url"] != "" || ci.Attrs["url_v2"] != "")
|
||||||
}
|
}
|
||||||
|
|
||||||
// CacheToInline embeds cache information directly into an image.
|
// CacheToInline embeds cache information directly into an image.
|
||||||
@@ -578,8 +563,7 @@ type CacheWithCompression struct {
|
|||||||
|
|
||||||
// Annotate sets docstrings and defaults on CacheWithCompression.
|
// Annotate sets docstrings and defaults on CacheWithCompression.
|
||||||
func (c *CacheWithCompression) Annotate(a infer.Annotator) {
|
func (c *CacheWithCompression) Annotate(a infer.Annotator) {
|
||||||
gz := Gzip
|
a.SetDefault(&c.Compression, Gzip)
|
||||||
a.SetDefault(&c.Compression, &gz)
|
|
||||||
a.SetDefault(&c.CompressionLevel, 0)
|
a.SetDefault(&c.CompressionLevel, 0)
|
||||||
a.SetDefault(&c.ForceCompression, false)
|
a.SetDefault(&c.ForceCompression, false)
|
||||||
|
|
||||||
@@ -688,23 +672,6 @@ func (c CacheTo) String() string {
|
|||||||
return join(c.Inline, c.Local, c.Registry, c.GHA, c.AZBlob, c.S3, c.Raw)
|
return join(c.Inline, c.Local, c.Registry, c.GHA, c.AZBlob, c.S3, c.Raw)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Diff returns false if both cache entries are identical enough to ignore
|
|
||||||
// changes during diff. Differences to tokens are allowed.
|
|
||||||
func (c CacheTo) Diff(other CacheTo) bool {
|
|
||||||
if c.GHA != nil && other.GHA != nil {
|
|
||||||
other.GHA.Token = c.GHA.Token
|
|
||||||
}
|
|
||||||
if c.S3 != nil && other.S3 != nil {
|
|
||||||
other.S3.AccessKeyID = c.S3.AccessKeyID
|
|
||||||
other.S3.SecretAccessKey = c.S3.SecretAccessKey
|
|
||||||
other.S3.SessionToken = c.S3.SessionToken
|
|
||||||
}
|
|
||||||
if c.AZBlob != nil && other.AZBlob != nil {
|
|
||||||
other.AZBlob.SecretAccessKey = c.AZBlob.SecretAccessKey
|
|
||||||
}
|
|
||||||
return reflect.DeepEqual(c, other)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c CacheTo) validate(preview bool) (*controllerapi.CacheOptionsEntry, error) {
|
func (c CacheTo) validate(preview bool) (*controllerapi.CacheOptionsEntry, error) {
|
||||||
if strings.Count(c.String(), "type=") > 1 {
|
if strings.Count(c.String(), "type=") > 1 {
|
||||||
return nil, errors.New("cacheTo should only specify one cache type")
|
return nil, errors.New("cacheTo should only specify one cache type")
|
||||||
@@ -714,20 +681,27 @@ func (c CacheTo) validate(preview bool) (*controllerapi.CacheOptionsEntry, error
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if len(parsed) == 0 {
|
if len(parsed) == 0 {
|
||||||
// This can happen for example if we have a GHA cache but no GitHub
|
// This can happen for example if we have a GHA cache configuration but no GitHub
|
||||||
// environment variables set.
|
// environment variables set. Ignore the cacheTo entry in this case.
|
||||||
// Shouldn't happen...
|
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
return parsed[0], nil
|
|
||||||
|
pb := parsed[0].ToPB()
|
||||||
|
if !isActive(pb) {
|
||||||
|
pb = nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return pb, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// CacheMode controls the complexity of exported cache manifests.
|
// CacheMode controls the complexity of exported cache manifests.
|
||||||
type CacheMode string
|
type CacheMode string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
Min CacheMode = "min" // Min cache mode.
|
// Min cache mode.
|
||||||
Max CacheMode = "max" // Max cache mode.
|
Min CacheMode = "min"
|
||||||
|
// Max cache mode.
|
||||||
|
Max CacheMode = "max"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Values returns all valid CacheMode values for SDK generation.
|
// Values returns all valid CacheMode values for SDK generation.
|
||||||
@@ -748,9 +722,12 @@ func (CacheMode) Values() []infer.EnumValue[CacheMode] {
|
|||||||
type CompressionType string
|
type CompressionType string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
Gzip CompressionType = "gzip" // Gzip compression.
|
// Gzip compression.
|
||||||
Estargz CompressionType = "estargz" // Estargz compression.
|
Gzip CompressionType = "gzip"
|
||||||
Zstd CompressionType = "zstd" // Zstd compression.
|
// Estargz compression.
|
||||||
|
Estargz CompressionType = "estargz"
|
||||||
|
// Zstd compression.
|
||||||
|
Zstd CompressionType = "zstd"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Values returns all valid CompressionType values for SDK generation.
|
// Values returns all valid CompressionType values for SDK generation.
|
||||||
|
|||||||
@@ -24,14 +24,15 @@ import (
|
|||||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
//nolint:paralleltest // We don't call t.Parallel here to prevent environment corruption.
|
||||||
func TestCacheString(t *testing.T) {
|
func TestCacheString(t *testing.T) {
|
||||||
t.Parallel()
|
|
||||||
gzip := Gzip
|
gzip := Gzip
|
||||||
|
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
given fmt.Stringer
|
arrange func(t *testing.T)
|
||||||
want string
|
given fmt.Stringer
|
||||||
|
want string
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "s3",
|
name: "s3",
|
||||||
@@ -55,7 +56,37 @@ func TestCacheString(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "gha",
|
name: "gha",
|
||||||
given: CacheTo{GHA: &CacheToGitHubActions{}},
|
given: CacheTo{GHA: &CacheToGitHubActions{}},
|
||||||
want: "type=gha",
|
arrange: func(t *testing.T) {
|
||||||
|
t.Setenv("ACTIONS_CACHE_URL", "")
|
||||||
|
t.Setenv("ACTIONS_RUNTIME_TOKEN", "")
|
||||||
|
},
|
||||||
|
want: "type=gha",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "gha-default-envs",
|
||||||
|
arrange: func(t *testing.T) {
|
||||||
|
t.Setenv("ACTIONS_CACHE_URL", "https://example.com")
|
||||||
|
t.Setenv("ACTIONS_RUNTIME_TOKEN", "token")
|
||||||
|
},
|
||||||
|
given: CacheTo{GHA: &CacheToGitHubActions{
|
||||||
|
CacheFromGitHubActions: CacheFromGitHubActions{
|
||||||
|
Scope: "scope",
|
||||||
|
},
|
||||||
|
}},
|
||||||
|
want: "type=gha,scope=scope,token=token,url=https://example.com",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "gha-with-scope",
|
||||||
|
arrange: func(t *testing.T) {
|
||||||
|
t.Setenv("ACTIONS_CACHE_URL", "")
|
||||||
|
t.Setenv("ACTIONS_RUNTIME_TOKEN", "")
|
||||||
|
},
|
||||||
|
given: CacheTo{GHA: &CacheToGitHubActions{
|
||||||
|
CacheFromGitHubActions: CacheFromGitHubActions{
|
||||||
|
Scope: "scope",
|
||||||
|
},
|
||||||
|
}},
|
||||||
|
want: "type=gha,scope=scope",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "from-local",
|
name: "from-local",
|
||||||
@@ -121,10 +152,12 @@ func TestCacheString(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//nolint:paralleltest // We don't call t.Parallel here to prevent environment corruption.
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
if tt.arrange != nil {
|
||||||
|
tt.arrange(t)
|
||||||
|
}
|
||||||
|
|
||||||
actual := tt.given.String()
|
actual := tt.given.String()
|
||||||
assert.Equal(t, tt.want, actual)
|
assert.Equal(t, tt.want, actual)
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
|
"os/exec"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@@ -56,11 +57,11 @@ type cli struct {
|
|||||||
auths map[string]cfgtypes.AuthConfig
|
auths map[string]cfgtypes.AuthConfig
|
||||||
host *host
|
host *host
|
||||||
|
|
||||||
in string // stdin
|
in string // stdin
|
||||||
r, w *os.File // stdout
|
r, w *os.File // stdout
|
||||||
err bytes.Buffer // stderr
|
err bytes.Buffer // stderr
|
||||||
dumplogs bool // if true then tail() will re-log status messages
|
dumplogs bool // if true then tail() will re-log status messages
|
||||||
done chan struct{} // signaled when all logs have been forwarded to the engine.
|
builder Builder // for mocking build daemon responses
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cli wraps the Docker interface for mock generation.
|
// Cli wraps the Docker interface for mock generation.
|
||||||
@@ -119,11 +120,12 @@ func wrap(host *host, registries ...Registry) (*cli, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
wrapped := &cli{
|
wrapped := &cli{
|
||||||
Cli: docker,
|
Cli: docker,
|
||||||
host: host,
|
host: host,
|
||||||
auths: auths,
|
auths: auths,
|
||||||
r: r,
|
r: r,
|
||||||
w: w,
|
w: w,
|
||||||
|
builder: defaultBuilder{},
|
||||||
}
|
}
|
||||||
|
|
||||||
return wrapped, nil
|
return wrapped, nil
|
||||||
@@ -137,8 +139,12 @@ func (c *cli) Out() *streams.Out {
|
|||||||
return streams.NewOut(c.w)
|
return streams.NewOut(c.w)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *cli) Err() io.Writer {
|
func (c *cli) Err() *streams.Out {
|
||||||
return &c.err
|
return streams.NewOut(&c.err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *cli) SupportsMultipleExports() bool {
|
||||||
|
return c.host.supportsMultipleExports
|
||||||
}
|
}
|
||||||
|
|
||||||
// rc returns a registry client with matching auth.
|
// rc returns a registry client with matching auth.
|
||||||
@@ -158,14 +164,6 @@ func (c *cli) rc() *regclient.RegClient {
|
|||||||
// tail is meant to be called as a goroutine and will pipe output from the CLI
|
// tail is meant to be called as a goroutine and will pipe output from the CLI
|
||||||
// back to the Pulumi engine. Requires a corresponding call to close.
|
// back to the Pulumi engine. Requires a corresponding call to close.
|
||||||
func (c *cli) tail(ctx context.Context) {
|
func (c *cli) tail(ctx context.Context) {
|
||||||
c.done = make(chan struct{}, 1)
|
|
||||||
defer func() {
|
|
||||||
c.done <- struct{}{}
|
|
||||||
if err := recover(); err != nil {
|
|
||||||
fmt.Fprintf(os.Stderr, "recovered: %s\n", err)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
b := bytes.Buffer{}
|
b := bytes.Buffer{}
|
||||||
|
|
||||||
s := bufio.NewScanner(c.r)
|
s := bufio.NewScanner(c.r)
|
||||||
@@ -189,17 +187,13 @@ func (c *cli) tail(ctx context.Context) {
|
|||||||
|
|
||||||
// close flushes any outstanding logs and cleans up resources.
|
// close flushes any outstanding logs and cleans up resources.
|
||||||
func (c *cli) Close() error {
|
func (c *cli) Close() error {
|
||||||
err := errors.Join(c.w.Close(), c.r.Close())
|
return errors.Join(c.w.Close(), c.r.Close())
|
||||||
if c.done != nil {
|
|
||||||
<-c.done
|
|
||||||
}
|
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// execBuild performs a build by os.Exec'ing the docker-buildx binary.
|
// execBuild performs a build by os.Exec'ing the docker-buildx binary.
|
||||||
// Credentials are communicated to docker-buildx via a temporary directory.
|
// Credentials are communicated to docker-buildx via a temporary directory.
|
||||||
// Secrets are communicated via dynamic environment variables.
|
// Secrets are communicated via dynamic environment variables.
|
||||||
func (c *cli) execBuild(b Build) (*client.SolveResponse, error) {
|
func (c *cli) execBuild(ctx context.Context, b Build) (*client.SolveResponse, error) {
|
||||||
// Setup a temporary directory for auth, and clean it up when we're done.
|
// Setup a temporary directory for auth, and clean it up when we're done.
|
||||||
tmp, err := os.MkdirTemp("", "pulumi-docker-")
|
tmp, err := os.MkdirTemp("", "pulumi-docker-")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -209,7 +203,7 @@ func (c *cli) execBuild(b Build) (*client.SolveResponse, error) {
|
|||||||
|
|
||||||
opts := b.BuildOptions()
|
opts := b.BuildOptions()
|
||||||
|
|
||||||
builder, err := c.host.builderFor(b)
|
builder, err := c.host.builderFor(ctx, b)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -329,13 +323,13 @@ func (c *cli) execBuild(b Build) (*client.SolveResponse, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
// We abuse the pb.Secret proto by stuffing the secret's value in
|
// We abuse the pb.Secret proto by stuffing the secret's value in
|
||||||
// XXX_unrecognized. We never serialize this proto so this is tolerable.
|
// Env. We never serialize this proto so this is tolerable.
|
||||||
env = append(env, fmt.Sprintf("%s=%s", envvar, s.XXX_unrecognized))
|
env = append(env, fmt.Sprintf("%s=%s", envvar, s.Env))
|
||||||
args = append(args, "--secret", fmt.Sprintf("id=%s,env=%s", s.ID, envvar))
|
args = append(args, "--secret", fmt.Sprintf("id=%s,env=%s", s.ID, envvar))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Invoke docker-buildx.
|
// Invoke docker-buildx.
|
||||||
err = c.exec(args, env)
|
err = c.exec(ctx, args, env)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -374,7 +368,7 @@ func (c *cli) execBuild(b Build) (*client.SolveResponse, error) {
|
|||||||
|
|
||||||
// exec invokes a Docker plugin binary. The first argument should be the name
|
// exec invokes a Docker plugin binary. The first argument should be the name
|
||||||
// of the plugin's subcommand, e.g. "buildx".
|
// of the plugin's subcommand, e.g. "buildx".
|
||||||
func (c *cli) exec(args, extraEnv []string) error {
|
func (c *cli) exec(ctx context.Context, args, extraEnv []string) error {
|
||||||
if len(args) == 0 {
|
if len(args) == 0 {
|
||||||
return errors.New("args must be non-empty")
|
return errors.New("args must be non-empty")
|
||||||
}
|
}
|
||||||
@@ -391,16 +385,18 @@ func (c *cli) exec(args, extraEnv []string) error {
|
|||||||
|
|
||||||
defer contract.IgnoreClose(c.w)
|
defer contract.IgnoreClose(c.w)
|
||||||
|
|
||||||
cmd, err := manager.PluginRunCommand(c, name, root)
|
runCmd, err := manager.PluginRunCommand(c, name, root)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
cmd.Args = append([]string{cmd.Args[0]}, args...)
|
// Create a new command that inherits from ctx.
|
||||||
|
cmd := exec.CommandContext(ctx, //nolint:gosec // We take the first argument and binary from runCmd.
|
||||||
|
runCmd.Path, append([]string{runCmd.Args[1]}, args...)...,
|
||||||
|
)
|
||||||
cmd.Stderr = c.Err()
|
cmd.Stderr = c.Err()
|
||||||
cmd.Stdout = c.Out()
|
cmd.Stdout = c.Out()
|
||||||
cmd.Stdin = c.In()
|
cmd.Stdin = c.In()
|
||||||
|
cmd.Env = append(runCmd.Env, extraEnv...) //nolint:gocritic // We are intentionally assigning from runCmd to cmd
|
||||||
cmd.Env = append(cmd.Env, extraEnv...)
|
|
||||||
|
|
||||||
return cmd.Run()
|
return cmd.Run()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
package internal
|
package internal
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"io"
|
"io"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
@@ -27,12 +28,12 @@ import (
|
|||||||
func TestExec(t *testing.T) {
|
func TestExec(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
h, err := newHost(nil)
|
h, err := newHost(t.Context(), nil)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
cli, err := wrap(h)
|
cli, err := wrap(h)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
err = cli.exec([]string{"buildx", "version"}, nil)
|
err = cli.exec(t.Context(), []string{"buildx", "version"}, nil)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
out, err := io.ReadAll(cli.r)
|
out, err := io.ReadAll(cli.r)
|
||||||
@@ -44,7 +45,7 @@ func TestWrappedAuth(t *testing.T) {
|
|||||||
t.Parallel()
|
t.Parallel()
|
||||||
ecr := "https://1234.dkr.ecr.us-west-2.amazonaws.com"
|
ecr := "https://1234.dkr.ecr.us-west-2.amazonaws.com"
|
||||||
|
|
||||||
realhost, err := newHost(nil)
|
realhost, err := newHost(context.Background(), nil)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
h := &host{
|
h := &host{
|
||||||
@@ -102,7 +103,7 @@ func TestWrappedAuth(t *testing.T) {
|
|||||||
assert.Len(t, h.auths, 2) // In-memory host auth is unchanged.
|
assert.Len(t, h.auths, 2) // In-memory host auth is unchanged.
|
||||||
|
|
||||||
// Assert that our on-disk host's auth is untouched.
|
// Assert that our on-disk host's auth is untouched.
|
||||||
realhostRefreshed, err := newHost(nil)
|
realhostRefreshed, err := newHost(context.Background(), nil)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, realhost.auths, realhostRefreshed.auths)
|
assert.Equal(t, realhost.auths, realhostRefreshed.auths)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
//go:generate go run go.uber.org/mock/mockgen -typed -package internal -source client.go -destination mockclient_test.go --self_package github.com/pulumi/pulumi-docker-build/provider/internal
|
//go:generate go run go.uber.org/mock/mockgen -typed -package internal -source client.go -destination mockclient_test.go --self_package github.com/pulumi/pulumi-docker-build/provider/internal -imports buildx=github.com/docker/buildx/build
|
||||||
|
|
||||||
package internal
|
package internal
|
||||||
|
|
||||||
@@ -22,13 +22,14 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/distribution/reference"
|
"github.com/distribution/reference"
|
||||||
buildx "github.com/docker/buildx/build"
|
buildx "github.com/docker/buildx/build"
|
||||||
|
"github.com/docker/buildx/builder"
|
||||||
"github.com/docker/buildx/commands"
|
"github.com/docker/buildx/commands"
|
||||||
controllerapi "github.com/docker/buildx/controller/pb"
|
controllerapi "github.com/docker/buildx/controller/pb"
|
||||||
|
"github.com/docker/buildx/util/confutil"
|
||||||
"github.com/docker/buildx/util/dockerutil"
|
"github.com/docker/buildx/util/dockerutil"
|
||||||
"github.com/docker/buildx/util/platformutil"
|
"github.com/docker/buildx/util/platformutil"
|
||||||
"github.com/docker/buildx/util/progress"
|
"github.com/docker/buildx/util/progress"
|
||||||
@@ -58,6 +59,38 @@ type Client interface {
|
|||||||
ManifestCreate(ctx context.Context, push bool, target string, refs ...string) error
|
ManifestCreate(ctx context.Context, push bool, target string, refs ...string) error
|
||||||
ManifestInspect(ctx context.Context, target string) (string, error)
|
ManifestInspect(ctx context.Context, target string) (string, error)
|
||||||
ManifestDelete(ctx context.Context, target string) error
|
ManifestDelete(ctx context.Context, target string) error
|
||||||
|
|
||||||
|
SupportsMultipleExports() bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// registryGetter is something that can return a list of [Registry].
|
||||||
|
type registryGetter interface {
|
||||||
|
GetRegistries() []Registry
|
||||||
|
}
|
||||||
|
|
||||||
|
// clientF builds a Docker client. The order of registryGetters is significant.
|
||||||
|
// We typically prefer credentials from args, then provider config, then the
|
||||||
|
// host. Provide them to this function in order of increasing priority: host,
|
||||||
|
// config, args.
|
||||||
|
//
|
||||||
|
// We ignore state because if its creds differ from those in args then they are
|
||||||
|
// likely volatile and also likely expired.
|
||||||
|
type clientF func(context.Context, *host, ...registryGetter) (Client, error)
|
||||||
|
|
||||||
|
// RealClientF builds a real Docker client with auth layered on top of the
|
||||||
|
// host's latent credentials.
|
||||||
|
func RealClientF(_ context.Context, host *host, getters ...registryGetter) (Client, error) {
|
||||||
|
auths := []Registry{}
|
||||||
|
for _, rg := range getters {
|
||||||
|
auths = append(auths, rg.GetRegistries()...)
|
||||||
|
}
|
||||||
|
return wrap(host, auths...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func mockClientF(c Client) clientF {
|
||||||
|
return func(context.Context, *host, ...registryGetter) (Client, error) {
|
||||||
|
return c, nil
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build encapsulates all of the user-provider build parameters and options.
|
// Build encapsulates all of the user-provider build parameters and options.
|
||||||
@@ -88,8 +121,6 @@ func newDockerCLI(config *Config) (*command.DockerCli, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Log some version information for debugging.
|
|
||||||
|
|
||||||
return cli, nil
|
return cli, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,10 +137,10 @@ func (c *cli) Build(
|
|||||||
defer contract.IgnoreClose(c)
|
defer contract.IgnoreClose(c)
|
||||||
|
|
||||||
if build.ShouldExec() {
|
if build.ShouldExec() {
|
||||||
return c.execBuild(build)
|
return c.execBuild(ctx, build)
|
||||||
}
|
}
|
||||||
|
|
||||||
b, err := c.host.builderFor(build)
|
b, err := c.host.builderFor(ctx, build)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -123,14 +154,21 @@ func (c *cli) Build(
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("creating printer: %w", err)
|
return nil, fmt.Errorf("creating printer: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
// Log any warnings when we're done.
|
// Wait for logs to flush if the build finished, but not if we're
|
||||||
_ = printer.Wait()
|
// exiting early.
|
||||||
|
if ctx.Err() == nil {
|
||||||
|
_ = printer.Wait()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Log any warnings we got, separated by newlines.
|
||||||
for _, w := range printer.Warnings() {
|
for _, w := range printer.Warnings() {
|
||||||
b := &bytes.Buffer{}
|
b := &bytes.Buffer{}
|
||||||
fmt.Fprint(b, w.Short)
|
_, _ = b.Write(w.Short)
|
||||||
for _, d := range w.Detail {
|
for _, d := range w.Detail {
|
||||||
fmt.Fprintf(b, "\n%s", d)
|
_ = b.WriteByte('\n')
|
||||||
|
_, _ = b.Write(d)
|
||||||
}
|
}
|
||||||
provider.GetLogger(ctx).Warning(b.String())
|
provider.GetLogger(ctx).Warning(b.String())
|
||||||
}
|
}
|
||||||
@@ -196,7 +234,7 @@ func (c *cli) Build(
|
|||||||
DockerfilePath: opts.DockerfileName,
|
DockerfilePath: opts.DockerfileName,
|
||||||
DockerfileInline: build.Inline(),
|
DockerfileInline: build.Inline(),
|
||||||
NamedContexts: namedContexts,
|
NamedContexts: namedContexts,
|
||||||
InStream: strings.NewReader(""),
|
InStream: buildx.NewSyncMultiReader(strings.NewReader("")),
|
||||||
},
|
},
|
||||||
// Disable default provenance for now. Docker's `manifest create`
|
// Disable default provenance for now. Docker's `manifest create`
|
||||||
// doesn't handle manifests with provenance included; more reason
|
// doesn't handle manifests with provenance included; more reason
|
||||||
@@ -217,27 +255,46 @@ func (c *cli) Build(
|
|||||||
|
|
||||||
Session: []session.Attachable{
|
Session: []session.Attachable{
|
||||||
ssh,
|
ssh,
|
||||||
authprovider.NewDockerAuthProvider(c.ConfigFile(), nil),
|
authprovider.NewDockerAuthProvider(authprovider.DockerAuthProviderConfig{ConfigFile: c.ConfigFile()}),
|
||||||
build.Secrets(),
|
build.Secrets(),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
// Perform the build.
|
resultC := make(chan map[string]*client.SolveResponse)
|
||||||
results, err := buildx.Build(
|
errC := make(chan error)
|
||||||
ctx,
|
|
||||||
b.nodes,
|
// buildx.Build doesn't handle context cancellation, so we monitor it in a
|
||||||
payload,
|
// goroutine. cli.Close cleans up our file descriptors, so if we do exit
|
||||||
dockerutil.NewClient(c),
|
// early the remote build should terminate as soon as it sees the pipe has
|
||||||
filepath.Dir(c.ConfigFile().Filename),
|
// broken.
|
||||||
printer,
|
go func() {
|
||||||
)
|
defer close(resultC)
|
||||||
if err != nil {
|
defer close(errC)
|
||||||
|
results, err := c.builder.Build(
|
||||||
|
ctx,
|
||||||
|
b.nodes,
|
||||||
|
payload,
|
||||||
|
dockerutil.NewClient(c),
|
||||||
|
confutil.NewConfig(c),
|
||||||
|
printer,
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
errC <- err
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resultC <- results
|
||||||
|
}()
|
||||||
|
|
||||||
|
select {
|
||||||
|
case results := <-resultC:
|
||||||
|
return results[target], nil
|
||||||
|
case err := <-errC:
|
||||||
c.dumplogs = true
|
c.dumplogs = true
|
||||||
return nil, err
|
return nil, err
|
||||||
|
case <-ctx.Done():
|
||||||
|
return nil, ctx.Err()
|
||||||
}
|
}
|
||||||
|
|
||||||
return results[target], err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// BuildKitEnabled returns true if the client supports buildkit.
|
// BuildKitEnabled returns true if the client supports buildkit.
|
||||||
@@ -353,6 +410,31 @@ func (c *cli) Delete(ctx context.Context, r string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Builder allows injecting mock responses from the build daemon.
|
||||||
|
type Builder interface {
|
||||||
|
Build(
|
||||||
|
ctx context.Context,
|
||||||
|
nodes []builder.Node,
|
||||||
|
opts map[string]buildx.Options,
|
||||||
|
docker *dockerutil.Client,
|
||||||
|
cfg *confutil.Config,
|
||||||
|
w progress.Writer,
|
||||||
|
) (resp map[string]*client.SolveResponse, err error)
|
||||||
|
}
|
||||||
|
|
||||||
|
type defaultBuilder struct{}
|
||||||
|
|
||||||
|
func (defaultBuilder) Build(
|
||||||
|
ctx context.Context,
|
||||||
|
nodes []builder.Node,
|
||||||
|
opts map[string]buildx.Options,
|
||||||
|
docker *dockerutil.Client,
|
||||||
|
cfg *confutil.Config,
|
||||||
|
w progress.Writer,
|
||||||
|
) (resp map[string]*client.SolveResponse, err error) {
|
||||||
|
return buildx.Build(ctx, nodes, opts, docker, cfg, w)
|
||||||
|
}
|
||||||
|
|
||||||
func normalizeReference(ref string) (reference.Named, error) {
|
func normalizeReference(ref string) (reference.Named, error) {
|
||||||
namedRef, err := reference.ParseNormalizedNamed(ref)
|
namedRef, err := reference.ParseNormalizedNamed(ref)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -17,15 +17,23 @@ package internal
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"io"
|
"io"
|
||||||
"log/slog"
|
"log/slog"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
buildx "github.com/docker/buildx/build"
|
||||||
|
"github.com/docker/buildx/builder"
|
||||||
|
"github.com/docker/buildx/util/confutil"
|
||||||
|
"github.com/docker/buildx/util/dockerutil"
|
||||||
|
"github.com/docker/buildx/util/progress"
|
||||||
"github.com/docker/docker/api/types/registry"
|
"github.com/docker/docker/api/types/registry"
|
||||||
|
"github.com/moby/buildkit/client"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
"go.uber.org/mock/gomock"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestAuth(t *testing.T) {
|
func TestAuth(t *testing.T) {
|
||||||
@@ -55,7 +63,7 @@ func TestCustomHost(t *testing.T) {
|
|||||||
t.Run("env", func(t *testing.T) {
|
t.Run("env", func(t *testing.T) {
|
||||||
t.Setenv("DOCKER_HOST", socket)
|
t.Setenv("DOCKER_HOST", socket)
|
||||||
|
|
||||||
h, err := newHost(nil)
|
h, err := newHost(context.Background(), nil)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
cli, err := wrap(h)
|
cli, err := wrap(h)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
@@ -66,7 +74,7 @@ func TestCustomHost(t *testing.T) {
|
|||||||
|
|
||||||
t.Run("config", func(t *testing.T) {
|
t.Run("config", func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
h, err := newHost(&Config{Host: socket})
|
h, err := newHost(context.Background(), &Config{Host: socket})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
cli, err := wrap(h)
|
cli, err := wrap(h)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
@@ -263,7 +271,6 @@ func TestBuild(t *testing.T) {
|
|||||||
|
|
||||||
// Add an exec: true version for all of our test cases.
|
// Add an exec: true version for all of our test cases.
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt
|
|
||||||
tt.name = "exec-" + tt.name
|
tt.name = "exec-" + tt.name
|
||||||
tt.args.Exec = true
|
tt.args.Exec = true
|
||||||
tmpdir := filepath.Join(t.TempDir(), "exec")
|
tmpdir := filepath.Join(t.TempDir(), "exec")
|
||||||
@@ -281,7 +288,6 @@ func TestBuild(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
if tt.skip {
|
if tt.skip {
|
||||||
@@ -290,7 +296,7 @@ func TestBuild(t *testing.T) {
|
|||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
cli := testcli(t, true, tt.auths...)
|
cli := testcli(t, true, tt.auths...)
|
||||||
|
|
||||||
build, err := tt.args.toBuild(ctx, false)
|
build, err := tt.args.toBuild(ctx, true, false)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
_, err = cli.Build(ctx, build)
|
_, err = cli.Build(ctx, build)
|
||||||
@@ -341,7 +347,6 @@ func TestNormalizeReference(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt
|
|
||||||
t.Run(tt.ref, func(t *testing.T) {
|
t.Run(tt.ref, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
ref, err := normalizeReference(tt.ref)
|
ref, err := normalizeReference(tt.ref)
|
||||||
@@ -383,7 +388,7 @@ func TestBuildError(t *testing.T) {
|
|||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
cli := testcli(t, true)
|
cli := testcli(t, true)
|
||||||
|
|
||||||
build, err := args.toBuild(ctx, false)
|
build, err := args.toBuild(ctx, true, false)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
_, err = cli.Build(ctx, build)
|
_, err = cli.Build(ctx, build)
|
||||||
@@ -418,7 +423,7 @@ func TestBuildExecError(t *testing.T) {
|
|||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
cli := testcli(t, true)
|
cli := testcli(t, true)
|
||||||
|
|
||||||
build, err := args.toBuild(ctx, false)
|
build, err := args.toBuild(ctx, true, false)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
_, err = cli.Build(ctx, build)
|
_, err = cli.Build(ctx, build)
|
||||||
@@ -435,10 +440,39 @@ func TestBuildExecError(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestBuildCancelation(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
cli := testcli(t, true)
|
||||||
|
|
||||||
|
ctrl := gomock.NewController(t)
|
||||||
|
|
||||||
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
|
|
||||||
|
b := NewMockBuilder(ctrl)
|
||||||
|
b.EXPECT().Build(
|
||||||
|
gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(),
|
||||||
|
).DoAndReturn(func(
|
||||||
|
_ context.Context,
|
||||||
|
_ []builder.Node,
|
||||||
|
_ map[string]buildx.Options,
|
||||||
|
_ *dockerutil.Client,
|
||||||
|
_ *confutil.Config,
|
||||||
|
_ progress.Writer,
|
||||||
|
) (map[string]*client.SolveResponse, error) {
|
||||||
|
cancel()
|
||||||
|
return nil, errors.New("cancel wasn't respected")
|
||||||
|
})
|
||||||
|
cli.builder = b
|
||||||
|
|
||||||
|
resp, err := cli.Build(ctx, &build{})
|
||||||
|
assert.ErrorIs(t, err, context.Canceled)
|
||||||
|
assert.Nil(t, resp)
|
||||||
|
}
|
||||||
|
|
||||||
// testcli returns a new standalone CLI instance. Set ping to true if a live
|
// testcli returns a new standalone CLI instance. Set ping to true if a live
|
||||||
// daemon is required -- the test will be skipped if the daemon is not available.
|
// daemon is required -- the test will be skipped if the daemon is not available.
|
||||||
func testcli(t *testing.T, ping bool, auths ...Registry) *cli {
|
func testcli(t *testing.T, ping bool, auths ...Registry) *cli {
|
||||||
h, err := newHost(nil)
|
h, err := newHost(context.Background(), nil)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
cli, err := wrap(h, auths...)
|
cli, err := wrap(h, auths...)
|
||||||
|
|||||||
@@ -26,12 +26,14 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"slices"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
|
||||||
buildx "github.com/docker/buildx/build"
|
buildx "github.com/docker/buildx/build"
|
||||||
"github.com/moby/patternmatcher/ignorefile"
|
"github.com/moby/patternmatcher/ignorefile"
|
||||||
"github.com/spf13/afero"
|
"github.com/spf13/afero"
|
||||||
"github.com/tonistiigi/fsutil"
|
"github.com/tonistiigi/fsutil"
|
||||||
|
"golang.org/x/exp/maps"
|
||||||
|
|
||||||
"github.com/pulumi/pulumi-go-provider/infer"
|
"github.com/pulumi/pulumi-go-provider/infer"
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
|
"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
|
||||||
@@ -90,7 +92,9 @@ func (c *Context) Annotate(a infer.Annotator) {
|
|||||||
|
|
||||||
// validate returns a non-nil CheckError if the Context is invalid. The
|
// validate returns a non-nil CheckError if the Context is invalid. The
|
||||||
// returned Dockerfile may have defaults set to match Docker's default
|
// returned Dockerfile may have defaults set to match Docker's default
|
||||||
// handling. The returned Dockerfile should be validated separately.
|
// handling. The returned Dockerfile should be validated separately. Non-nil
|
||||||
|
// values are returned even in the case of errors to allow additional
|
||||||
|
// validation to be performed.
|
||||||
func (bc *BuildContext) validate(preview bool, d *Dockerfile) (*Dockerfile, *Context, error) {
|
func (bc *BuildContext) validate(preview bool, d *Dockerfile) (*Dockerfile, *Context, error) {
|
||||||
if d == nil {
|
if d == nil {
|
||||||
d = &Dockerfile{}
|
d = &Dockerfile{}
|
||||||
@@ -107,6 +111,11 @@ func (bc *BuildContext) validate(preview bool, d *Dockerfile) (*Dockerfile, *Con
|
|||||||
// a build later.
|
// a build later.
|
||||||
return d, c, nil
|
return d, c, nil
|
||||||
}
|
}
|
||||||
|
// If this isn't a preview but our location still isn't set, default it to
|
||||||
|
// the current directory.
|
||||||
|
if c.Location == "" {
|
||||||
|
c.Location = "."
|
||||||
|
}
|
||||||
|
|
||||||
if buildx.IsRemoteURL(c.Location) {
|
if buildx.IsRemoteURL(c.Location) {
|
||||||
// We assume remote URLs are always valid.
|
// We assume remote URLs are always valid.
|
||||||
@@ -225,8 +234,11 @@ func hashBuildContext(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hash any local named contexts.
|
// Hash any local named contexts. Sort keys for stable iteration order.
|
||||||
for _, namedContext := range namedContexts {
|
keys := maps.Keys(namedContexts)
|
||||||
|
slices.Sort(keys)
|
||||||
|
for _, key := range keys {
|
||||||
|
namedContext := namedContexts[key]
|
||||||
if isLocalDir(fs, namedContext) {
|
if isLocalDir(fs, namedContext) {
|
||||||
fs, err := rootFS(namedContext, excludes)
|
fs, err := rootFS(namedContext, excludes)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -33,71 +33,76 @@ func TestValidateContext(t *testing.T) {
|
|||||||
t.Parallel()
|
t.Parallel()
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
c Context
|
c *BuildContext
|
||||||
givenD Dockerfile
|
givenD Dockerfile
|
||||||
preview bool
|
preview bool
|
||||||
|
|
||||||
wantD *Dockerfile
|
wantD *Dockerfile
|
||||||
|
wantC *Context
|
||||||
wantErr string
|
wantErr string
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "relative",
|
name: "relative",
|
||||||
c: Context{
|
c: &BuildContext{Context: Context{
|
||||||
Location: "../internal/../internal/testdata/noop",
|
Location: "../internal/../internal/testdata/noop",
|
||||||
},
|
}},
|
||||||
wantD: &Dockerfile{
|
wantD: &Dockerfile{
|
||||||
Location: "../internal/testdata/noop/Dockerfile",
|
Location: "../internal/testdata/noop/Dockerfile",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "missing directory",
|
name: "missing directory",
|
||||||
c: Context{
|
c: &BuildContext{Context: Context{
|
||||||
Location: "/does/not/exist/",
|
Location: "/does/not/exist/",
|
||||||
},
|
}},
|
||||||
wantErr: "not a valid directory",
|
wantErr: "not a valid directory",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "missing default Dockerfile",
|
name: "missing default Dockerfile",
|
||||||
c: Context{
|
c: &BuildContext{Context: Context{
|
||||||
Location: "testdata",
|
Location: "testdata",
|
||||||
},
|
}},
|
||||||
wantD: &Dockerfile{Location: "testdata/Dockerfile"},
|
wantD: &Dockerfile{Location: "testdata/Dockerfile"},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "with explicit Dockerfile",
|
name: "with explicit Dockerfile",
|
||||||
c: Context{
|
c: &BuildContext{Context: Context{
|
||||||
Location: "testdata",
|
Location: "testdata",
|
||||||
},
|
}},
|
||||||
givenD: Dockerfile{
|
givenD: Dockerfile{
|
||||||
Location: "testdata/Dockerfile.invalid",
|
Location: "testdata/Dockerfile.invalid",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "default location",
|
name: "default location",
|
||||||
c: Context{},
|
c: &BuildContext{Context: Context{}},
|
||||||
wantD: &Dockerfile{Location: "Dockerfile"},
|
wantD: &Dockerfile{Location: "Dockerfile"},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "remote context doesn't default to local Dockerfile",
|
name: "remote context doesn't default to local Dockerfile",
|
||||||
c: Context{
|
c: &BuildContext{Context: Context{
|
||||||
Location: "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
|
Location: "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
|
||||||
},
|
}},
|
||||||
wantD: &Dockerfile{},
|
wantD: &Dockerfile{},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "preview",
|
name: "preview",
|
||||||
c: Context{},
|
c: &BuildContext{Context: Context{}},
|
||||||
preview: true,
|
preview: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "missing context defaults to current directory",
|
||||||
|
c: nil,
|
||||||
|
wantC: &Context{Location: "."},
|
||||||
|
wantD: &Dockerfile{Location: "Dockerfile"},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
bc := &BuildContext{Context: tt.c}
|
d, c, err := tt.c.validate(tt.preview, &tt.givenD)
|
||||||
d, _, err := bc.validate(tt.preview, &tt.givenD)
|
|
||||||
|
|
||||||
if tt.wantErr == "" {
|
if tt.wantErr == "" {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
@@ -109,6 +114,9 @@ func TestValidateContext(t *testing.T) {
|
|||||||
assert.Equal(t, tt.wantD.Location, d.Location)
|
assert.Equal(t, tt.wantD.Location, d.Location)
|
||||||
assert.Equal(t, tt.wantD.Inline, d.Inline)
|
assert.Equal(t, tt.wantD.Inline, d.Inline)
|
||||||
}
|
}
|
||||||
|
if tt.wantC != nil {
|
||||||
|
assert.Equal(t, tt.wantC.Location, c.Location)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -398,7 +406,6 @@ func TestDockerIgnore(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
fs := afero.NewMemMapFs()
|
fs := afero.NewMemMapFs()
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ can be accessed like environment variables inside the ` + "`RUN`\n" + `instructi
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
actual := dedent(tt.given)
|
actual := dedent(tt.given)
|
||||||
|
|||||||
@@ -1,191 +0,0 @@
|
|||||||
// Copyright 2024, Pulumi Corporation.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package deprecated
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"github.com/pulumi/pulumi/pkg/v3/codegen/schema"
|
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
|
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin"
|
|
||||||
)
|
|
||||||
|
|
||||||
// ConfigEncoding handles unmarshaling legacy JSON provider config.
|
|
||||||
type ConfigEncoding struct {
|
|
||||||
schema schema.ConfigSpec
|
|
||||||
}
|
|
||||||
|
|
||||||
// New constructs a new config encoder for the provided spec.
|
|
||||||
func New(s schema.ConfigSpec) *ConfigEncoding {
|
|
||||||
return &ConfigEncoding{schema: s}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*ConfigEncoding) tryUnwrapSecret(encoded any) (any, bool) {
|
|
||||||
m, ok := encoded.(map[string]any)
|
|
||||||
if !ok {
|
|
||||||
return nil, false
|
|
||||||
}
|
|
||||||
sig, ok := m["4dabf18193072939515e22adb298388d"]
|
|
||||||
if !ok {
|
|
||||||
return nil, false
|
|
||||||
}
|
|
||||||
ss, ok := sig.(string)
|
|
||||||
if !ok {
|
|
||||||
return nil, false
|
|
||||||
}
|
|
||||||
if ss != "1b47061264138c4ac30d75fd1eb44270" {
|
|
||||||
return nil, false
|
|
||||||
}
|
|
||||||
value, ok := m["value"]
|
|
||||||
return value, ok
|
|
||||||
}
|
|
||||||
|
|
||||||
func (enc *ConfigEncoding) convertStringToPropertyValue(s string, prop schema.PropertySpec) (
|
|
||||||
resource.PropertyValue, error,
|
|
||||||
) {
|
|
||||||
// If the schema expects a string, we can just return this as-is.
|
|
||||||
if prop.Type == "string" {
|
|
||||||
return resource.NewStringProperty(s), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Otherwise, we will attempt to deserialize the input string as JSON and convert the result into a Pulumi
|
|
||||||
// property. If the input string is empty, we will return an appropriate zero value.
|
|
||||||
if s == "" {
|
|
||||||
return enc.zeroValue(prop.Type), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var jsonValue interface{}
|
|
||||||
if err := json.Unmarshal([]byte(s), &jsonValue); err != nil {
|
|
||||||
return resource.PropertyValue{}, err
|
|
||||||
}
|
|
||||||
|
|
||||||
opts := enc.unmarshalOpts()
|
|
||||||
|
|
||||||
// Instead of using resource.NewPropertyValue, specialize it to detect nested json-encoded secrets.
|
|
||||||
var replv func(encoded any) (resource.PropertyValue, bool)
|
|
||||||
replv = func(encoded any) (resource.PropertyValue, bool) {
|
|
||||||
encodedSecret, isSecret := enc.tryUnwrapSecret(encoded)
|
|
||||||
if !isSecret {
|
|
||||||
return resource.NewNullProperty(), false
|
|
||||||
}
|
|
||||||
|
|
||||||
v := resource.NewPropertyValueRepl(encodedSecret, nil, replv)
|
|
||||||
if opts.KeepSecrets {
|
|
||||||
v = resource.MakeSecret(v)
|
|
||||||
}
|
|
||||||
|
|
||||||
return v, true
|
|
||||||
}
|
|
||||||
|
|
||||||
return resource.NewPropertyValueRepl(jsonValue, nil, replv), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*ConfigEncoding) zeroValue(typ string) resource.PropertyValue {
|
|
||||||
switch typ {
|
|
||||||
case "boolean":
|
|
||||||
return resource.NewPropertyValue(false)
|
|
||||||
case "integer", "number":
|
|
||||||
return resource.NewPropertyValue(0)
|
|
||||||
case "array":
|
|
||||||
return resource.NewPropertyValue([]interface{}{})
|
|
||||||
default:
|
|
||||||
return resource.NewPropertyValue(map[string]interface{}{})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (enc *ConfigEncoding) unmarshalOpts() plugin.MarshalOptions {
|
|
||||||
return plugin.MarshalOptions{
|
|
||||||
Label: "config",
|
|
||||||
KeepUnknowns: true,
|
|
||||||
KeepSecrets: true,
|
|
||||||
SkipNulls: true,
|
|
||||||
RejectAssets: true,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Like plugin.UnmarshalPropertyValue but overrides string parsing with convertStringToPropertyValue.
|
|
||||||
func (enc *ConfigEncoding) unmarshalPropertyValue(key resource.PropertyKey,
|
|
||||||
pv resource.PropertyValue,
|
|
||||||
) (resource.PropertyValue, error) {
|
|
||||||
opts := enc.unmarshalOpts()
|
|
||||||
|
|
||||||
prop, ok := enc.schema.Variables[string(key)]
|
|
||||||
|
|
||||||
// Only apply JSON-encoded recognition for known fields.
|
|
||||||
if !ok {
|
|
||||||
return pv, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
jsonString string
|
|
||||||
jsonStringDetected, jsonStringSecret bool
|
|
||||||
)
|
|
||||||
|
|
||||||
if pv.IsString() {
|
|
||||||
jsonString = pv.StringValue()
|
|
||||||
jsonStringDetected = true
|
|
||||||
}
|
|
||||||
|
|
||||||
if opts.KeepSecrets && pv.IsSecret() && pv.SecretValue().Element.IsString() {
|
|
||||||
jsonString = pv.SecretValue().Element.StringValue()
|
|
||||||
jsonStringDetected = true
|
|
||||||
jsonStringSecret = true
|
|
||||||
}
|
|
||||||
|
|
||||||
if jsonStringDetected {
|
|
||||||
v, err := enc.convertStringToPropertyValue(jsonString, prop)
|
|
||||||
if err != nil {
|
|
||||||
return resource.PropertyValue{}, fmt.Errorf("error unmarshalling property %q: %w", key, err)
|
|
||||||
}
|
|
||||||
if jsonStringSecret {
|
|
||||||
return resource.MakeSecret(v), nil
|
|
||||||
}
|
|
||||||
return v, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Computed sentinels are coming in as always having an empty string, but the encoding coerces them to a zero
|
|
||||||
// value of the appropriate type.
|
|
||||||
if pv.IsComputed() {
|
|
||||||
el := pv.V.(resource.Computed).Element
|
|
||||||
if el.IsString() && el.StringValue() == "" {
|
|
||||||
res := resource.MakeComputed(enc.zeroValue(prop.Type))
|
|
||||||
return res, nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return pv, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// UnmarshalProperties is copied from plugin.UnmarshalProperties substituting plugin.UnmarshalPropertyValue.
|
|
||||||
func (enc *ConfigEncoding) UnmarshalProperties(
|
|
||||||
props resource.PropertyMap,
|
|
||||||
) (resource.PropertyMap, error) {
|
|
||||||
result := make(resource.PropertyMap)
|
|
||||||
|
|
||||||
// First sort the keys so we enumerate them in order (in case errors happen, we want determinism).
|
|
||||||
keys := props.StableKeys()
|
|
||||||
|
|
||||||
// And now unmarshal every field it into the map.
|
|
||||||
for _, key := range keys {
|
|
||||||
v, err := enc.unmarshalPropertyValue(key, props[key])
|
|
||||||
if err != nil {
|
|
||||||
return resource.PropertyMap{}, err
|
|
||||||
}
|
|
||||||
result[key] = v
|
|
||||||
}
|
|
||||||
|
|
||||||
return result, nil
|
|
||||||
}
|
|
||||||
@@ -1,274 +0,0 @@
|
|||||||
// Copyright 2024, Pulumi Corporation.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package deprecated
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"strconv"
|
|
||||||
"testing"
|
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"github.com/stretchr/testify/require"
|
|
||||||
|
|
||||||
"github.com/pulumi/pulumi/pkg/v3/codegen/schema"
|
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestConfigEncoding(t *testing.T) {
|
|
||||||
t.Parallel()
|
|
||||||
|
|
||||||
type testCase struct {
|
|
||||||
ty schema.TypeSpec
|
|
||||||
given resource.PropertyValue
|
|
||||||
want resource.PropertyValue
|
|
||||||
}
|
|
||||||
|
|
||||||
knownKey := "mykey"
|
|
||||||
|
|
||||||
makeEnc := func(typ schema.TypeSpec) *ConfigEncoding {
|
|
||||||
return New(
|
|
||||||
schema.ConfigSpec{
|
|
||||||
Variables: map[string]schema.PropertySpec{
|
|
||||||
knownKey: {
|
|
||||||
TypeSpec: typ,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
checkUnmarshal := func(t *testing.T, tc testCase) {
|
|
||||||
enc := makeEnc(tc.ty)
|
|
||||||
key := resource.PropertyKey(knownKey)
|
|
||||||
|
|
||||||
actual, err := enc.unmarshalPropertyValue(key, tc.given)
|
|
||||||
require.NoError(t, err)
|
|
||||||
assert.Equal(t, tc.want, actual)
|
|
||||||
}
|
|
||||||
|
|
||||||
turnaroundTestCases := []testCase{
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "boolean"},
|
|
||||||
resource.NewPropertyValue(`true`),
|
|
||||||
resource.NewBoolProperty(true),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "boolean"},
|
|
||||||
resource.NewPropertyValue(`false`),
|
|
||||||
resource.NewBoolProperty(false),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "integer"},
|
|
||||||
resource.NewPropertyValue(`0`),
|
|
||||||
resource.NewNumberProperty(0),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "integer"},
|
|
||||||
resource.NewPropertyValue(`42`),
|
|
||||||
resource.NewNumberProperty(42),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "number"},
|
|
||||||
resource.NewPropertyValue(`0`),
|
|
||||||
resource.NewNumberProperty(0.0),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "number"},
|
|
||||||
resource.NewPropertyValue(`42.5`),
|
|
||||||
resource.NewNumberProperty(42.5),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "string"},
|
|
||||||
resource.NewStringProperty(""),
|
|
||||||
resource.NewStringProperty(""),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "string"},
|
|
||||||
resource.NewStringProperty("hello"),
|
|
||||||
resource.NewStringProperty("hello"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "array"},
|
|
||||||
resource.NewPropertyValue(`[]`),
|
|
||||||
resource.NewArrayProperty([]resource.PropertyValue{}),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "array"},
|
|
||||||
resource.NewPropertyValue(`["hello","there"]`),
|
|
||||||
resource.NewArrayProperty([]resource.PropertyValue{
|
|
||||||
resource.NewStringProperty("hello"),
|
|
||||||
resource.NewStringProperty("there"),
|
|
||||||
}),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "object"},
|
|
||||||
resource.NewPropertyValue(`{}`),
|
|
||||||
resource.NewObjectProperty(resource.PropertyMap{}),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "object"},
|
|
||||||
resource.NewPropertyValue(`{"key":"value"}`),
|
|
||||||
resource.NewObjectProperty(resource.PropertyMap{
|
|
||||||
"key": resource.NewStringProperty("value"),
|
|
||||||
}),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
t.Run("turnaround", func(t *testing.T) {
|
|
||||||
for i, tc := range turnaroundTestCases {
|
|
||||||
tc := tc
|
|
||||||
|
|
||||||
t.Run(strconv.Itoa(i), func(t *testing.T) {
|
|
||||||
t.Parallel()
|
|
||||||
checkUnmarshal(t, tc)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
t.Run("zero_values", func(t *testing.T) {
|
|
||||||
// Historically the encoding was able to convert empty strings into type-appropriate zero values.
|
|
||||||
cases := []testCase{
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "boolean"},
|
|
||||||
resource.NewPropertyValue(""),
|
|
||||||
resource.NewBoolProperty(false),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "number"},
|
|
||||||
resource.NewPropertyValue(""),
|
|
||||||
resource.NewNumberProperty(0.),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "integer"},
|
|
||||||
resource.NewPropertyValue(""),
|
|
||||||
resource.NewNumberProperty(0),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "string"},
|
|
||||||
resource.NewPropertyValue(""),
|
|
||||||
resource.NewStringProperty(""),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "object"},
|
|
||||||
resource.NewPropertyValue(""),
|
|
||||||
resource.NewObjectProperty(make(resource.PropertyMap)),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "array"},
|
|
||||||
resource.NewPropertyValue(""),
|
|
||||||
resource.NewArrayProperty([]resource.PropertyValue{}),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
for _, tc := range cases {
|
|
||||||
tc := tc
|
|
||||||
|
|
||||||
t.Run(fmt.Sprintf("%v", tc.ty), func(t *testing.T) {
|
|
||||||
t.Parallel()
|
|
||||||
checkUnmarshal(t, tc)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
t.Run("computed", func(t *testing.T) {
|
|
||||||
unk := resource.MakeComputed(resource.NewStringProperty(""))
|
|
||||||
|
|
||||||
for i, tc := range turnaroundTestCases {
|
|
||||||
tc := tc
|
|
||||||
|
|
||||||
t.Run(strconv.Itoa(i), func(t *testing.T) {
|
|
||||||
t.Parallel()
|
|
||||||
// Unknown sentinel unmarshals to a Computed with a type-appropriate zero value.
|
|
||||||
checkUnmarshal(t, testCase{
|
|
||||||
ty: tc.ty,
|
|
||||||
given: unk,
|
|
||||||
want: resource.MakeComputed(makeEnc(tc.ty).zeroValue(tc.ty.Type)),
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
t.Run("secret", func(t *testing.T) {
|
|
||||||
// Unmarshalling happens with KeepSecrets=false, replacing them with the underlying values. This case
|
|
||||||
// does not need to be tested.
|
|
||||||
//
|
|
||||||
// Marhalling however supports sending secrets back to the engine, intending to mark values as secret
|
|
||||||
// that happen on paths that are declared as secret in the schema. Due to the limitation of the
|
|
||||||
// JSON-in-proto-encoding, secrets are communicated imprecisely as an approximation: if any nested
|
|
||||||
// element of a property is secret, the entire property is marshalled as secret.
|
|
||||||
|
|
||||||
var secretCases []testCase
|
|
||||||
|
|
||||||
for _, tc := range turnaroundTestCases {
|
|
||||||
secretCases = append(secretCases, testCase{
|
|
||||||
ty: tc.ty,
|
|
||||||
given: resource.MakeSecret(tc.given),
|
|
||||||
want: resource.MakeSecret(tc.want),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
for i, tc := range secretCases {
|
|
||||||
tc := tc
|
|
||||||
|
|
||||||
t.Run(strconv.Itoa(i), func(t *testing.T) {
|
|
||||||
t.Parallel()
|
|
||||||
checkUnmarshal(t, tc)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
t.Run("nested secrets", func(t *testing.T) {
|
|
||||||
checkUnmarshal(t, testCase{
|
|
||||||
schema.TypeSpec{Type: "object"},
|
|
||||||
resource.MakeSecret(resource.NewPropertyValue(`{"key":"val"}`)),
|
|
||||||
resource.MakeSecret(resource.NewObjectProperty(resource.PropertyMap{
|
|
||||||
"key": resource.NewStringProperty("val"),
|
|
||||||
})),
|
|
||||||
})
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
regressUnmarshalTestCases := []testCase{
|
|
||||||
{
|
|
||||||
schema.TypeSpec{Type: "array"},
|
|
||||||
resource.NewPropertyValue(`
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"address": "somewhere.org",
|
|
||||||
"password": {
|
|
||||||
"4dabf18193072939515e22adb298388d": "1b47061264138c4ac30d75fd1eb44270",
|
|
||||||
"value": "some-password"
|
|
||||||
},
|
|
||||||
"username": "some-user"
|
|
||||||
}
|
|
||||||
]`),
|
|
||||||
resource.NewArrayProperty([]resource.PropertyValue{
|
|
||||||
resource.NewObjectProperty(resource.PropertyMap{
|
|
||||||
"address": resource.NewStringProperty("somewhere.org"),
|
|
||||||
"password": resource.MakeSecret(resource.NewStringProperty("some-password")),
|
|
||||||
"username": resource.NewStringProperty("some-user"),
|
|
||||||
}),
|
|
||||||
}),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
t.Run("regress-unmarshal", func(t *testing.T) {
|
|
||||||
for i, tc := range regressUnmarshalTestCases {
|
|
||||||
tc := tc
|
|
||||||
t.Run(strconv.Itoa(i), func(t *testing.T) {
|
|
||||||
t.Parallel()
|
|
||||||
checkUnmarshal(t, tc)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
// Copyright 2024, Pulumi Corporation.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
// Package deprecated vendors config parsing from pulumi-terraform-bridge.
|
|
||||||
//
|
|
||||||
// Originally taken from here:
|
|
||||||
// https://github.com/pulumi/pulumi-terraform-bridge/blob/90733a0c7/pkg/tfbridge/config_encoding.go
|
|
||||||
package deprecated
|
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
package internal
|
package internal
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"errors"
|
"errors"
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
@@ -96,13 +97,26 @@ func (d *Dockerfile) validate(preview bool, c *Context) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func parseDockerfile(r io.Reader) error {
|
func parseDockerfile(r io.Reader) error {
|
||||||
parsed, err := parser.Parse(r)
|
df, _ := io.ReadAll(r)
|
||||||
|
syntax, _, _, _ := parser.DetectSyntax(df)
|
||||||
|
if syntax == "" {
|
||||||
|
syntax = os.Getenv("BUILDKIT_SYNTAX")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disable validation if this uses a custom syntax.
|
||||||
|
if syntax != "" && syntax != "docker/dockerfile:1" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
parsed, err := parser.Parse(bytes.NewReader(df))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return newCheckFailure(err, "dockerfile")
|
return newCheckFailure(err, "dockerfile")
|
||||||
}
|
}
|
||||||
_, _, err = instructions.Parse(parsed.AST)
|
|
||||||
|
_, _, err = instructions.Parse(parsed.AST, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return newCheckFailure(err, "dockerfile")
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,12 +57,31 @@ func TestValidateDockerfile(t *testing.T) {
|
|||||||
},
|
},
|
||||||
wantErr: "unknown instruction: RUNN",
|
wantErr: "unknown instruction: RUNN",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "invalid syntax inline with default syntax directive",
|
||||||
|
d: Dockerfile{
|
||||||
|
Inline: `# syntax=docker/dockerfile:1
|
||||||
|
RUNN it`,
|
||||||
|
},
|
||||||
|
wantErr: "unknown instruction: RUNN",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "valid syntax inline",
|
name: "valid syntax inline",
|
||||||
d: Dockerfile{
|
d: Dockerfile{
|
||||||
Inline: "FROM scratch",
|
Inline: "FROM scratch",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "valid custom syntax inline",
|
||||||
|
d: Dockerfile{
|
||||||
|
Inline: `# syntax=docker.io/docker/dockerfile:1.7-labs
|
||||||
|
FROM public.ecr.aws/docker/library/node:22-alpine AS base
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --parents ./package.json ./package-lock.json ./apps/*/package.json ./packages/*/package.json ./
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "unset",
|
name: "unset",
|
||||||
d: Dockerfile{},
|
d: Dockerfile{},
|
||||||
@@ -86,7 +105,6 @@ func TestValidateDockerfile(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
|
|||||||
@@ -46,27 +46,27 @@ import pulumi_docker_build as docker_build
|
|||||||
ecr_repository = aws.ecr.Repository("ecr-repository")
|
ecr_repository = aws.ecr.Repository("ecr-repository")
|
||||||
auth_token = aws.ecr.get_authorization_token_output(registry_id=ecr_repository.registry_id)
|
auth_token = aws.ecr.get_authorization_token_output(registry_id=ecr_repository.registry_id)
|
||||||
my_image = docker_build.Image("my-image",
|
my_image = docker_build.Image("my-image",
|
||||||
cache_from=[docker_build.CacheFromArgs(
|
cache_from=[{
|
||||||
registry=docker_build.CacheFromRegistryArgs(
|
"registry": {
|
||||||
ref=ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:cache"),
|
"ref": ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:cache"),
|
||||||
),
|
},
|
||||||
)],
|
}],
|
||||||
cache_to=[docker_build.CacheToArgs(
|
cache_to=[{
|
||||||
registry=docker_build.CacheToRegistryArgs(
|
"registry": {
|
||||||
image_manifest=True,
|
"image_manifest": True,
|
||||||
oci_media_types=True,
|
"oci_media_types": True,
|
||||||
ref=ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:cache"),
|
"ref": ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:cache"),
|
||||||
),
|
},
|
||||||
)],
|
}],
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="./app",
|
"location": "./app",
|
||||||
),
|
},
|
||||||
push=True,
|
push=True,
|
||||||
registries=[docker_build.RegistryArgs(
|
registries=[{
|
||||||
address=ecr_repository.repository_url,
|
"address": ecr_repository.repository_url,
|
||||||
password=auth_token.password,
|
"password": auth_token.password,
|
||||||
username=auth_token.user_name,
|
"username": auth_token.user_name,
|
||||||
)],
|
}],
|
||||||
tags=[ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:latest")])
|
tags=[ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:latest")])
|
||||||
pulumi.export("ref", my_image.ref)
|
pulumi.export("ref", my_image.ref)
|
||||||
```
|
```
|
||||||
@@ -277,7 +277,7 @@ public class App {
|
|||||||
.registryId(ecrRepository.registryId())
|
.registryId(ecrRepository.registryId())
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
var myImage = new Image("myImage", ImageArgs.builder()
|
var myImage = new Image("myImage", ImageArgs.builder()
|
||||||
.cacheFrom(CacheFromArgs.builder()
|
.cacheFrom(CacheFromArgs.builder()
|
||||||
.registry(CacheFromRegistryArgs.builder()
|
.registry(CacheFromRegistryArgs.builder()
|
||||||
.ref(ecrRepository.repositoryUrl().applyValue(repositoryUrl -> String.format("%s:cache", repositoryUrl)))
|
.ref(ecrRepository.repositoryUrl().applyValue(repositoryUrl -> String.format("%s:cache", repositoryUrl)))
|
||||||
@@ -330,9 +330,9 @@ import pulumi
|
|||||||
import pulumi_docker_build as docker_build
|
import pulumi_docker_build as docker_build
|
||||||
|
|
||||||
image = docker_build.Image("image",
|
image = docker_build.Image("image",
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="app",
|
"location": "app",
|
||||||
),
|
},
|
||||||
platforms=[
|
platforms=[
|
||||||
docker_build.Platform.PLAN9_AMD64,
|
docker_build.Platform.PLAN9_AMD64,
|
||||||
docker_build.Platform.PLAN9_386,
|
docker_build.Platform.PLAN9_386,
|
||||||
@@ -428,7 +428,7 @@ public class App {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void stack(Context ctx) {
|
public static void stack(Context ctx) {
|
||||||
var image = new Image("image", ImageArgs.builder()
|
var image = new Image("image", ImageArgs.builder()
|
||||||
.context(BuildContextArgs.builder()
|
.context(BuildContextArgs.builder()
|
||||||
.location("app")
|
.location("app")
|
||||||
.build())
|
.build())
|
||||||
@@ -468,15 +468,15 @@ import pulumi
|
|||||||
import pulumi_docker_build as docker_build
|
import pulumi_docker_build as docker_build
|
||||||
|
|
||||||
image = docker_build.Image("image",
|
image = docker_build.Image("image",
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="app",
|
"location": "app",
|
||||||
),
|
},
|
||||||
push=True,
|
push=True,
|
||||||
registries=[docker_build.RegistryArgs(
|
registries=[{
|
||||||
address="docker.io",
|
"address": "docker.io",
|
||||||
password=docker_hub_password,
|
"password": docker_hub_password,
|
||||||
username="pulumibot",
|
"username": "pulumibot",
|
||||||
)],
|
}],
|
||||||
tags=["docker.io/pulumi/pulumi:3.107.0"])
|
tags=["docker.io/pulumi/pulumi:3.107.0"])
|
||||||
pulumi.export("ref", my_image["ref"])
|
pulumi.export("ref", my_image["ref"])
|
||||||
```
|
```
|
||||||
@@ -594,7 +594,7 @@ public class App {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void stack(Context ctx) {
|
public static void stack(Context ctx) {
|
||||||
var image = new Image("image", ImageArgs.builder()
|
var image = new Image("image", ImageArgs.builder()
|
||||||
.context(BuildContextArgs.builder()
|
.context(BuildContextArgs.builder()
|
||||||
.location("app")
|
.location("app")
|
||||||
.build())
|
.build())
|
||||||
@@ -642,20 +642,20 @@ import pulumi
|
|||||||
import pulumi_docker_build as docker_build
|
import pulumi_docker_build as docker_build
|
||||||
|
|
||||||
image = docker_build.Image("image",
|
image = docker_build.Image("image",
|
||||||
cache_from=[docker_build.CacheFromArgs(
|
cache_from=[{
|
||||||
local=docker_build.CacheFromLocalArgs(
|
"local": {
|
||||||
src="tmp/cache",
|
"src": "tmp/cache",
|
||||||
),
|
},
|
||||||
)],
|
}],
|
||||||
cache_to=[docker_build.CacheToArgs(
|
cache_to=[{
|
||||||
local=docker_build.CacheToLocalArgs(
|
"local": {
|
||||||
dest="tmp/cache",
|
"dest": "tmp/cache",
|
||||||
mode=docker_build.CacheMode.MAX,
|
"mode": docker_build.CacheMode.MAX,
|
||||||
),
|
},
|
||||||
)],
|
}],
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="app",
|
"location": "app",
|
||||||
),
|
},
|
||||||
push=False)
|
push=False)
|
||||||
```
|
```
|
||||||
```csharp
|
```csharp
|
||||||
@@ -782,7 +782,7 @@ public class App {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void stack(Context ctx) {
|
public static void stack(Context ctx) {
|
||||||
var image = new Image("image", ImageArgs.builder()
|
var image = new Image("image", ImageArgs.builder()
|
||||||
.cacheFrom(CacheFromArgs.builder()
|
.cacheFrom(CacheFromArgs.builder()
|
||||||
.local(CacheFromLocalArgs.builder()
|
.local(CacheFromLocalArgs.builder()
|
||||||
.src("tmp/cache")
|
.src("tmp/cache")
|
||||||
@@ -827,12 +827,12 @@ import pulumi
|
|||||||
import pulumi_docker_build as docker_build
|
import pulumi_docker_build as docker_build
|
||||||
|
|
||||||
image = docker_build.Image("image",
|
image = docker_build.Image("image",
|
||||||
builder=docker_build.BuilderConfigArgs(
|
builder={
|
||||||
name="cloud-builder-name",
|
"name": "cloud-builder-name",
|
||||||
),
|
},
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="app",
|
"location": "app",
|
||||||
),
|
},
|
||||||
exec_=True,
|
exec_=True,
|
||||||
push=False)
|
push=False)
|
||||||
```
|
```
|
||||||
@@ -926,7 +926,7 @@ public class App {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void stack(Context ctx) {
|
public static void stack(Context ctx) {
|
||||||
var image = new Image("image", ImageArgs.builder()
|
var image = new Image("image", ImageArgs.builder()
|
||||||
.builder(BuilderConfigArgs.builder()
|
.builder(BuilderConfigArgs.builder()
|
||||||
.name("cloud-builder-name")
|
.name("cloud-builder-name")
|
||||||
.build())
|
.build())
|
||||||
@@ -966,9 +966,9 @@ image = docker_build.Image("image",
|
|||||||
build_args={
|
build_args={
|
||||||
"SET_ME_TO_TRUE": "true",
|
"SET_ME_TO_TRUE": "true",
|
||||||
},
|
},
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="app",
|
"location": "app",
|
||||||
),
|
},
|
||||||
push=False)
|
push=False)
|
||||||
```
|
```
|
||||||
```csharp
|
```csharp
|
||||||
@@ -1057,7 +1057,7 @@ public class App {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void stack(Context ctx) {
|
public static void stack(Context ctx) {
|
||||||
var image = new Image("image", ImageArgs.builder()
|
var image = new Image("image", ImageArgs.builder()
|
||||||
.buildArgs(Map.of("SET_ME_TO_TRUE", "true"))
|
.buildArgs(Map.of("SET_ME_TO_TRUE", "true"))
|
||||||
.context(BuildContextArgs.builder()
|
.context(BuildContextArgs.builder()
|
||||||
.location("app")
|
.location("app")
|
||||||
@@ -1089,9 +1089,9 @@ import pulumi
|
|||||||
import pulumi_docker_build as docker_build
|
import pulumi_docker_build as docker_build
|
||||||
|
|
||||||
image = docker_build.Image("image",
|
image = docker_build.Image("image",
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="app",
|
"location": "app",
|
||||||
),
|
},
|
||||||
push=False,
|
push=False,
|
||||||
target="build-me")
|
target="build-me")
|
||||||
```
|
```
|
||||||
@@ -1175,7 +1175,7 @@ public class App {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void stack(Context ctx) {
|
public static void stack(Context ctx) {
|
||||||
var image = new Image("image", ImageArgs.builder()
|
var image = new Image("image", ImageArgs.builder()
|
||||||
.context(BuildContextArgs.builder()
|
.context(BuildContextArgs.builder()
|
||||||
.location("app")
|
.location("app")
|
||||||
.build())
|
.build())
|
||||||
@@ -1211,14 +1211,14 @@ import pulumi
|
|||||||
import pulumi_docker_build as docker_build
|
import pulumi_docker_build as docker_build
|
||||||
|
|
||||||
image = docker_build.Image("image",
|
image = docker_build.Image("image",
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="app",
|
"location": "app",
|
||||||
named={
|
"named": {
|
||||||
"golang:latest": docker_build.ContextArgs(
|
"golang:latest": {
|
||||||
location="docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984",
|
"location": "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984",
|
||||||
),
|
},
|
||||||
},
|
},
|
||||||
),
|
},
|
||||||
push=False)
|
push=False)
|
||||||
```
|
```
|
||||||
```csharp
|
```csharp
|
||||||
@@ -1313,7 +1313,7 @@ public class App {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void stack(Context ctx) {
|
public static void stack(Context ctx) {
|
||||||
var image = new Image("image", ImageArgs.builder()
|
var image = new Image("image", ImageArgs.builder()
|
||||||
.context(BuildContextArgs.builder()
|
.context(BuildContextArgs.builder()
|
||||||
.location("app")
|
.location("app")
|
||||||
.named(Map.of("golang:latest", Map.of("location", "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984")))
|
.named(Map.of("golang:latest", Map.of("location", "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984")))
|
||||||
@@ -1344,9 +1344,9 @@ import pulumi
|
|||||||
import pulumi_docker_build as docker_build
|
import pulumi_docker_build as docker_build
|
||||||
|
|
||||||
image = docker_build.Image("image",
|
image = docker_build.Image("image",
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
|
"location": "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
|
||||||
),
|
},
|
||||||
push=False)
|
push=False)
|
||||||
```
|
```
|
||||||
```csharp
|
```csharp
|
||||||
@@ -1426,7 +1426,7 @@ public class App {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void stack(Context ctx) {
|
public static void stack(Context ctx) {
|
||||||
var image = new Image("image", ImageArgs.builder()
|
var image = new Image("image", ImageArgs.builder()
|
||||||
.context(BuildContextArgs.builder()
|
.context(BuildContextArgs.builder()
|
||||||
.location("https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile")
|
.location("https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile")
|
||||||
.build())
|
.build())
|
||||||
@@ -1461,14 +1461,14 @@ import pulumi
|
|||||||
import pulumi_docker_build as docker_build
|
import pulumi_docker_build as docker_build
|
||||||
|
|
||||||
image = docker_build.Image("image",
|
image = docker_build.Image("image",
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="app",
|
"location": "app",
|
||||||
),
|
},
|
||||||
dockerfile=docker_build.DockerfileArgs(
|
dockerfile={
|
||||||
inline="""FROM busybox
|
"inline": """FROM busybox
|
||||||
COPY hello.c ./
|
COPY hello.c ./
|
||||||
""",
|
""",
|
||||||
),
|
},
|
||||||
push=False)
|
push=False)
|
||||||
```
|
```
|
||||||
```csharp
|
```csharp
|
||||||
@@ -1562,7 +1562,7 @@ public class App {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void stack(Context ctx) {
|
public static void stack(Context ctx) {
|
||||||
var image = new Image("image", ImageArgs.builder()
|
var image = new Image("image", ImageArgs.builder()
|
||||||
.context(BuildContextArgs.builder()
|
.context(BuildContextArgs.builder()
|
||||||
.location("app")
|
.location("app")
|
||||||
.build())
|
.build())
|
||||||
@@ -1601,12 +1601,12 @@ import pulumi
|
|||||||
import pulumi_docker_build as docker_build
|
import pulumi_docker_build as docker_build
|
||||||
|
|
||||||
image = docker_build.Image("image",
|
image = docker_build.Image("image",
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="https://github.com/docker-library/hello-world.git",
|
"location": "https://github.com/docker-library/hello-world.git",
|
||||||
),
|
},
|
||||||
dockerfile=docker_build.DockerfileArgs(
|
dockerfile={
|
||||||
location="app/Dockerfile",
|
"location": "app/Dockerfile",
|
||||||
),
|
},
|
||||||
push=False)
|
push=False)
|
||||||
```
|
```
|
||||||
```csharp
|
```csharp
|
||||||
@@ -1696,7 +1696,7 @@ public class App {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void stack(Context ctx) {
|
public static void stack(Context ctx) {
|
||||||
var image = new Image("image", ImageArgs.builder()
|
var image = new Image("image", ImageArgs.builder()
|
||||||
.context(BuildContextArgs.builder()
|
.context(BuildContextArgs.builder()
|
||||||
.location("https://github.com/docker-library/hello-world.git")
|
.location("https://github.com/docker-library/hello-world.git")
|
||||||
.build())
|
.build())
|
||||||
@@ -1734,14 +1734,14 @@ import pulumi
|
|||||||
import pulumi_docker_build as docker_build
|
import pulumi_docker_build as docker_build
|
||||||
|
|
||||||
image = docker_build.Image("image",
|
image = docker_build.Image("image",
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="app",
|
"location": "app",
|
||||||
),
|
},
|
||||||
exports=[docker_build.ExportArgs(
|
exports=[{
|
||||||
docker=docker_build.ExportDockerArgs(
|
"docker": {
|
||||||
tar=True,
|
"tar": True,
|
||||||
),
|
},
|
||||||
)],
|
}],
|
||||||
push=False)
|
push=False)
|
||||||
```
|
```
|
||||||
```csharp
|
```csharp
|
||||||
@@ -1843,7 +1843,7 @@ public class App {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void stack(Context ctx) {
|
public static void stack(Context ctx) {
|
||||||
var image = new Image("image", ImageArgs.builder()
|
var image = new Image("image", ImageArgs.builder()
|
||||||
.context(BuildContextArgs.builder()
|
.context(BuildContextArgs.builder()
|
||||||
.location("app")
|
.location("app")
|
||||||
.build())
|
.build())
|
||||||
|
|||||||
@@ -57,37 +57,37 @@ import pulumi
|
|||||||
import pulumi_docker_build as docker_build
|
import pulumi_docker_build as docker_build
|
||||||
|
|
||||||
amd64 = docker_build.Image("amd64",
|
amd64 = docker_build.Image("amd64",
|
||||||
cache_from=[docker_build.CacheFromArgs(
|
cache_from=[{
|
||||||
registry=docker_build.CacheFromRegistryArgs(
|
"registry": {
|
||||||
ref="docker.io/pulumi/pulumi:cache-amd64",
|
"ref": "docker.io/pulumi/pulumi:cache-amd64",
|
||||||
),
|
},
|
||||||
)],
|
}],
|
||||||
cache_to=[docker_build.CacheToArgs(
|
cache_to=[{
|
||||||
registry=docker_build.CacheToRegistryArgs(
|
"registry": {
|
||||||
mode=docker_build.CacheMode.MAX,
|
"mode": docker_build.CacheMode.MAX,
|
||||||
ref="docker.io/pulumi/pulumi:cache-amd64",
|
"ref": "docker.io/pulumi/pulumi:cache-amd64",
|
||||||
),
|
},
|
||||||
)],
|
}],
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="app",
|
"location": "app",
|
||||||
),
|
},
|
||||||
platforms=[docker_build.Platform.LINUX_AMD64],
|
platforms=[docker_build.Platform.LINUX_AMD64],
|
||||||
tags=["docker.io/pulumi/pulumi:3.107.0-amd64"])
|
tags=["docker.io/pulumi/pulumi:3.107.0-amd64"])
|
||||||
arm64 = docker_build.Image("arm64",
|
arm64 = docker_build.Image("arm64",
|
||||||
cache_from=[docker_build.CacheFromArgs(
|
cache_from=[{
|
||||||
registry=docker_build.CacheFromRegistryArgs(
|
"registry": {
|
||||||
ref="docker.io/pulumi/pulumi:cache-arm64",
|
"ref": "docker.io/pulumi/pulumi:cache-arm64",
|
||||||
),
|
},
|
||||||
)],
|
}],
|
||||||
cache_to=[docker_build.CacheToArgs(
|
cache_to=[{
|
||||||
registry=docker_build.CacheToRegistryArgs(
|
"registry": {
|
||||||
mode=docker_build.CacheMode.MAX,
|
"mode": docker_build.CacheMode.MAX,
|
||||||
ref="docker.io/pulumi/pulumi:cache-arm64",
|
"ref": "docker.io/pulumi/pulumi:cache-arm64",
|
||||||
),
|
},
|
||||||
)],
|
}],
|
||||||
context=docker_build.BuildContextArgs(
|
context={
|
||||||
location="app",
|
"location": "app",
|
||||||
),
|
},
|
||||||
platforms=[docker_build.Platform.LINUX_ARM64],
|
platforms=[docker_build.Platform.LINUX_ARM64],
|
||||||
tags=["docker.io/pulumi/pulumi:3.107.0-arm64"])
|
tags=["docker.io/pulumi/pulumi:3.107.0-arm64"])
|
||||||
index = docker_build.Index("index",
|
index = docker_build.Index("index",
|
||||||
@@ -355,7 +355,7 @@ public class App {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void stack(Context ctx) {
|
public static void stack(Context ctx) {
|
||||||
var amd64 = new Image("amd64", ImageArgs.builder()
|
var amd64 = new Image("amd64", ImageArgs.builder()
|
||||||
.cacheFrom(CacheFromArgs.builder()
|
.cacheFrom(CacheFromArgs.builder()
|
||||||
.registry(CacheFromRegistryArgs.builder()
|
.registry(CacheFromRegistryArgs.builder()
|
||||||
.ref("docker.io/pulumi/pulumi:cache-amd64")
|
.ref("docker.io/pulumi/pulumi:cache-amd64")
|
||||||
@@ -374,7 +374,7 @@ public class App {
|
|||||||
.tags("docker.io/pulumi/pulumi:3.107.0-amd64")
|
.tags("docker.io/pulumi/pulumi:3.107.0-amd64")
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
var arm64 = new Image("arm64", ImageArgs.builder()
|
var arm64 = new Image("arm64", ImageArgs.builder()
|
||||||
.cacheFrom(CacheFromArgs.builder()
|
.cacheFrom(CacheFromArgs.builder()
|
||||||
.registry(CacheFromRegistryArgs.builder()
|
.registry(CacheFromRegistryArgs.builder()
|
||||||
.ref("docker.io/pulumi/pulumi:cache-arm64")
|
.ref("docker.io/pulumi/pulumi:cache-arm64")
|
||||||
@@ -393,7 +393,7 @@ public class App {
|
|||||||
.tags("docker.io/pulumi/pulumi:3.107.0-arm64")
|
.tags("docker.io/pulumi/pulumi:3.107.0-arm64")
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
var index = new Index("index", IndexArgs.builder()
|
var index = new Index("index", IndexArgs.builder()
|
||||||
.sources(
|
.sources(
|
||||||
amd64.ref(),
|
amd64.ref(),
|
||||||
arm64.ref())
|
arm64.ref())
|
||||||
|
|||||||
@@ -17,11 +17,13 @@ package internal
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"os"
|
||||||
"slices"
|
"slices"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
controllerapi "github.com/docker/buildx/controller/pb"
|
controllerapi "github.com/docker/buildx/controller/pb"
|
||||||
"github.com/docker/buildx/util/buildflags"
|
"github.com/moby/buildkit/client"
|
||||||
|
"github.com/tonistiigi/go-csvvalue"
|
||||||
|
|
||||||
"github.com/pulumi/pulumi-go-provider/infer"
|
"github.com/pulumi/pulumi-go-provider/infer"
|
||||||
)
|
)
|
||||||
@@ -108,7 +110,7 @@ func (e Export) String() string {
|
|||||||
// pushed returns true if the export would result in a registry push.
|
// pushed returns true if the export would result in a registry push.
|
||||||
func (e Export) pushed() bool {
|
func (e Export) pushed() bool {
|
||||||
if e.Raw != "" {
|
if e.Raw != "" {
|
||||||
exp, err := buildflags.ParseExports([]string{e.Raw.String()})
|
exp, err := parseExports([]string{e.Raw.String()})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
@@ -123,14 +125,86 @@ func (e Export) pushed() bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// parseExports is forked from docker/buildx@v0.18.0 from util/buildflags/export.go
|
||||||
|
// to maintain the old logic. This is to get a working version of the provider with
|
||||||
|
// the latest buildx while maintaining the old behaviour.
|
||||||
|
//
|
||||||
|
// TODO: Remove this fork and update existing logic/tests.
|
||||||
|
func parseExports(inp []string) ([]*controllerapi.ExportEntry, error) {
|
||||||
|
if len(inp) == 0 {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
outs := make([]*controllerapi.ExportEntry, 0, len(inp))
|
||||||
|
|
||||||
|
for _, s := range inp {
|
||||||
|
fields, err := csvvalue.Fields(s, nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
out := controllerapi.ExportEntry{
|
||||||
|
Attrs: map[string]string{},
|
||||||
|
}
|
||||||
|
if len(fields) == 1 && fields[0] == s && !strings.HasPrefix(s, "type=") {
|
||||||
|
if s != "-" {
|
||||||
|
outs = append(outs, &controllerapi.ExportEntry{
|
||||||
|
Type: client.ExporterLocal,
|
||||||
|
Destination: s,
|
||||||
|
})
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
out = controllerapi.ExportEntry{
|
||||||
|
Type: client.ExporterTar,
|
||||||
|
Destination: s,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if out.Type == "" {
|
||||||
|
for _, field := range fields {
|
||||||
|
parts := strings.SplitN(field, "=", 2)
|
||||||
|
if len(parts) != 2 {
|
||||||
|
return nil, fmt.Errorf("invalid value %s", field)
|
||||||
|
}
|
||||||
|
key := strings.TrimSpace(strings.ToLower(parts[0]))
|
||||||
|
value := parts[1]
|
||||||
|
switch key {
|
||||||
|
case "type":
|
||||||
|
out.Type = value
|
||||||
|
default:
|
||||||
|
out.Attrs[key] = value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if out.Type == "" {
|
||||||
|
return nil, errors.New("type is required for output")
|
||||||
|
}
|
||||||
|
|
||||||
|
if out.Type == "registry" {
|
||||||
|
out.Type = client.ExporterImage
|
||||||
|
if _, ok := out.Attrs["push"]; !ok {
|
||||||
|
out.Attrs["push"] = "true"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if dest, ok := out.Attrs["dest"]; ok {
|
||||||
|
out.Destination = dest
|
||||||
|
delete(out.Attrs, "dest")
|
||||||
|
}
|
||||||
|
|
||||||
|
outs = append(outs, &out)
|
||||||
|
}
|
||||||
|
return outs, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (e Export) validate(preview bool, tags []string) (*controllerapi.ExportEntry, error) {
|
func (e Export) validate(preview bool, tags []string) (*controllerapi.ExportEntry, error) {
|
||||||
if strings.Count(e.String(), "type=") > 1 {
|
if strings.Count(e.String(), "type=") > 1 {
|
||||||
return nil, errors.New("exports should only specify one export type")
|
return nil, errors.New("exports should only specify one export type")
|
||||||
}
|
}
|
||||||
ee, err := buildflags.ParseExports([]string{e.String()})
|
ee, err := parseExports([]string{e.String()})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
exp := ee[0]
|
exp := ee[0]
|
||||||
if len(tags) == 0 && isRegistryPush(exp) && exp.Attrs["name"] == "" {
|
if len(tags) == 0 && isRegistryPush(exp) && exp.Attrs["name"] == "" {
|
||||||
return nil, errors.New(
|
return nil, errors.New(
|
||||||
@@ -353,6 +427,19 @@ func (e *ExportLocal) Annotate(a infer.Annotator) {
|
|||||||
a.Describe(&e.Dest, "Output path.")
|
a.Describe(&e.Dest, "Output path.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Exists returns true if the exported directory exists and is populated with
|
||||||
|
// some files.
|
||||||
|
func (e *ExportLocal) Exists() bool {
|
||||||
|
if e == nil {
|
||||||
|
return true // Degenerate case.
|
||||||
|
}
|
||||||
|
files, err := os.ReadDir(e.Dest)
|
||||||
|
if err != nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return len(files) > 0
|
||||||
|
}
|
||||||
|
|
||||||
// ExportTar is an export that uses the tar format for exporting.
|
// ExportTar is an export that uses the tar format for exporting.
|
||||||
type ExportTar struct {
|
type ExportTar struct {
|
||||||
ExportLocal
|
ExportLocal
|
||||||
@@ -365,6 +452,15 @@ func (e *ExportTar) String() string {
|
|||||||
return "type=tar,dest=" + e.Dest
|
return "type=tar,dest=" + e.Dest
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Exists returns true if a file exists at the expected path.
|
||||||
|
func (e *ExportTar) Exists() bool {
|
||||||
|
if e == nil {
|
||||||
|
return true // Degenerate case.
|
||||||
|
}
|
||||||
|
_, err := os.Stat(e.Dest)
|
||||||
|
return err == nil
|
||||||
|
}
|
||||||
|
|
||||||
// ExportWithOCI is an export that support OCI media types.
|
// ExportWithOCI is an export that support OCI media types.
|
||||||
type ExportWithOCI struct {
|
type ExportWithOCI struct {
|
||||||
OCI *bool `pulumi:"ociMediaTypes,optional"`
|
OCI *bool `pulumi:"ociMediaTypes,optional"`
|
||||||
@@ -393,8 +489,7 @@ type ExportWithCompression struct {
|
|||||||
|
|
||||||
// Annotate sets docstrings and defaults on ExportWithCompression.
|
// Annotate sets docstrings and defaults on ExportWithCompression.
|
||||||
func (e *ExportWithCompression) Annotate(a infer.Annotator) {
|
func (e *ExportWithCompression) Annotate(a infer.Annotator) {
|
||||||
gzip := Gzip
|
a.SetDefault(&e.Compression, Gzip)
|
||||||
a.SetDefault(&e.Compression, &gzip)
|
|
||||||
a.SetDefault(&e.CompressionLevel, 0)
|
a.SetDefault(&e.CompressionLevel, 0)
|
||||||
a.SetDefault(&e.ForceCompression, false)
|
a.SetDefault(&e.ForceCompression, false)
|
||||||
|
|
||||||
|
|||||||
@@ -74,7 +74,6 @@ func TestValidateExport(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
e, err := tt.e.validate(tt.preview, tt.givenTags)
|
e, err := tt.e.validate(tt.preview, tt.givenTags)
|
||||||
@@ -181,7 +180,6 @@ func TestExportString(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
actual := tt.given.String()
|
actual := tt.given.String()
|
||||||
@@ -236,7 +234,6 @@ func TestExportPushed(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
actual := tt.e.pushed()
|
actual := tt.e.pushed()
|
||||||
|
|||||||
@@ -16,9 +16,14 @@ package internal
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/blang/semver"
|
||||||
"github.com/docker/buildx/builder"
|
"github.com/docker/buildx/builder"
|
||||||
"github.com/docker/buildx/store/storeutil"
|
"github.com/docker/buildx/store/storeutil"
|
||||||
"github.com/docker/cli/cli/command"
|
"github.com/docker/cli/cli/command"
|
||||||
@@ -33,9 +38,12 @@ type host struct {
|
|||||||
config *Config
|
config *Config
|
||||||
builders map[string]*cachedBuilder
|
builders map[string]*cachedBuilder
|
||||||
auths map[string]cfgtypes.AuthConfig
|
auths map[string]cfgtypes.AuthConfig
|
||||||
|
|
||||||
|
// True if the buildkit daemon is at least v0.13.
|
||||||
|
supportsMultipleExports bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func newHost(config *Config) (*host, error) {
|
func newHost(ctx context.Context, config *Config) (*host, error) {
|
||||||
docker, err := newDockerCLI(config)
|
docker, err := newDockerCLI(config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -45,11 +53,13 @@ func newHost(config *Config) (*host, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
h := &host{
|
h := &host{
|
||||||
cli: docker,
|
cli: docker,
|
||||||
config: config,
|
config: config,
|
||||||
builders: map[string]*cachedBuilder{},
|
builders: map[string]*cachedBuilder{},
|
||||||
auths: auths,
|
auths: auths,
|
||||||
|
supportsMultipleExports: false, // Determined when we boot the builder.
|
||||||
}
|
}
|
||||||
return h, err
|
return h, err
|
||||||
}
|
}
|
||||||
@@ -60,7 +70,7 @@ func newHost(config *Config) (*host, error) {
|
|||||||
//
|
//
|
||||||
// If the build doesn't specify a builder by name, we will iterate through all
|
// If the build doesn't specify a builder by name, we will iterate through all
|
||||||
// available builders until we find one that we can connect to.
|
// available builders until we find one that we can connect to.
|
||||||
func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
func (h *host) builderFor(ctx context.Context, build Build) (*cachedBuilder, error) {
|
||||||
h.mu.Lock()
|
h.mu.Lock()
|
||||||
defer h.mu.Unlock()
|
defer h.mu.Unlock()
|
||||||
|
|
||||||
@@ -72,7 +82,7 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
|||||||
|
|
||||||
txn, release, err := storeutil.GetStore(h.cli)
|
txn, release, err := storeutil.GetStore(h.cli)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("getting store: %w", err)
|
||||||
}
|
}
|
||||||
defer release()
|
defer release()
|
||||||
|
|
||||||
@@ -85,8 +95,21 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
|||||||
builder.WithContextPathHash(contextPathHash),
|
builder.WithContextPathHash(contextPathHash),
|
||||||
builder.WithStore(txn),
|
builder.WithStore(txn),
|
||||||
)
|
)
|
||||||
|
if err != nil && build.ShouldExec() && strings.HasPrefix(opts.Builder, "cloud-") {
|
||||||
|
//nolint:revive // Human-readable.
|
||||||
|
err = errors.Join(err,
|
||||||
|
errors.New("Make sure you're logged in to Docker (`docker login`) if you're trying to use a cloud builder."),
|
||||||
|
errors.New("Make sure you have the correct buildx plugin installed (https://github.com/docker/buildx-desktop)."),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
if err != nil && build.ShouldExec() {
|
||||||
|
//nolint:revive // Human-readable.
|
||||||
|
err = errors.Join(err, errors.New(
|
||||||
|
"Make sure your buildx plugin is executable (`docker buildx version`)"),
|
||||||
|
)
|
||||||
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("new builder: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we didn't request a particular builder, and we loaded a default
|
// If we didn't request a particular builder, and we loaded a default
|
||||||
@@ -95,7 +118,7 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
|||||||
if b.Driver == "" && opts.Builder == "" {
|
if b.Driver == "" && opts.Builder == "" {
|
||||||
builders, err := builder.GetBuilders(h.cli, txn)
|
builders, err := builder.GetBuilders(h.cli, txn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("getting builders: %w", err)
|
||||||
}
|
}
|
||||||
nextbuilder:
|
nextbuilder:
|
||||||
for _, bb := range builders {
|
for _, bb := range builders {
|
||||||
@@ -108,7 +131,7 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
|||||||
if bb.Err() != nil {
|
if bb.Err() != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
nodes, err := bb.LoadNodes(context.Background())
|
nodes, err := bb.LoadNodes(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@@ -117,7 +140,7 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
|||||||
if n.Driver == nil {
|
if n.Driver == nil {
|
||||||
continue nextbuilder
|
continue nextbuilder
|
||||||
}
|
}
|
||||||
if _, err := n.Driver.Dial(context.Background()); err != nil {
|
if _, err := n.Driver.Dial(ctx); err != nil {
|
||||||
continue nextbuilder
|
continue nextbuilder
|
||||||
}
|
}
|
||||||
// TODO: Confirm the builder supports the requested platforms.
|
// TODO: Confirm the builder supports the requested platforms.
|
||||||
@@ -128,24 +151,48 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if b.Driver == "" && opts.Builder == "" {
|
if b.Driver == "" && opts.Builder == "" {
|
||||||
|
|
||||||
// If we STILL don't have a builder, create a docker-container instance.
|
// If we STILL don't have a builder, create a docker-container instance.
|
||||||
b, err = builder.Create(
|
b, err = builder.Create(
|
||||||
context.Background(),
|
ctx,
|
||||||
txn,
|
txn,
|
||||||
h.cli,
|
h.cli,
|
||||||
builder.CreateOpts{Driver: "docker-container"},
|
builder.CreateOpts{Driver: "docker-container"},
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("creating builder: %w", err)
|
||||||
|
}
|
||||||
|
ctx, cancel := context.WithTimeout(ctx, 30*time.Second)
|
||||||
|
defer cancel()
|
||||||
|
if _, err := b.Boot(ctx); err != nil {
|
||||||
|
return nil, fmt.Errorf("booting builder: %w", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Attempt to load nodes in order to determine the builder's driver. Ignore
|
// Attempt to load nodes in order to determine the builder's driver. Ignore
|
||||||
// errors for "exec" builds because it's possible to request builders with
|
// errors for "exec" builds because it's possible to request builders with
|
||||||
// drivers that are unknown to us.
|
// drivers that are unknown to us.
|
||||||
nodes, err := b.LoadNodes(context.Background())
|
nodes, err := b.LoadNodes(ctx, builder.WithData())
|
||||||
if err != nil && !build.ShouldExec() {
|
if err != nil && !build.ShouldExec() {
|
||||||
return nil, err
|
if strings.Contains(err.Error(), "failed to find driver") {
|
||||||
|
//nolint:revive // Human-readable.
|
||||||
|
err = errors.Join(err, errors.New(
|
||||||
|
"Use `exec: true` if you're trying to use Docker Build Cloud or other custom drivers.",
|
||||||
|
))
|
||||||
|
}
|
||||||
|
return nil, fmt.Errorf("loading nodes: %w", err)
|
||||||
|
}
|
||||||
|
// Attempt to determine our builder's buildkit version.
|
||||||
|
for idx := range nodes {
|
||||||
|
if nodes[idx].Version == "" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
v, err := semver.ParseTolerant(nodes[idx].Version)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("parsing buildkit version %q: %w", nodes[idx].Version, err)
|
||||||
|
}
|
||||||
|
h.supportsMultipleExports = v.GE(semver.MustParse("0.13.0"))
|
||||||
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
cached := &cachedBuilder{name: b.Name, driver: b.Driver, nodes: nodes}
|
cached := &cachedBuilder{name: b.Name, driver: b.Driver, nodes: nodes}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ import (
|
|||||||
|
|
||||||
provider "github.com/pulumi/pulumi-go-provider"
|
provider "github.com/pulumi/pulumi-go-provider"
|
||||||
"github.com/pulumi/pulumi-go-provider/infer"
|
"github.com/pulumi/pulumi-go-provider/infer"
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
|
"github.com/pulumi/pulumi/sdk/v3/go/property"
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -61,7 +61,10 @@ var _imageExamples string
|
|||||||
var _migration string
|
var _migration string
|
||||||
|
|
||||||
// Image is a Docker image build using buildkit.
|
// Image is a Docker image build using buildkit.
|
||||||
type Image struct{}
|
type Image struct {
|
||||||
|
clientF clientF
|
||||||
|
config *Config
|
||||||
|
}
|
||||||
|
|
||||||
// Annotate provides a description of the Image resource.
|
// Annotate provides a description of the Image resource.
|
||||||
func (i *Image) Annotate(a infer.Annotator) {
|
func (i *Image) Annotate(a infer.Annotator) {
|
||||||
@@ -153,7 +156,7 @@ func (ia *ImageArgs) Annotate(a infer.Annotator) {
|
|||||||
Equivalent to Docker's "--cache-to" flag.
|
Equivalent to Docker's "--cache-to" flag.
|
||||||
`))
|
`))
|
||||||
a.Describe(&ia.Context, dedent(`
|
a.Describe(&ia.Context, dedent(`
|
||||||
Build context settings.
|
Build context settings. Defaults to the current directory.
|
||||||
|
|
||||||
Equivalent to Docker's "PATH | URL | -" positional argument.
|
Equivalent to Docker's "PATH | URL | -" positional argument.
|
||||||
`))
|
`))
|
||||||
@@ -278,8 +281,12 @@ func (ia *ImageArgs) Annotate(a infer.Annotator) {
|
|||||||
"docker-buildx" binary.
|
"docker-buildx" binary.
|
||||||
`))
|
`))
|
||||||
|
|
||||||
d := Default
|
a.SetDefault(&ia.Network, Default)
|
||||||
a.SetDefault(&ia.Network, &d)
|
}
|
||||||
|
|
||||||
|
// GetRegistries returns the image's registries, if any.
|
||||||
|
func (ia ImageArgs) GetRegistries() []Registry {
|
||||||
|
return ia.Registries
|
||||||
}
|
}
|
||||||
|
|
||||||
// ImageState is serialized to the program's state file.
|
// ImageState is serialized to the program's state file.
|
||||||
@@ -330,40 +337,32 @@ func (is *ImageState) Annotate(a infer.Annotator) {
|
|||||||
|
|
||||||
// client produces a CLI client scoped to this resource and layered on top of
|
// client produces a CLI client scoped to this resource and layered on top of
|
||||||
// any host-level credentials.
|
// any host-level credentials.
|
||||||
func (i *Image) client(ctx context.Context, state ImageState, args ImageArgs) (Client, error) {
|
func (i *Image) client(ctx context.Context, args ImageArgs) (Client, error) {
|
||||||
cfg := infer.GetConfig[Config](ctx)
|
return i.clientF(ctx, i.config.getHost(), i.config, args)
|
||||||
|
|
||||||
if cli, ok := ctx.Value(_mockClientKey).(Client); ok {
|
|
||||||
return cli, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// We prefer auth from args, the provider, and state in that order. We
|
|
||||||
// build a slice in reverse order because wrap() will overwrite earlier
|
|
||||||
// entries with later ones.
|
|
||||||
auths := []Registry{}
|
|
||||||
auths = append(auths, cfg.Registries...)
|
|
||||||
auths = append(auths, args.Registries...)
|
|
||||||
|
|
||||||
return wrap(cfg.host, auths...)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check validates ImageArgs, sets defaults, and ensures our client is
|
// Check validates ImageArgs, sets defaults, and ensures our client is
|
||||||
// authenticated.
|
// authenticated.
|
||||||
func (i *Image) Check(
|
func (i *Image) Check(
|
||||||
_ context.Context,
|
ctx context.Context,
|
||||||
_ string,
|
req infer.CheckRequest,
|
||||||
_ resource.PropertyMap,
|
) (infer.CheckResponse[ImageArgs], error) {
|
||||||
news resource.PropertyMap,
|
args, failures, err := infer.DefaultCheck[ImageArgs](ctx, req.NewInputs)
|
||||||
) (ImageArgs, []provider.CheckFailure, error) {
|
|
||||||
args, failures, err := infer.DefaultCheck[ImageArgs](news)
|
|
||||||
if err != nil || len(failures) != 0 {
|
if err != nil || len(failures) != 0 {
|
||||||
return args, failures, err
|
return infer.CheckResponse[ImageArgs]{Failures: failures, Inputs: args}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// :(
|
// If the inputs aren't fully resolved we perform a weaker validation, for
|
||||||
preview := news.ContainsUnknowns()
|
// example we might not be able to check the Dockerfile for syntactic
|
||||||
|
// correctness.
|
||||||
|
preview := property.New(req.NewInputs).HasComputed()
|
||||||
|
|
||||||
if _, berr := args.validate(preview); berr != nil {
|
cfg := infer.GetConfig[Config](ctx)
|
||||||
|
supportsMultipleExports := true
|
||||||
|
if cfg.host != nil {
|
||||||
|
supportsMultipleExports = cfg.host.supportsMultipleExports
|
||||||
|
}
|
||||||
|
if _, berr := args.validate(supportsMultipleExports, preview); berr != nil {
|
||||||
errs := berr.(interface{ Unwrap() []error }).Unwrap()
|
errs := berr.(interface{ Unwrap() []error }).Unwrap()
|
||||||
for _, e := range errs {
|
for _, e := range errs {
|
||||||
if cf, ok := e.(checkFailure); ok {
|
if cf, ok := e.(checkFailure); ok {
|
||||||
@@ -372,7 +371,7 @@ func (i *Image) Check(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return args, failures, err
|
return infer.CheckResponse[ImageArgs]{Failures: failures, Inputs: args}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
type checkFailure struct {
|
type checkFailure struct {
|
||||||
@@ -467,15 +466,15 @@ type build struct {
|
|||||||
exec bool
|
exec bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b build) BuildOptions() controllerapi.BuildOptions {
|
func (b *build) BuildOptions() controllerapi.BuildOptions {
|
||||||
return b.opts
|
return b.opts //nolint:govet // copylocks - not serialized.
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b build) Inline() string {
|
func (b *build) Inline() string {
|
||||||
return b.inline
|
return b.inline
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b build) Secrets() session.Attachable {
|
func (b *build) Secrets() session.Attachable {
|
||||||
m := map[string][]byte{}
|
m := map[string][]byte{}
|
||||||
for k, v := range b.secrets {
|
for k, v := range b.secrets {
|
||||||
m[k] = []byte(v)
|
m[k] = []byte(v)
|
||||||
@@ -483,15 +482,16 @@ func (b build) Secrets() session.Attachable {
|
|||||||
return secretsprovider.FromMap(m)
|
return secretsprovider.FromMap(m)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b build) ShouldExec() bool {
|
func (b *build) ShouldExec() bool {
|
||||||
return b.exec
|
return b.exec
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ia ImageArgs) toBuild(
|
func (ia ImageArgs) toBuild(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
|
supportsMultipleExports bool,
|
||||||
preview bool,
|
preview bool,
|
||||||
) (Build, error) {
|
) (Build, error) {
|
||||||
opts, err := ia.validate(preview)
|
opts, err := ia.validate(supportsMultipleExports, preview)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -508,8 +508,8 @@ func (ia ImageArgs) toBuild(
|
|||||||
"Instead, perform one cached build per platform and create an Index to join them all together.")
|
"Instead, perform one cached build per platform and create an Index to join them all together.")
|
||||||
}
|
}
|
||||||
|
|
||||||
return build{
|
return &build{
|
||||||
opts: opts,
|
opts: opts, //nolint:govet // copylocks - not serialized.
|
||||||
inline: ia.Dockerfile.Inline,
|
inline: ia.Dockerfile.Inline,
|
||||||
secrets: ia.Secrets,
|
secrets: ia.Secrets,
|
||||||
exec: ia.Exec,
|
exec: ia.Exec,
|
||||||
@@ -518,27 +518,29 @@ func (ia ImageArgs) toBuild(
|
|||||||
|
|
||||||
// validate confirms the ImageArgs are valid and returns BuildOptions
|
// validate confirms the ImageArgs are valid and returns BuildOptions
|
||||||
// appropriate for passing to builders.
|
// appropriate for passing to builders.
|
||||||
func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error) {
|
func (ia *ImageArgs) validate(supportsMultipleExports, preview bool) (controllerapi.BuildOptions, error) {
|
||||||
var multierr error
|
var multierr error
|
||||||
|
|
||||||
if len(ia.Exports) > 1 {
|
if !supportsMultipleExports {
|
||||||
multierr = errors.Join(multierr,
|
if len(ia.Exports) > 1 {
|
||||||
newCheckFailure(errors.New("multiple exports are currently unsupported"), "exports"),
|
multierr = errors.Join(multierr,
|
||||||
)
|
newCheckFailure(errors.New("multiple exports require a v0.13 buildkit daemon or newer"), "exports"),
|
||||||
}
|
)
|
||||||
if ia.Push && ia.Load {
|
}
|
||||||
multierr = errors.Join(
|
if ia.Push && ia.Load {
|
||||||
multierr,
|
multierr = errors.Join(
|
||||||
newCheckFailure(
|
multierr,
|
||||||
errors.New("push and load may not be set together at the moment"),
|
newCheckFailure(
|
||||||
"push",
|
errors.New("simultaneous push and load requires a v0.13 buildkit daemon or newer"),
|
||||||
),
|
"push",
|
||||||
)
|
),
|
||||||
}
|
)
|
||||||
if len(ia.Exports) > 0 && (ia.Push || ia.Load) {
|
}
|
||||||
multierr = errors.Join(multierr,
|
if len(ia.Exports) > 0 && (ia.Push || ia.Load) {
|
||||||
newCheckFailure(errors.New("exports can't be provided with push or load"), "exports"),
|
multierr = errors.Join(multierr,
|
||||||
)
|
newCheckFailure(errors.New("multiple exports require a v0.13 buildkit daemon or newer"), "exports"),
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dockerfile, context, err := ia.Context.validate(preview, ia.Dockerfile)
|
dockerfile, context, err := ia.Context.validate(preview, ia.Dockerfile)
|
||||||
@@ -546,6 +548,10 @@ func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error)
|
|||||||
multierr = errors.Join(multierr, err)
|
multierr = errors.Join(multierr, err)
|
||||||
}
|
}
|
||||||
ia.Dockerfile = dockerfile
|
ia.Dockerfile = dockerfile
|
||||||
|
// Set a default context if one wasn't provided.
|
||||||
|
if ia.Context == nil {
|
||||||
|
ia.Context = &BuildContext{Context: *context}
|
||||||
|
}
|
||||||
|
|
||||||
if err := ia.Dockerfile.validate(preview, context); err != nil {
|
if err := ia.Dockerfile.validate(preview, context); err != nil {
|
||||||
multierr = errors.Join(multierr, err)
|
multierr = errors.Join(multierr, err)
|
||||||
@@ -565,7 +571,9 @@ func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error)
|
|||||||
multierr = errors.Join(multierr, newCheckFailure(err, "exports[%d]", idx))
|
multierr = errors.Join(multierr, newCheckFailure(err, "exports[%d]", idx))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
exports = append(exports, exp)
|
if exp != nil {
|
||||||
|
exports = append(exports, exp)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
platforms := []string{}
|
platforms := []string{}
|
||||||
@@ -575,7 +583,9 @@ func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error)
|
|||||||
multierr = errors.Join(multierr, newCheckFailure(err, "platforms[%d]", idx))
|
multierr = errors.Join(multierr, newCheckFailure(err, "platforms[%d]", idx))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
platforms = append(platforms, platform)
|
if platform != "" {
|
||||||
|
platforms = append(platforms, platform)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cacheFrom := []*controllerapi.CacheOptionsEntry{}
|
cacheFrom := []*controllerapi.CacheOptionsEntry{}
|
||||||
@@ -588,7 +598,9 @@ func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error)
|
|||||||
multierr = errors.Join(multierr, newCheckFailure(err, "cacheFrom[%d]", idx))
|
multierr = errors.Join(multierr, newCheckFailure(err, "cacheFrom[%d]", idx))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
cacheFrom = append(cacheFrom, cache)
|
if cache != nil {
|
||||||
|
cacheFrom = append(cacheFrom, cache)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cacheTo := []*controllerapi.CacheOptionsEntry{}
|
cacheTo := []*controllerapi.CacheOptionsEntry{}
|
||||||
@@ -601,7 +613,9 @@ func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error)
|
|||||||
multierr = errors.Join(multierr, newCheckFailure(err, "cacheTo[%d]", idx))
|
multierr = errors.Join(multierr, newCheckFailure(err, "cacheTo[%d]", idx))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
cacheTo = append(cacheTo, cache)
|
if cache != nil {
|
||||||
|
cacheTo = append(cacheTo, cache)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ssh := []*controllerapi.SSH{}
|
ssh := []*controllerapi.SSH{}
|
||||||
@@ -611,7 +625,9 @@ func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error)
|
|||||||
multierr = errors.Join(multierr, newCheckFailure(err, "ssh[%d]", idx))
|
multierr = errors.Join(multierr, newCheckFailure(err, "ssh[%d]", idx))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
ssh = append(ssh, ss)
|
if ss != nil {
|
||||||
|
ssh = append(ssh, ss)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for idx, t := range normalized.Tags {
|
for idx, t := range normalized.Tags {
|
||||||
@@ -623,10 +639,10 @@ func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error)
|
|||||||
secrets := []*controllerapi.Secret{}
|
secrets := []*controllerapi.Secret{}
|
||||||
for k, v := range normalized.Secrets {
|
for k, v := range normalized.Secrets {
|
||||||
// We abuse the pb.Secret proto by stuffing the secret's value in
|
// We abuse the pb.Secret proto by stuffing the secret's value in
|
||||||
// XXX_unrecognized. We never serialize this proto so this is tolerable.
|
// Env. We never serialize this proto so this is tolerable.
|
||||||
secrets = append(secrets, &controllerapi.Secret{
|
secrets = append(secrets, &controllerapi.Secret{
|
||||||
ID: k,
|
ID: k,
|
||||||
XXX_unrecognized: []byte(v),
|
Env: v,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -656,18 +672,17 @@ func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error)
|
|||||||
Target: normalized.Target,
|
Target: normalized.Target,
|
||||||
}
|
}
|
||||||
|
|
||||||
return opts, multierr
|
return opts, multierr //nolint:govet // copylocks - not serialized.
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create builds an image using buildkit.
|
// Create builds an image using buildkit.
|
||||||
func (i *Image) Create(
|
func (i *Image) Create(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
name string,
|
req infer.CreateRequest[ImageArgs],
|
||||||
input ImageArgs,
|
) (infer.CreateResponse[ImageState], error) {
|
||||||
preview bool,
|
input := req.Inputs
|
||||||
) (string, ImageState, error) {
|
|
||||||
state := ImageState{ImageArgs: input}
|
state := ImageState{ImageArgs: input}
|
||||||
id := name
|
id := req.Name
|
||||||
|
|
||||||
// Default our ref to one of our tags.
|
// Default our ref to one of our tags.
|
||||||
for _, tag := range state.Tags {
|
for _, tag := range state.Tags {
|
||||||
@@ -678,22 +693,31 @@ func (i *Image) Create(
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
cli, err := i.client(ctx, state, input)
|
cli, err := i.client(ctx, input)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return id, state, err
|
return infer.CreateResponse[ImageState]{ID: id, Output: state}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
ok, err := cli.BuildKitEnabled()
|
ok, err := cli.BuildKitEnabled()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return id, state, fmt.Errorf("checking buildkit compatibility: %w", err)
|
return infer.CreateResponse[ImageState]{
|
||||||
|
ID: id,
|
||||||
|
Output: state,
|
||||||
|
}, fmt.Errorf("checking buildkit compatibility: %w", err)
|
||||||
}
|
}
|
||||||
if !ok {
|
if !ok {
|
||||||
return id, state, errors.New("buildkit is not supported on this host")
|
return infer.CreateResponse[ImageState]{
|
||||||
|
ID: id,
|
||||||
|
Output: state,
|
||||||
|
}, errors.New("buildkit is not supported on this host")
|
||||||
}
|
}
|
||||||
|
|
||||||
build, err := input.toBuild(ctx, preview)
|
build, err := input.toBuild(ctx, cli.SupportsMultipleExports(), req.DryRun)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return id, state, fmt.Errorf("preparing: %w", err)
|
return infer.CreateResponse[ImageState]{
|
||||||
|
ID: id,
|
||||||
|
Output: state,
|
||||||
|
}, fmt.Errorf("preparing: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
hash, err := hashBuildContext(
|
hash, err := hashBuildContext(
|
||||||
@@ -702,21 +726,24 @@ func (i *Image) Create(
|
|||||||
input.Context.Named.Map(),
|
input.Context.Named.Map(),
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return id, state, fmt.Errorf("hashing build context: %w", err)
|
return infer.CreateResponse[ImageState]{
|
||||||
|
ID: id,
|
||||||
|
Output: state,
|
||||||
|
}, fmt.Errorf("hashing build context: %w", err)
|
||||||
}
|
}
|
||||||
state.ContextHash = hash
|
state.ContextHash = hash
|
||||||
|
|
||||||
if preview && !input.shouldBuildOnPreview() {
|
if req.DryRun && !input.shouldBuildOnPreview() {
|
||||||
return id, state, nil
|
return infer.CreateResponse[ImageState]{ID: id, Output: state}, nil
|
||||||
}
|
}
|
||||||
if preview && !input.buildable() {
|
if req.DryRun && !input.buildable() {
|
||||||
provider.GetLogger(ctx).Warning("Skipping preview build because some inputs are unknown.")
|
provider.GetLogger(ctx).Warning("Skipping preview build because some inputs are unknown.")
|
||||||
return id, state, nil
|
return infer.CreateResponse[ImageState]{ID: id, Output: state}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
result, err := cli.Build(ctx, build)
|
result, err := cli.Build(ctx, build)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return id, state, err
|
return infer.CreateResponse[ImageState]{ID: id, Output: state}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if d, ok := result.ExporterResponse[exptypes.ExporterImageDigestKey]; ok {
|
if d, ok := result.ExporterResponse[exptypes.ExporterImageDigestKey]; ok {
|
||||||
@@ -726,7 +753,7 @@ func (i *Image) Create(
|
|||||||
|
|
||||||
if state.Digest == "" {
|
if state.Digest == "" {
|
||||||
// Can't construct a ref, nothing else to do.
|
// Can't construct a ref, nothing else to do.
|
||||||
return id, state, nil
|
return infer.CreateResponse[ImageState]{ID: id, Output: state}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Take the first registry tag we find and add a digest to it. That becomes
|
// Take the first registry tag we find and add a digest to it. That becomes
|
||||||
@@ -741,7 +768,7 @@ func (i *Image) Create(
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
return id, state, nil
|
return infer.CreateResponse[ImageState]{ID: id, Output: state}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update builds a new image. Normally we create-replace resources, but for
|
// Update builds a new image. Normally we create-replace resources, but for
|
||||||
@@ -749,36 +776,41 @@ func (i *Image) Create(
|
|||||||
// updates and simply re-build the image without deleting anything.
|
// updates and simply re-build the image without deleting anything.
|
||||||
func (i *Image) Update(
|
func (i *Image) Update(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
name string,
|
req infer.UpdateRequest[ImageArgs, ImageState],
|
||||||
_ ImageState,
|
) (infer.UpdateResponse[ImageState], error) {
|
||||||
input ImageArgs,
|
resp, err := i.Create(ctx,
|
||||||
preview bool,
|
infer.CreateRequest[ImageArgs]{Name: req.ID, Inputs: req.Inputs, DryRun: req.DryRun},
|
||||||
) (ImageState, error) {
|
)
|
||||||
_, state, err := i.Create(ctx, name, input, preview)
|
return infer.UpdateResponse[ImageState]{Output: resp.Output}, err
|
||||||
return state, err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read attempts to read manifests from an image's exports. An image without
|
// Read attempts to read manifests from an image's exports. An image without
|
||||||
// exports will have no manifests.
|
// exports will have no manifests.
|
||||||
func (i *Image) Read(
|
func (i *Image) Read(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
name string,
|
req infer.ReadRequest[ImageArgs, ImageState],
|
||||||
input ImageArgs,
|
|
||||||
state ImageState,
|
|
||||||
) (
|
) (
|
||||||
string, // id
|
infer.ReadResponse[ImageArgs, ImageState],
|
||||||
ImageArgs, // normalized inputs
|
|
||||||
ImageState, // normalized state
|
|
||||||
error,
|
error,
|
||||||
) {
|
) {
|
||||||
cli, err := i.client(ctx, state, input)
|
state, input := req.State, req.Inputs
|
||||||
|
|
||||||
|
cli, err := i.client(ctx, input)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return name, input, state, err
|
return infer.ReadResponse[ImageArgs, ImageState]{
|
||||||
|
ID: req.ID,
|
||||||
|
Inputs: input,
|
||||||
|
State: state,
|
||||||
|
}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if !state.isExported() {
|
if !state.isExported() {
|
||||||
// Nothing was pushed -- all done.
|
// Nothing was pushed -- all done.
|
||||||
return name, input, state, nil
|
return infer.ReadResponse[ImageArgs, ImageState]{
|
||||||
|
ID: req.ID,
|
||||||
|
Inputs: input,
|
||||||
|
State: state,
|
||||||
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
tagsToKeep := []string{}
|
tagsToKeep := []string{}
|
||||||
@@ -799,6 +831,7 @@ func (i *Image) Read(
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//nolint:gocritic // Bytes aren't copied in a hot path.
|
||||||
for _, d := range descriptors {
|
for _, d := range descriptors {
|
||||||
if d.Platform != nil && d.Platform.Architecture == "unknown" {
|
if d.Platform != nil && d.Platform.Architecture == "unknown" {
|
||||||
// Ignore cache manifests.
|
// Ignore cache manifests.
|
||||||
@@ -813,29 +846,29 @@ func (i *Image) Read(
|
|||||||
// If we couldn't find the tags we expected then return an empty ID to
|
// If we couldn't find the tags we expected then return an empty ID to
|
||||||
// delete the resource.
|
// delete the resource.
|
||||||
if len(input.Tags) > 0 && len(tagsToKeep) == 0 {
|
if len(input.Tags) > 0 && len(tagsToKeep) == 0 {
|
||||||
return "", input, state, nil
|
return infer.ReadResponse[ImageArgs, ImageState]{ID: "", Inputs: input, State: state}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
state.Tags = tagsToKeep
|
state.Tags = tagsToKeep
|
||||||
|
|
||||||
return name, input, state, nil
|
return infer.ReadResponse[ImageArgs, ImageState]{ID: req.ID, Inputs: input, State: state}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete deletes an Image. If the Image was already deleted out-of-band it is
|
// Delete deletes an Image. If the Image was already deleted out-of-band it is
|
||||||
// treated as a success.
|
// treated as a success.
|
||||||
func (i *Image) Delete(
|
func (i *Image) Delete(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
_ string,
|
req infer.DeleteRequest[ImageState],
|
||||||
state ImageState,
|
) (infer.DeleteResponse, error) {
|
||||||
) error {
|
state := req.State
|
||||||
cli, err := i.client(ctx, state, state.ImageArgs)
|
cli, err := i.client(ctx, state.ImageArgs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return infer.DeleteResponse{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if state.Digest == "" {
|
if state.Digest == "" {
|
||||||
// Nothing was exported. Just try to delete the local image.
|
// Nothing was exported. Just try to delete the local image.
|
||||||
return cli.Delete(ctx, state.Ref)
|
return infer.DeleteResponse{}, cli.Delete(ctx, state.Ref)
|
||||||
}
|
}
|
||||||
|
|
||||||
digests := []string{}
|
digests := []string{}
|
||||||
@@ -863,17 +896,17 @@ func (i *Image) Delete(
|
|||||||
multierr = errors.Join(multierr, err)
|
multierr = errors.Join(multierr, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return multierr
|
return infer.DeleteResponse{}, multierr
|
||||||
}
|
}
|
||||||
|
|
||||||
// Diff re-implements most of the default diff behavior, with the exception of
|
// Diff re-implements most of the default diff behavior, with the exception of
|
||||||
// ignoring "password" changes on registry inputs.
|
// ignoring "password" changes on registry inputs.
|
||||||
func (*Image) Diff(
|
func (*Image) Diff(
|
||||||
_ context.Context,
|
_ context.Context,
|
||||||
_ string,
|
req infer.DiffRequest[ImageArgs, ImageState],
|
||||||
olds ImageState,
|
|
||||||
news ImageArgs,
|
|
||||||
) (provider.DiffResponse, error) {
|
) (provider.DiffResponse, error) {
|
||||||
|
olds, news := req.State, req.Inputs
|
||||||
|
|
||||||
diff := map[string]provider.PropertyDiff{}
|
diff := map[string]provider.PropertyDiff{}
|
||||||
update := provider.PropertyDiff{Kind: provider.Update}
|
update := provider.PropertyDiff{Kind: provider.Update}
|
||||||
|
|
||||||
@@ -889,6 +922,12 @@ func (*Image) Diff(
|
|||||||
if !reflect.DeepEqual(olds.Builder, news.Builder) {
|
if !reflect.DeepEqual(olds.Builder, news.Builder) {
|
||||||
diff["builder"] = update
|
diff["builder"] = update
|
||||||
}
|
}
|
||||||
|
if !reflect.DeepEqual(olds.CacheFrom, news.CacheFrom) {
|
||||||
|
diff["cacheFrom"] = update
|
||||||
|
}
|
||||||
|
if !reflect.DeepEqual(olds.CacheTo, news.CacheTo) {
|
||||||
|
diff["cacheTo"] = update
|
||||||
|
}
|
||||||
if olds.Context.Location != news.Context.Location {
|
if olds.Context.Location != news.Context.Location {
|
||||||
diff["context.location"] = update
|
diff["context.location"] = update
|
||||||
}
|
}
|
||||||
@@ -903,6 +942,12 @@ func (*Image) Diff(
|
|||||||
if fmt.Sprint(olds.Exports) != fmt.Sprint(news.Exports) {
|
if fmt.Sprint(olds.Exports) != fmt.Sprint(news.Exports) {
|
||||||
diff["exports"] = update
|
diff["exports"] = update
|
||||||
}
|
}
|
||||||
|
// Confirm local exports exist.
|
||||||
|
for idx, e := range news.Exports {
|
||||||
|
if !e.Local.Exists() || !e.Tar.Exists() {
|
||||||
|
diff[fmt.Sprintf("exports[%d]", idx)] = update
|
||||||
|
}
|
||||||
|
}
|
||||||
if !reflect.DeepEqual(olds.Labels, news.Labels) {
|
if !reflect.DeepEqual(olds.Labels, news.Labels) {
|
||||||
diff["labels"] = update
|
diff["labels"] = update
|
||||||
}
|
}
|
||||||
@@ -969,31 +1014,6 @@ func (*Image) Diff(
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// The GHA cache needs similar handling to ignore changes to the token.
|
|
||||||
if len(olds.CacheFrom) != len(news.CacheFrom) {
|
|
||||||
diff["cacheFrom"] = update
|
|
||||||
} else {
|
|
||||||
for idx, oldc := range olds.CacheFrom {
|
|
||||||
newc := news.CacheFrom[idx]
|
|
||||||
if newc.Diff(oldc) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
diff[fmt.Sprintf("cacheFrom[%d]", idx)] = update
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if len(olds.CacheTo) != len(news.CacheTo) {
|
|
||||||
diff["cacheTo"] = update
|
|
||||||
} else {
|
|
||||||
for idx, oldc := range olds.CacheTo {
|
|
||||||
newc := news.CacheTo[idx]
|
|
||||||
if !newc.Diff(oldc) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
diff[fmt.Sprintf("cacheTo[%d]", idx)] = update
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return provider.DiffResponse{
|
return provider.DiffResponse{
|
||||||
HasChanges: len(diff) > 0,
|
HasChanges: len(diff) > 0,
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -16,6 +16,7 @@ package internal
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -23,9 +24,10 @@ import (
|
|||||||
// For examples/docs.
|
// For examples/docs.
|
||||||
_ "embed"
|
_ "embed"
|
||||||
|
|
||||||
|
"github.com/regclient/regclient/types/errs"
|
||||||
|
|
||||||
provider "github.com/pulumi/pulumi-go-provider"
|
provider "github.com/pulumi/pulumi-go-provider"
|
||||||
"github.com/pulumi/pulumi-go-provider/infer"
|
"github.com/pulumi/pulumi-go-provider/infer"
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -44,16 +46,34 @@ var (
|
|||||||
var _indexExamples string
|
var _indexExamples string
|
||||||
|
|
||||||
// Index is an OCI index or manifest list on a remote registry.
|
// Index is an OCI index or manifest list on a remote registry.
|
||||||
type Index struct{}
|
type Index struct {
|
||||||
|
clientF clientF
|
||||||
|
config *Config
|
||||||
|
}
|
||||||
|
|
||||||
// IndexArgs instantiate an Index.
|
// IndexArgs instantiate an Index.
|
||||||
type IndexArgs struct {
|
type IndexArgs struct {
|
||||||
Tag string `pulumi:"tag"`
|
Tag string `pulumi:"tag"`
|
||||||
Sources []string `pulumi:"sources"`
|
Sources []string `pulumi:"sources"`
|
||||||
Push bool `pulumi:"push,optional"`
|
Push *bool `pulumi:"push,optional"`
|
||||||
Registry *Registry `pulumi:"registry,optional"`
|
Registry *Registry `pulumi:"registry,optional"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (i IndexArgs) isPushed() bool {
|
||||||
|
if i.Push == nil {
|
||||||
|
return true // default
|
||||||
|
}
|
||||||
|
return *i.Push
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetRegistries returns the index's registry.
|
||||||
|
func (i IndexArgs) GetRegistries() []Registry {
|
||||||
|
if i.Registry == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return []Registry{*i.Registry}
|
||||||
|
}
|
||||||
|
|
||||||
// IndexState captures the state of an Index.
|
// IndexState captures the state of an Index.
|
||||||
type IndexState struct {
|
type IndexState struct {
|
||||||
IndexArgs
|
IndexArgs
|
||||||
@@ -122,88 +142,112 @@ func (i *IndexState) Annotate(a infer.Annotator) {
|
|||||||
// Create is a passthrough to Update.
|
// Create is a passthrough to Update.
|
||||||
func (i *Index) Create(
|
func (i *Index) Create(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
name string,
|
req infer.CreateRequest[IndexArgs],
|
||||||
input IndexArgs,
|
) (infer.CreateResponse[IndexState], error) {
|
||||||
preview bool,
|
resp, err := i.Update(ctx,
|
||||||
) (string, IndexState, error) {
|
infer.UpdateRequest[IndexArgs, IndexState]{
|
||||||
state, err := i.Update(ctx, name, IndexState{}, input, preview)
|
ID: req.Name,
|
||||||
return name, state, err
|
State: IndexState{},
|
||||||
|
Inputs: req.Inputs,
|
||||||
|
DryRun: req.DryRun,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
return infer.CreateResponse[IndexState]{ID: req.Name, Output: resp.Output}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update performs `buildx imagetools create` to create a new OCI index /
|
// Update performs `buildx imagetools create` to create a new OCI index /
|
||||||
// manifest list.
|
// manifest list.
|
||||||
func (i *Index) Update(
|
func (i *Index) Update(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
name string,
|
req infer.UpdateRequest[IndexArgs, IndexState],
|
||||||
state IndexState,
|
) (infer.UpdateResponse[IndexState], error) {
|
||||||
input IndexArgs,
|
state, input := req.State, req.Inputs
|
||||||
preview bool,
|
|
||||||
) (IndexState, error) {
|
|
||||||
state.IndexArgs = input
|
state.IndexArgs = input
|
||||||
state.Ref = input.Tag
|
state.Ref = input.Tag
|
||||||
|
|
||||||
cli, err := i.client(ctx, state, input)
|
cli, err := i.client(ctx, input)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return state, err
|
return infer.UpdateResponse[IndexState]{Output: state}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if preview {
|
if req.DryRun {
|
||||||
return state, nil
|
return infer.UpdateResponse[IndexState]{Output: state}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
provider.GetLogger(ctx).Debugf("creating index with tag %s and sources %s", input.Tag, input.Sources)
|
provider.GetLogger(ctx).
|
||||||
|
Debugf("creating index with tag %s and sources %s", input.Tag, input.Sources)
|
||||||
|
|
||||||
err = cli.ManifestCreate(ctx, input.Push, input.Tag, input.Sources...)
|
err = cli.ManifestCreate(ctx, input.isPushed(), input.Tag, input.Sources...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return state, fmt.Errorf("creating: %w", err)
|
return infer.UpdateResponse[IndexState]{Output: state}, fmt.Errorf("creating: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
_, _, state, err = i.Read(ctx, name, input, state)
|
// Read remote manifest information, if it exists.
|
||||||
|
live, err := i.Read(ctx,
|
||||||
|
infer.ReadRequest[IndexArgs, IndexState]{ID: req.ID, Inputs: input, State: state},
|
||||||
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return state, fmt.Errorf("reading: %w", err)
|
return infer.UpdateResponse[IndexState]{Output: state}, fmt.Errorf("reading: %w", err)
|
||||||
}
|
}
|
||||||
return state, nil
|
return infer.UpdateResponse[IndexState]{Output: live.State}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *Index) Read(
|
func (i *Index) Read(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
name string,
|
req infer.ReadRequest[IndexArgs, IndexState],
|
||||||
input IndexArgs,
|
) (infer.ReadResponse[IndexArgs, IndexState], error) {
|
||||||
state IndexState,
|
state, input := req.State, req.Inputs
|
||||||
) (string, IndexArgs, IndexState, error) {
|
|
||||||
state.IndexArgs = input
|
state.IndexArgs = input
|
||||||
state.Ref = input.Tag
|
state.Ref = input.Tag
|
||||||
|
|
||||||
if !input.Push {
|
if !input.isPushed() {
|
||||||
provider.GetLogger(ctx).Debug("skipping read because index was not pushed")
|
provider.GetLogger(ctx).Debug("skipping read because index was not pushed")
|
||||||
return name, input, state, nil // Nothing to read.
|
return infer.ReadResponse[IndexArgs, IndexState]{
|
||||||
|
ID: req.ID,
|
||||||
|
Inputs: input,
|
||||||
|
State: state,
|
||||||
|
}, nil // Nothing to read.
|
||||||
}
|
}
|
||||||
|
|
||||||
cli, err := i.client(ctx, state, input)
|
cli, err := i.client(ctx, input)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return name, input, state, err
|
return infer.ReadResponse[IndexArgs, IndexState]{
|
||||||
|
ID: req.ID,
|
||||||
|
Inputs: input,
|
||||||
|
State: state,
|
||||||
|
}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
provider.GetLogger(ctx).Debug("reading index with tag " + input.Tag)
|
provider.GetLogger(ctx).Debug("reading index with tag " + input.Tag)
|
||||||
|
|
||||||
digest, err := cli.ManifestInspect(ctx, input.Tag)
|
digest, err := cli.ManifestInspect(ctx, input.Tag)
|
||||||
if err != nil && strings.Contains(err.Error(), "No such manifest:") && input.Push {
|
if errors.Is(err, errs.ErrNotFound) {
|
||||||
// A remote tag was expected but isn't there -- delete the resource.
|
// A remote tag was expected but isn't there -- delete the resource.
|
||||||
return "", input, state, err
|
return infer.ReadResponse[IndexArgs, IndexState]{ID: "", Inputs: input, State: state}, nil
|
||||||
}
|
}
|
||||||
if err != nil && strings.Contains(err.Error(), "No such manifest:") && !input.Push {
|
if errors.Is(err, errs.ErrHTTPUnauthorized) {
|
||||||
// Nothing was pushed, so just use the tag without digest..
|
provider.GetLogger(ctx).Warning("invalid credentials, skipping")
|
||||||
return name, input, state, nil
|
return infer.ReadResponse[IndexArgs, IndexState]{
|
||||||
|
ID: req.ID,
|
||||||
|
Inputs: input,
|
||||||
|
State: state,
|
||||||
|
}, nil
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return name, input, state, err
|
return infer.ReadResponse[IndexArgs, IndexState]{
|
||||||
|
ID: req.ID,
|
||||||
|
Inputs: input,
|
||||||
|
State: state,
|
||||||
|
}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if ref, ok := addDigest(input.Tag, digest); ok {
|
if ref, ok := addDigest(input.Tag, digest); ok {
|
||||||
state.Ref = ref
|
state.Ref = ref
|
||||||
}
|
}
|
||||||
|
|
||||||
return name, input, state, nil
|
return infer.ReadResponse[IndexArgs, IndexState]{ID: req.ID, Inputs: input, State: state}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check confirms the Index's tag and source refs are all valid. This doesn't
|
// Check confirms the Index's tag and source refs are all valid. This doesn't
|
||||||
@@ -211,14 +255,12 @@ func (i *Index) Read(
|
|||||||
// exist on the same registry. This is sufficient to handle the most common
|
// exist on the same registry. This is sufficient to handle the most common
|
||||||
// cases for now.
|
// cases for now.
|
||||||
func (i *Index) Check(
|
func (i *Index) Check(
|
||||||
_ context.Context,
|
ctx context.Context,
|
||||||
_ string,
|
req infer.CheckRequest,
|
||||||
_ resource.PropertyMap,
|
) (infer.CheckResponse[IndexArgs], error) {
|
||||||
news resource.PropertyMap,
|
args, failures, err := infer.DefaultCheck[IndexArgs](ctx, req.NewInputs)
|
||||||
) (IndexArgs, []provider.CheckFailure, error) {
|
|
||||||
args, failures, err := infer.DefaultCheck[IndexArgs](news)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return args, failures, err
|
return infer.CheckResponse[IndexArgs]{Failures: failures, Inputs: args}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err := normalizeReference(args.Tag); args.Tag != "" && err != nil {
|
if _, err := normalizeReference(args.Tag); args.Tag != "" && err != nil {
|
||||||
@@ -243,27 +285,31 @@ func (i *Index) Check(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return args, failures, nil
|
return infer.CheckResponse[IndexArgs]{Failures: failures, Inputs: args}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete attempts to delete the remote manifest.
|
// Delete attempts to delete the remote manifest.
|
||||||
func (i *Index) Delete(ctx context.Context, _ string, state IndexState) error {
|
func (i *Index) Delete(
|
||||||
if !state.Push {
|
ctx context.Context,
|
||||||
return nil // Nothing to delete.
|
req infer.DeleteRequest[IndexState],
|
||||||
|
) (infer.DeleteResponse, error) {
|
||||||
|
state := req.State
|
||||||
|
if !state.isPushed() {
|
||||||
|
return infer.DeleteResponse{}, nil // Nothing to delete.
|
||||||
}
|
}
|
||||||
|
|
||||||
cli, err := i.client(ctx, state, state.IndexArgs)
|
cli, err := i.client(ctx, state.IndexArgs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return infer.DeleteResponse{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = cli.ManifestDelete(ctx, state.Ref)
|
err = cli.ManifestDelete(ctx, state.Ref)
|
||||||
// TODO: Upstream buildx swallows the error types we'd like to test for
|
// TODO: Upstream buildx swallows the error types we'd like to test for
|
||||||
// here.
|
// here.
|
||||||
if err != nil && strings.Contains(err.Error(), "No such manifest:") {
|
if err != nil && strings.Contains(err.Error(), "No such manifest:") {
|
||||||
return nil
|
return infer.DeleteResponse{}, nil
|
||||||
}
|
}
|
||||||
return err
|
return infer.DeleteResponse{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Diff returns a diff of proposed changes against current state. Ideally we
|
// Diff returns a diff of proposed changes against current state. Ideally we
|
||||||
@@ -272,10 +318,10 @@ func (i *Index) Delete(ctx context.Context, _ string, state IndexState) error {
|
|||||||
// change all the time due to short-lived AWS credentials).
|
// change all the time due to short-lived AWS credentials).
|
||||||
func (i *Index) Diff(
|
func (i *Index) Diff(
|
||||||
_ context.Context,
|
_ context.Context,
|
||||||
_ string,
|
req infer.DiffRequest[IndexArgs, IndexState],
|
||||||
olds IndexState,
|
|
||||||
news IndexArgs,
|
|
||||||
) (provider.DiffResponse, error) {
|
) (provider.DiffResponse, error) {
|
||||||
|
olds, news := req.State, req.Inputs
|
||||||
|
|
||||||
diff := map[string]provider.PropertyDiff{}
|
diff := map[string]provider.PropertyDiff{}
|
||||||
update := provider.PropertyDiff{Kind: provider.Update}
|
update := provider.PropertyDiff{Kind: provider.Update}
|
||||||
replace := provider.PropertyDiff{Kind: provider.UpdateReplace}
|
replace := provider.PropertyDiff{Kind: provider.UpdateReplace}
|
||||||
@@ -313,23 +359,7 @@ func (i *Index) Diff(
|
|||||||
// any host-level credentials.
|
// any host-level credentials.
|
||||||
func (i *Index) client(
|
func (i *Index) client(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
_ IndexState,
|
|
||||||
args IndexArgs,
|
args IndexArgs,
|
||||||
) (Client, error) {
|
) (Client, error) {
|
||||||
cfg := infer.GetConfig[Config](ctx)
|
return i.clientF(ctx, i.config.getHost(), i.config, args)
|
||||||
|
|
||||||
if cli, ok := ctx.Value(_mockClientKey).(Client); ok {
|
|
||||||
return cli, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// We prefer auth from args, the provider, and state in that order. We
|
|
||||||
// build a slice in reverse order because wrap() will overwrite earlier
|
|
||||||
// entries with later ones.
|
|
||||||
auths := []Registry{}
|
|
||||||
auths = append(auths, cfg.Registries...)
|
|
||||||
if args.Registry != nil {
|
|
||||||
auths = append(auths, *args.Registry)
|
|
||||||
}
|
|
||||||
|
|
||||||
return wrap(cfg.host, auths...)
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,41 +18,44 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/regclient/regclient/types/errs"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
"go.uber.org/mock/gomock"
|
||||||
|
|
||||||
provider "github.com/pulumi/pulumi-go-provider"
|
provider "github.com/pulumi/pulumi-go-provider"
|
||||||
"github.com/pulumi/pulumi-go-provider/integration"
|
"github.com/pulumi/pulumi-go-provider/integration"
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
|
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper"
|
"github.com/pulumi/pulumi/sdk/v3/go/common/util/mapper"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/property"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestIndexLifecycle(t *testing.T) {
|
func TestIndexLifecycle(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
realClient := func(t *testing.T) Client { return nil }
|
realClient := func(t *testing.T) clientF { return RealClientF }
|
||||||
|
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
skip bool
|
skip bool
|
||||||
|
|
||||||
op func(t *testing.T) integration.Operation
|
op func(t *testing.T) integration.Operation
|
||||||
client func(t *testing.T) Client
|
client func(t *testing.T) clientF
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "not pushed",
|
name: "not pushed",
|
||||||
client: realClient,
|
client: realClient,
|
||||||
op: func(t *testing.T) integration.Operation {
|
op: func(t *testing.T) integration.Operation {
|
||||||
return integration.Operation{
|
return integration.Operation{
|
||||||
Inputs: resource.PropertyMap{
|
Inputs: property.NewMap(map[string]property.Value{
|
||||||
"tag": resource.NewStringProperty(
|
"tag": property.New(
|
||||||
"docker.io/pulumibot/buildkit-e2e:manifest-unit",
|
"docker.io/pulumibot/buildkit-e2e:manifest-unit",
|
||||||
),
|
),
|
||||||
"sources": resource.NewArrayProperty([]resource.PropertyValue{
|
"sources": property.New([]property.Value{
|
||||||
resource.NewStringProperty("docker.io/pulumibot/buildkit-e2e:arm64"),
|
property.New("docker.io/pulumibot/buildkit-e2e:arm64"),
|
||||||
resource.NewStringProperty("docker.io/pulumibot/buildkit-e2e:amd64"),
|
property.New("docker.io/pulumibot/buildkit-e2e:amd64"),
|
||||||
}),
|
}),
|
||||||
"push": resource.NewBoolProperty(false),
|
"push": property.New(false),
|
||||||
},
|
}),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -62,32 +65,57 @@ func TestIndexLifecycle(t *testing.T) {
|
|||||||
client: realClient,
|
client: realClient,
|
||||||
op: func(t *testing.T) integration.Operation {
|
op: func(t *testing.T) integration.Operation {
|
||||||
return integration.Operation{
|
return integration.Operation{
|
||||||
Inputs: resource.PropertyMap{
|
Inputs: property.NewMap(map[string]property.Value{
|
||||||
"tag": resource.NewStringProperty(
|
"tag": property.New(
|
||||||
"docker.io/pulumibot/buildkit-e2e:manifest",
|
"docker.io/pulumibot/buildkit-e2e:manifest",
|
||||||
),
|
),
|
||||||
"sources": resource.NewArrayProperty([]resource.PropertyValue{
|
"sources": property.New([]property.Value{
|
||||||
resource.NewStringProperty("docker.io/pulumibot/buildkit-e2e:arm64"),
|
property.New("docker.io/pulumibot/buildkit-e2e:arm64"),
|
||||||
resource.NewStringProperty("docker.io/pulumibot/buildkit-e2e:amd64"),
|
property.New("docker.io/pulumibot/buildkit-e2e:amd64"),
|
||||||
}),
|
}),
|
||||||
"push": resource.NewBoolProperty(true),
|
"push": property.New(true),
|
||||||
"registry": resource.NewObjectProperty(resource.PropertyMap{
|
"registry": property.New(map[string]property.Value{
|
||||||
"address": resource.NewStringProperty("docker.io"),
|
"address": property.New("docker.io"),
|
||||||
"username": resource.NewStringProperty("pulumibot"),
|
"username": property.New("pulumibot"),
|
||||||
"password": resource.NewSecretProperty(&resource.Secret{
|
"password": property.New(os.Getenv("DOCKER_HUB_PASSWORD")).WithSecret(true),
|
||||||
Element: resource.NewStringProperty(
|
|
||||||
os.Getenv("DOCKER_HUB_PASSWORD"),
|
|
||||||
),
|
|
||||||
}),
|
|
||||||
}),
|
}),
|
||||||
},
|
}),
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "expired credentials",
|
||||||
|
client: func(t *testing.T) clientF {
|
||||||
|
ctrl := gomock.NewController(t)
|
||||||
|
c := NewMockClient(ctrl)
|
||||||
|
c.EXPECT().ManifestCreate(gomock.Any(), true, gomock.Any(), gomock.Any())
|
||||||
|
c.EXPECT().ManifestInspect(gomock.Any(), gomock.Any()).Return("", errs.ErrHTTPUnauthorized)
|
||||||
|
c.EXPECT().ManifestDelete(gomock.Any(), gomock.Any()).Return(nil)
|
||||||
|
return mockClientF(c)
|
||||||
|
},
|
||||||
|
op: func(t *testing.T) integration.Operation {
|
||||||
|
return integration.Operation{
|
||||||
|
Inputs: property.NewMap(map[string]property.Value{
|
||||||
|
"tag": property.New(
|
||||||
|
"docker.io/pulumibot/buildkit-e2e:manifest",
|
||||||
|
),
|
||||||
|
"sources": property.New([]property.Value{
|
||||||
|
property.New("docker.io/pulumibot/buildkit-e2e:arm64"),
|
||||||
|
property.New("docker.io/pulumibot/buildkit-e2e:amd64"),
|
||||||
|
}),
|
||||||
|
"push": property.New(true),
|
||||||
|
"registry": property.New(map[string]property.Value{
|
||||||
|
"address": property.New("docker.io"),
|
||||||
|
"username": property.New("pulumibot"),
|
||||||
|
"password": property.New(os.Getenv("DOCKER_HUB_PASSWORD")).WithSecret(true),
|
||||||
|
}),
|
||||||
|
}),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
if tt.skip {
|
if tt.skip {
|
||||||
@@ -97,7 +125,7 @@ func TestIndexLifecycle(t *testing.T) {
|
|||||||
Resource: "docker-build:index:Index",
|
Resource: "docker-build:index:Index",
|
||||||
Create: tt.op(t),
|
Create: tt.op(t),
|
||||||
}
|
}
|
||||||
s := newServer(tt.client(t))
|
s := newServer(t.Context(), t, tt.client(t))
|
||||||
|
|
||||||
err := s.Configure(provider.ConfigureRequest{})
|
err := s.Configure(provider.ConfigureRequest{})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
@@ -114,22 +142,22 @@ func TestIndexDiff(t *testing.T) {
|
|||||||
baseState := IndexState{IndexArgs: baseArgs}
|
baseState := IndexState{IndexArgs: baseArgs}
|
||||||
|
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
olds func(*testing.T, IndexState) IndexState
|
state func(*testing.T, IndexState) IndexState
|
||||||
news func(*testing.T, IndexArgs) IndexArgs
|
inputs func(*testing.T, IndexArgs) IndexArgs
|
||||||
|
|
||||||
wantChanges bool
|
wantChanges bool
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "no diff if no changes",
|
name: "no diff if no changes",
|
||||||
olds: func(*testing.T, IndexState) IndexState { return baseState },
|
state: func(*testing.T, IndexState) IndexState { return baseState },
|
||||||
news: func(*testing.T, IndexArgs) IndexArgs { return baseArgs },
|
inputs: func(*testing.T, IndexArgs) IndexArgs { return baseArgs },
|
||||||
wantChanges: false,
|
wantChanges: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "diff if tag changes",
|
name: "diff if tag changes",
|
||||||
olds: func(*testing.T, IndexState) IndexState { return baseState },
|
state: func(*testing.T, IndexState) IndexState { return baseState },
|
||||||
news: func(t *testing.T, a IndexArgs) IndexArgs {
|
inputs: func(t *testing.T, a IndexArgs) IndexArgs {
|
||||||
a.Tag = "new-tag"
|
a.Tag = "new-tag"
|
||||||
return a
|
return a
|
||||||
},
|
},
|
||||||
@@ -137,7 +165,7 @@ func TestIndexDiff(t *testing.T) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "no diff if registry password changes",
|
name: "no diff if registry password changes",
|
||||||
olds: func(_ *testing.T, s IndexState) IndexState {
|
state: func(_ *testing.T, s IndexState) IndexState {
|
||||||
s.Registry = &Registry{
|
s.Registry = &Registry{
|
||||||
Address: "foo",
|
Address: "foo",
|
||||||
Username: "foo",
|
Username: "foo",
|
||||||
@@ -145,7 +173,7 @@ func TestIndexDiff(t *testing.T) {
|
|||||||
}
|
}
|
||||||
return s
|
return s
|
||||||
},
|
},
|
||||||
news: func(_ *testing.T, a IndexArgs) IndexArgs {
|
inputs: func(_ *testing.T, a IndexArgs) IndexArgs {
|
||||||
a.Registry = &Registry{
|
a.Registry = &Registry{
|
||||||
Address: "foo",
|
Address: "foo",
|
||||||
Username: "foo",
|
Username: "foo",
|
||||||
@@ -156,9 +184,9 @@ func TestIndexDiff(t *testing.T) {
|
|||||||
wantChanges: false,
|
wantChanges: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "diff if registry added",
|
name: "diff if registry added",
|
||||||
olds: func(*testing.T, IndexState) IndexState { return baseState },
|
state: func(*testing.T, IndexState) IndexState { return baseState },
|
||||||
news: func(_ *testing.T, a IndexArgs) IndexArgs {
|
inputs: func(_ *testing.T, a IndexArgs) IndexArgs {
|
||||||
a.Registry = &Registry{Address: "foo.com", Username: "foo", Password: "foo"}
|
a.Registry = &Registry{Address: "foo.com", Username: "foo", Password: "foo"}
|
||||||
return a
|
return a
|
||||||
},
|
},
|
||||||
@@ -166,7 +194,7 @@ func TestIndexDiff(t *testing.T) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "diff if registry user changes",
|
name: "diff if registry user changes",
|
||||||
olds: func(_ *testing.T, s IndexState) IndexState {
|
state: func(_ *testing.T, s IndexState) IndexState {
|
||||||
s.Registry = &Registry{
|
s.Registry = &Registry{
|
||||||
Address: "foo",
|
Address: "foo",
|
||||||
Username: "foo",
|
Username: "foo",
|
||||||
@@ -174,7 +202,7 @@ func TestIndexDiff(t *testing.T) {
|
|||||||
}
|
}
|
||||||
return s
|
return s
|
||||||
},
|
},
|
||||||
news: func(_ *testing.T, a IndexArgs) IndexArgs {
|
inputs: func(_ *testing.T, a IndexArgs) IndexArgs {
|
||||||
a.Registry = &Registry{
|
a.Registry = &Registry{
|
||||||
Address: "DIFFERENT USER",
|
Address: "DIFFERENT USER",
|
||||||
Username: "foo",
|
Username: "foo",
|
||||||
@@ -186,22 +214,21 @@ func TestIndexDiff(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
s := newServer(nil)
|
s := newServer(t.Context(), t, nil)
|
||||||
|
|
||||||
encode := func(t *testing.T, x any) resource.PropertyMap {
|
encode := func(t *testing.T, x any) property.Map {
|
||||||
raw, err := mapper.New(&mapper.Opts{IgnoreMissing: true}).Encode(x)
|
raw, err := mapper.New(&mapper.Opts{IgnoreMissing: true}).Encode(x)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
return resource.NewPropertyMapFromMap(raw)
|
return resource.FromResourcePropertyMap(resource.NewPropertyMapFromMap(raw))
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
resp, err := s.Diff(provider.DiffRequest{
|
resp, err := s.Diff(provider.DiffRequest{
|
||||||
Urn: urn,
|
Urn: urn,
|
||||||
Olds: encode(t, tt.olds(t, baseState)),
|
State: encode(t, tt.state(t, baseState)),
|
||||||
News: encode(t, tt.news(t, baseArgs)),
|
Inputs: encode(t, tt.inputs(t, baseArgs)),
|
||||||
})
|
})
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, tt.wantChanges, resp.HasChanges, resp.DetailedDiff)
|
assert.Equal(t, tt.wantChanges, resp.HasChanges, resp.DetailedDiff)
|
||||||
|
|||||||
359
provider/internal/mockcli_test.go
generated
359
provider/internal/mockcli_test.go
generated
@@ -5,23 +5,22 @@
|
|||||||
//
|
//
|
||||||
// mockgen -typed -package internal -source cli.go -destination mockcli_test.go --self_package github.com/pulumi/pulumi-docker-build/provider/internal
|
// mockgen -typed -package internal -source cli.go -destination mockcli_test.go --self_package github.com/pulumi/pulumi-docker-build/provider/internal
|
||||||
//
|
//
|
||||||
|
|
||||||
// Package internal is a generated GoMock package.
|
// Package internal is a generated GoMock package.
|
||||||
package internal
|
package internal
|
||||||
|
|
||||||
import (
|
import (
|
||||||
io "io"
|
|
||||||
reflect "reflect"
|
reflect "reflect"
|
||||||
|
|
||||||
command "github.com/docker/cli/cli/command"
|
command "github.com/docker/cli/cli/command"
|
||||||
configfile "github.com/docker/cli/cli/config/configfile"
|
configfile "github.com/docker/cli/cli/config/configfile"
|
||||||
docker "github.com/docker/cli/cli/context/docker"
|
docker "github.com/docker/cli/cli/context/docker"
|
||||||
store "github.com/docker/cli/cli/context/store"
|
store "github.com/docker/cli/cli/context/store"
|
||||||
store0 "github.com/docker/cli/cli/manifest/store"
|
|
||||||
client "github.com/docker/cli/cli/registry/client"
|
|
||||||
streams "github.com/docker/cli/cli/streams"
|
streams "github.com/docker/cli/cli/streams"
|
||||||
trust "github.com/docker/cli/cli/trust"
|
client "github.com/docker/docker/client"
|
||||||
client0 "github.com/docker/docker/client"
|
metric "go.opentelemetry.io/otel/metric"
|
||||||
client1 "github.com/theupdateframework/notary/client"
|
resource "go.opentelemetry.io/otel/sdk/resource"
|
||||||
|
trace "go.opentelemetry.io/otel/trace"
|
||||||
gomock "go.uber.org/mock/gomock"
|
gomock "go.uber.org/mock/gomock"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -29,6 +28,7 @@ import (
|
|||||||
type MockCli struct {
|
type MockCli struct {
|
||||||
ctrl *gomock.Controller
|
ctrl *gomock.Controller
|
||||||
recorder *MockCliMockRecorder
|
recorder *MockCliMockRecorder
|
||||||
|
isgomock struct{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// MockCliMockRecorder is the mock recorder for MockCli.
|
// MockCliMockRecorder is the mock recorder for MockCli.
|
||||||
@@ -61,31 +61,31 @@ func (m *MockCli) Apply(ops ...command.CLIOption) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Apply indicates an expected call of Apply.
|
// Apply indicates an expected call of Apply.
|
||||||
func (mr *MockCliMockRecorder) Apply(ops ...any) *CliApplyCall {
|
func (mr *MockCliMockRecorder) Apply(ops ...any) *MockCliApplyCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Apply", reflect.TypeOf((*MockCli)(nil).Apply), ops...)
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Apply", reflect.TypeOf((*MockCli)(nil).Apply), ops...)
|
||||||
return &CliApplyCall{Call: call}
|
return &MockCliApplyCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliApplyCall wrap *gomock.Call
|
// MockCliApplyCall wrap *gomock.Call
|
||||||
type CliApplyCall struct {
|
type MockCliApplyCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliApplyCall) Return(arg0 error) *CliApplyCall {
|
func (c *MockCliApplyCall) Return(arg0 error) *MockCliApplyCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliApplyCall) Do(f func(...command.CLIOption) error) *CliApplyCall {
|
func (c *MockCliApplyCall) Do(f func(...command.CLIOption) error) *MockCliApplyCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliApplyCall) DoAndReturn(f func(...command.CLIOption) error) *CliApplyCall {
|
func (c *MockCliApplyCall) DoAndReturn(f func(...command.CLIOption) error) *MockCliApplyCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -100,69 +100,69 @@ func (m *MockCli) BuildKitEnabled() (bool, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// BuildKitEnabled indicates an expected call of BuildKitEnabled.
|
// BuildKitEnabled indicates an expected call of BuildKitEnabled.
|
||||||
func (mr *MockCliMockRecorder) BuildKitEnabled() *CliBuildKitEnabledCall {
|
func (mr *MockCliMockRecorder) BuildKitEnabled() *MockCliBuildKitEnabledCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuildKitEnabled", reflect.TypeOf((*MockCli)(nil).BuildKitEnabled))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuildKitEnabled", reflect.TypeOf((*MockCli)(nil).BuildKitEnabled))
|
||||||
return &CliBuildKitEnabledCall{Call: call}
|
return &MockCliBuildKitEnabledCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliBuildKitEnabledCall wrap *gomock.Call
|
// MockCliBuildKitEnabledCall wrap *gomock.Call
|
||||||
type CliBuildKitEnabledCall struct {
|
type MockCliBuildKitEnabledCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliBuildKitEnabledCall) Return(arg0 bool, arg1 error) *CliBuildKitEnabledCall {
|
func (c *MockCliBuildKitEnabledCall) Return(arg0 bool, arg1 error) *MockCliBuildKitEnabledCall {
|
||||||
c.Call = c.Call.Return(arg0, arg1)
|
c.Call = c.Call.Return(arg0, arg1)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliBuildKitEnabledCall) Do(f func() (bool, error)) *CliBuildKitEnabledCall {
|
func (c *MockCliBuildKitEnabledCall) Do(f func() (bool, error)) *MockCliBuildKitEnabledCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliBuildKitEnabledCall) DoAndReturn(f func() (bool, error)) *CliBuildKitEnabledCall {
|
func (c *MockCliBuildKitEnabledCall) DoAndReturn(f func() (bool, error)) *MockCliBuildKitEnabledCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Client mocks base method.
|
// Client mocks base method.
|
||||||
func (m *MockCli) Client() client0.APIClient {
|
func (m *MockCli) Client() client.APIClient {
|
||||||
m.ctrl.T.Helper()
|
m.ctrl.T.Helper()
|
||||||
ret := m.ctrl.Call(m, "Client")
|
ret := m.ctrl.Call(m, "Client")
|
||||||
ret0, _ := ret[0].(client0.APIClient)
|
ret0, _ := ret[0].(client.APIClient)
|
||||||
return ret0
|
return ret0
|
||||||
}
|
}
|
||||||
|
|
||||||
// Client indicates an expected call of Client.
|
// Client indicates an expected call of Client.
|
||||||
func (mr *MockCliMockRecorder) Client() *CliClientCall {
|
func (mr *MockCliMockRecorder) Client() *MockCliClientCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Client", reflect.TypeOf((*MockCli)(nil).Client))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Client", reflect.TypeOf((*MockCli)(nil).Client))
|
||||||
return &CliClientCall{Call: call}
|
return &MockCliClientCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliClientCall wrap *gomock.Call
|
// MockCliClientCall wrap *gomock.Call
|
||||||
type CliClientCall struct {
|
type MockCliClientCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliClientCall) Return(arg0 client0.APIClient) *CliClientCall {
|
func (c *MockCliClientCall) Return(arg0 client.APIClient) *MockCliClientCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliClientCall) Do(f func() client0.APIClient) *CliClientCall {
|
func (c *MockCliClientCall) Do(f func() client.APIClient) *MockCliClientCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliClientCall) DoAndReturn(f func() client0.APIClient) *CliClientCall {
|
func (c *MockCliClientCall) DoAndReturn(f func() client.APIClient) *MockCliClientCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -176,31 +176,31 @@ func (m *MockCli) ConfigFile() *configfile.ConfigFile {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ConfigFile indicates an expected call of ConfigFile.
|
// ConfigFile indicates an expected call of ConfigFile.
|
||||||
func (mr *MockCliMockRecorder) ConfigFile() *CliConfigFileCall {
|
func (mr *MockCliMockRecorder) ConfigFile() *MockCliConfigFileCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ConfigFile", reflect.TypeOf((*MockCli)(nil).ConfigFile))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ConfigFile", reflect.TypeOf((*MockCli)(nil).ConfigFile))
|
||||||
return &CliConfigFileCall{Call: call}
|
return &MockCliConfigFileCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliConfigFileCall wrap *gomock.Call
|
// MockCliConfigFileCall wrap *gomock.Call
|
||||||
type CliConfigFileCall struct {
|
type MockCliConfigFileCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliConfigFileCall) Return(arg0 *configfile.ConfigFile) *CliConfigFileCall {
|
func (c *MockCliConfigFileCall) Return(arg0 *configfile.ConfigFile) *MockCliConfigFileCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliConfigFileCall) Do(f func() *configfile.ConfigFile) *CliConfigFileCall {
|
func (c *MockCliConfigFileCall) Do(f func() *configfile.ConfigFile) *MockCliConfigFileCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliConfigFileCall) DoAndReturn(f func() *configfile.ConfigFile) *CliConfigFileCall {
|
func (c *MockCliConfigFileCall) DoAndReturn(f func() *configfile.ConfigFile) *MockCliConfigFileCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -214,31 +214,31 @@ func (m *MockCli) ContentTrustEnabled() bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ContentTrustEnabled indicates an expected call of ContentTrustEnabled.
|
// ContentTrustEnabled indicates an expected call of ContentTrustEnabled.
|
||||||
func (mr *MockCliMockRecorder) ContentTrustEnabled() *CliContentTrustEnabledCall {
|
func (mr *MockCliMockRecorder) ContentTrustEnabled() *MockCliContentTrustEnabledCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ContentTrustEnabled", reflect.TypeOf((*MockCli)(nil).ContentTrustEnabled))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ContentTrustEnabled", reflect.TypeOf((*MockCli)(nil).ContentTrustEnabled))
|
||||||
return &CliContentTrustEnabledCall{Call: call}
|
return &MockCliContentTrustEnabledCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliContentTrustEnabledCall wrap *gomock.Call
|
// MockCliContentTrustEnabledCall wrap *gomock.Call
|
||||||
type CliContentTrustEnabledCall struct {
|
type MockCliContentTrustEnabledCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliContentTrustEnabledCall) Return(arg0 bool) *CliContentTrustEnabledCall {
|
func (c *MockCliContentTrustEnabledCall) Return(arg0 bool) *MockCliContentTrustEnabledCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliContentTrustEnabledCall) Do(f func() bool) *CliContentTrustEnabledCall {
|
func (c *MockCliContentTrustEnabledCall) Do(f func() bool) *MockCliContentTrustEnabledCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliContentTrustEnabledCall) DoAndReturn(f func() bool) *CliContentTrustEnabledCall {
|
func (c *MockCliContentTrustEnabledCall) DoAndReturn(f func() bool) *MockCliContentTrustEnabledCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -252,31 +252,31 @@ func (m *MockCli) ContextStore() store.Store {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ContextStore indicates an expected call of ContextStore.
|
// ContextStore indicates an expected call of ContextStore.
|
||||||
func (mr *MockCliMockRecorder) ContextStore() *CliContextStoreCall {
|
func (mr *MockCliMockRecorder) ContextStore() *MockCliContextStoreCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ContextStore", reflect.TypeOf((*MockCli)(nil).ContextStore))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ContextStore", reflect.TypeOf((*MockCli)(nil).ContextStore))
|
||||||
return &CliContextStoreCall{Call: call}
|
return &MockCliContextStoreCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliContextStoreCall wrap *gomock.Call
|
// MockCliContextStoreCall wrap *gomock.Call
|
||||||
type CliContextStoreCall struct {
|
type MockCliContextStoreCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliContextStoreCall) Return(arg0 store.Store) *CliContextStoreCall {
|
func (c *MockCliContextStoreCall) Return(arg0 store.Store) *MockCliContextStoreCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliContextStoreCall) Do(f func() store.Store) *CliContextStoreCall {
|
func (c *MockCliContextStoreCall) Do(f func() store.Store) *MockCliContextStoreCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliContextStoreCall) DoAndReturn(f func() store.Store) *CliContextStoreCall {
|
func (c *MockCliContextStoreCall) DoAndReturn(f func() store.Store) *MockCliContextStoreCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -290,31 +290,31 @@ func (m *MockCli) CurrentContext() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CurrentContext indicates an expected call of CurrentContext.
|
// CurrentContext indicates an expected call of CurrentContext.
|
||||||
func (mr *MockCliMockRecorder) CurrentContext() *CliCurrentContextCall {
|
func (mr *MockCliMockRecorder) CurrentContext() *MockCliCurrentContextCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CurrentContext", reflect.TypeOf((*MockCli)(nil).CurrentContext))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CurrentContext", reflect.TypeOf((*MockCli)(nil).CurrentContext))
|
||||||
return &CliCurrentContextCall{Call: call}
|
return &MockCliCurrentContextCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliCurrentContextCall wrap *gomock.Call
|
// MockCliCurrentContextCall wrap *gomock.Call
|
||||||
type CliCurrentContextCall struct {
|
type MockCliCurrentContextCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliCurrentContextCall) Return(arg0 string) *CliCurrentContextCall {
|
func (c *MockCliCurrentContextCall) Return(arg0 string) *MockCliCurrentContextCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliCurrentContextCall) Do(f func() string) *CliCurrentContextCall {
|
func (c *MockCliCurrentContextCall) Do(f func() string) *MockCliCurrentContextCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliCurrentContextCall) DoAndReturn(f func() string) *CliCurrentContextCall {
|
func (c *MockCliCurrentContextCall) DoAndReturn(f func() string) *MockCliCurrentContextCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -328,31 +328,31 @@ func (m *MockCli) CurrentVersion() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CurrentVersion indicates an expected call of CurrentVersion.
|
// CurrentVersion indicates an expected call of CurrentVersion.
|
||||||
func (mr *MockCliMockRecorder) CurrentVersion() *CliCurrentVersionCall {
|
func (mr *MockCliMockRecorder) CurrentVersion() *MockCliCurrentVersionCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CurrentVersion", reflect.TypeOf((*MockCli)(nil).CurrentVersion))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CurrentVersion", reflect.TypeOf((*MockCli)(nil).CurrentVersion))
|
||||||
return &CliCurrentVersionCall{Call: call}
|
return &MockCliCurrentVersionCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliCurrentVersionCall wrap *gomock.Call
|
// MockCliCurrentVersionCall wrap *gomock.Call
|
||||||
type CliCurrentVersionCall struct {
|
type MockCliCurrentVersionCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliCurrentVersionCall) Return(arg0 string) *CliCurrentVersionCall {
|
func (c *MockCliCurrentVersionCall) Return(arg0 string) *MockCliCurrentVersionCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliCurrentVersionCall) Do(f func() string) *CliCurrentVersionCall {
|
func (c *MockCliCurrentVersionCall) Do(f func() string) *MockCliCurrentVersionCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliCurrentVersionCall) DoAndReturn(f func() string) *CliCurrentVersionCall {
|
func (c *MockCliCurrentVersionCall) DoAndReturn(f func() string) *MockCliCurrentVersionCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -366,31 +366,31 @@ func (m *MockCli) DefaultVersion() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// DefaultVersion indicates an expected call of DefaultVersion.
|
// DefaultVersion indicates an expected call of DefaultVersion.
|
||||||
func (mr *MockCliMockRecorder) DefaultVersion() *CliDefaultVersionCall {
|
func (mr *MockCliMockRecorder) DefaultVersion() *MockCliDefaultVersionCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DefaultVersion", reflect.TypeOf((*MockCli)(nil).DefaultVersion))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DefaultVersion", reflect.TypeOf((*MockCli)(nil).DefaultVersion))
|
||||||
return &CliDefaultVersionCall{Call: call}
|
return &MockCliDefaultVersionCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliDefaultVersionCall wrap *gomock.Call
|
// MockCliDefaultVersionCall wrap *gomock.Call
|
||||||
type CliDefaultVersionCall struct {
|
type MockCliDefaultVersionCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliDefaultVersionCall) Return(arg0 string) *CliDefaultVersionCall {
|
func (c *MockCliDefaultVersionCall) Return(arg0 string) *MockCliDefaultVersionCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliDefaultVersionCall) Do(f func() string) *CliDefaultVersionCall {
|
func (c *MockCliDefaultVersionCall) Do(f func() string) *MockCliDefaultVersionCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliDefaultVersionCall) DoAndReturn(f func() string) *CliDefaultVersionCall {
|
func (c *MockCliDefaultVersionCall) DoAndReturn(f func() string) *MockCliDefaultVersionCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -404,69 +404,69 @@ func (m *MockCli) DockerEndpoint() docker.Endpoint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// DockerEndpoint indicates an expected call of DockerEndpoint.
|
// DockerEndpoint indicates an expected call of DockerEndpoint.
|
||||||
func (mr *MockCliMockRecorder) DockerEndpoint() *CliDockerEndpointCall {
|
func (mr *MockCliMockRecorder) DockerEndpoint() *MockCliDockerEndpointCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DockerEndpoint", reflect.TypeOf((*MockCli)(nil).DockerEndpoint))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DockerEndpoint", reflect.TypeOf((*MockCli)(nil).DockerEndpoint))
|
||||||
return &CliDockerEndpointCall{Call: call}
|
return &MockCliDockerEndpointCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliDockerEndpointCall wrap *gomock.Call
|
// MockCliDockerEndpointCall wrap *gomock.Call
|
||||||
type CliDockerEndpointCall struct {
|
type MockCliDockerEndpointCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliDockerEndpointCall) Return(arg0 docker.Endpoint) *CliDockerEndpointCall {
|
func (c *MockCliDockerEndpointCall) Return(arg0 docker.Endpoint) *MockCliDockerEndpointCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliDockerEndpointCall) Do(f func() docker.Endpoint) *CliDockerEndpointCall {
|
func (c *MockCliDockerEndpointCall) Do(f func() docker.Endpoint) *MockCliDockerEndpointCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliDockerEndpointCall) DoAndReturn(f func() docker.Endpoint) *CliDockerEndpointCall {
|
func (c *MockCliDockerEndpointCall) DoAndReturn(f func() docker.Endpoint) *MockCliDockerEndpointCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Err mocks base method.
|
// Err mocks base method.
|
||||||
func (m *MockCli) Err() io.Writer {
|
func (m *MockCli) Err() *streams.Out {
|
||||||
m.ctrl.T.Helper()
|
m.ctrl.T.Helper()
|
||||||
ret := m.ctrl.Call(m, "Err")
|
ret := m.ctrl.Call(m, "Err")
|
||||||
ret0, _ := ret[0].(io.Writer)
|
ret0, _ := ret[0].(*streams.Out)
|
||||||
return ret0
|
return ret0
|
||||||
}
|
}
|
||||||
|
|
||||||
// Err indicates an expected call of Err.
|
// Err indicates an expected call of Err.
|
||||||
func (mr *MockCliMockRecorder) Err() *CliErrCall {
|
func (mr *MockCliMockRecorder) Err() *MockCliErrCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Err", reflect.TypeOf((*MockCli)(nil).Err))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Err", reflect.TypeOf((*MockCli)(nil).Err))
|
||||||
return &CliErrCall{Call: call}
|
return &MockCliErrCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliErrCall wrap *gomock.Call
|
// MockCliErrCall wrap *gomock.Call
|
||||||
type CliErrCall struct {
|
type MockCliErrCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliErrCall) Return(arg0 io.Writer) *CliErrCall {
|
func (c *MockCliErrCall) Return(arg0 *streams.Out) *MockCliErrCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliErrCall) Do(f func() io.Writer) *CliErrCall {
|
func (c *MockCliErrCall) Do(f func() *streams.Out) *MockCliErrCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliErrCall) DoAndReturn(f func() io.Writer) *CliErrCall {
|
func (c *MockCliErrCall) DoAndReturn(f func() *streams.Out) *MockCliErrCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -480,108 +480,69 @@ func (m *MockCli) In() *streams.In {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// In indicates an expected call of In.
|
// In indicates an expected call of In.
|
||||||
func (mr *MockCliMockRecorder) In() *CliInCall {
|
func (mr *MockCliMockRecorder) In() *MockCliInCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "In", reflect.TypeOf((*MockCli)(nil).In))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "In", reflect.TypeOf((*MockCli)(nil).In))
|
||||||
return &CliInCall{Call: call}
|
return &MockCliInCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliInCall wrap *gomock.Call
|
// MockCliInCall wrap *gomock.Call
|
||||||
type CliInCall struct {
|
type MockCliInCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliInCall) Return(arg0 *streams.In) *CliInCall {
|
func (c *MockCliInCall) Return(arg0 *streams.In) *MockCliInCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliInCall) Do(f func() *streams.In) *CliInCall {
|
func (c *MockCliInCall) Do(f func() *streams.In) *MockCliInCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliInCall) DoAndReturn(f func() *streams.In) *CliInCall {
|
func (c *MockCliInCall) DoAndReturn(f func() *streams.In) *MockCliInCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// ManifestStore mocks base method.
|
// MeterProvider mocks base method.
|
||||||
func (m *MockCli) ManifestStore() store0.Store {
|
func (m *MockCli) MeterProvider() metric.MeterProvider {
|
||||||
m.ctrl.T.Helper()
|
m.ctrl.T.Helper()
|
||||||
ret := m.ctrl.Call(m, "ManifestStore")
|
ret := m.ctrl.Call(m, "MeterProvider")
|
||||||
ret0, _ := ret[0].(store0.Store)
|
ret0, _ := ret[0].(metric.MeterProvider)
|
||||||
return ret0
|
return ret0
|
||||||
}
|
}
|
||||||
|
|
||||||
// ManifestStore indicates an expected call of ManifestStore.
|
// MeterProvider indicates an expected call of MeterProvider.
|
||||||
func (mr *MockCliMockRecorder) ManifestStore() *CliManifestStoreCall {
|
func (mr *MockCliMockRecorder) MeterProvider() *MockCliMeterProviderCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ManifestStore", reflect.TypeOf((*MockCli)(nil).ManifestStore))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MeterProvider", reflect.TypeOf((*MockCli)(nil).MeterProvider))
|
||||||
return &CliManifestStoreCall{Call: call}
|
return &MockCliMeterProviderCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliManifestStoreCall wrap *gomock.Call
|
// MockCliMeterProviderCall wrap *gomock.Call
|
||||||
type CliManifestStoreCall struct {
|
type MockCliMeterProviderCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliManifestStoreCall) Return(arg0 store0.Store) *CliManifestStoreCall {
|
func (c *MockCliMeterProviderCall) Return(arg0 metric.MeterProvider) *MockCliMeterProviderCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliManifestStoreCall) Do(f func() store0.Store) *CliManifestStoreCall {
|
func (c *MockCliMeterProviderCall) Do(f func() metric.MeterProvider) *MockCliMeterProviderCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliManifestStoreCall) DoAndReturn(f func() store0.Store) *CliManifestStoreCall {
|
func (c *MockCliMeterProviderCall) DoAndReturn(f func() metric.MeterProvider) *MockCliMeterProviderCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
|
|
||||||
// NotaryClient mocks base method.
|
|
||||||
func (m *MockCli) NotaryClient(imgRefAndAuth trust.ImageRefAndAuth, actions []string) (client1.Repository, error) {
|
|
||||||
m.ctrl.T.Helper()
|
|
||||||
ret := m.ctrl.Call(m, "NotaryClient", imgRefAndAuth, actions)
|
|
||||||
ret0, _ := ret[0].(client1.Repository)
|
|
||||||
ret1, _ := ret[1].(error)
|
|
||||||
return ret0, ret1
|
|
||||||
}
|
|
||||||
|
|
||||||
// NotaryClient indicates an expected call of NotaryClient.
|
|
||||||
func (mr *MockCliMockRecorder) NotaryClient(imgRefAndAuth, actions any) *CliNotaryClientCall {
|
|
||||||
mr.mock.ctrl.T.Helper()
|
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NotaryClient", reflect.TypeOf((*MockCli)(nil).NotaryClient), imgRefAndAuth, actions)
|
|
||||||
return &CliNotaryClientCall{Call: call}
|
|
||||||
}
|
|
||||||
|
|
||||||
// CliNotaryClientCall wrap *gomock.Call
|
|
||||||
type CliNotaryClientCall struct {
|
|
||||||
*gomock.Call
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
|
||||||
func (c *CliNotaryClientCall) Return(arg0 client1.Repository, arg1 error) *CliNotaryClientCall {
|
|
||||||
c.Call = c.Call.Return(arg0, arg1)
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
|
||||||
func (c *CliNotaryClientCall) Do(f func(trust.ImageRefAndAuth, []string) (client1.Repository, error)) *CliNotaryClientCall {
|
|
||||||
c.Call = c.Call.Do(f)
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
|
||||||
func (c *CliNotaryClientCall) DoAndReturn(f func(trust.ImageRefAndAuth, []string) (client1.Repository, error)) *CliNotaryClientCall {
|
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -595,69 +556,69 @@ func (m *MockCli) Out() *streams.Out {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Out indicates an expected call of Out.
|
// Out indicates an expected call of Out.
|
||||||
func (mr *MockCliMockRecorder) Out() *CliOutCall {
|
func (mr *MockCliMockRecorder) Out() *MockCliOutCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Out", reflect.TypeOf((*MockCli)(nil).Out))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Out", reflect.TypeOf((*MockCli)(nil).Out))
|
||||||
return &CliOutCall{Call: call}
|
return &MockCliOutCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliOutCall wrap *gomock.Call
|
// MockCliOutCall wrap *gomock.Call
|
||||||
type CliOutCall struct {
|
type MockCliOutCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliOutCall) Return(arg0 *streams.Out) *CliOutCall {
|
func (c *MockCliOutCall) Return(arg0 *streams.Out) *MockCliOutCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliOutCall) Do(f func() *streams.Out) *CliOutCall {
|
func (c *MockCliOutCall) Do(f func() *streams.Out) *MockCliOutCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliOutCall) DoAndReturn(f func() *streams.Out) *CliOutCall {
|
func (c *MockCliOutCall) DoAndReturn(f func() *streams.Out) *MockCliOutCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// RegistryClient mocks base method.
|
// Resource mocks base method.
|
||||||
func (m *MockCli) RegistryClient(arg0 bool) client.RegistryClient {
|
func (m *MockCli) Resource() *resource.Resource {
|
||||||
m.ctrl.T.Helper()
|
m.ctrl.T.Helper()
|
||||||
ret := m.ctrl.Call(m, "RegistryClient", arg0)
|
ret := m.ctrl.Call(m, "Resource")
|
||||||
ret0, _ := ret[0].(client.RegistryClient)
|
ret0, _ := ret[0].(*resource.Resource)
|
||||||
return ret0
|
return ret0
|
||||||
}
|
}
|
||||||
|
|
||||||
// RegistryClient indicates an expected call of RegistryClient.
|
// Resource indicates an expected call of Resource.
|
||||||
func (mr *MockCliMockRecorder) RegistryClient(arg0 any) *CliRegistryClientCall {
|
func (mr *MockCliMockRecorder) Resource() *MockCliResourceCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegistryClient", reflect.TypeOf((*MockCli)(nil).RegistryClient), arg0)
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Resource", reflect.TypeOf((*MockCli)(nil).Resource))
|
||||||
return &CliRegistryClientCall{Call: call}
|
return &MockCliResourceCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliRegistryClientCall wrap *gomock.Call
|
// MockCliResourceCall wrap *gomock.Call
|
||||||
type CliRegistryClientCall struct {
|
type MockCliResourceCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliRegistryClientCall) Return(arg0 client.RegistryClient) *CliRegistryClientCall {
|
func (c *MockCliResourceCall) Return(arg0 *resource.Resource) *MockCliResourceCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliRegistryClientCall) Do(f func(bool) client.RegistryClient) *CliRegistryClientCall {
|
func (c *MockCliResourceCall) Do(f func() *resource.Resource) *MockCliResourceCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliRegistryClientCall) DoAndReturn(f func(bool) client.RegistryClient) *CliRegistryClientCall {
|
func (c *MockCliResourceCall) DoAndReturn(f func() *resource.Resource) *MockCliResourceCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -671,31 +632,31 @@ func (m *MockCli) ServerInfo() command.ServerInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ServerInfo indicates an expected call of ServerInfo.
|
// ServerInfo indicates an expected call of ServerInfo.
|
||||||
func (mr *MockCliMockRecorder) ServerInfo() *CliServerInfoCall {
|
func (mr *MockCliMockRecorder) ServerInfo() *MockCliServerInfoCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ServerInfo", reflect.TypeOf((*MockCli)(nil).ServerInfo))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ServerInfo", reflect.TypeOf((*MockCli)(nil).ServerInfo))
|
||||||
return &CliServerInfoCall{Call: call}
|
return &MockCliServerInfoCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliServerInfoCall wrap *gomock.Call
|
// MockCliServerInfoCall wrap *gomock.Call
|
||||||
type CliServerInfoCall struct {
|
type MockCliServerInfoCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliServerInfoCall) Return(arg0 command.ServerInfo) *CliServerInfoCall {
|
func (c *MockCliServerInfoCall) Return(arg0 command.ServerInfo) *MockCliServerInfoCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliServerInfoCall) Do(f func() command.ServerInfo) *CliServerInfoCall {
|
func (c *MockCliServerInfoCall) Do(f func() command.ServerInfo) *MockCliServerInfoCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliServerInfoCall) DoAndReturn(f func() command.ServerInfo) *CliServerInfoCall {
|
func (c *MockCliServerInfoCall) DoAndReturn(f func() command.ServerInfo) *MockCliServerInfoCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -707,31 +668,69 @@ func (m *MockCli) SetIn(in *streams.In) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// SetIn indicates an expected call of SetIn.
|
// SetIn indicates an expected call of SetIn.
|
||||||
func (mr *MockCliMockRecorder) SetIn(in any) *CliSetInCall {
|
func (mr *MockCliMockRecorder) SetIn(in any) *MockCliSetInCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetIn", reflect.TypeOf((*MockCli)(nil).SetIn), in)
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetIn", reflect.TypeOf((*MockCli)(nil).SetIn), in)
|
||||||
return &CliSetInCall{Call: call}
|
return &MockCliSetInCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CliSetInCall wrap *gomock.Call
|
// MockCliSetInCall wrap *gomock.Call
|
||||||
type CliSetInCall struct {
|
type MockCliSetInCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *CliSetInCall) Return() *CliSetInCall {
|
func (c *MockCliSetInCall) Return() *MockCliSetInCall {
|
||||||
c.Call = c.Call.Return()
|
c.Call = c.Call.Return()
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *CliSetInCall) Do(f func(*streams.In)) *CliSetInCall {
|
func (c *MockCliSetInCall) Do(f func(*streams.In)) *MockCliSetInCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *CliSetInCall) DoAndReturn(f func(*streams.In)) *CliSetInCall {
|
func (c *MockCliSetInCall) DoAndReturn(f func(*streams.In)) *MockCliSetInCall {
|
||||||
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
|
||||||
|
// TracerProvider mocks base method.
|
||||||
|
func (m *MockCli) TracerProvider() trace.TracerProvider {
|
||||||
|
m.ctrl.T.Helper()
|
||||||
|
ret := m.ctrl.Call(m, "TracerProvider")
|
||||||
|
ret0, _ := ret[0].(trace.TracerProvider)
|
||||||
|
return ret0
|
||||||
|
}
|
||||||
|
|
||||||
|
// TracerProvider indicates an expected call of TracerProvider.
|
||||||
|
func (mr *MockCliMockRecorder) TracerProvider() *MockCliTracerProviderCall {
|
||||||
|
mr.mock.ctrl.T.Helper()
|
||||||
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TracerProvider", reflect.TypeOf((*MockCli)(nil).TracerProvider))
|
||||||
|
return &MockCliTracerProviderCall{Call: call}
|
||||||
|
}
|
||||||
|
|
||||||
|
// MockCliTracerProviderCall wrap *gomock.Call
|
||||||
|
type MockCliTracerProviderCall struct {
|
||||||
|
*gomock.Call
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return rewrite *gomock.Call.Return
|
||||||
|
func (c *MockCliTracerProviderCall) Return(arg0 trace.TracerProvider) *MockCliTracerProviderCall {
|
||||||
|
c.Call = c.Call.Return(arg0)
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do rewrite *gomock.Call.Do
|
||||||
|
func (c *MockCliTracerProviderCall) Do(f func() trace.TracerProvider) *MockCliTracerProviderCall {
|
||||||
|
c.Call = c.Call.Do(f)
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
|
||||||
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
|
func (c *MockCliTracerProviderCall) DoAndReturn(f func() trace.TracerProvider) *MockCliTracerProviderCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|||||||
265
provider/internal/mockclient_test.go
generated
265
provider/internal/mockclient_test.go
generated
@@ -3,8 +3,9 @@
|
|||||||
//
|
//
|
||||||
// Generated by this command:
|
// Generated by this command:
|
||||||
//
|
//
|
||||||
// mockgen -typed -package internal -source client.go -destination mockclient_test.go --self_package github.com/pulumi/pulumi-docker-build/provider/internal
|
// mockgen -typed -package internal -source client.go -destination mockclient_test.go --self_package github.com/pulumi/pulumi-docker-build/provider/internal -imports buildx=github.com/docker/buildx/build
|
||||||
//
|
//
|
||||||
|
|
||||||
// Package internal is a generated GoMock package.
|
// Package internal is a generated GoMock package.
|
||||||
package internal
|
package internal
|
||||||
|
|
||||||
@@ -12,7 +13,12 @@ import (
|
|||||||
context "context"
|
context "context"
|
||||||
reflect "reflect"
|
reflect "reflect"
|
||||||
|
|
||||||
|
buildx "github.com/docker/buildx/build"
|
||||||
|
builder "github.com/docker/buildx/builder"
|
||||||
pb "github.com/docker/buildx/controller/pb"
|
pb "github.com/docker/buildx/controller/pb"
|
||||||
|
confutil "github.com/docker/buildx/util/confutil"
|
||||||
|
dockerutil "github.com/docker/buildx/util/dockerutil"
|
||||||
|
progress "github.com/docker/buildx/util/progress"
|
||||||
client "github.com/moby/buildkit/client"
|
client "github.com/moby/buildkit/client"
|
||||||
session "github.com/moby/buildkit/session"
|
session "github.com/moby/buildkit/session"
|
||||||
descriptor "github.com/regclient/regclient/types/descriptor"
|
descriptor "github.com/regclient/regclient/types/descriptor"
|
||||||
@@ -23,6 +29,7 @@ import (
|
|||||||
type MockClient struct {
|
type MockClient struct {
|
||||||
ctrl *gomock.Controller
|
ctrl *gomock.Controller
|
||||||
recorder *MockClientMockRecorder
|
recorder *MockClientMockRecorder
|
||||||
|
isgomock struct{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// MockClientMockRecorder is the mock recorder for MockClient.
|
// MockClientMockRecorder is the mock recorder for MockClient.
|
||||||
@@ -52,31 +59,31 @@ func (m *MockClient) Build(ctx context.Context, b Build) (*client.SolveResponse,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Build indicates an expected call of Build.
|
// Build indicates an expected call of Build.
|
||||||
func (mr *MockClientMockRecorder) Build(ctx, b any) *ClientBuildCall {
|
func (mr *MockClientMockRecorder) Build(ctx, b any) *MockClientBuildCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Build", reflect.TypeOf((*MockClient)(nil).Build), ctx, b)
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Build", reflect.TypeOf((*MockClient)(nil).Build), ctx, b)
|
||||||
return &ClientBuildCall{Call: call}
|
return &MockClientBuildCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ClientBuildCall wrap *gomock.Call
|
// MockClientBuildCall wrap *gomock.Call
|
||||||
type ClientBuildCall struct {
|
type MockClientBuildCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *ClientBuildCall) Return(arg0 *client.SolveResponse, arg1 error) *ClientBuildCall {
|
func (c *MockClientBuildCall) Return(arg0 *client.SolveResponse, arg1 error) *MockClientBuildCall {
|
||||||
c.Call = c.Call.Return(arg0, arg1)
|
c.Call = c.Call.Return(arg0, arg1)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *ClientBuildCall) Do(f func(context.Context, Build) (*client.SolveResponse, error)) *ClientBuildCall {
|
func (c *MockClientBuildCall) Do(f func(context.Context, Build) (*client.SolveResponse, error)) *MockClientBuildCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *ClientBuildCall) DoAndReturn(f func(context.Context, Build) (*client.SolveResponse, error)) *ClientBuildCall {
|
func (c *MockClientBuildCall) DoAndReturn(f func(context.Context, Build) (*client.SolveResponse, error)) *MockClientBuildCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -91,31 +98,31 @@ func (m *MockClient) BuildKitEnabled() (bool, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// BuildKitEnabled indicates an expected call of BuildKitEnabled.
|
// BuildKitEnabled indicates an expected call of BuildKitEnabled.
|
||||||
func (mr *MockClientMockRecorder) BuildKitEnabled() *ClientBuildKitEnabledCall {
|
func (mr *MockClientMockRecorder) BuildKitEnabled() *MockClientBuildKitEnabledCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuildKitEnabled", reflect.TypeOf((*MockClient)(nil).BuildKitEnabled))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuildKitEnabled", reflect.TypeOf((*MockClient)(nil).BuildKitEnabled))
|
||||||
return &ClientBuildKitEnabledCall{Call: call}
|
return &MockClientBuildKitEnabledCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ClientBuildKitEnabledCall wrap *gomock.Call
|
// MockClientBuildKitEnabledCall wrap *gomock.Call
|
||||||
type ClientBuildKitEnabledCall struct {
|
type MockClientBuildKitEnabledCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *ClientBuildKitEnabledCall) Return(arg0 bool, arg1 error) *ClientBuildKitEnabledCall {
|
func (c *MockClientBuildKitEnabledCall) Return(arg0 bool, arg1 error) *MockClientBuildKitEnabledCall {
|
||||||
c.Call = c.Call.Return(arg0, arg1)
|
c.Call = c.Call.Return(arg0, arg1)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *ClientBuildKitEnabledCall) Do(f func() (bool, error)) *ClientBuildKitEnabledCall {
|
func (c *MockClientBuildKitEnabledCall) Do(f func() (bool, error)) *MockClientBuildKitEnabledCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *ClientBuildKitEnabledCall) DoAndReturn(f func() (bool, error)) *ClientBuildKitEnabledCall {
|
func (c *MockClientBuildKitEnabledCall) DoAndReturn(f func() (bool, error)) *MockClientBuildKitEnabledCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -129,31 +136,31 @@ func (m *MockClient) Delete(ctx context.Context, id string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Delete indicates an expected call of Delete.
|
// Delete indicates an expected call of Delete.
|
||||||
func (mr *MockClientMockRecorder) Delete(ctx, id any) *ClientDeleteCall {
|
func (mr *MockClientMockRecorder) Delete(ctx, id any) *MockClientDeleteCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockClient)(nil).Delete), ctx, id)
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockClient)(nil).Delete), ctx, id)
|
||||||
return &ClientDeleteCall{Call: call}
|
return &MockClientDeleteCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ClientDeleteCall wrap *gomock.Call
|
// MockClientDeleteCall wrap *gomock.Call
|
||||||
type ClientDeleteCall struct {
|
type MockClientDeleteCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *ClientDeleteCall) Return(arg0 error) *ClientDeleteCall {
|
func (c *MockClientDeleteCall) Return(arg0 error) *MockClientDeleteCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *ClientDeleteCall) Do(f func(context.Context, string) error) *ClientDeleteCall {
|
func (c *MockClientDeleteCall) Do(f func(context.Context, string) error) *MockClientDeleteCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *ClientDeleteCall) DoAndReturn(f func(context.Context, string) error) *ClientDeleteCall {
|
func (c *MockClientDeleteCall) DoAndReturn(f func(context.Context, string) error) *MockClientDeleteCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -168,31 +175,31 @@ func (m *MockClient) Inspect(ctx context.Context, id string) ([]descriptor.Descr
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Inspect indicates an expected call of Inspect.
|
// Inspect indicates an expected call of Inspect.
|
||||||
func (mr *MockClientMockRecorder) Inspect(ctx, id any) *ClientInspectCall {
|
func (mr *MockClientMockRecorder) Inspect(ctx, id any) *MockClientInspectCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Inspect", reflect.TypeOf((*MockClient)(nil).Inspect), ctx, id)
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Inspect", reflect.TypeOf((*MockClient)(nil).Inspect), ctx, id)
|
||||||
return &ClientInspectCall{Call: call}
|
return &MockClientInspectCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ClientInspectCall wrap *gomock.Call
|
// MockClientInspectCall wrap *gomock.Call
|
||||||
type ClientInspectCall struct {
|
type MockClientInspectCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *ClientInspectCall) Return(arg0 []descriptor.Descriptor, arg1 error) *ClientInspectCall {
|
func (c *MockClientInspectCall) Return(arg0 []descriptor.Descriptor, arg1 error) *MockClientInspectCall {
|
||||||
c.Call = c.Call.Return(arg0, arg1)
|
c.Call = c.Call.Return(arg0, arg1)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *ClientInspectCall) Do(f func(context.Context, string) ([]descriptor.Descriptor, error)) *ClientInspectCall {
|
func (c *MockClientInspectCall) Do(f func(context.Context, string) ([]descriptor.Descriptor, error)) *MockClientInspectCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *ClientInspectCall) DoAndReturn(f func(context.Context, string) ([]descriptor.Descriptor, error)) *ClientInspectCall {
|
func (c *MockClientInspectCall) DoAndReturn(f func(context.Context, string) ([]descriptor.Descriptor, error)) *MockClientInspectCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -210,32 +217,32 @@ func (m *MockClient) ManifestCreate(ctx context.Context, push bool, target strin
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ManifestCreate indicates an expected call of ManifestCreate.
|
// ManifestCreate indicates an expected call of ManifestCreate.
|
||||||
func (mr *MockClientMockRecorder) ManifestCreate(ctx, push, target any, refs ...any) *ClientManifestCreateCall {
|
func (mr *MockClientMockRecorder) ManifestCreate(ctx, push, target any, refs ...any) *MockClientManifestCreateCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
varargs := append([]any{ctx, push, target}, refs...)
|
varargs := append([]any{ctx, push, target}, refs...)
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ManifestCreate", reflect.TypeOf((*MockClient)(nil).ManifestCreate), varargs...)
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ManifestCreate", reflect.TypeOf((*MockClient)(nil).ManifestCreate), varargs...)
|
||||||
return &ClientManifestCreateCall{Call: call}
|
return &MockClientManifestCreateCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ClientManifestCreateCall wrap *gomock.Call
|
// MockClientManifestCreateCall wrap *gomock.Call
|
||||||
type ClientManifestCreateCall struct {
|
type MockClientManifestCreateCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *ClientManifestCreateCall) Return(arg0 error) *ClientManifestCreateCall {
|
func (c *MockClientManifestCreateCall) Return(arg0 error) *MockClientManifestCreateCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *ClientManifestCreateCall) Do(f func(context.Context, bool, string, ...string) error) *ClientManifestCreateCall {
|
func (c *MockClientManifestCreateCall) Do(f func(context.Context, bool, string, ...string) error) *MockClientManifestCreateCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *ClientManifestCreateCall) DoAndReturn(f func(context.Context, bool, string, ...string) error) *ClientManifestCreateCall {
|
func (c *MockClientManifestCreateCall) DoAndReturn(f func(context.Context, bool, string, ...string) error) *MockClientManifestCreateCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -249,31 +256,31 @@ func (m *MockClient) ManifestDelete(ctx context.Context, target string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ManifestDelete indicates an expected call of ManifestDelete.
|
// ManifestDelete indicates an expected call of ManifestDelete.
|
||||||
func (mr *MockClientMockRecorder) ManifestDelete(ctx, target any) *ClientManifestDeleteCall {
|
func (mr *MockClientMockRecorder) ManifestDelete(ctx, target any) *MockClientManifestDeleteCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ManifestDelete", reflect.TypeOf((*MockClient)(nil).ManifestDelete), ctx, target)
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ManifestDelete", reflect.TypeOf((*MockClient)(nil).ManifestDelete), ctx, target)
|
||||||
return &ClientManifestDeleteCall{Call: call}
|
return &MockClientManifestDeleteCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ClientManifestDeleteCall wrap *gomock.Call
|
// MockClientManifestDeleteCall wrap *gomock.Call
|
||||||
type ClientManifestDeleteCall struct {
|
type MockClientManifestDeleteCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *ClientManifestDeleteCall) Return(arg0 error) *ClientManifestDeleteCall {
|
func (c *MockClientManifestDeleteCall) Return(arg0 error) *MockClientManifestDeleteCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *ClientManifestDeleteCall) Do(f func(context.Context, string) error) *ClientManifestDeleteCall {
|
func (c *MockClientManifestDeleteCall) Do(f func(context.Context, string) error) *MockClientManifestDeleteCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *ClientManifestDeleteCall) DoAndReturn(f func(context.Context, string) error) *ClientManifestDeleteCall {
|
func (c *MockClientManifestDeleteCall) DoAndReturn(f func(context.Context, string) error) *MockClientManifestDeleteCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -288,31 +295,69 @@ func (m *MockClient) ManifestInspect(ctx context.Context, target string) (string
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ManifestInspect indicates an expected call of ManifestInspect.
|
// ManifestInspect indicates an expected call of ManifestInspect.
|
||||||
func (mr *MockClientMockRecorder) ManifestInspect(ctx, target any) *ClientManifestInspectCall {
|
func (mr *MockClientMockRecorder) ManifestInspect(ctx, target any) *MockClientManifestInspectCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ManifestInspect", reflect.TypeOf((*MockClient)(nil).ManifestInspect), ctx, target)
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ManifestInspect", reflect.TypeOf((*MockClient)(nil).ManifestInspect), ctx, target)
|
||||||
return &ClientManifestInspectCall{Call: call}
|
return &MockClientManifestInspectCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ClientManifestInspectCall wrap *gomock.Call
|
// MockClientManifestInspectCall wrap *gomock.Call
|
||||||
type ClientManifestInspectCall struct {
|
type MockClientManifestInspectCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *ClientManifestInspectCall) Return(arg0 string, arg1 error) *ClientManifestInspectCall {
|
func (c *MockClientManifestInspectCall) Return(arg0 string, arg1 error) *MockClientManifestInspectCall {
|
||||||
c.Call = c.Call.Return(arg0, arg1)
|
c.Call = c.Call.Return(arg0, arg1)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *ClientManifestInspectCall) Do(f func(context.Context, string) (string, error)) *ClientManifestInspectCall {
|
func (c *MockClientManifestInspectCall) Do(f func(context.Context, string) (string, error)) *MockClientManifestInspectCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *ClientManifestInspectCall) DoAndReturn(f func(context.Context, string) (string, error)) *ClientManifestInspectCall {
|
func (c *MockClientManifestInspectCall) DoAndReturn(f func(context.Context, string) (string, error)) *MockClientManifestInspectCall {
|
||||||
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
|
||||||
|
// SupportsMultipleExports mocks base method.
|
||||||
|
func (m *MockClient) SupportsMultipleExports() bool {
|
||||||
|
m.ctrl.T.Helper()
|
||||||
|
ret := m.ctrl.Call(m, "SupportsMultipleExports")
|
||||||
|
ret0, _ := ret[0].(bool)
|
||||||
|
return ret0
|
||||||
|
}
|
||||||
|
|
||||||
|
// SupportsMultipleExports indicates an expected call of SupportsMultipleExports.
|
||||||
|
func (mr *MockClientMockRecorder) SupportsMultipleExports() *MockClientSupportsMultipleExportsCall {
|
||||||
|
mr.mock.ctrl.T.Helper()
|
||||||
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SupportsMultipleExports", reflect.TypeOf((*MockClient)(nil).SupportsMultipleExports))
|
||||||
|
return &MockClientSupportsMultipleExportsCall{Call: call}
|
||||||
|
}
|
||||||
|
|
||||||
|
// MockClientSupportsMultipleExportsCall wrap *gomock.Call
|
||||||
|
type MockClientSupportsMultipleExportsCall struct {
|
||||||
|
*gomock.Call
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return rewrite *gomock.Call.Return
|
||||||
|
func (c *MockClientSupportsMultipleExportsCall) Return(arg0 bool) *MockClientSupportsMultipleExportsCall {
|
||||||
|
c.Call = c.Call.Return(arg0)
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do rewrite *gomock.Call.Do
|
||||||
|
func (c *MockClientSupportsMultipleExportsCall) Do(f func() bool) *MockClientSupportsMultipleExportsCall {
|
||||||
|
c.Call = c.Call.Do(f)
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
|
||||||
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
|
func (c *MockClientSupportsMultipleExportsCall) DoAndReturn(f func() bool) *MockClientSupportsMultipleExportsCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -321,6 +366,7 @@ func (c *ClientManifestInspectCall) DoAndReturn(f func(context.Context, string)
|
|||||||
type MockBuild struct {
|
type MockBuild struct {
|
||||||
ctrl *gomock.Controller
|
ctrl *gomock.Controller
|
||||||
recorder *MockBuildMockRecorder
|
recorder *MockBuildMockRecorder
|
||||||
|
isgomock struct{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// MockBuildMockRecorder is the mock recorder for MockBuild.
|
// MockBuildMockRecorder is the mock recorder for MockBuild.
|
||||||
@@ -349,31 +395,31 @@ func (m *MockBuild) BuildOptions() pb.BuildOptions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// BuildOptions indicates an expected call of BuildOptions.
|
// BuildOptions indicates an expected call of BuildOptions.
|
||||||
func (mr *MockBuildMockRecorder) BuildOptions() *BuildBuildOptionsCall {
|
func (mr *MockBuildMockRecorder) BuildOptions() *MockBuildBuildOptionsCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuildOptions", reflect.TypeOf((*MockBuild)(nil).BuildOptions))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuildOptions", reflect.TypeOf((*MockBuild)(nil).BuildOptions))
|
||||||
return &BuildBuildOptionsCall{Call: call}
|
return &MockBuildBuildOptionsCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// BuildBuildOptionsCall wrap *gomock.Call
|
// MockBuildBuildOptionsCall wrap *gomock.Call
|
||||||
type BuildBuildOptionsCall struct {
|
type MockBuildBuildOptionsCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *BuildBuildOptionsCall) Return(arg0 pb.BuildOptions) *BuildBuildOptionsCall {
|
func (c *MockBuildBuildOptionsCall) Return(arg0 pb.BuildOptions) *MockBuildBuildOptionsCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *BuildBuildOptionsCall) Do(f func() pb.BuildOptions) *BuildBuildOptionsCall {
|
func (c *MockBuildBuildOptionsCall) Do(f func() pb.BuildOptions) *MockBuildBuildOptionsCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *BuildBuildOptionsCall) DoAndReturn(f func() pb.BuildOptions) *BuildBuildOptionsCall {
|
func (c *MockBuildBuildOptionsCall) DoAndReturn(f func() pb.BuildOptions) *MockBuildBuildOptionsCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -387,31 +433,31 @@ func (m *MockBuild) Inline() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Inline indicates an expected call of Inline.
|
// Inline indicates an expected call of Inline.
|
||||||
func (mr *MockBuildMockRecorder) Inline() *BuildInlineCall {
|
func (mr *MockBuildMockRecorder) Inline() *MockBuildInlineCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Inline", reflect.TypeOf((*MockBuild)(nil).Inline))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Inline", reflect.TypeOf((*MockBuild)(nil).Inline))
|
||||||
return &BuildInlineCall{Call: call}
|
return &MockBuildInlineCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// BuildInlineCall wrap *gomock.Call
|
// MockBuildInlineCall wrap *gomock.Call
|
||||||
type BuildInlineCall struct {
|
type MockBuildInlineCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *BuildInlineCall) Return(arg0 string) *BuildInlineCall {
|
func (c *MockBuildInlineCall) Return(arg0 string) *MockBuildInlineCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *BuildInlineCall) Do(f func() string) *BuildInlineCall {
|
func (c *MockBuildInlineCall) Do(f func() string) *MockBuildInlineCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *BuildInlineCall) DoAndReturn(f func() string) *BuildInlineCall {
|
func (c *MockBuildInlineCall) DoAndReturn(f func() string) *MockBuildInlineCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -425,31 +471,31 @@ func (m *MockBuild) Secrets() session.Attachable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Secrets indicates an expected call of Secrets.
|
// Secrets indicates an expected call of Secrets.
|
||||||
func (mr *MockBuildMockRecorder) Secrets() *BuildSecretsCall {
|
func (mr *MockBuildMockRecorder) Secrets() *MockBuildSecretsCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Secrets", reflect.TypeOf((*MockBuild)(nil).Secrets))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Secrets", reflect.TypeOf((*MockBuild)(nil).Secrets))
|
||||||
return &BuildSecretsCall{Call: call}
|
return &MockBuildSecretsCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// BuildSecretsCall wrap *gomock.Call
|
// MockBuildSecretsCall wrap *gomock.Call
|
||||||
type BuildSecretsCall struct {
|
type MockBuildSecretsCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *BuildSecretsCall) Return(arg0 session.Attachable) *BuildSecretsCall {
|
func (c *MockBuildSecretsCall) Return(arg0 session.Attachable) *MockBuildSecretsCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *BuildSecretsCall) Do(f func() session.Attachable) *BuildSecretsCall {
|
func (c *MockBuildSecretsCall) Do(f func() session.Attachable) *MockBuildSecretsCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *BuildSecretsCall) DoAndReturn(f func() session.Attachable) *BuildSecretsCall {
|
func (c *MockBuildSecretsCall) DoAndReturn(f func() session.Attachable) *MockBuildSecretsCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@@ -463,31 +509,94 @@ func (m *MockBuild) ShouldExec() bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ShouldExec indicates an expected call of ShouldExec.
|
// ShouldExec indicates an expected call of ShouldExec.
|
||||||
func (mr *MockBuildMockRecorder) ShouldExec() *BuildShouldExecCall {
|
func (mr *MockBuildMockRecorder) ShouldExec() *MockBuildShouldExecCall {
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ShouldExec", reflect.TypeOf((*MockBuild)(nil).ShouldExec))
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ShouldExec", reflect.TypeOf((*MockBuild)(nil).ShouldExec))
|
||||||
return &BuildShouldExecCall{Call: call}
|
return &MockBuildShouldExecCall{Call: call}
|
||||||
}
|
}
|
||||||
|
|
||||||
// BuildShouldExecCall wrap *gomock.Call
|
// MockBuildShouldExecCall wrap *gomock.Call
|
||||||
type BuildShouldExecCall struct {
|
type MockBuildShouldExecCall struct {
|
||||||
*gomock.Call
|
*gomock.Call
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return rewrite *gomock.Call.Return
|
// Return rewrite *gomock.Call.Return
|
||||||
func (c *BuildShouldExecCall) Return(arg0 bool) *BuildShouldExecCall {
|
func (c *MockBuildShouldExecCall) Return(arg0 bool) *MockBuildShouldExecCall {
|
||||||
c.Call = c.Call.Return(arg0)
|
c.Call = c.Call.Return(arg0)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do rewrite *gomock.Call.Do
|
// Do rewrite *gomock.Call.Do
|
||||||
func (c *BuildShouldExecCall) Do(f func() bool) *BuildShouldExecCall {
|
func (c *MockBuildShouldExecCall) Do(f func() bool) *MockBuildShouldExecCall {
|
||||||
c.Call = c.Call.Do(f)
|
c.Call = c.Call.Do(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
func (c *BuildShouldExecCall) DoAndReturn(f func() bool) *BuildShouldExecCall {
|
func (c *MockBuildShouldExecCall) DoAndReturn(f func() bool) *MockBuildShouldExecCall {
|
||||||
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
|
||||||
|
// MockBuilder is a mock of Builder interface.
|
||||||
|
type MockBuilder struct {
|
||||||
|
ctrl *gomock.Controller
|
||||||
|
recorder *MockBuilderMockRecorder
|
||||||
|
isgomock struct{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// MockBuilderMockRecorder is the mock recorder for MockBuilder.
|
||||||
|
type MockBuilderMockRecorder struct {
|
||||||
|
mock *MockBuilder
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewMockBuilder creates a new mock instance.
|
||||||
|
func NewMockBuilder(ctrl *gomock.Controller) *MockBuilder {
|
||||||
|
mock := &MockBuilder{ctrl: ctrl}
|
||||||
|
mock.recorder = &MockBuilderMockRecorder{mock}
|
||||||
|
return mock
|
||||||
|
}
|
||||||
|
|
||||||
|
// EXPECT returns an object that allows the caller to indicate expected use.
|
||||||
|
func (m *MockBuilder) EXPECT() *MockBuilderMockRecorder {
|
||||||
|
return m.recorder
|
||||||
|
}
|
||||||
|
|
||||||
|
// Build mocks base method.
|
||||||
|
func (m *MockBuilder) Build(ctx context.Context, nodes []builder.Node, opts map[string]buildx.Options, docker *dockerutil.Client, cfg *confutil.Config, w progress.Writer) (map[string]*client.SolveResponse, error) {
|
||||||
|
m.ctrl.T.Helper()
|
||||||
|
ret := m.ctrl.Call(m, "Build", ctx, nodes, opts, docker, cfg, w)
|
||||||
|
ret0, _ := ret[0].(map[string]*client.SolveResponse)
|
||||||
|
ret1, _ := ret[1].(error)
|
||||||
|
return ret0, ret1
|
||||||
|
}
|
||||||
|
|
||||||
|
// Build indicates an expected call of Build.
|
||||||
|
func (mr *MockBuilderMockRecorder) Build(ctx, nodes, opts, docker, cfg, w any) *MockBuilderBuildCall {
|
||||||
|
mr.mock.ctrl.T.Helper()
|
||||||
|
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Build", reflect.TypeOf((*MockBuilder)(nil).Build), ctx, nodes, opts, docker, cfg, w)
|
||||||
|
return &MockBuilderBuildCall{Call: call}
|
||||||
|
}
|
||||||
|
|
||||||
|
// MockBuilderBuildCall wrap *gomock.Call
|
||||||
|
type MockBuilderBuildCall struct {
|
||||||
|
*gomock.Call
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return rewrite *gomock.Call.Return
|
||||||
|
func (c *MockBuilderBuildCall) Return(resp map[string]*client.SolveResponse, err error) *MockBuilderBuildCall {
|
||||||
|
c.Call = c.Call.Return(resp, err)
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do rewrite *gomock.Call.Do
|
||||||
|
func (c *MockBuilderBuildCall) Do(f func(context.Context, []builder.Node, map[string]buildx.Options, *dockerutil.Client, *confutil.Config, progress.Writer) (map[string]*client.SolveResponse, error)) *MockBuilderBuildCall {
|
||||||
|
c.Call = c.Call.Do(f)
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
|
||||||
|
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||||
|
func (c *MockBuilderBuildCall) DoAndReturn(f func(context.Context, []builder.Node, map[string]buildx.Options, *dockerutil.Client, *confutil.Config, progress.Writer) (map[string]*client.SolveResponse, error)) *MockBuilderBuildCall {
|
||||||
c.Call = c.Call.DoAndReturn(f)
|
c.Call = c.Call.DoAndReturn(f)
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,9 +22,12 @@ var _ = (infer.Enum[NetworkMode])((*NetworkMode)(nil))
|
|||||||
type NetworkMode string
|
type NetworkMode string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
Default NetworkMode = "default" // Default network mode.
|
// Default network mode.
|
||||||
Host NetworkMode = "host" // Host network mode.
|
Default NetworkMode = "default"
|
||||||
None NetworkMode = "none" // None or no network mode.
|
// Host network mode.
|
||||||
|
Host NetworkMode = "host"
|
||||||
|
// None or no network mode.
|
||||||
|
None NetworkMode = "none"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Values returns all valid NetworkMode values for SDK generation.
|
// Values returns all valid NetworkMode values for SDK generation.
|
||||||
|
|||||||
@@ -45,9 +45,6 @@ type Config struct {
|
|||||||
host *host
|
host *host
|
||||||
}
|
}
|
||||||
|
|
||||||
// _mockClientKey is used by tests to inject a mock Docker client.
|
|
||||||
var _mockClientKey struct{}
|
|
||||||
|
|
||||||
// Annotate provides user-facing descriptions and defaults for Config's fields.
|
// Annotate provides user-facing descriptions and defaults for Config's fields.
|
||||||
func (c *Config) Annotate(a infer.Annotator) {
|
func (c *Config) Annotate(a infer.Annotator) {
|
||||||
a.Describe(&c.Host, "The build daemon's address.")
|
a.Describe(&c.Host, "The build daemon's address.")
|
||||||
@@ -55,8 +52,8 @@ func (c *Config) Annotate(a infer.Annotator) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Configure validates and processes user-provided configuration values.
|
// Configure validates and processes user-provided configuration values.
|
||||||
func (c *Config) Configure(_ context.Context) error {
|
func (c *Config) Configure(ctx context.Context) error {
|
||||||
h, err := newHost(c)
|
h, err := newHost(ctx, c)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("getting host: %w", err)
|
return fmt.Errorf("getting host: %w", err)
|
||||||
}
|
}
|
||||||
@@ -64,28 +61,45 @@ func (c *Config) Configure(_ context.Context) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetRegistries returns the config's registries, if any.
|
||||||
|
func (c Config) GetRegistries() []Registry {
|
||||||
|
return c.Registries
|
||||||
|
}
|
||||||
|
|
||||||
|
// getHost returns the config's host, or nil if the config is also nil.
|
||||||
|
func (c *Config) getHost() *host {
|
||||||
|
if c == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return c.host
|
||||||
|
}
|
||||||
|
|
||||||
// NewBuildxProvider returns a new buildx provider.
|
// NewBuildxProvider returns a new buildx provider.
|
||||||
func NewBuildxProvider() provider.Provider {
|
func NewBuildxProvider(clientF clientF) provider.Provider {
|
||||||
return infer.Provider(
|
config := &Config{}
|
||||||
|
|
||||||
|
prov := infer.Provider(
|
||||||
infer.Options{
|
infer.Options{
|
||||||
Metadata: pschema.Metadata{
|
Metadata: pschema.Metadata{
|
||||||
DisplayName: "docker-build",
|
DisplayName: "docker-build",
|
||||||
Keywords: []string{"docker", "buildkit", "buildx", "kind/native"},
|
Keywords: []string{"docker", "buildkit", "buildx", "kind/native"},
|
||||||
Description: "A Pulumi provider for building modern Docker images with buildx and BuildKit.",
|
Description: "A Pulumi provider for building modern Docker images with buildx and BuildKit.",
|
||||||
Homepage: "https://pulumi.com",
|
Homepage: "https://pulumi.com",
|
||||||
Publisher: "pulumi",
|
Publisher: "Pulumi",
|
||||||
License: "Apache-2.0",
|
License: "Apache-2.0",
|
||||||
Repository: "https://github.com/pulumi/pulumi-docker-build",
|
Repository: "https://github.com/pulumi/pulumi-docker-build",
|
||||||
LanguageMap: map[string]any{
|
LanguageMap: map[string]any{
|
||||||
"go": gogen.GoPackageInfo{
|
"go": gogen.GoPackageInfo{
|
||||||
// GenerateResourceContainerTypes: true,
|
// GenerateResourceContainerTypes: true,
|
||||||
Generics: gogen.GenericsSettingSideBySide,
|
RespectSchemaVersion: true,
|
||||||
|
Generics: gogen.GenericsSettingSideBySide,
|
||||||
PackageImportAliases: map[string]string{
|
PackageImportAliases: map[string]string{
|
||||||
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild": "dockerbuild",
|
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild": "dockerbuild",
|
||||||
},
|
},
|
||||||
ImportBasePath: "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild",
|
ImportBasePath: "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild",
|
||||||
},
|
},
|
||||||
"csharp": csgen.CSharpPackageInfo{
|
"csharp": csgen.CSharpPackageInfo{
|
||||||
|
RespectSchemaVersion: true,
|
||||||
PackageReferences: map[string]string{
|
PackageReferences: map[string]string{
|
||||||
"Pulumi": "3.*",
|
"Pulumi": "3.*",
|
||||||
},
|
},
|
||||||
@@ -94,41 +108,39 @@ func NewBuildxProvider() provider.Provider {
|
|||||||
BuildFiles: "gradle",
|
BuildFiles: "gradle",
|
||||||
GradleNexusPublishPluginVersion: "1.1.0",
|
GradleNexusPublishPluginVersion: "1.1.0",
|
||||||
Dependencies: map[string]string{
|
Dependencies: map[string]string{
|
||||||
"com.pulumi:pulumi": "0.9.9",
|
"com.pulumi:pulumi": "0.20.0",
|
||||||
"com.google.code.gson:gson": "2.8.9",
|
"com.google.code.gson:gson": "2.8.9",
|
||||||
"com.google.code.findbugs:jsr305": "3.0.2",
|
"com.google.code.findbugs:jsr305": "3.0.2",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"nodejs": tsgen.NodePackageInfo{
|
"nodejs": tsgen.NodePackageInfo{
|
||||||
Dependencies: map[string]string{
|
RespectSchemaVersion: true,
|
||||||
"@pulumi/pulumi": "^3.0.0",
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
"python": pygen.PackageInfo{
|
"python": pygen.PackageInfo{
|
||||||
|
RespectSchemaVersion: true,
|
||||||
PyProject: struct {
|
PyProject: struct {
|
||||||
Enabled bool `json:"enabled,omitempty"`
|
Enabled bool `json:"enabled,omitempty"`
|
||||||
}{Enabled: true},
|
}{Enabled: true},
|
||||||
Requires: map[string]string{
|
|
||||||
"pulumi": ">=3.0.0,<4.0.0",
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Resources: []infer.InferredResource{
|
Resources: []infer.InferredResource{
|
||||||
infer.Resource[*Image](),
|
infer.Resource(&Image{clientF: clientF, config: config}),
|
||||||
infer.Resource[*Index](),
|
infer.Resource(&Index{clientF: clientF, config: config}),
|
||||||
},
|
},
|
||||||
ModuleMap: map[tokens.ModuleName]tokens.ModuleName{
|
ModuleMap: map[tokens.ModuleName]tokens.ModuleName{
|
||||||
"internal": "index",
|
"internal": "index",
|
||||||
},
|
},
|
||||||
Config: infer.Config[*Config](),
|
Config: infer.Config(config),
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
return prov
|
||||||
}
|
}
|
||||||
|
|
||||||
// Schema returns our package specification.
|
// Schema returns our package specification.
|
||||||
func Schema(ctx context.Context, version string) schema.PackageSpec {
|
func Schema(ctx context.Context, version string) schema.PackageSpec {
|
||||||
p := NewBuildxProvider()
|
p := NewBuildxProvider(nil)
|
||||||
spec, err := provider.GetSchema(ctx, "docker-build", version, p)
|
spec, err := provider.GetSchema(ctx, "docker-build", version, p)
|
||||||
contract.AssertNoErrorf(err, "missing schema")
|
contract.AssertNoErrorf(err, "missing schema")
|
||||||
return spec
|
return spec
|
||||||
|
|||||||
@@ -20,17 +20,18 @@ import (
|
|||||||
|
|
||||||
"github.com/blang/semver"
|
"github.com/blang/semver"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
provider "github.com/pulumi/pulumi-go-provider"
|
provider "github.com/pulumi/pulumi-go-provider"
|
||||||
"github.com/pulumi/pulumi-go-provider/infer"
|
"github.com/pulumi/pulumi-go-provider/infer"
|
||||||
"github.com/pulumi/pulumi-go-provider/integration"
|
"github.com/pulumi/pulumi-go-provider/integration"
|
||||||
mwcontext "github.com/pulumi/pulumi-go-provider/middleware/context"
|
"github.com/pulumi/pulumi/sdk/v3/go/common/tokens"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestConfigure(t *testing.T) {
|
func TestConfigure(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
s := newServer(nil)
|
s := newServer(t.Context(), t, nil)
|
||||||
|
|
||||||
err := s.Configure(
|
err := s.Configure(
|
||||||
provider.ConfigureRequest{},
|
provider.ConfigureRequest{},
|
||||||
@@ -59,7 +60,7 @@ func TestAnnotate(t *testing.T) {
|
|||||||
func TestSchema(t *testing.T) {
|
func TestSchema(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
s := newServer(nil)
|
s := newServer(t.Context(), t, nil)
|
||||||
|
|
||||||
_, err := s.GetSchema(provider.GetSchemaRequest{Version: 0})
|
_, err := s.GetSchema(provider.GetSchemaRequest{Version: 0})
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
@@ -67,19 +68,27 @@ func TestSchema(t *testing.T) {
|
|||||||
|
|
||||||
type annotator struct{}
|
type annotator struct{}
|
||||||
|
|
||||||
func (annotator) Describe(_ any, _ string) {}
|
func (annotator) Deprecate(_ any, _ string) {}
|
||||||
func (annotator) SetDefault(_, _ any, _ ...string) {}
|
func (annotator) Describe(_ any, _ string) {}
|
||||||
func (annotator) SetToken(_, _ string) {}
|
func (annotator) SetDefault(_, _ any, _ ...string) {}
|
||||||
|
func (annotator) SetToken(tokens.ModuleName, tokens.TypeName) {}
|
||||||
|
func (annotator) AddAlias(tokens.ModuleName, tokens.TypeName) {}
|
||||||
|
func (annotator) SetResourceDeprecationMessage(_ string) {}
|
||||||
|
|
||||||
func newServer(client Client) integration.Server {
|
func newServer(ctx context.Context, t *testing.T, clientF clientF) integration.Server {
|
||||||
p := NewBuildxProvider()
|
t.Helper()
|
||||||
|
|
||||||
// Inject a mock client if provided.
|
if clientF == nil {
|
||||||
if client != nil {
|
clientF = RealClientF
|
||||||
p = mwcontext.Wrap(p, func(ctx context.Context) context.Context {
|
|
||||||
return context.WithValue(ctx, _mockClientKey, client)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return integration.NewServer("docker-build", semver.Version{Major: 0}, p)
|
p := NewBuildxProvider(clientF)
|
||||||
|
|
||||||
|
s, err := integration.NewServer(
|
||||||
|
ctx,
|
||||||
|
"docker-build", semver.Version{Major: 0},
|
||||||
|
integration.WithProvider(p),
|
||||||
|
)
|
||||||
|
require.NoError(t, err)
|
||||||
|
return s
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ func TestValidateSSH(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
|
|||||||
@@ -15,13 +15,8 @@
|
|||||||
package provider
|
package provider
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
|
||||||
"encoding/json"
|
|
||||||
|
|
||||||
"github.com/pulumi/pulumi-docker-build/provider/internal"
|
"github.com/pulumi/pulumi-docker-build/provider/internal"
|
||||||
"github.com/pulumi/pulumi-docker-build/provider/internal/deprecated"
|
|
||||||
gp "github.com/pulumi/pulumi-go-provider"
|
gp "github.com/pulumi/pulumi-go-provider"
|
||||||
"github.com/pulumi/pulumi/pkg/v3/codegen/schema"
|
|
||||||
"github.com/pulumi/pulumi/pkg/v3/resource/provider"
|
"github.com/pulumi/pulumi/pkg/v3/resource/provider"
|
||||||
rpc "github.com/pulumi/pulumi/sdk/v3/proto/go"
|
rpc "github.com/pulumi/pulumi/sdk/v3/proto/go"
|
||||||
)
|
)
|
||||||
@@ -39,37 +34,5 @@ func Serve() error {
|
|||||||
|
|
||||||
// New creates a new provider.
|
// New creates a new provider.
|
||||||
func New(host *provider.HostClient) (rpc.ResourceProviderServer, error) {
|
func New(host *provider.HostClient) (rpc.ResourceProviderServer, error) {
|
||||||
return gp.RawServer(Name, Version, configurableProvider(internal.NewBuildxProvider()))(host)
|
return gp.RawServer(Name, Version, internal.NewBuildxProvider(internal.RealClientF))(host)
|
||||||
}
|
|
||||||
|
|
||||||
// configurableProvider is a workaround for
|
|
||||||
// https://github.com/pulumi/pulumi-go-provider/issues/171 and
|
|
||||||
// In short, our SDKs send provider Configure requests as simple strings
|
|
||||||
// instead of rich objects. We don't want to preserve this behavior in
|
|
||||||
// pulumi-go-provider, but we also haven't updated SDKs yet to send rich types.
|
|
||||||
//
|
|
||||||
// If you find yourself in a position where you need to copy this -- STOP!
|
|
||||||
// https://github.com/pulumi/pulumi/pull/15032 should be merged with this fix.
|
|
||||||
func configurableProvider(p gp.Provider) gp.Provider {
|
|
||||||
configure := p.Configure
|
|
||||||
|
|
||||||
p.Configure = func(ctx context.Context, req gp.ConfigureRequest) error {
|
|
||||||
r, err := p.GetSchema(ctx, gp.GetSchemaRequest{Version: 0})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
spec := schema.PackageSpec{}
|
|
||||||
err = json.Unmarshal([]byte(r.Schema), &spec)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
ce := deprecated.New(spec.Config)
|
|
||||||
if props, err := ce.UnmarshalProperties(req.Args); err == nil {
|
|
||||||
req.Args = props
|
|
||||||
}
|
|
||||||
return configure(ctx, req)
|
|
||||||
}
|
|
||||||
|
|
||||||
return p
|
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user