Compare commits
13 Commits
v0.0.6
...
v0.0.1-alp
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a9c246ffb | ||
|
|
fe4de036f1 | ||
|
|
5cb5ccbf53 | ||
|
|
da2fecf013 | ||
|
|
6efd4b045b | ||
|
|
b6c5d4d511 | ||
|
|
b455d9037f | ||
|
|
f9b5ed8f67 | ||
|
|
16196bb547 | ||
|
|
5bec2f3e1c | ||
|
|
91c652a702 | ||
|
|
cbf957533e | ||
|
|
d50d156bd8 |
14
.github/dependabot.yml
vendored
14
.github/dependabot.yml
vendored
@@ -8,18 +8,8 @@ updates:
|
||||
pulumi:
|
||||
patterns:
|
||||
- "github.com/pulumi/*"
|
||||
docker:
|
||||
patterns:
|
||||
- "github.com/distribution/*"
|
||||
- "github.com/docker/*"
|
||||
- "github.com/moby/*"
|
||||
security:
|
||||
applies-to: security-updates
|
||||
patterns:
|
||||
- "*"
|
||||
other:
|
||||
patterns:
|
||||
- "*"
|
||||
exclude-patterns:
|
||||
- "k8s.io/utils"
|
||||
labels:
|
||||
- dependencies
|
||||
- impact/no-changelog-required
|
||||
|
||||
101
.github/workflows/build.yml
vendored
101
.github/workflows/build.yml
vendored
@@ -16,7 +16,7 @@ on:
|
||||
workflow_dispatch: {}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
PROVIDER: docker-build
|
||||
PROVIDER: dockerbuild
|
||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
@@ -33,7 +33,7 @@ env:
|
||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
||||
GOVERSION: 1.21.x
|
||||
NODEVERSION: 20.x
|
||||
NODEVERSION: 16.x
|
||||
PYTHONVERSION: "3.11"
|
||||
DOTNETVERSION: |
|
||||
6.0.x
|
||||
@@ -47,6 +47,7 @@ env:
|
||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
||||
AZURE_LOCATION: westus
|
||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
||||
GOLANGCI_LINT_TIMEOUT: 10m
|
||||
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
|
||||
@@ -64,16 +65,17 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -97,8 +99,6 @@ jobs:
|
||||
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
|
||||
|
||||
echo 'EOF' >> $GITHUB_ENV
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Comment on PR with Details of Schema Check
|
||||
uses: thollander/actions-comment-pull-request@v2
|
||||
@@ -118,14 +118,7 @@ jobs:
|
||||
- name: Build Provider
|
||||
run: make provider
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||
- run: git status --porcelain
|
||||
- name: Tar provider binaries
|
||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
@@ -167,16 +160,17 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -222,14 +216,7 @@ jobs:
|
||||
- name: Build SDK
|
||||
run: make build_${{ matrix.language }}
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||
- run: git status --porcelain
|
||||
- name: Tar SDK folder
|
||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||
@@ -268,16 +255,17 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -384,16 +372,12 @@ jobs:
|
||||
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: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Clear GitHub Actions Ubuntu runner disk space
|
||||
uses: jlumbroso/free-disk-space@v1.3.1
|
||||
with:
|
||||
@@ -419,10 +403,11 @@ jobs:
|
||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||
role-external-id: upload-pulumi-release
|
||||
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
||||
- name: Set PreRelease Version
|
||||
run: echo "GORELEASER_CURRENT_TAG=v$(pulumictl get version --language generic)"
|
||||
>> $GITHUB_ENV
|
||||
- name: Run GoReleaser
|
||||
uses: goreleaser/goreleaser-action@v5
|
||||
env:
|
||||
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
||||
with:
|
||||
args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s
|
||||
version: latest
|
||||
@@ -442,22 +427,17 @@ jobs:
|
||||
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: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- run: echo "ci-scripts" >> .git/info/exclude
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -502,7 +482,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/nodejs.tar.gz -C
|
||||
${{github.workspace}}/sdk/nodejs
|
||||
- name: Install Twine
|
||||
run: python -m pip install twine==5.0.0
|
||||
run: python -m pip install pip twine
|
||||
- name: Publish SDKs
|
||||
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
|
||||
env:
|
||||
@@ -525,16 +505,17 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -559,10 +540,11 @@ jobs:
|
||||
- name: Uncompress java SDK
|
||||
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
||||
${{github.workspace}}/sdk/java
|
||||
- name: Set PACKAGE_VERSION to Env
|
||||
run: echo "PACKAGE_VERSION=$(pulumictl get version --language generic)" >>
|
||||
$GITHUB_ENV
|
||||
- name: Publish Java SDK
|
||||
uses: gradle/gradle-build-action@v3
|
||||
env:
|
||||
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
||||
with:
|
||||
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
||||
build-root-directory: ./sdk/java
|
||||
@@ -579,12 +561,11 @@ jobs:
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: golangci-lint provider pkg
|
||||
uses: golangci/golangci-lint-action@v4
|
||||
with:
|
||||
version: ${{ env.GOLANGCI_LINT_VERSION }}
|
||||
args: -c ../.golangci.yml
|
||||
args: -c ../.golangci.yml --timeout ${{ env.GOLANGCI_LINT_TIMEOUT }}
|
||||
working-directory: provider
|
||||
name: lint
|
||||
if: github.event_name == 'repository_dispatch' ||
|
||||
|
||||
6
.github/workflows/command-dispatch.yml
vendored
6
.github/workflows/command-dispatch.yml
vendored
@@ -8,7 +8,7 @@ on:
|
||||
- edited
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
PROVIDER: docker-build
|
||||
PROVIDER: dockerbuild
|
||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
@@ -25,7 +25,7 @@ env:
|
||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
||||
GOVERSION: 1.21.x
|
||||
NODEVERSION: 20.x
|
||||
NODEVERSION: 16.x
|
||||
PYTHONVERSION: "3.11"
|
||||
DOTNETVERSION: |
|
||||
6.0.x
|
||||
@@ -63,5 +63,5 @@ jobs:
|
||||
commands: run-acceptance-tests
|
||||
permission: write
|
||||
issue-type: pull-request
|
||||
repository: pulumi/pulumi-docker-build
|
||||
repository: pulumi/pulumi-dockerbuild
|
||||
if: ${{ github.event.issue.pull_request }}
|
||||
|
||||
129
.github/workflows/prerelease.yml
vendored
129
.github/workflows/prerelease.yml
vendored
@@ -7,7 +7,7 @@ on:
|
||||
- v*.*.*-**
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
PROVIDER: docker-build
|
||||
PROVIDER: dockerbuild
|
||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
@@ -24,7 +24,7 @@ env:
|
||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
||||
GOVERSION: 1.21.x
|
||||
NODEVERSION: 20.x
|
||||
NODEVERSION: 16.x
|
||||
PYTHONVERSION: "3.11"
|
||||
DOTNETVERSION: |
|
||||
6.0.x
|
||||
@@ -56,16 +56,17 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -89,8 +90,6 @@ jobs:
|
||||
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
|
||||
|
||||
echo 'EOF' >> $GITHUB_ENV
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Comment on PR with Details of Schema Check
|
||||
uses: thollander/actions-comment-pull-request@v2
|
||||
@@ -110,14 +109,7 @@ jobs:
|
||||
- name: Build Provider
|
||||
run: make provider
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||
- run: git status --porcelain
|
||||
- name: Tar provider binaries
|
||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
@@ -159,16 +151,17 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -214,14 +207,7 @@ jobs:
|
||||
- name: Build SDK
|
||||
run: make build_${{ matrix.language }}
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||
- run: git status --porcelain
|
||||
- name: Tar SDK folder
|
||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||
@@ -259,16 +245,17 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -375,16 +362,12 @@ jobs:
|
||||
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: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Clear GitHub Actions Ubuntu runner disk space
|
||||
uses: jlumbroso/free-disk-space@v1.3.1
|
||||
with:
|
||||
@@ -410,10 +393,11 @@ jobs:
|
||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||
role-external-id: upload-pulumi-release
|
||||
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
||||
- name: Set PreRelease Version
|
||||
run: echo "GORELEASER_CURRENT_TAG=v$(pulumictl get version --language generic)"
|
||||
>> $GITHUB_ENV
|
||||
- name: Run GoReleaser
|
||||
uses: goreleaser/goreleaser-action@v5
|
||||
env:
|
||||
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
||||
with:
|
||||
args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s
|
||||
version: latest
|
||||
@@ -433,22 +417,17 @@ jobs:
|
||||
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: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- run: echo "ci-scripts" >> .git/info/exclude
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -493,7 +472,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/nodejs.tar.gz -C
|
||||
${{github.workspace}}/sdk/nodejs
|
||||
- name: Install Twine
|
||||
run: python -m pip install twine==5.0.0
|
||||
run: python -m pip install pip twine
|
||||
- name: Publish SDKs
|
||||
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
|
||||
env:
|
||||
@@ -516,16 +495,17 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -550,43 +530,12 @@ jobs:
|
||||
- name: Uncompress java SDK
|
||||
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
||||
${{github.workspace}}/sdk/java
|
||||
- name: Set PACKAGE_VERSION to Env
|
||||
run: echo "PACKAGE_VERSION=$(pulumictl get version --language generic)" >>
|
||||
$GITHUB_ENV
|
||||
- name: Publish Java SDK
|
||||
uses: gradle/gradle-build-action@v3
|
||||
env:
|
||||
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
||||
with:
|
||||
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
||||
build-root-directory: ./sdk/java
|
||||
gradle-version: 7.4.1
|
||||
publish_go_sdk:
|
||||
runs-on: ubuntu-latest
|
||||
name: publish-go-sdk
|
||||
needs: publish_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: Download go SDK
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: go-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
- name: Uncompress go SDK
|
||||
run: tar -zxf ${{github.workspace}}/sdk/go.tar.gz -C
|
||||
${{github.workspace}}/sdk/go
|
||||
- name: Publish Go SDK
|
||||
uses: pulumi/publish-go-sdk-action@v1
|
||||
with:
|
||||
repository: ${{ github.repository }}
|
||||
base-ref: ${{ github.sha }}
|
||||
source: sdk/go/dockerbuild
|
||||
path: sdk/go/dockerbuild
|
||||
version: ${{ steps.version.outputs.version }}
|
||||
additive: false
|
||||
files: "**"
|
||||
|
||||
4
.github/workflows/pull-request.yml
vendored
4
.github/workflows/pull-request.yml
vendored
@@ -5,7 +5,7 @@ on:
|
||||
pull_request_target: {}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
PROVIDER: docker-build
|
||||
PROVIDER: dockerbuild
|
||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
@@ -22,7 +22,7 @@ env:
|
||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
||||
GOVERSION: 1.21.x
|
||||
NODEVERSION: 20.x
|
||||
NODEVERSION: 16.x
|
||||
PYTHONVERSION: "3.11"
|
||||
DOTNETVERSION: |
|
||||
6.0.x
|
||||
|
||||
131
.github/workflows/release.yml
vendored
131
.github/workflows/release.yml
vendored
@@ -8,7 +8,7 @@ on:
|
||||
- "!v*.*.*-**"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
PROVIDER: docker-build
|
||||
PROVIDER: dockerbuild
|
||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
@@ -25,7 +25,7 @@ env:
|
||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
||||
GOVERSION: 1.21.x
|
||||
NODEVERSION: 20.x
|
||||
NODEVERSION: 16.x
|
||||
PYTHONVERSION: "3.11"
|
||||
DOTNETVERSION: |
|
||||
6.0.x
|
||||
@@ -56,16 +56,17 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -89,8 +90,6 @@ jobs:
|
||||
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
|
||||
|
||||
echo 'EOF' >> $GITHUB_ENV
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Comment on PR with Details of Schema Check
|
||||
uses: thollander/actions-comment-pull-request@v2
|
||||
@@ -110,14 +109,7 @@ jobs:
|
||||
- name: Build Provider
|
||||
run: make provider
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||
- run: git status --porcelain
|
||||
- name: Tar provider binaries
|
||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
@@ -159,16 +151,17 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -214,14 +207,7 @@ jobs:
|
||||
- name: Build SDK
|
||||
run: make build_${{ matrix.language }}
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||
- run: git status --porcelain
|
||||
- name: Tar SDK folder
|
||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||
@@ -259,16 +245,17 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -375,16 +362,12 @@ jobs:
|
||||
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: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Clear GitHub Actions Ubuntu runner disk space
|
||||
uses: jlumbroso/free-disk-space@v1.3.1
|
||||
with:
|
||||
@@ -410,10 +393,11 @@ jobs:
|
||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||
role-external-id: upload-pulumi-release
|
||||
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
||||
- name: Set PreRelease Version
|
||||
run: echo "GORELEASER_CURRENT_TAG=v$(pulumictl get version --language generic)"
|
||||
>> $GITHUB_ENV
|
||||
- name: Run GoReleaser
|
||||
uses: goreleaser/goreleaser-action@v5
|
||||
env:
|
||||
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
||||
with:
|
||||
args: -p 3 release --clean --timeout 60m0s
|
||||
version: latest
|
||||
@@ -433,22 +417,17 @@ jobs:
|
||||
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: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- run: echo "ci-scripts" >> .git/info/exclude
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -493,7 +472,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/nodejs.tar.gz -C
|
||||
${{github.workspace}}/sdk/nodejs
|
||||
- name: Install Twine
|
||||
run: python -m pip install twine==5.0.0
|
||||
run: python -m pip install pip twine
|
||||
- name: Publish SDKs
|
||||
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
|
||||
env:
|
||||
@@ -516,16 +495,17 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -550,49 +530,34 @@ jobs:
|
||||
- name: Uncompress java SDK
|
||||
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
||||
${{github.workspace}}/sdk/java
|
||||
- name: Set PACKAGE_VERSION to Env
|
||||
run: echo "PACKAGE_VERSION=$(pulumictl get version --language generic)" >>
|
||||
$GITHUB_ENV
|
||||
- name: Publish Java SDK
|
||||
uses: gradle/gradle-build-action@v3
|
||||
env:
|
||||
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
||||
with:
|
||||
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
||||
build-root-directory: ./sdk/java
|
||||
gradle-version: 7.4.1
|
||||
publish_go_sdk:
|
||||
tag_sdk:
|
||||
runs-on: ubuntu-latest
|
||||
name: publish-go-sdk
|
||||
needs: publish_sdk
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Download go SDK
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: go-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
- name: Uncompress go SDK
|
||||
run: tar -zxf ${{github.workspace}}/sdk/go.tar.gz -C
|
||||
${{github.workspace}}/sdk/go
|
||||
- name: Publish Go SDK
|
||||
uses: pulumi/publish-go-sdk-action@v1
|
||||
with:
|
||||
repository: ${{ github.repository }}
|
||||
base-ref: ${{ github.sha }}
|
||||
source: sdk/go/dockerbuild
|
||||
path: sdk/go/dockerbuild
|
||||
version: ${{ steps.version.outputs.version }}
|
||||
additive: false
|
||||
files: "**"
|
||||
repo: pulumi/pulumictl
|
||||
- name: Add SDK version tag
|
||||
run: git tag sdk/v$(pulumictl get version --language generic) && git push origin
|
||||
sdk/v$(pulumictl get version --language generic)
|
||||
name: tag_sdk
|
||||
dispatch_docs_build:
|
||||
runs-on: ubuntu-latest
|
||||
needs: publish_go_sdk
|
||||
needs: tag_sdk
|
||||
steps:
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||
|
||||
74
.github/workflows/run-acceptance-tests.yml
vendored
74
.github/workflows/run-acceptance-tests.yml
vendored
@@ -6,12 +6,15 @@ on:
|
||||
types:
|
||||
- run-acceptance-tests-command
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
paths-ignore:
|
||||
- CHANGELOG.md
|
||||
workflow_dispatch: {}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
PROVIDER: docker-build
|
||||
PROVIDER: dockerbuild
|
||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
@@ -28,7 +31,7 @@ env:
|
||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
||||
GOVERSION: 1.21.x
|
||||
NODEVERSION: 20.x
|
||||
NODEVERSION: 16.x
|
||||
PYTHONVERSION: "3.11"
|
||||
DOTNETVERSION: |
|
||||
6.0.x
|
||||
@@ -42,6 +45,7 @@ env:
|
||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
||||
AZURE_LOCATION: westus
|
||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
||||
GOLANGCI_LINT_TIMEOUT: 10m
|
||||
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
|
||||
@@ -78,16 +82,17 @@ jobs:
|
||||
with:
|
||||
lfs: true
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -111,8 +116,6 @@ jobs:
|
||||
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
|
||||
|
||||
echo 'EOF' >> $GITHUB_ENV
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Comment on PR with Details of Schema Check
|
||||
uses: thollander/actions-comment-pull-request@v2
|
||||
@@ -132,14 +135,7 @@ jobs:
|
||||
- name: Build Provider
|
||||
run: make provider
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||
- run: git status --porcelain
|
||||
- name: Tar provider binaries
|
||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
@@ -184,16 +180,17 @@ jobs:
|
||||
with:
|
||||
lfs: true
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -239,14 +236,7 @@ jobs:
|
||||
- name: Build SDK
|
||||
run: make build_${{ matrix.language }}
|
||||
- name: Check worktree clean
|
||||
uses: pulumi/git-status-check-action@v1
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||
- run: git status --porcelain
|
||||
- name: Tar SDK folder
|
||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||
@@ -288,16 +278,17 @@ jobs:
|
||||
with:
|
||||
lfs: true
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@v1
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -401,14 +392,8 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
name: sentinel
|
||||
steps:
|
||||
- name: Mark workflow as successful
|
||||
uses: guibranco/github-status-action-v2@0849440ec82c5fa69b2377725b9b7852a3977e76
|
||||
with:
|
||||
authToken: ${{ secrets.GITHUB_TOKEN }}
|
||||
context: Sentinel
|
||||
state: success
|
||||
description: Sentinel checks passed
|
||||
sha: ${{ github.event.pull_request.head.sha || github.sha }}
|
||||
- name: Is workflow a success
|
||||
run: echo yes
|
||||
if: github.event_name == 'repository_dispatch' ||
|
||||
github.event.pull_request.head.repo.full_name == github.repository
|
||||
needs:
|
||||
@@ -426,12 +411,11 @@ jobs:
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: golangci-lint provider pkg
|
||||
uses: golangci/golangci-lint-action@v4
|
||||
with:
|
||||
version: ${{ env.GOLANGCI_LINT_VERSION }}
|
||||
args: -c ../.golangci.yml
|
||||
args: -c ../.golangci.yml --timeout ${{ env.GOLANGCI_LINT_TIMEOUT }}
|
||||
working-directory: provider
|
||||
name: lint
|
||||
if: github.event_name == 'repository_dispatch' ||
|
||||
|
||||
11
.github/workflows/weekly-pulumi-update.yml
vendored
11
.github/workflows/weekly-pulumi-update.yml
vendored
@@ -7,7 +7,7 @@ on:
|
||||
workflow_dispatch: {}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
PROVIDER: docker-build
|
||||
PROVIDER: dockerbuild
|
||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
@@ -24,7 +24,7 @@ env:
|
||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
||||
GOVERSION: 1.21.x
|
||||
NODEVERSION: 20.x
|
||||
NODEVERSION: 16.x
|
||||
PYTHONVERSION: "3.11"
|
||||
DOTNETVERSION: |
|
||||
6.0.x
|
||||
@@ -54,11 +54,12 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
- name: Unshallow clone for tags
|
||||
run: git fetch --prune --unshallow --tags
|
||||
- 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:
|
||||
@@ -89,8 +90,6 @@ jobs:
|
||||
|
||||
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
|
||||
|
||||
gh repo view pulumi/pulumi --json latestRelease --jq .latestRelease.tagName | sed 's/^v//' > .pulumi.version
|
||||
|
||||
git update-index -q --refresh
|
||||
|
||||
if ! git diff-files --quiet; then echo changes=1 >> "$GITHUB_OUTPUT"; fi
|
||||
@@ -130,7 +129,7 @@ jobs:
|
||||
uses: repo-sync/pull-request@v2.6.2
|
||||
with:
|
||||
source_branch: update-pulumi/${{ github.run_id }}-${{ github.run_number }}
|
||||
destination_branch: main
|
||||
destination_branch: master
|
||||
pr_title: Automated Pulumi/Pulumi upgrade
|
||||
github_token: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
env:
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
run:
|
||||
timeout: 10m
|
||||
|
||||
linters:
|
||||
enable-all: false
|
||||
enable:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt
|
||||
|
||||
project_name: pulumi-docker-build
|
||||
project_name: pulumi-dockerbuild
|
||||
builds:
|
||||
- dir: provider
|
||||
env:
|
||||
@@ -14,12 +14,10 @@ builds:
|
||||
- amd64
|
||||
- arm64
|
||||
ignore: []
|
||||
main: ./cmd/pulumi-resource-docker-build/
|
||||
main: ./cmd/pulumi-resource-dockerbuild/
|
||||
ldflags:
|
||||
- -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
|
||||
- -X github.com/pulumi/pulumi-dockerbuild/provider/pkg/version.Version={{.Tag}}
|
||||
binary: pulumi-resource-dockerbuild
|
||||
archives:
|
||||
- name_template: "{{ .Binary }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}"
|
||||
id: archive
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt
|
||||
|
||||
project_name: pulumi-docker-build
|
||||
project_name: pulumi-dockerbuild
|
||||
builds:
|
||||
- dir: provider
|
||||
env:
|
||||
@@ -14,12 +14,10 @@ builds:
|
||||
- amd64
|
||||
- arm64
|
||||
ignore: []
|
||||
main: ./cmd/pulumi-resource-docker-build/
|
||||
main: ./cmd/pulumi-resource-dockerbuild/
|
||||
ldflags:
|
||||
- -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
|
||||
- -X github.com/pulumi/pulumi-dockerbuild/provider/pkg/version.Version={{.Tag}}
|
||||
binary: pulumi-resource-dockerbuild
|
||||
archives:
|
||||
- name_template: "{{ .Binary }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}"
|
||||
id: archive
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
3.128.0
|
||||
52
CHANGELOG.md
52
CHANGELOG.md
@@ -1,52 +0,0 @@
|
||||
## Unreleased
|
||||
|
||||
### 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)
|
||||
|
||||
### Fixed
|
||||
|
||||
- Upgraded pulumi-go-provider to fix a panic during cancellation.
|
||||
|
||||
## 0.0.1 (2024-04-23)
|
||||
|
||||
Initial release.
|
||||
@@ -1,80 +0,0 @@
|
||||
# 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
|
||||
79
Makefile
79
Makefile
@@ -1,12 +1,13 @@
|
||||
PROJECT_NAME := Pulumi Docker Build Resource Provider
|
||||
|
||||
PACK := docker-build
|
||||
PACK := dockerbuild
|
||||
PACKDIR := sdk
|
||||
PROJECT := github.com/pulumi/pulumi-docker-build
|
||||
NODE_MODULE_NAME := @pulumi/docker-build
|
||||
NUGET_PKG_NAME := Pulumi.DockerBuild
|
||||
PROJECT := github.com/pulumi/pulumi-dockerbuild
|
||||
NODE_MODULE_NAME := @pulumi/dockerbuild
|
||||
NUGET_PKG_NAME := Pulumi.Dockerbuild
|
||||
|
||||
PROVIDER := pulumi-resource-${PACK}
|
||||
VERSION ?= $(shell pulumictl get version)
|
||||
PROVIDER_PATH := provider
|
||||
VERSION_PATH := ${PROVIDER_PATH}.Version
|
||||
SCHEMA_PATH := ${PROVIDER_PATH}/cmd/pulumi-resource-${PACK}/schema.json
|
||||
@@ -20,30 +21,17 @@ TESTPARALLELISM := 4
|
||||
PULUMI := bin/pulumi
|
||||
GOGLANGCILINT := bin/golangci-lint
|
||||
|
||||
# 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
|
||||
PROVIDER_VERSION ?= 0.1.0-alpha.0+dev
|
||||
# Use this normalised version everywhere rather than the raw input to ensure consistency.
|
||||
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
|
||||
ensure:: tidy lint test_provider examples
|
||||
|
||||
.PHONY: tidy
|
||||
tidy:
|
||||
go mod tidy
|
||||
tidy: go.sum
|
||||
|
||||
.PHONY: provider
|
||||
provider: bin/${PROVIDER} bin/pulumi-gen-${PACK} # Required by CI
|
||||
|
||||
.PHONY: local_generate
|
||||
local_generate: sdk # Required by CI
|
||||
|
||||
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}" $(PROJECT)/${PROVIDER_PATH}/cmd/$(PROVIDER))
|
||||
|
||||
test_provider:: # Required by CI
|
||||
go test -short -v -coverprofile="coverage.txt" -coverpkg=./provider/... -timeout 2h -parallel ${TESTPARALLELISM} ./provider/...
|
||||
@@ -77,7 +65,7 @@ examples/python: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.y
|
||||
|
||||
examples/dotnet: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
$(call example,dotnet)
|
||||
@git checkout examples/dotnet/provider-docker-build.csproj
|
||||
@git checkout examples/dotnet/provider-dockerbuild.csproj
|
||||
|
||||
examples/java: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
$(call example,java)
|
||||
@@ -85,12 +73,6 @@ examples/java: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yam
|
||||
|
||||
${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
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi-java/pkg/cmd/pulumi-language-java
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi-yaml/cmd/pulumi-converter-yaml
|
||||
|
||||
${GOGLANGCILINT}: go.sum
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint
|
||||
@@ -110,7 +92,6 @@ define example
|
||||
--language $(1) \
|
||||
--out ${WORKING_DIR}/examples/$(1)
|
||||
cp -r ${WORKING_DIR}/examples/app ${WORKING_DIR}/examples/$(1)/app
|
||||
cp ${WORKING_DIR}/examples/yaml/.dockerignore ${WORKING_DIR}/examples/$(1)/.dockerignore
|
||||
endef
|
||||
|
||||
up::
|
||||
@@ -134,18 +115,20 @@ devcontainer::
|
||||
cp -f .devcontainer/devcontainer.json .devcontainer.json
|
||||
|
||||
.PHONY: build
|
||||
build:: provider sdk/dotnet sdk/go sdk/nodejs sdk/python sdk/java ${SCHEMA_PATH}
|
||||
build:: provider dotnet_sdk go_sdk nodejs_sdk python_sdk
|
||||
|
||||
# Required for the codegen action that runs in pulumi/pulumi
|
||||
only_build:: build
|
||||
|
||||
.PHONY: lint
|
||||
lint: ${GOGLANGCILINT}
|
||||
${GOGLANGCILINT} run --fix -c .golangci.yml
|
||||
${GOGLANGCILINT} run --fix -c .golangci.yml --timeout 10m
|
||||
|
||||
install:: install_nodejs_sdk install_dotnet_sdk
|
||||
cp $(WORKING_DIR)/bin/${PROVIDER} ${GOPATH}/bin
|
||||
|
||||
GO_TEST := go test -v -count=1 -cover -timeout 2h -parallel ${TESTPARALLELISM}
|
||||
|
||||
|
||||
install_dotnet_sdk:: # Required by CI
|
||||
rm -rf $(WORKING_DIR)/nuget/$(NUGET_PKG_NAME).*.nupkg
|
||||
@@ -164,7 +147,7 @@ install_nodejs_sdk:: # Required by CI
|
||||
codegen: # Required by CI
|
||||
|
||||
.PHONY: generate_schema
|
||||
generate_schema: ${SCHEMA_PATH} # Required by CI
|
||||
generate_schema: # Required by CI
|
||||
|
||||
.PHONY: build_go install_go_sdk
|
||||
generate_go: sdk/go # Required by CI
|
||||
@@ -187,23 +170,22 @@ generate_dotnet: sdk/dotnet # Required by CI
|
||||
build_dotnet: # Required by CI
|
||||
|
||||
${SCHEMA_PATH}: bin/${PROVIDER}
|
||||
pulumi package get-schema bin/${PROVIDER} | jq 'del(.version)' > $(SCHEMA_PATH)
|
||||
pulumi package get-schema bin/${PROVIDER} > $(SCHEMA_PATH)
|
||||
|
||||
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}" $(PROJECT)/${PROVIDER_PATH}/cmd/$(PROVIDER))
|
||||
|
||||
bin/pulumi-gen-${PACK}: # Required by CI
|
||||
touch bin/pulumi-gen-${PACK}
|
||||
|
||||
go.mod: $(shell find . -name '*.go')
|
||||
go.sum: go.mod
|
||||
go mod tidy
|
||||
|
||||
sdk: $(shell mkdir -p sdk)
|
||||
sdk: sdk/python sdk/nodejs sdk/java sdk/python sdk/go sdk/dotnet
|
||||
|
||||
# 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: PYPI_VERSION := $(shell pulumictl get version --language python)
|
||||
sdk/python: TMPDIR := $(shell mktemp -d)
|
||||
sdk/python: $(PULUMI) bin/${PROVIDER}
|
||||
rm -rf sdk/python
|
||||
@@ -211,12 +193,15 @@ sdk/python: $(PULUMI) bin/${PROVIDER}
|
||||
cp README.md ${TMPDIR}/python/
|
||||
cd ${TMPDIR}/python/ && \
|
||||
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 && \
|
||||
./venv/bin/python -m pip install build && \
|
||||
cd ./bin && \
|
||||
../venv/bin/python -m build .
|
||||
mv -f ${TMPDIR}/python ${WORKING_DIR}/sdk/.
|
||||
|
||||
sdk/nodejs: NODE_VERSION := $(shell pulumictl get version --language javascript)
|
||||
sdk/nodejs: TMPDIR := $(shell mktemp -d)
|
||||
sdk/nodejs: $(PULUMI) bin/${PROVIDER}
|
||||
rm -rf sdk/nodejs
|
||||
@@ -225,30 +210,32 @@ sdk/nodejs: $(PULUMI) bin/${PROVIDER}
|
||||
cd ${TMPDIR}/nodejs/ && \
|
||||
yarn install && \
|
||||
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/.
|
||||
|
||||
sdk/go: TMPDIR := $(shell mktemp -d)
|
||||
sdk/go: PATH := "$(WORKING_DIR)/bin:$(PATH)"
|
||||
sdk/go: $(PULUMI) bin/${PROVIDER}
|
||||
rm -rf sdk/go
|
||||
PATH=$(PATH) $(PULUMI) package gen-sdk bin/$(PROVIDER) --language go -o ${TMPDIR}
|
||||
cp go.mod ${TMPDIR}/go/dockerbuild/go.mod
|
||||
cd ${TMPDIR}/go/dockerbuild && \
|
||||
go mod edit -module=github.com/pulumi/pulumi-${PACK}/${PACKDIR}/go/dockerbuild && \
|
||||
$(PULUMI) package gen-sdk bin/$(PROVIDER) --language go -o ${TMPDIR}
|
||||
cp go.mod ${TMPDIR}/go/${PACK}/go.mod
|
||||
cd ${TMPDIR}/go/${PACK} && \
|
||||
go mod edit -module=github.com/pulumi/pulumi-${PACK}/${PACKDIR}/go/${PACK} && \
|
||||
go mod tidy
|
||||
mv -f ${TMPDIR}/go ${WORKING_DIR}/sdk/go
|
||||
mv -f ${TMPDIR}/go ${WORKING_DIR}/sdk/.
|
||||
|
||||
sdk/dotnet: DOTNET_VERSION := $(shell pulumictl get version --language dotnet)
|
||||
sdk/dotnet: TMPDIR := $(shell mktemp -d)
|
||||
sdk/dotnet: $(PULUMI) bin/${PROVIDER}
|
||||
rm -rf sdk/dotnet
|
||||
$(PULUMI) package gen-sdk bin/${PROVIDER} --language dotnet -o ${TMPDIR}
|
||||
cd ${TMPDIR}/dotnet/ && \
|
||||
echo "$(VERSION_GENERIC)" > version.txt && \
|
||||
dotnet build
|
||||
echo "$(DOTNET_VERSION)" > version.txt && \
|
||||
dotnet build /p:Version=${DOTNET_VERSION}
|
||||
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 get version --language generic)
|
||||
sdk/java: TMPDIR := $(shell mktemp -d)
|
||||
sdk/java: $(PULUMI) bin/${PROVIDER}
|
||||
rm -rf sdk/java
|
||||
@@ -256,6 +243,6 @@ sdk/java: $(PULUMI) bin/${PROVIDER}
|
||||
cd ${TMPDIR}/java/ && gradle --console=plain build
|
||||
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')
|
||||
go generate docs/generate.go
|
||||
@touch docs
|
||||
|
||||
117
README.md
117
README.md
@@ -1,23 +1,106 @@
|
||||
[](https://slack.pulumi.com)
|
||||
[](https://www.npmjs.com/package/@pulumi/docker-build)
|
||||
[](https://pypi.org/project/pulumi-docker-build)
|
||||
[](https://badge.fury.io/nu/pulumi.dockerbuild)
|
||||
[](https://pkg.go.dev/github.com/pulumi/pulumi-docker-build/sdk/go)
|
||||
[](https://github.com/pulumi/pulumi-docker-build/blob/main/LICENSE)
|
||||
# Pulumi Native Provider Boilerplate
|
||||
|
||||
# Docker-Build Resource Provider
|
||||
This repository is a boilerplate showing how to create and locally test a native Pulumi provider.
|
||||
|
||||
A [Pulumi](http://pulumi.com) provider for building modern Docker images with [buildx](https://docs.docker.com/build/architecture/) and [BuildKit](https://docs.docker.com/build/buildkit/).
|
||||
## Authoring a Pulumi Native Provider
|
||||
|
||||
Not to be confused with the earlier
|
||||
[Docker](http://github.com/pulumi/pulumi-docker) provider, which is still
|
||||
appropriate for managing resources unrelated to building images.
|
||||
This boilerplate creates a working Pulumi-owned provider named `xyz`.
|
||||
It implements a random number generator that you can [build and test out for yourself](#test-against-the-example) and then replace the Random code with code specific to your provider.
|
||||
|
||||
| Provider | Use cases |
|
||||
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `@pulumi/docker-build` | Anything related to building images with `docker build`. |
|
||||
| `@pulumi/docker` | Everything else -- including running containers and creating networks. |
|
||||
|
||||
## Reference
|
||||
### Prerequisites
|
||||
|
||||
For more information, including examples and migration guidance, please see the Docker-Build provider's detailed [API documentation](https://www.pulumi.com/registry/packages/docker-build/).
|
||||
Prerequisites for this repository are already satisfied by the [Pulumi Devcontainer](https://github.com/pulumi/devcontainer) if you are using Github Codespaces, or VSCode.
|
||||
|
||||
If you are not using VSCode, you will need to ensure the following tools are installed and present in your `$PATH`:
|
||||
|
||||
* [`pulumictl`](https://github.com/pulumi/pulumictl#installation)
|
||||
* [Go 1.21](https://golang.org/dl/) or 1.latest
|
||||
* [NodeJS](https://nodejs.org/en/) 14.x. We recommend using [nvm](https://github.com/nvm-sh/nvm) to manage NodeJS installations.
|
||||
* [Yarn](https://yarnpkg.com/)
|
||||
* [TypeScript](https://www.typescriptlang.org/)
|
||||
* [Python](https://www.python.org/downloads/) (called as `python3`). For recent versions of MacOS, the system-installed version is fine.
|
||||
* [.NET](https://dotnet.microsoft.com/download)
|
||||
|
||||
|
||||
### Build & test the boilerplate XYZ provider
|
||||
|
||||
1. Create a new Github CodeSpaces environment using this repository.
|
||||
1. Open a terminal in the CodeSpaces environment.
|
||||
1. Run `make build install` to build and install the provider.
|
||||
1. Run `make gen_examples` to generate the example programs in `examples/` off of the source `examples/yaml` example program.
|
||||
1. Run `make up` to run the example program in `examples/yaml`.
|
||||
1. Run `make down` to tear down the example program.
|
||||
|
||||
### Creating a new provider repository
|
||||
|
||||
Pulumi offers this repository as a [GitHub template repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template) for convenience. From this repository:
|
||||
|
||||
1. Click "Use this template".
|
||||
1. Set the following options:
|
||||
* Owner: pulumi
|
||||
* Repository name: pulumi-xyz-native (replace "xyz" with the name of your provider)
|
||||
* Description: Pulumi provider for xyz
|
||||
* Repository type: Public
|
||||
1. Clone the generated repository.
|
||||
|
||||
From the templated repository:
|
||||
|
||||
1. Search-replace `xyz` with the name of your desired provider.
|
||||
|
||||
#### Build the provider and install the plugin
|
||||
|
||||
```bash
|
||||
$ make build install
|
||||
```
|
||||
|
||||
This will:
|
||||
|
||||
1. Create the SDK codegen binary and place it in a `./bin` folder (gitignored)
|
||||
2. Create the provider binary and place it in the `./bin` folder (gitignored)
|
||||
3. Generate the dotnet, Go, Node, and Python SDKs and place them in the `./sdk` folder
|
||||
4. Install the provider on your machine.
|
||||
|
||||
#### Test against the example
|
||||
|
||||
```bash
|
||||
$ cd examples/simple
|
||||
$ yarn link @pulumi/xyz
|
||||
$ yarn install
|
||||
$ pulumi stack init test
|
||||
$ pulumi up
|
||||
```
|
||||
|
||||
Now that you have completed all of the above steps, you have a working provider that generates a random string for you.
|
||||
|
||||
#### A brief repository overview
|
||||
|
||||
You now have:
|
||||
|
||||
1. A `provider/` folder containing the building and implementation logic
|
||||
1. `cmd/pulumi-resource-xyz/main.go` - holds the provider's sample implementation logic.
|
||||
2. `deployment-templates` - a set of files to help you around deployment and publication
|
||||
3. `sdk` - holds the generated code libraries created by `pulumi-gen-xyz/main.go`
|
||||
4. `examples` a folder of Pulumi programs to try locally and/or use in CI.
|
||||
5. A `Makefile` and this `README`.
|
||||
|
||||
#### Additional Details
|
||||
|
||||
This repository depends on the pulumi-go-provider library. For more details on building providers, please check
|
||||
the [Pulumi Go Provider docs](https://github.com/pulumi/pulumi-go-provider).
|
||||
|
||||
### Build Examples
|
||||
|
||||
Create an example program using the resources defined in your provider, and place it in the `examples/` folder.
|
||||
|
||||
You can now repeat the steps for [build, install, and test](#test-against-the-example).
|
||||
|
||||
## Configuring CI and releases
|
||||
|
||||
1. Follow the instructions laid out in the [deployment templates](./deployment-templates/README-DEPLOYMENT.md).
|
||||
|
||||
## References
|
||||
|
||||
Other resources/examples for implementing providers:
|
||||
* [Pulumi Command provider](https://github.com/pulumi/pulumi-command/blob/master/provider/pkg/provider/provider.go)
|
||||
* [Pulumi Go Provider repository](https://github.com/pulumi/pulumi-go-provider)
|
||||
|
||||
@@ -1,204 +0,0 @@
|
||||
#!/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)
|
||||
@@ -34,7 +34,7 @@ import (
|
||||
|
||||
func main() {
|
||||
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)
|
||||
}
|
||||
yamlPath := os.Args[1]
|
||||
@@ -204,7 +204,7 @@ func processYaml(path, mdDir string) error {
|
||||
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)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
@@ -6,7 +6,7 @@ resources:
|
||||
ecr-repository:
|
||||
type: aws:ecr:Repository
|
||||
my-image:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
tags:
|
||||
- ${ecr-repository.repositoryUrl}:latest
|
||||
@@ -36,21 +36,20 @@ runtime: yaml
|
||||
description: Multi-platform image
|
||||
resources:
|
||||
image:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
context:
|
||||
location: "app"
|
||||
platforms:
|
||||
- plan9/amd64
|
||||
- plan9/386
|
||||
push: false
|
||||
---
|
||||
name: registry
|
||||
runtime: yaml
|
||||
description: Registry export
|
||||
resources:
|
||||
image:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
tags:
|
||||
- "docker.io/pulumi/pulumi:3.107.0"
|
||||
@@ -69,7 +68,7 @@ runtime: yaml
|
||||
description: Caching
|
||||
resources:
|
||||
image:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
context:
|
||||
location: "app"
|
||||
@@ -80,71 +79,65 @@ resources:
|
||||
cacheFrom:
|
||||
- local:
|
||||
src: tmp/cache
|
||||
push: false
|
||||
---
|
||||
name: dbc
|
||||
runtime: yaml
|
||||
description: Docker Build Cloud
|
||||
resources:
|
||||
image:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
context:
|
||||
location: "app"
|
||||
exec: true
|
||||
builder:
|
||||
name: cloud-builder-name
|
||||
push: false
|
||||
---
|
||||
name: build-args
|
||||
runtime: yaml
|
||||
description: Build arguments
|
||||
resources:
|
||||
image:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
context:
|
||||
location: "app"
|
||||
buildArgs:
|
||||
SET_ME_TO_TRUE: "true"
|
||||
push: false
|
||||
---
|
||||
name: build-target
|
||||
runtime: yaml
|
||||
description: Build target
|
||||
resources:
|
||||
image:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
context:
|
||||
location: "app"
|
||||
target: "build-me"
|
||||
push: false
|
||||
---
|
||||
name: named-contexts
|
||||
runtime: yaml
|
||||
description: Named contexts
|
||||
resources:
|
||||
image:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
context:
|
||||
location: app
|
||||
named:
|
||||
"golang:latest":
|
||||
location: "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"
|
||||
push: false
|
||||
---
|
||||
name: remote-context
|
||||
runtime: yaml
|
||||
description: Remote context
|
||||
resources:
|
||||
image:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
context:
|
||||
location: "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"
|
||||
push: false
|
||||
|
||||
---
|
||||
name: inline
|
||||
@@ -152,7 +145,7 @@ runtime: yaml
|
||||
description: Inline Dockerfile
|
||||
resources:
|
||||
image:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
dockerfile:
|
||||
inline: |
|
||||
@@ -160,31 +153,28 @@ resources:
|
||||
COPY hello.c ./
|
||||
context:
|
||||
location: "app"
|
||||
push: false
|
||||
---
|
||||
name: remote-context
|
||||
runtime: yaml
|
||||
description: Remote context
|
||||
resources:
|
||||
image:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
dockerfile:
|
||||
location: app/Dockerfile
|
||||
context:
|
||||
location: "https://github.com/docker-library/hello-world.git"
|
||||
push: false
|
||||
---
|
||||
name: docker-load
|
||||
runtime: yaml
|
||||
description: Local export
|
||||
resources:
|
||||
image:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
context:
|
||||
location: "app"
|
||||
exports:
|
||||
- docker:
|
||||
tar: true
|
||||
push: false
|
||||
|
||||
@@ -3,7 +3,7 @@ description: Multi-platform registry caching
|
||||
runtime: yaml
|
||||
resources:
|
||||
arm64:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
context:
|
||||
location: "app"
|
||||
@@ -20,7 +20,7 @@ resources:
|
||||
ref: "docker.io/pulumi/pulumi:cache-arm64"
|
||||
|
||||
amd64:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
context:
|
||||
location: "app"
|
||||
@@ -37,7 +37,7 @@ resources:
|
||||
ref: "docker.io/pulumi/pulumi:cache-amd64"
|
||||
|
||||
index:
|
||||
type: docker-build:Index
|
||||
type: dockerbuild:Index
|
||||
properties:
|
||||
tag: "docker.io/pulumi/pulumi:3.107.0"
|
||||
sources:
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
command-output
|
||||
tmp
|
||||
@@ -1,34 +1,32 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Pulumi;
|
||||
using DockerBuild = Pulumi.DockerBuild;
|
||||
using Dockerbuild = Pulumi.Dockerbuild;
|
||||
|
||||
return await Deployment.RunAsync(() =>
|
||||
{
|
||||
var config = new Config();
|
||||
var dockerHubPassword = config.Require("dockerHubPassword");
|
||||
var multiPlatform = new DockerBuild.Image("multiPlatform", new()
|
||||
var multiPlatform = new Dockerbuild.Image("multiPlatform", new()
|
||||
{
|
||||
Push = false,
|
||||
Dockerfile = new DockerBuild.Inputs.DockerfileArgs
|
||||
Dockerfile = new Dockerbuild.Inputs.DockerfileArgs
|
||||
{
|
||||
Location = "./app/Dockerfile.multiPlatform",
|
||||
},
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
Context = new Dockerbuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "./app",
|
||||
},
|
||||
Platforms = new[]
|
||||
{
|
||||
DockerBuild.Platform.Plan9_amd64,
|
||||
DockerBuild.Platform.Plan9_386,
|
||||
Dockerbuild.Platform.Plan9_amd64,
|
||||
Dockerbuild.Platform.Plan9_386,
|
||||
},
|
||||
});
|
||||
|
||||
var registryPush = new DockerBuild.Image("registryPush", new()
|
||||
var registryPush = new Dockerbuild.Image("registryPush", new()
|
||||
{
|
||||
Push = false,
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
Context = new Dockerbuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "./app",
|
||||
},
|
||||
@@ -38,9 +36,9 @@ return await Deployment.RunAsync(() =>
|
||||
},
|
||||
Exports = new[]
|
||||
{
|
||||
new DockerBuild.Inputs.ExportArgs
|
||||
new Dockerbuild.Inputs.ExportArgs
|
||||
{
|
||||
Registry = new DockerBuild.Inputs.ExportRegistryArgs
|
||||
Registry = new Dockerbuild.Inputs.ExportRegistryArgs
|
||||
{
|
||||
OciMediaTypes = true,
|
||||
Push = false,
|
||||
@@ -49,7 +47,7 @@ return await Deployment.RunAsync(() =>
|
||||
},
|
||||
Registries = new[]
|
||||
{
|
||||
new DockerBuild.Inputs.RegistryArgs
|
||||
new Dockerbuild.Inputs.RegistryArgs
|
||||
{
|
||||
Address = "docker.io",
|
||||
Username = "pulumibot",
|
||||
@@ -58,29 +56,28 @@ return await Deployment.RunAsync(() =>
|
||||
},
|
||||
});
|
||||
|
||||
var cached = new DockerBuild.Image("cached", new()
|
||||
var cached = new Dockerbuild.Image("cached", new()
|
||||
{
|
||||
Push = false,
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
Context = new Dockerbuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "./app",
|
||||
},
|
||||
CacheTo = new[]
|
||||
{
|
||||
new DockerBuild.Inputs.CacheToArgs
|
||||
new Dockerbuild.Inputs.CacheToArgs
|
||||
{
|
||||
Local = new DockerBuild.Inputs.CacheToLocalArgs
|
||||
Local = new Dockerbuild.Inputs.CacheToLocalArgs
|
||||
{
|
||||
Dest = "tmp/cache",
|
||||
Mode = DockerBuild.CacheMode.Max,
|
||||
Mode = Dockerbuild.CacheMode.Max,
|
||||
},
|
||||
},
|
||||
},
|
||||
CacheFrom = new[]
|
||||
{
|
||||
new DockerBuild.Inputs.CacheFromArgs
|
||||
new Dockerbuild.Inputs.CacheFromArgs
|
||||
{
|
||||
Local = new DockerBuild.Inputs.CacheFromLocalArgs
|
||||
Local = new Dockerbuild.Inputs.CacheFromLocalArgs
|
||||
{
|
||||
Src = "tmp/cache",
|
||||
},
|
||||
@@ -88,14 +85,13 @@ return await Deployment.RunAsync(() =>
|
||||
},
|
||||
});
|
||||
|
||||
var buildArgs = new DockerBuild.Image("buildArgs", new()
|
||||
var buildArgs = new Dockerbuild.Image("buildArgs", new()
|
||||
{
|
||||
Push = false,
|
||||
Dockerfile = new DockerBuild.Inputs.DockerfileArgs
|
||||
Dockerfile = new Dockerbuild.Inputs.DockerfileArgs
|
||||
{
|
||||
Location = "./app/Dockerfile.buildArgs",
|
||||
},
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
Context = new Dockerbuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "./app",
|
||||
},
|
||||
@@ -105,14 +101,13 @@ return await Deployment.RunAsync(() =>
|
||||
},
|
||||
});
|
||||
|
||||
var extraHosts = new DockerBuild.Image("extraHosts", new()
|
||||
var extraHosts = new Dockerbuild.Image("extraHosts", new()
|
||||
{
|
||||
Push = false,
|
||||
Dockerfile = new DockerBuild.Inputs.DockerfileArgs
|
||||
Dockerfile = new Dockerbuild.Inputs.DockerfileArgs
|
||||
{
|
||||
Location = "./app/Dockerfile.extraHosts",
|
||||
},
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
Context = new Dockerbuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "./app",
|
||||
},
|
||||
@@ -122,34 +117,32 @@ return await Deployment.RunAsync(() =>
|
||||
},
|
||||
});
|
||||
|
||||
var sshMount = new DockerBuild.Image("sshMount", new()
|
||||
var sshMount = new Dockerbuild.Image("sshMount", new()
|
||||
{
|
||||
Push = false,
|
||||
Dockerfile = new DockerBuild.Inputs.DockerfileArgs
|
||||
Dockerfile = new Dockerbuild.Inputs.DockerfileArgs
|
||||
{
|
||||
Location = "./app/Dockerfile.sshMount",
|
||||
},
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
Context = new Dockerbuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "./app",
|
||||
},
|
||||
Ssh = new[]
|
||||
{
|
||||
new DockerBuild.Inputs.SSHArgs
|
||||
new Dockerbuild.Inputs.SSHArgs
|
||||
{
|
||||
Id = "default",
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
var secrets = new DockerBuild.Image("secrets", new()
|
||||
var secrets = new Dockerbuild.Image("secrets", new()
|
||||
{
|
||||
Push = false,
|
||||
Dockerfile = new DockerBuild.Inputs.DockerfileArgs
|
||||
Dockerfile = new Dockerbuild.Inputs.DockerfileArgs
|
||||
{
|
||||
Location = "./app/Dockerfile.secrets",
|
||||
},
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
Context = new Dockerbuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "./app",
|
||||
},
|
||||
@@ -159,10 +152,9 @@ return await Deployment.RunAsync(() =>
|
||||
},
|
||||
});
|
||||
|
||||
var labels = new DockerBuild.Image("labels", new()
|
||||
var labels = new Dockerbuild.Image("labels", new()
|
||||
{
|
||||
Push = false,
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
Context = new Dockerbuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "./app",
|
||||
},
|
||||
@@ -172,33 +164,31 @@ return await Deployment.RunAsync(() =>
|
||||
},
|
||||
});
|
||||
|
||||
var target = new DockerBuild.Image("target", new()
|
||||
var target = new Dockerbuild.Image("target", new()
|
||||
{
|
||||
Push = false,
|
||||
Dockerfile = new DockerBuild.Inputs.DockerfileArgs
|
||||
Dockerfile = new Dockerbuild.Inputs.DockerfileArgs
|
||||
{
|
||||
Location = "./app/Dockerfile.target",
|
||||
},
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
Context = new Dockerbuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "./app",
|
||||
},
|
||||
Target = "build-me",
|
||||
});
|
||||
|
||||
var namedContexts = new DockerBuild.Image("namedContexts", new()
|
||||
var namedContexts = new Dockerbuild.Image("namedContexts", new()
|
||||
{
|
||||
Push = false,
|
||||
Dockerfile = new DockerBuild.Inputs.DockerfileArgs
|
||||
Dockerfile = new Dockerbuild.Inputs.DockerfileArgs
|
||||
{
|
||||
Location = "./app/Dockerfile.namedContexts",
|
||||
},
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
Context = new Dockerbuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "./app",
|
||||
Named =
|
||||
{
|
||||
{ "golang:latest", new DockerBuild.Inputs.ContextArgs
|
||||
{ "golang:latest", new Dockerbuild.Inputs.ContextArgs
|
||||
{
|
||||
Location = "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984",
|
||||
} },
|
||||
@@ -206,53 +196,53 @@ return await Deployment.RunAsync(() =>
|
||||
},
|
||||
});
|
||||
|
||||
var remoteContext = new DockerBuild.Image("remoteContext", new()
|
||||
var remoteContext = new Dockerbuild.Image("remoteContext", new()
|
||||
{
|
||||
Push = false,
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
Context = new Dockerbuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
|
||||
},
|
||||
});
|
||||
|
||||
var remoteContextWithInline = new DockerBuild.Image("remoteContextWithInline", new()
|
||||
var remoteContextWithInline = new Dockerbuild.Image("remoteContextWithInline", new()
|
||||
{
|
||||
Push = false,
|
||||
Dockerfile = new DockerBuild.Inputs.DockerfileArgs
|
||||
Dockerfile = new Dockerbuild.Inputs.DockerfileArgs
|
||||
{
|
||||
Inline = @"FROM busybox
|
||||
COPY hello.c ./
|
||||
",
|
||||
},
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
Context = new Dockerbuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "https://github.com/docker-library/hello-world.git",
|
||||
},
|
||||
});
|
||||
|
||||
var inline = new DockerBuild.Image("inline", new()
|
||||
var inline = new Dockerbuild.Image("inline", new()
|
||||
{
|
||||
Push = false,
|
||||
Dockerfile = new DockerBuild.Inputs.DockerfileArgs
|
||||
Dockerfile = new Dockerbuild.Inputs.DockerfileArgs
|
||||
{
|
||||
Inline = @"FROM alpine
|
||||
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()
|
||||
{
|
||||
Push = false,
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
Context = new Dockerbuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "./app",
|
||||
},
|
||||
Exports = new[]
|
||||
{
|
||||
new DockerBuild.Inputs.ExportArgs
|
||||
new Dockerbuild.Inputs.ExportArgs
|
||||
{
|
||||
Docker = new DockerBuild.Inputs.ExportDockerArgs
|
||||
Docker = new Dockerbuild.Inputs.ExportDockerArgs
|
||||
{
|
||||
Tar = true,
|
||||
},
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name: provider-docker-build
|
||||
name: provider-dockerbuild
|
||||
runtime: dotnet
|
||||
config:
|
||||
dockerHubPassword:
|
||||
@@ -6,5 +6,5 @@ config:
|
||||
secret: true
|
||||
plugins:
|
||||
providers:
|
||||
- name: docker-build
|
||||
- name: dockerbuild
|
||||
path: ../../bin
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Pulumi" Version="3.*" />
|
||||
<PackageReference Include="Pulumi.DockerBuild" Version="0.0.2-alpha.1712594380+4cd6d49b.dirty" />
|
||||
<PackageReference Include="Pulumi.Dockerbuild" Version="*" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
</Project>
|
||||
@@ -27,7 +27,7 @@ func TestDotNetExample(t *testing.T) {
|
||||
test := integration.ProgramTestOptions{
|
||||
Dir: path.Join(cwd, "dotnet"),
|
||||
Dependencies: []string{
|
||||
"Pulumi.DockerBuild",
|
||||
"Pulumi.Dockerbuild",
|
||||
},
|
||||
Secrets: map[string]string{
|
||||
"dockerHubPassword": os.Getenv("DOCKER_HUB_PASSWORD"),
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
command-output
|
||||
tmp
|
||||
@@ -1,4 +1,4 @@
|
||||
name: provider-docker-build
|
||||
name: provider-dockerbuild
|
||||
runtime: go
|
||||
config:
|
||||
dockerHubPassword:
|
||||
@@ -6,5 +6,5 @@ config:
|
||||
secret: true
|
||||
plugins:
|
||||
providers:
|
||||
- name: docker-build
|
||||
- name: dockerbuild
|
||||
path: ../../bin
|
||||
|
||||
@@ -1,95 +1,7 @@
|
||||
module provider-docker-build
|
||||
module provider-dockerbuild
|
||||
|
||||
go 1.21.7
|
||||
|
||||
toolchain go1.21.9
|
||||
go 1.20
|
||||
|
||||
require (
|
||||
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.0-20240425180359-26c144c916b7
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.128.0
|
||||
)
|
||||
|
||||
require (
|
||||
dario.cat/mergo v1.0.0 // indirect
|
||||
github.com/BurntSushi/toml v1.2.1 // indirect
|
||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
||||
github.com/ProtonMail/go-crypto v1.0.0 // indirect
|
||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
|
||||
github.com/agext/levenshtein v1.2.3 // indirect
|
||||
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
||||
github.com/atotto/clipboard v0.1.4 // indirect
|
||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
||||
github.com/blang/semver v3.5.1+incompatible // indirect
|
||||
github.com/charmbracelet/bubbles v0.16.1 // indirect
|
||||
github.com/charmbracelet/bubbletea v0.25.0 // indirect
|
||||
github.com/charmbracelet/lipgloss v0.7.1 // indirect
|
||||
github.com/cheggaaa/pb v1.0.29 // indirect
|
||||
github.com/cloudflare/circl v1.3.7 // indirect
|
||||
github.com/containerd/console v1.0.4 // indirect
|
||||
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
|
||||
github.com/djherbis/times v1.5.0 // indirect
|
||||
github.com/emirpasic/gods v1.18.1 // 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-git/v5 v5.12.0 // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
github.com/golang/glog v1.2.0 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
github.com/google/uuid v1.6.0 // indirect
|
||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||
github.com/hashicorp/hcl/v2 v2.19.1 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
||||
github.com/kevinburke/ssh_config 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-localereader v0.0.1 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.15 // indirect
|
||||
github.com/mitchellh/go-ps v1.0.0 // indirect
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
||||
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
|
||||
github.com/muesli/cancelreader v0.2.2 // indirect
|
||||
github.com/muesli/reflow v0.3.0 // indirect
|
||||
github.com/muesli/termenv v0.15.2 // indirect
|
||||
github.com/opentracing/basictracer-go v1.1.0 // indirect
|
||||
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
||||
github.com/pgavlin/fx v0.1.6 // indirect
|
||||
github.com/pjbgf/sha1cd v0.3.0 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/pkg/term v1.1.0 // indirect
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
||||
github.com/pulumi/esc v0.9.1 // indirect
|
||||
github.com/rivo/uniseg v0.4.4 // indirect
|
||||
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
|
||||
github.com/skeema/knownhosts v1.2.2 // indirect
|
||||
github.com/spf13/cast v1.5.0 // indirect
|
||||
github.com/spf13/cobra v1.8.0 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // 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-lib v2.4.1+incompatible // indirect
|
||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||
github.com/zclconf/go-cty v1.14.1 // indirect
|
||||
go.uber.org/atomic v1.10.0 // indirect
|
||||
golang.org/x/crypto v0.24.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect
|
||||
golang.org/x/mod v0.18.0 // indirect
|
||||
golang.org/x/net v0.26.0 // indirect
|
||||
golang.org/x/sync v0.7.0 // indirect
|
||||
golang.org/x/sys v0.21.0 // indirect
|
||||
golang.org/x/term v0.21.0 // indirect
|
||||
golang.org/x/text v0.16.0 // indirect
|
||||
golang.org/x/tools v0.22.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 // indirect
|
||||
google.golang.org/grpc v1.63.2 // indirect
|
||||
google.golang.org/protobuf v1.33.0 // indirect
|
||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
lukechampine.com/frand v1.4.2 // indirect
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.111.1
|
||||
)
|
||||
|
||||
@@ -1,319 +0,0 @@
|
||||
dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
|
||||
dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
|
||||
github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=
|
||||
github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
|
||||
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/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.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
|
||||
github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78=
|
||||
github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
|
||||
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/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/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
|
||||
github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY=
|
||||
github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4=
|
||||
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
|
||||
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
|
||||
github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4=
|
||||
github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI=
|
||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
|
||||
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/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
|
||||
github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
|
||||
github.com/charmbracelet/bubbles v0.16.1 h1:6uzpAAaT9ZqKssntbvZMlksWHruQLNxg49H5WdeuYSY=
|
||||
github.com/charmbracelet/bubbles v0.16.1/go.mod h1:2QCp9LFlEsBQMvIYERr7Ww2H2bA7xen1idUDIzm/+Xc=
|
||||
github.com/charmbracelet/bubbletea v0.25.0 h1:bAfwk7jRz7FKFl9RzlIULPkStffg5k6pNt5dywy4TcM=
|
||||
github.com/charmbracelet/bubbletea v0.25.0/go.mod h1:EN3QDR1T5ZdWmdfDzYcqOCAps45+QIJbLOBxmVNWNNg=
|
||||
github.com/charmbracelet/lipgloss v0.7.1 h1:17WMwi7N1b1rVWOjMT+rCh7sQkvDU75B2hbZpc5Kc1E=
|
||||
github.com/charmbracelet/lipgloss v0.7.1/go.mod h1:yG0k3giv8Qj8edTCbbg6AlQ5e8KNWpFujkNawKNhE2c=
|
||||
github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo=
|
||||
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.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
|
||||
github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
|
||||
github.com/containerd/console v1.0.4 h1:F2g4+oChYvBTsASRTz8NP6iIAi97J3TtSAsLbIFn4ro=
|
||||
github.com/containerd/console v1.0.4/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk=
|
||||
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.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
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/djherbis/times v1.5.0/go.mod h1:5q7FDLvbNg1L/KaBmPcWlVR9NmoKo3+ucqUA3ijQhA0=
|
||||
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU=
|
||||
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM=
|
||||
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
|
||||
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
|
||||
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.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
|
||||
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/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE=
|
||||
github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8=
|
||||
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/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
|
||||
github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow=
|
||||
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/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys=
|
||||
github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY=
|
||||
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/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||
github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68=
|
||||
github.com/golang/glog v1.2.0/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-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
|
||||
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.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
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/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
|
||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw=
|
||||
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
|
||||
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/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
|
||||
github.com/hashicorp/hcl/v2 v2.19.1 h1://i05Jqznmb2EXqa39Nsvyan2o5XyMowW5fnCKW5RPI=
|
||||
github.com/hashicorp/hcl/v2 v2.19.1/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE=
|
||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||
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/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
|
||||
github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=
|
||||
github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
|
||||
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
||||
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
|
||||
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
|
||||
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
||||
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
|
||||
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
|
||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
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-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.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
|
||||
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/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
|
||||
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D264iyp3TiX5OmNcI5cIARiQI=
|
||||
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/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo=
|
||||
github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s=
|
||||
github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8=
|
||||
github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo=
|
||||
github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8=
|
||||
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/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc=
|
||||
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
|
||||
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
|
||||
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/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M=
|
||||
github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
|
||||
github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
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/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/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/esc v0.9.1 h1:HH5eEv8sgyxSpY5a8yePyqFXzA8cvBvapfH8457+mIs=
|
||||
github.com/pulumi/esc v0.9.1/go.mod h1:oEJ6bOsjYlQUpjf70GiX+CXn3VBmpwFDxUTlmtUN84c=
|
||||
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.0-20240425180359-26c144c916b7/go.mod h1:48lEA1mq2tRC4SfASAJmLYG1hRWM5sP5VPFeoZEM54U=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.128.0 h1:5VPFfygxt6rva0bEYVQZXxsGAo2/D1wsb9erGOtXxzk=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.128.0/go.mod h1:p1U24en3zt51agx+WlNboSOV8eLlPWYAkxMzVEXKbnY=
|
||||
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.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
|
||||
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
||||
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
|
||||
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
|
||||
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/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/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
|
||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
|
||||
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/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A=
|
||||
github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
|
||||
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
|
||||
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.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
|
||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||
github.com/spf13/pflag v1.0.5/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/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.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.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.9.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/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/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/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/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
|
||||
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.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||
github.com/zclconf/go-cty v1.14.1 h1:t9fyA35fwjjUMcmL5hLER+e/rEPqrbCK1/OSE4SI9KA=
|
||||
github.com/zclconf/go-cty v1.14.1/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
|
||||
go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
|
||||
go.uber.org/atomic v1.10.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-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-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.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
||||
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
||||
golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=
|
||||
golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
|
||||
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM=
|
||||
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI=
|
||||
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.2.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.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0=
|
||||
golang.org/x/mod v0.18.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-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-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-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-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
|
||||
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.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
|
||||
golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
|
||||
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-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.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
|
||||
golang.org/x/sync v0.7.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-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-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-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-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/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-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-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.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
|
||||
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
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.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
||||
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.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA=
|
||||
golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
|
||||
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.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.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
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.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
|
||||
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
|
||||
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-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-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.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||
golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA=
|
||||
golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c=
|
||||
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-20191204190536-9bdfabe68543/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-20240311173647-c811ad7063a7/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
|
||||
google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
|
||||
google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
|
||||
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
|
||||
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
||||
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-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
|
||||
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||
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.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
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.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s=
|
||||
pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw=
|
||||
pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
|
||||
@@ -1,7 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
|
||||
"github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
|
||||
)
|
||||
@@ -11,7 +11,6 @@ func main() {
|
||||
cfg := config.New(ctx, "")
|
||||
dockerHubPassword := cfg.Require("dockerHubPassword")
|
||||
multiPlatform, err := dockerbuild.NewImage(ctx, "multiPlatform", &dockerbuild.ImageArgs{
|
||||
Push: pulumi.Bool(false),
|
||||
Dockerfile: &dockerbuild.DockerfileArgs{
|
||||
Location: pulumi.String("./app/Dockerfile.multiPlatform"),
|
||||
},
|
||||
@@ -27,7 +26,6 @@ func main() {
|
||||
return err
|
||||
}
|
||||
_, err = dockerbuild.NewImage(ctx, "registryPush", &dockerbuild.ImageArgs{
|
||||
Push: pulumi.Bool(false),
|
||||
Context: &dockerbuild.BuildContextArgs{
|
||||
Location: pulumi.String("./app"),
|
||||
},
|
||||
@@ -54,7 +52,6 @@ func main() {
|
||||
return err
|
||||
}
|
||||
_, err = dockerbuild.NewImage(ctx, "cached", &dockerbuild.ImageArgs{
|
||||
Push: pulumi.Bool(false),
|
||||
Context: &dockerbuild.BuildContextArgs{
|
||||
Location: pulumi.String("./app"),
|
||||
},
|
||||
@@ -78,7 +75,6 @@ func main() {
|
||||
return err
|
||||
}
|
||||
_, err = dockerbuild.NewImage(ctx, "buildArgs", &dockerbuild.ImageArgs{
|
||||
Push: pulumi.Bool(false),
|
||||
Dockerfile: &dockerbuild.DockerfileArgs{
|
||||
Location: pulumi.String("./app/Dockerfile.buildArgs"),
|
||||
},
|
||||
@@ -93,7 +89,6 @@ func main() {
|
||||
return err
|
||||
}
|
||||
_, err = dockerbuild.NewImage(ctx, "extraHosts", &dockerbuild.ImageArgs{
|
||||
Push: pulumi.Bool(false),
|
||||
Dockerfile: &dockerbuild.DockerfileArgs{
|
||||
Location: pulumi.String("./app/Dockerfile.extraHosts"),
|
||||
},
|
||||
@@ -108,7 +103,6 @@ func main() {
|
||||
return err
|
||||
}
|
||||
_, err = dockerbuild.NewImage(ctx, "sshMount", &dockerbuild.ImageArgs{
|
||||
Push: pulumi.Bool(false),
|
||||
Dockerfile: &dockerbuild.DockerfileArgs{
|
||||
Location: pulumi.String("./app/Dockerfile.sshMount"),
|
||||
},
|
||||
@@ -125,7 +119,6 @@ func main() {
|
||||
return err
|
||||
}
|
||||
_, err = dockerbuild.NewImage(ctx, "secrets", &dockerbuild.ImageArgs{
|
||||
Push: pulumi.Bool(false),
|
||||
Dockerfile: &dockerbuild.DockerfileArgs{
|
||||
Location: pulumi.String("./app/Dockerfile.secrets"),
|
||||
},
|
||||
@@ -140,7 +133,6 @@ func main() {
|
||||
return err
|
||||
}
|
||||
_, err = dockerbuild.NewImage(ctx, "labels", &dockerbuild.ImageArgs{
|
||||
Push: pulumi.Bool(false),
|
||||
Context: &dockerbuild.BuildContextArgs{
|
||||
Location: pulumi.String("./app"),
|
||||
},
|
||||
@@ -152,7 +144,6 @@ func main() {
|
||||
return err
|
||||
}
|
||||
_, err = dockerbuild.NewImage(ctx, "target", &dockerbuild.ImageArgs{
|
||||
Push: pulumi.Bool(false),
|
||||
Dockerfile: &dockerbuild.DockerfileArgs{
|
||||
Location: pulumi.String("./app/Dockerfile.target"),
|
||||
},
|
||||
@@ -165,7 +156,6 @@ func main() {
|
||||
return err
|
||||
}
|
||||
_, err = dockerbuild.NewImage(ctx, "namedContexts", &dockerbuild.ImageArgs{
|
||||
Push: pulumi.Bool(false),
|
||||
Dockerfile: &dockerbuild.DockerfileArgs{
|
||||
Location: pulumi.String("./app/Dockerfile.namedContexts"),
|
||||
},
|
||||
@@ -182,7 +172,6 @@ func main() {
|
||||
return err
|
||||
}
|
||||
_, err = dockerbuild.NewImage(ctx, "remoteContext", &dockerbuild.ImageArgs{
|
||||
Push: pulumi.Bool(false),
|
||||
Context: &dockerbuild.BuildContextArgs{
|
||||
Location: pulumi.String("https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"),
|
||||
},
|
||||
@@ -191,7 +180,6 @@ func main() {
|
||||
return err
|
||||
}
|
||||
_, err = dockerbuild.NewImage(ctx, "remoteContextWithInline", &dockerbuild.ImageArgs{
|
||||
Push: pulumi.Bool(false),
|
||||
Dockerfile: &dockerbuild.DockerfileArgs{
|
||||
Inline: pulumi.String("FROM busybox\nCOPY hello.c ./\n"),
|
||||
},
|
||||
@@ -203,16 +191,17 @@ func main() {
|
||||
return err
|
||||
}
|
||||
_, err = dockerbuild.NewImage(ctx, "inline", &dockerbuild.ImageArgs{
|
||||
Push: pulumi.Bool(false),
|
||||
Dockerfile: &dockerbuild.DockerfileArgs{
|
||||
Inline: pulumi.String("FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"),
|
||||
},
|
||||
Context: &dockerbuild.BuildContextArgs{
|
||||
Location: pulumi.String("./app"),
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = dockerbuild.NewImage(ctx, "dockerLoad", &dockerbuild.ImageArgs{
|
||||
Push: pulumi.Bool(false),
|
||||
Context: &dockerbuild.BuildContextArgs{
|
||||
Location: pulumi.String("./app"),
|
||||
},
|
||||
|
||||
@@ -19,7 +19,7 @@ func TestGoExample(t *testing.T) {
|
||||
test := integration.ProgramTestOptions{
|
||||
Dir: path.Join(cwd, "go"),
|
||||
Dependencies: []string{
|
||||
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild=../sdk/go/dockerbuild",
|
||||
"github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild=../sdk/go/dockerbuild",
|
||||
},
|
||||
Secrets: map[string]string{
|
||||
"dockerHubPassword": os.Getenv("DOCKER_HUB_PASSWORD"),
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
command-output
|
||||
tmp
|
||||
@@ -1,4 +1,4 @@
|
||||
name: provider-docker-build
|
||||
name: provider-dockerbuild
|
||||
runtime: java
|
||||
config:
|
||||
dockerHubPassword:
|
||||
@@ -6,5 +6,5 @@ config:
|
||||
secret: true
|
||||
plugins:
|
||||
providers:
|
||||
- name: docker-build
|
||||
- name: dockerbuild
|
||||
path: ../../bin
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>com.pulumi</groupId>
|
||||
<artifactId>provider-docker-build</artifactId>
|
||||
<artifactId>provider-dockerbuild</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
|
||||
<properties>
|
||||
@@ -25,7 +25,7 @@
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.pulumi</groupId>
|
||||
<artifactId>docker-build</artifactId>
|
||||
<artifactId>dockerbuild</artifactId>
|
||||
<version>[0.0.0,)</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -32,7 +32,6 @@ public class App {
|
||||
final var config = ctx.config();
|
||||
final var dockerHubPassword = config.get("dockerHubPassword");
|
||||
var multiPlatform = new Image("multiPlatform", ImageArgs.builder()
|
||||
.push(false)
|
||||
.dockerfile(DockerfileArgs.builder()
|
||||
.location("./app/Dockerfile.multiPlatform")
|
||||
.build())
|
||||
@@ -45,7 +44,6 @@ public class App {
|
||||
.build());
|
||||
|
||||
var registryPush = new Image("registryPush", ImageArgs.builder()
|
||||
.push(false)
|
||||
.context(BuildContextArgs.builder()
|
||||
.location("./app")
|
||||
.build())
|
||||
@@ -64,7 +62,6 @@ public class App {
|
||||
.build());
|
||||
|
||||
var cached = new Image("cached", ImageArgs.builder()
|
||||
.push(false)
|
||||
.context(BuildContextArgs.builder()
|
||||
.location("./app")
|
||||
.build())
|
||||
@@ -82,7 +79,6 @@ public class App {
|
||||
.build());
|
||||
|
||||
var buildArgs = new Image("buildArgs", ImageArgs.builder()
|
||||
.push(false)
|
||||
.dockerfile(DockerfileArgs.builder()
|
||||
.location("./app/Dockerfile.buildArgs")
|
||||
.build())
|
||||
@@ -93,7 +89,6 @@ public class App {
|
||||
.build());
|
||||
|
||||
var extraHosts = new Image("extraHosts", ImageArgs.builder()
|
||||
.push(false)
|
||||
.dockerfile(DockerfileArgs.builder()
|
||||
.location("./app/Dockerfile.extraHosts")
|
||||
.build())
|
||||
@@ -104,7 +99,6 @@ public class App {
|
||||
.build());
|
||||
|
||||
var sshMount = new Image("sshMount", ImageArgs.builder()
|
||||
.push(false)
|
||||
.dockerfile(DockerfileArgs.builder()
|
||||
.location("./app/Dockerfile.sshMount")
|
||||
.build())
|
||||
@@ -117,7 +111,6 @@ public class App {
|
||||
.build());
|
||||
|
||||
var secrets = new Image("secrets", ImageArgs.builder()
|
||||
.push(false)
|
||||
.dockerfile(DockerfileArgs.builder()
|
||||
.location("./app/Dockerfile.secrets")
|
||||
.build())
|
||||
@@ -128,7 +121,6 @@ public class App {
|
||||
.build());
|
||||
|
||||
var labels = new Image("labels", ImageArgs.builder()
|
||||
.push(false)
|
||||
.context(BuildContextArgs.builder()
|
||||
.location("./app")
|
||||
.build())
|
||||
@@ -136,7 +128,6 @@ public class App {
|
||||
.build());
|
||||
|
||||
var target = new Image("target", ImageArgs.builder()
|
||||
.push(false)
|
||||
.dockerfile(DockerfileArgs.builder()
|
||||
.location("./app/Dockerfile.target")
|
||||
.build())
|
||||
@@ -147,7 +138,6 @@ public class App {
|
||||
.build());
|
||||
|
||||
var namedContexts = new Image("namedContexts", ImageArgs.builder()
|
||||
.push(false)
|
||||
.dockerfile(DockerfileArgs.builder()
|
||||
.location("./app/Dockerfile.namedContexts")
|
||||
.build())
|
||||
@@ -158,14 +148,12 @@ public class App {
|
||||
.build());
|
||||
|
||||
var remoteContext = new Image("remoteContext", ImageArgs.builder()
|
||||
.push(false)
|
||||
.context(BuildContextArgs.builder()
|
||||
.location("https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile")
|
||||
.build())
|
||||
.build());
|
||||
|
||||
var remoteContextWithInline = new Image("remoteContextWithInline", ImageArgs.builder()
|
||||
.push(false)
|
||||
.dockerfile(DockerfileArgs.builder()
|
||||
.inline("""
|
||||
FROM busybox
|
||||
@@ -178,17 +166,18 @@ COPY hello.c ./
|
||||
.build());
|
||||
|
||||
var inline = new Image("inline", ImageArgs.builder()
|
||||
.push(false)
|
||||
.dockerfile(DockerfileArgs.builder()
|
||||
.inline("""
|
||||
FROM alpine
|
||||
RUN echo "This uses an inline Dockerfile! 👍"
|
||||
""")
|
||||
.build())
|
||||
.context(BuildContextArgs.builder()
|
||||
.location("./app")
|
||||
.build())
|
||||
.build());
|
||||
|
||||
var dockerLoad = new Image("dockerLoad", ImageArgs.builder()
|
||||
.push(false)
|
||||
.context(BuildContextArgs.builder()
|
||||
.location("./app")
|
||||
.build())
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
package examples
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"crypto/rsa"
|
||||
"errors"
|
||||
"io"
|
||||
"math/rand"
|
||||
"net"
|
||||
"os"
|
||||
"path/filepath"
|
||||
@@ -22,39 +20,30 @@ func TestMain(m *testing.M) {
|
||||
|
||||
// sshagent crates an in-memory SSH agent with one identity.
|
||||
func sshagent() string {
|
||||
dir, err := os.MkdirTemp(os.TempDir(), "docker-test-*")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
dir := os.TempDir()
|
||||
sock := filepath.Join(dir, "test.sock")
|
||||
|
||||
// In case it already exists.
|
||||
_ = os.Remove(sock)
|
||||
|
||||
l, err := net.Listen("unix", sock)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
a := agent.NewKeyring()
|
||||
//nolint:gosec
|
||||
key, err := rsa.GenerateKey(rand.New(rand.NewSource(42)), 2048)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
err = a.Add(agent.AddedKey{PrivateKey: key})
|
||||
key, err := rsa.GenerateKey(rand.Reader, 2048)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
_ = a.Add(agent.AddedKey{PrivateKey: key})
|
||||
|
||||
go func() {
|
||||
for {
|
||||
conn, err := l.Accept()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if err := agent.ServeAgent(a, conn); err != nil && !errors.Is(err, io.EOF) {
|
||||
panic(err)
|
||||
}
|
||||
conn, err := l.Accept()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
agent.ServeAgent(a, conn)
|
||||
}()
|
||||
|
||||
return sock
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
command-output
|
||||
tmp
|
||||
@@ -1,4 +1,4 @@
|
||||
name: provider-docker-build
|
||||
name: provider-dockerbuild
|
||||
runtime: nodejs
|
||||
config:
|
||||
dockerHubPassword:
|
||||
@@ -6,5 +6,5 @@ config:
|
||||
secret: true
|
||||
plugins:
|
||||
providers:
|
||||
- name: docker-build
|
||||
- name: dockerbuild
|
||||
path: ../../bin
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import * as pulumi from "@pulumi/pulumi";
|
||||
import * as docker_build from "@pulumi/docker-build";
|
||||
import * as dockerbuild from "@pulumi/dockerbuild";
|
||||
|
||||
const config = new pulumi.Config();
|
||||
const dockerHubPassword = config.require("dockerHubPassword");
|
||||
const multiPlatform = new docker_build.Image("multiPlatform", {
|
||||
push: false,
|
||||
const multiPlatform = new dockerbuild.Image("multiPlatform", {
|
||||
dockerfile: {
|
||||
location: "./app/Dockerfile.multiPlatform",
|
||||
},
|
||||
@@ -12,12 +11,11 @@ const multiPlatform = new docker_build.Image("multiPlatform", {
|
||||
location: "./app",
|
||||
},
|
||||
platforms: [
|
||||
docker_build.Platform.Plan9_amd64,
|
||||
docker_build.Platform.Plan9_386,
|
||||
dockerbuild.Platform.Plan9_amd64,
|
||||
dockerbuild.Platform.Plan9_386,
|
||||
],
|
||||
});
|
||||
const registryPush = new docker_build.Image("registryPush", {
|
||||
push: false,
|
||||
const registryPush = new dockerbuild.Image("registryPush", {
|
||||
context: {
|
||||
location: "./app",
|
||||
},
|
||||
@@ -34,15 +32,14 @@ const registryPush = new docker_build.Image("registryPush", {
|
||||
password: dockerHubPassword,
|
||||
}],
|
||||
});
|
||||
const cached = new docker_build.Image("cached", {
|
||||
push: false,
|
||||
const cached = new dockerbuild.Image("cached", {
|
||||
context: {
|
||||
location: "./app",
|
||||
},
|
||||
cacheTo: [{
|
||||
local: {
|
||||
dest: "tmp/cache",
|
||||
mode: docker_build.CacheMode.Max,
|
||||
mode: dockerbuild.CacheMode.Max,
|
||||
},
|
||||
}],
|
||||
cacheFrom: [{
|
||||
@@ -51,8 +48,7 @@ const cached = new docker_build.Image("cached", {
|
||||
},
|
||||
}],
|
||||
});
|
||||
const buildArgs = new docker_build.Image("buildArgs", {
|
||||
push: false,
|
||||
const buildArgs = new dockerbuild.Image("buildArgs", {
|
||||
dockerfile: {
|
||||
location: "./app/Dockerfile.buildArgs",
|
||||
},
|
||||
@@ -63,8 +59,7 @@ const buildArgs = new docker_build.Image("buildArgs", {
|
||||
SET_ME_TO_TRUE: "true",
|
||||
},
|
||||
});
|
||||
const extraHosts = new docker_build.Image("extraHosts", {
|
||||
push: false,
|
||||
const extraHosts = new dockerbuild.Image("extraHosts", {
|
||||
dockerfile: {
|
||||
location: "./app/Dockerfile.extraHosts",
|
||||
},
|
||||
@@ -73,8 +68,7 @@ const extraHosts = new docker_build.Image("extraHosts", {
|
||||
},
|
||||
addHosts: ["metadata.google.internal:169.254.169.254"],
|
||||
});
|
||||
const sshMount = new docker_build.Image("sshMount", {
|
||||
push: false,
|
||||
const sshMount = new dockerbuild.Image("sshMount", {
|
||||
dockerfile: {
|
||||
location: "./app/Dockerfile.sshMount",
|
||||
},
|
||||
@@ -85,8 +79,7 @@ const sshMount = new docker_build.Image("sshMount", {
|
||||
id: "default",
|
||||
}],
|
||||
});
|
||||
const secrets = new docker_build.Image("secrets", {
|
||||
push: false,
|
||||
const secrets = new dockerbuild.Image("secrets", {
|
||||
dockerfile: {
|
||||
location: "./app/Dockerfile.secrets",
|
||||
},
|
||||
@@ -97,8 +90,7 @@ const secrets = new docker_build.Image("secrets", {
|
||||
password: "hunter2",
|
||||
},
|
||||
});
|
||||
const labels = new docker_build.Image("labels", {
|
||||
push: false,
|
||||
const labels = new dockerbuild.Image("labels", {
|
||||
context: {
|
||||
location: "./app",
|
||||
},
|
||||
@@ -106,8 +98,7 @@ const labels = new docker_build.Image("labels", {
|
||||
description: "This image will get a descriptive label 👍",
|
||||
},
|
||||
});
|
||||
const target = new docker_build.Image("target", {
|
||||
push: false,
|
||||
const target = new dockerbuild.Image("target", {
|
||||
dockerfile: {
|
||||
location: "./app/Dockerfile.target",
|
||||
},
|
||||
@@ -116,8 +107,7 @@ const target = new docker_build.Image("target", {
|
||||
},
|
||||
target: "build-me",
|
||||
});
|
||||
const namedContexts = new docker_build.Image("namedContexts", {
|
||||
push: false,
|
||||
const namedContexts = new dockerbuild.Image("namedContexts", {
|
||||
dockerfile: {
|
||||
location: "./app/Dockerfile.namedContexts",
|
||||
},
|
||||
@@ -130,14 +120,10 @@ const namedContexts = new docker_build.Image("namedContexts", {
|
||||
},
|
||||
},
|
||||
});
|
||||
const remoteContext = new docker_build.Image("remoteContext", {
|
||||
push: false,
|
||||
context: {
|
||||
location: "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
|
||||
},
|
||||
});
|
||||
const remoteContextWithInline = new docker_build.Image("remoteContextWithInline", {
|
||||
push: false,
|
||||
const remoteContext = new dockerbuild.Image("remoteContext", {context: {
|
||||
location: "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
|
||||
}});
|
||||
const remoteContextWithInline = new dockerbuild.Image("remoteContextWithInline", {
|
||||
dockerfile: {
|
||||
inline: `FROM busybox
|
||||
COPY hello.c ./
|
||||
@@ -147,16 +133,17 @@ COPY hello.c ./
|
||||
location: "https://github.com/docker-library/hello-world.git",
|
||||
},
|
||||
});
|
||||
const inline = new docker_build.Image("inline", {
|
||||
push: false,
|
||||
const inline = new dockerbuild.Image("inline", {
|
||||
dockerfile: {
|
||||
inline: `FROM alpine
|
||||
RUN echo "This uses an inline Dockerfile! 👍"
|
||||
`,
|
||||
},
|
||||
context: {
|
||||
location: "./app",
|
||||
},
|
||||
});
|
||||
const dockerLoad = new docker_build.Image("dockerLoad", {
|
||||
push: false,
|
||||
const dockerLoad = new dockerbuild.Image("dockerLoad", {
|
||||
context: {
|
||||
location: "./app",
|
||||
},
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
{
|
||||
"name": "provider-docker-build",
|
||||
"name": "provider-dockerbuild",
|
||||
"devDependencies": {
|
||||
"@types/node": "^18"
|
||||
},
|
||||
"dependencies": {
|
||||
"typescript": "^4.0.0",
|
||||
"@pulumi/pulumi": "^3.128.0"
|
||||
"@pulumi/pulumi": "^3.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,19 +4,11 @@
|
||||
package examples
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
"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/pulumi/pkg/v3/testing/integration"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
@@ -26,7 +18,7 @@ func TestNodeExample(t *testing.T) {
|
||||
|
||||
test := integration.ProgramTestOptions{
|
||||
Dir: path.Join(cwd, "nodejs"),
|
||||
Dependencies: []string{"@pulumi/docker-build"},
|
||||
Dependencies: []string{"@pulumi/dockerbuild"},
|
||||
Secrets: map[string]string{
|
||||
"dockerHubPassword": os.Getenv("DOCKER_HUB_PASSWORD"),
|
||||
},
|
||||
@@ -34,180 +26,3 @@ func TestNodeExample(t *testing.T) {
|
||||
|
||||
integration.ProgramTest(t, &test)
|
||||
}
|
||||
|
||||
// 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 {
|
||||
tt := tt
|
||||
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)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
command-output
|
||||
tmp
|
||||
@@ -1,4 +1,4 @@
|
||||
name: provider-docker-build
|
||||
name: provider-dockerbuild
|
||||
runtime: python
|
||||
config:
|
||||
dockerHubPassword:
|
||||
@@ -6,5 +6,5 @@ config:
|
||||
secret: true
|
||||
plugins:
|
||||
providers:
|
||||
- name: docker-build
|
||||
- name: dockerbuild
|
||||
path: ../../bin
|
||||
|
||||
@@ -1,154 +1,142 @@
|
||||
import pulumi
|
||||
import pulumi_docker_build as docker_build
|
||||
import pulumi_dockerbuild as dockerbuild
|
||||
|
||||
config = pulumi.Config()
|
||||
docker_hub_password = config.require("dockerHubPassword")
|
||||
multi_platform = docker_build.Image("multiPlatform",
|
||||
push=False,
|
||||
dockerfile=docker_build.DockerfileArgs(
|
||||
multi_platform = dockerbuild.Image("multiPlatform",
|
||||
dockerfile=dockerbuild.DockerfileArgs(
|
||||
location="./app/Dockerfile.multiPlatform",
|
||||
),
|
||||
context=docker_build.BuildContextArgs(
|
||||
context=dockerbuild.BuildContextArgs(
|
||||
location="./app",
|
||||
),
|
||||
platforms=[
|
||||
docker_build.Platform.PLAN9_AMD64,
|
||||
docker_build.Platform.PLAN9_386,
|
||||
dockerbuild.Platform.PLAN9_AMD64,
|
||||
dockerbuild.Platform.PLAN9_386,
|
||||
])
|
||||
registry_push = docker_build.Image("registryPush",
|
||||
push=False,
|
||||
context=docker_build.BuildContextArgs(
|
||||
registry_push = dockerbuild.Image("registryPush",
|
||||
context=dockerbuild.BuildContextArgs(
|
||||
location="./app",
|
||||
),
|
||||
tags=["docker.io/pulumibot/buildkit-e2e:example"],
|
||||
exports=[docker_build.ExportArgs(
|
||||
registry=docker_build.ExportRegistryArgs(
|
||||
exports=[dockerbuild.ExportArgs(
|
||||
registry=dockerbuild.ExportRegistryArgs(
|
||||
oci_media_types=True,
|
||||
push=False,
|
||||
),
|
||||
)],
|
||||
registries=[docker_build.RegistryArgs(
|
||||
registries=[dockerbuild.RegistryArgs(
|
||||
address="docker.io",
|
||||
username="pulumibot",
|
||||
password=docker_hub_password,
|
||||
)])
|
||||
cached = docker_build.Image("cached",
|
||||
push=False,
|
||||
context=docker_build.BuildContextArgs(
|
||||
cached = dockerbuild.Image("cached",
|
||||
context=dockerbuild.BuildContextArgs(
|
||||
location="./app",
|
||||
),
|
||||
cache_to=[docker_build.CacheToArgs(
|
||||
local=docker_build.CacheToLocalArgs(
|
||||
cache_to=[dockerbuild.CacheToArgs(
|
||||
local=dockerbuild.CacheToLocalArgs(
|
||||
dest="tmp/cache",
|
||||
mode=docker_build.CacheMode.MAX,
|
||||
mode=dockerbuild.CacheMode.MAX,
|
||||
),
|
||||
)],
|
||||
cache_from=[docker_build.CacheFromArgs(
|
||||
local=docker_build.CacheFromLocalArgs(
|
||||
cache_from=[dockerbuild.CacheFromArgs(
|
||||
local=dockerbuild.CacheFromLocalArgs(
|
||||
src="tmp/cache",
|
||||
),
|
||||
)])
|
||||
build_args = docker_build.Image("buildArgs",
|
||||
push=False,
|
||||
dockerfile=docker_build.DockerfileArgs(
|
||||
build_args = dockerbuild.Image("buildArgs",
|
||||
dockerfile=dockerbuild.DockerfileArgs(
|
||||
location="./app/Dockerfile.buildArgs",
|
||||
),
|
||||
context=docker_build.BuildContextArgs(
|
||||
context=dockerbuild.BuildContextArgs(
|
||||
location="./app",
|
||||
),
|
||||
build_args={
|
||||
"SET_ME_TO_TRUE": "true",
|
||||
})
|
||||
extra_hosts = docker_build.Image("extraHosts",
|
||||
push=False,
|
||||
dockerfile=docker_build.DockerfileArgs(
|
||||
extra_hosts = dockerbuild.Image("extraHosts",
|
||||
dockerfile=dockerbuild.DockerfileArgs(
|
||||
location="./app/Dockerfile.extraHosts",
|
||||
),
|
||||
context=docker_build.BuildContextArgs(
|
||||
context=dockerbuild.BuildContextArgs(
|
||||
location="./app",
|
||||
),
|
||||
add_hosts=["metadata.google.internal:169.254.169.254"])
|
||||
ssh_mount = docker_build.Image("sshMount",
|
||||
push=False,
|
||||
dockerfile=docker_build.DockerfileArgs(
|
||||
ssh_mount = dockerbuild.Image("sshMount",
|
||||
dockerfile=dockerbuild.DockerfileArgs(
|
||||
location="./app/Dockerfile.sshMount",
|
||||
),
|
||||
context=docker_build.BuildContextArgs(
|
||||
context=dockerbuild.BuildContextArgs(
|
||||
location="./app",
|
||||
),
|
||||
ssh=[docker_build.SSHArgs(
|
||||
ssh=[dockerbuild.SSHArgs(
|
||||
id="default",
|
||||
)])
|
||||
secrets = docker_build.Image("secrets",
|
||||
push=False,
|
||||
dockerfile=docker_build.DockerfileArgs(
|
||||
secrets = dockerbuild.Image("secrets",
|
||||
dockerfile=dockerbuild.DockerfileArgs(
|
||||
location="./app/Dockerfile.secrets",
|
||||
),
|
||||
context=docker_build.BuildContextArgs(
|
||||
context=dockerbuild.BuildContextArgs(
|
||||
location="./app",
|
||||
),
|
||||
secrets={
|
||||
"password": "hunter2",
|
||||
})
|
||||
labels = docker_build.Image("labels",
|
||||
push=False,
|
||||
context=docker_build.BuildContextArgs(
|
||||
labels = dockerbuild.Image("labels",
|
||||
context=dockerbuild.BuildContextArgs(
|
||||
location="./app",
|
||||
),
|
||||
labels={
|
||||
"description": "This image will get a descriptive label 👍",
|
||||
})
|
||||
target = docker_build.Image("target",
|
||||
push=False,
|
||||
dockerfile=docker_build.DockerfileArgs(
|
||||
target = dockerbuild.Image("target",
|
||||
dockerfile=dockerbuild.DockerfileArgs(
|
||||
location="./app/Dockerfile.target",
|
||||
),
|
||||
context=docker_build.BuildContextArgs(
|
||||
context=dockerbuild.BuildContextArgs(
|
||||
location="./app",
|
||||
),
|
||||
target="build-me")
|
||||
named_contexts = docker_build.Image("namedContexts",
|
||||
push=False,
|
||||
dockerfile=docker_build.DockerfileArgs(
|
||||
named_contexts = dockerbuild.Image("namedContexts",
|
||||
dockerfile=dockerbuild.DockerfileArgs(
|
||||
location="./app/Dockerfile.namedContexts",
|
||||
),
|
||||
context=docker_build.BuildContextArgs(
|
||||
context=dockerbuild.BuildContextArgs(
|
||||
location="./app",
|
||||
named={
|
||||
"golang:latest": docker_build.ContextArgs(
|
||||
"golang:latest": dockerbuild.ContextArgs(
|
||||
location="docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984",
|
||||
),
|
||||
},
|
||||
))
|
||||
remote_context = docker_build.Image("remoteContext",
|
||||
push=False,
|
||||
context=docker_build.BuildContextArgs(
|
||||
location="https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
|
||||
))
|
||||
remote_context_with_inline = docker_build.Image("remoteContextWithInline",
|
||||
push=False,
|
||||
dockerfile=docker_build.DockerfileArgs(
|
||||
remote_context = dockerbuild.Image("remoteContext", context=dockerbuild.BuildContextArgs(
|
||||
location="https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
|
||||
))
|
||||
remote_context_with_inline = dockerbuild.Image("remoteContextWithInline",
|
||||
dockerfile=dockerbuild.DockerfileArgs(
|
||||
inline="""FROM busybox
|
||||
COPY hello.c ./
|
||||
""",
|
||||
),
|
||||
context=docker_build.BuildContextArgs(
|
||||
context=dockerbuild.BuildContextArgs(
|
||||
location="https://github.com/docker-library/hello-world.git",
|
||||
))
|
||||
inline = docker_build.Image("inline",
|
||||
push=False,
|
||||
dockerfile=docker_build.DockerfileArgs(
|
||||
inline = dockerbuild.Image("inline",
|
||||
dockerfile=dockerbuild.DockerfileArgs(
|
||||
inline="""FROM alpine
|
||||
RUN echo "This uses an inline Dockerfile! 👍"
|
||||
""",
|
||||
),
|
||||
context=dockerbuild.BuildContextArgs(
|
||||
location="./app",
|
||||
))
|
||||
docker_load = docker_build.Image("dockerLoad",
|
||||
push=False,
|
||||
context=docker_build.BuildContextArgs(
|
||||
docker_load = dockerbuild.Image("dockerLoad",
|
||||
context=dockerbuild.BuildContextArgs(
|
||||
location="./app",
|
||||
),
|
||||
exports=[docker_build.ExportArgs(
|
||||
docker=docker_build.ExportDockerArgs(
|
||||
exports=[dockerbuild.ExportArgs(
|
||||
docker=dockerbuild.ExportDockerArgs(
|
||||
tar=True,
|
||||
),
|
||||
)])
|
||||
|
||||
@@ -1,238 +0,0 @@
|
||||
{"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-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":"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":"aliasSpecs"},"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-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.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-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/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-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-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-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-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-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-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-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-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-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-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-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-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-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-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.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.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.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-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":"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.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":"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-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":"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-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":"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-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":"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-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":"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-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":"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-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":"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.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.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.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.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.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.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.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.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/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-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/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":"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":"aliasSpecs"},"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-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.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-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/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-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-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-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-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-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-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-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-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-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-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-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-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-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-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.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-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.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-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.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-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.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-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":"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.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":"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.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":"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-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-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.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":"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.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":"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-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":"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.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/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/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-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":"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-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":"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-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/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":"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":"aliasSpecs"},"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-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.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-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-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/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":"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-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-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":"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-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-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: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-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-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-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-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-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-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-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-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-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-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-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-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-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-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":"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":"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-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":"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/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":"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-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.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.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-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.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":"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-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":"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":"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-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-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-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-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-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-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-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/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":"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":"aliasSpecs"},"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-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.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-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-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/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-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-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-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-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-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-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: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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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: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":"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-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/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.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-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-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":"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":"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-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":"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":"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-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-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-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-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-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-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-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.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/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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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-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: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"}}
|
||||
@@ -1,944 +0,0 @@
|
||||
{
|
||||
"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:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721",
|
||||
"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:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721",
|
||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721",
|
||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721",
|
||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721",
|
||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721",
|
||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721",
|
||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721",
|
||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721",
|
||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721",
|
||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721",
|
||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721",
|
||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721",
|
||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721",
|
||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::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:p-it-bryces-wor-upgrade-7b788721::provider-docker-build::pulumi:pulumi:Stack::provider-docker-build-p-it-bryces-wor-upgrade-7b788721",
|
||||
"provider": "urn:pulumi:p-it-bryces-wor-upgrade-7b788721::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,7 +0,0 @@
|
||||
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
|
||||
@@ -1,3 +0,0 @@
|
||||
name: test-buildx-caching
|
||||
runtime: nodejs
|
||||
description: A minimal TypeScript Pulumi program
|
||||
@@ -1,40 +0,0 @@
|
||||
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
|
||||
);
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"name": "test-buildx-caching",
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pulumi/pulumi": "^3.128.0"
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
*
|
||||
@@ -1,34 +0,0 @@
|
||||
name: dockerhub
|
||||
description: Push to DockerHub with caching
|
||||
runtime: yaml
|
||||
plugins:
|
||||
providers:
|
||||
- name: docker-build
|
||||
path: ../../../bin
|
||||
outputs:
|
||||
ref: ${my-image.ref}
|
||||
resources:
|
||||
my-image:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
tags:
|
||||
- docker.io/pulumibot/buildkit-e2e
|
||||
push: true
|
||||
context:
|
||||
location: .
|
||||
dockerfile:
|
||||
inline: FROM alpine
|
||||
cacheFrom:
|
||||
- registry:
|
||||
ref: docker.io/pulumibot/buildkit-e2e:cache
|
||||
cacheTo:
|
||||
- registry:
|
||||
ref: docker.io/pulumibot/buildkit-e2e:cache
|
||||
registries:
|
||||
- username: pulumibot
|
||||
address: docker.io
|
||||
password: ${dockerHubPassword}
|
||||
config:
|
||||
dockerHubPassword:
|
||||
type: string
|
||||
secret: true
|
||||
@@ -1,10 +1,5 @@
|
||||
name: ecr
|
||||
description: Push to AWS ECR with caching
|
||||
runtime: yaml
|
||||
plugins:
|
||||
providers:
|
||||
- name: docker-build
|
||||
path: ../../../bin
|
||||
outputs:
|
||||
ref: ${my-image.ref}
|
||||
resources:
|
||||
@@ -13,10 +8,10 @@ resources:
|
||||
properties:
|
||||
forceDelete: true
|
||||
my-image:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
tags:
|
||||
- ${ecr-repository.repositoryUrl}:latest
|
||||
- ${ecr-repository.repositoryUrl}:tag-name
|
||||
push: true
|
||||
context:
|
||||
location: .
|
||||
@@ -34,6 +29,7 @@ resources:
|
||||
- username: ${auth-token.userName}
|
||||
password: ${auth-token.password}
|
||||
address: ${ecr-repository.repositoryUrl}
|
||||
runtime: yaml
|
||||
variables:
|
||||
auth-token:
|
||||
fn::aws:ecr:getAuthorizationToken:
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
*
|
||||
@@ -1,19 +0,0 @@
|
||||
name: dockerhub-unauthenticated
|
||||
description: Pull an image from Dockerhub without credentials
|
||||
runtime: yaml
|
||||
plugins:
|
||||
providers:
|
||||
- name: docker-build
|
||||
path: ../../../bin
|
||||
resources:
|
||||
my-image:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
tags:
|
||||
- alpine-local
|
||||
load: true
|
||||
push: false
|
||||
context:
|
||||
location: .
|
||||
dockerfile:
|
||||
inline: FROM alpine
|
||||
@@ -1,187 +0,0 @@
|
||||
name: provider-docker-build
|
||||
runtime: yaml
|
||||
plugins:
|
||||
providers:
|
||||
- name: docker-build
|
||||
path: ../../bin
|
||||
|
||||
resources:
|
||||
# docker buildx build -f app/Dockerfile.multiPlatform --platform plan9/amd64,plan9/386 app
|
||||
multiPlatform:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
location: "./app/Dockerfile.multiPlatform"
|
||||
context:
|
||||
location: "./app"
|
||||
platforms:
|
||||
- plan9/amd64
|
||||
- plan9/386
|
||||
|
||||
# docker buildx build --output=type=registry app
|
||||
registryPush:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
push: false
|
||||
context:
|
||||
location: "./app"
|
||||
tags: ["docker.io/pulumibot/buildkit-e2e:example"]
|
||||
exports:
|
||||
- registry:
|
||||
ociMediaTypes: true
|
||||
push: false # Omit this to actually push images.
|
||||
|
||||
# docker buildx build --cache-to=type=local,dest=tmp/cache,mode=max --cache-from=type=local,src=tmp/cache app
|
||||
cached:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
push: false
|
||||
context:
|
||||
location: "./app"
|
||||
cacheTo:
|
||||
- local:
|
||||
dest: tmp/cache
|
||||
mode: max
|
||||
cacheFrom:
|
||||
- local:
|
||||
src: tmp/cache
|
||||
|
||||
# docker buildx build -f app/Dockerfile.buildArgs --build-arg SET_ME_TO_TRUE=true app
|
||||
buildArgs:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
location: "./app/Dockerfile.buildArgs"
|
||||
context:
|
||||
location: "./app"
|
||||
buildArgs:
|
||||
SET_ME_TO_TRUE: "true"
|
||||
|
||||
# docker buildx build -f app/Dockerfile.extraHosts --add-host metadata.google.internal:169.254.169.254 app
|
||||
extraHosts:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
location: "./app/Dockerfile.extraHosts"
|
||||
context:
|
||||
location: "./app"
|
||||
addHosts:
|
||||
- "metadata.google.internal:169.254.169.254"
|
||||
|
||||
# docker buildx build -f app/Dockerfile.sshMount --ssh default app
|
||||
sshMount:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
location: "./app/Dockerfile.sshMount"
|
||||
context:
|
||||
location: "./app"
|
||||
ssh:
|
||||
- id: default
|
||||
|
||||
# PASSWORD=hunter2 docker buildx build -f app/Dockerfile.secrets --secret id=password,env=PASSWORD app
|
||||
secrets:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
location: "./app/Dockerfile.secrets"
|
||||
context:
|
||||
location: "./app"
|
||||
secrets:
|
||||
password: hunter2
|
||||
|
||||
# docker buildx build --label "description=This image will get a descriptive label 👍" app
|
||||
labels:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
push: false
|
||||
context:
|
||||
location: "./app"
|
||||
labels:
|
||||
description: "This image will get a descriptive label 👍"
|
||||
|
||||
# docker buildx build -f app/Dockerfile.target --target build-me app
|
||||
target:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
location: "./app/Dockerfile.target"
|
||||
context:
|
||||
location: "./app"
|
||||
target: "build-me"
|
||||
|
||||
# docker buildx build -f app/Dockerfile.namedContexts \
|
||||
# --build-context golang:latest=docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984 app
|
||||
namedContexts:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
location: "./app/Dockerfile.namedContexts"
|
||||
context:
|
||||
location: "./app"
|
||||
named:
|
||||
"golang:latest":
|
||||
location: "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984"
|
||||
|
||||
# docker buildx build https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile
|
||||
remoteContext:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
push: false
|
||||
context:
|
||||
location: "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"
|
||||
|
||||
# docker buildx build -f - https://github.com/docker-library/hello-world.git <<EOF
|
||||
# FROM busybox
|
||||
# COPY hello.c ./
|
||||
# EOF
|
||||
remoteContextWithInline:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
inline: |
|
||||
FROM busybox
|
||||
COPY hello.c ./
|
||||
context:
|
||||
location: "https://github.com/docker-library/hello-world.git"
|
||||
|
||||
# echo "FROM alpine" | docker buildx build -f - .
|
||||
inline:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
inline: |
|
||||
FROM alpine
|
||||
RUN echo "This uses an inline Dockerfile! 👍"
|
||||
context:
|
||||
location: "./app"
|
||||
|
||||
# docker buildx build --load .
|
||||
dockerLoad:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
push: false
|
||||
context:
|
||||
location: "./app"
|
||||
exports:
|
||||
- docker:
|
||||
tar: true
|
||||
|
||||
# docker buildx build - < app/Dockerfile.emptyContext
|
||||
#emptyContext:
|
||||
# type: docker-build:Image
|
||||
# properties:
|
||||
# file: "app/Dockerfile.emptyContext"
|
||||
# context: "-"
|
||||
|
||||
outputs:
|
||||
platforms: ${multiPlatform.platforms}
|
||||
@@ -1,15 +0,0 @@
|
||||
# YAML Example Program
|
||||
|
||||
Test Pulumi program written in YAML for testing this provider locally.
|
||||
|
||||
Edit this yaml program to test features of your provider locally. You can run this program using the following command:
|
||||
|
||||
```bash
|
||||
pulumi login
|
||||
pulumi stack init local
|
||||
pulumi up
|
||||
```
|
||||
|
||||
Note that unlike the rest of the auto-generated examples in the ./examples directory, this example is not automatically generated. It is intended to be a place for you to test your provider locally.
|
||||
|
||||
The remaining examples are language specific examples derived from the `make gen_examples` command supported in this provider's Makefile. These examples are automatically generated and should not be edited directly. To regenerate these examples, run `make gen_examples` in the root of this provider's repository.
|
||||
@@ -1,2 +0,0 @@
|
||||
FROM alpine
|
||||
RUN echo 👍
|
||||
@@ -1,5 +0,0 @@
|
||||
FROM alpine
|
||||
|
||||
ARG SET_ME_TO_TRUE
|
||||
RUN [ "$SET_ME_TO_TRUE" = "true" ]
|
||||
RUN echo "That's the correct build arg, thanks! 👍"
|
||||
@@ -1,2 +0,0 @@
|
||||
FROM alpine
|
||||
RUN echo "This image doesn't use any local files, so it doesn't need a context parameter 👍"
|
||||
@@ -1,3 +0,0 @@
|
||||
FROM bash AS base
|
||||
|
||||
RUN getent hosts metadata.google.internal
|
||||
@@ -1,7 +0,0 @@
|
||||
FROM --platform=$BUILDPLATFORM alpine as build
|
||||
RUN echo ${BUILDPLATFORM} > buildplatform
|
||||
RUN echo ${TARGETPLATFORM} > targetplatform
|
||||
|
||||
FROM build
|
||||
RUN cat buildplatform
|
||||
RUN cat targetplatform
|
||||
@@ -1,5 +0,0 @@
|
||||
# syntax=docker/dockerfile:1.4
|
||||
FROM golang:latest
|
||||
|
||||
RUN version="$(go version)" && echo $version && [ "$version" = "go version go1.21.7 linux/amd64" ]
|
||||
RUN echo "This image uses named contexts to pin golang:latest to a specific SHA 👍"
|
||||
@@ -1,4 +0,0 @@
|
||||
FROM alpine
|
||||
|
||||
RUN --mount=type=secret,id=password [ "$(cat /run/secrets/password)" = "hunter2" ]
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
FROM alpine
|
||||
|
||||
RUN apk add openssh-client
|
||||
|
||||
RUN --mount=type=ssh ssh-add -l
|
||||
@@ -1,8 +0,0 @@
|
||||
FROM alpine as build-me
|
||||
RUN echo 👍
|
||||
|
||||
FROM build-me as also-build-me
|
||||
RUN echo 🤙
|
||||
|
||||
FROM build-me as dont-build-me
|
||||
RUN [ "true" = "false" ]
|
||||
@@ -1,2 +0,0 @@
|
||||
command-output
|
||||
tmp
|
||||
@@ -1,16 +1,15 @@
|
||||
name: provider-docker-build
|
||||
name: provider-dockerbuild
|
||||
runtime: yaml
|
||||
plugins:
|
||||
providers:
|
||||
- name: docker-build
|
||||
- name: dockerbuild
|
||||
path: ../../bin
|
||||
|
||||
resources:
|
||||
# docker buildx build -f app/Dockerfile.multiPlatform --platform plan9/amd64,plan9/386 app
|
||||
multiPlatform:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
location: "./app/Dockerfile.multiPlatform"
|
||||
context:
|
||||
@@ -21,9 +20,8 @@ resources:
|
||||
|
||||
# docker buildx build --output=type=registry app
|
||||
registryPush:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
push: false
|
||||
context:
|
||||
location: "./app"
|
||||
tags: ["docker.io/pulumibot/buildkit-e2e:example"]
|
||||
@@ -38,9 +36,8 @@ resources:
|
||||
|
||||
# docker buildx build --cache-to=type=local,dest=tmp/cache,mode=max --cache-from=type=local,src=tmp/cache app
|
||||
cached:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
push: false
|
||||
context:
|
||||
location: "./app"
|
||||
cacheTo:
|
||||
@@ -53,9 +50,8 @@ resources:
|
||||
|
||||
# docker buildx build -f app/Dockerfile.buildArgs --build-arg SET_ME_TO_TRUE=true app
|
||||
buildArgs:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
location: "./app/Dockerfile.buildArgs"
|
||||
context:
|
||||
@@ -65,9 +61,8 @@ resources:
|
||||
|
||||
# docker buildx build -f app/Dockerfile.extraHosts --add-host metadata.google.internal:169.254.169.254 app
|
||||
extraHosts:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
location: "./app/Dockerfile.extraHosts"
|
||||
context:
|
||||
@@ -77,9 +72,8 @@ resources:
|
||||
|
||||
# docker buildx build -f app/Dockerfile.sshMount --ssh default app
|
||||
sshMount:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
location: "./app/Dockerfile.sshMount"
|
||||
context:
|
||||
@@ -89,9 +83,8 @@ resources:
|
||||
|
||||
# PASSWORD=hunter2 docker buildx build -f app/Dockerfile.secrets --secret id=password,env=PASSWORD app
|
||||
secrets:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
location: "./app/Dockerfile.secrets"
|
||||
context:
|
||||
@@ -101,9 +94,8 @@ resources:
|
||||
|
||||
# docker buildx build --label "description=This image will get a descriptive label 👍" app
|
||||
labels:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
push: false
|
||||
context:
|
||||
location: "./app"
|
||||
labels:
|
||||
@@ -111,9 +103,8 @@ resources:
|
||||
|
||||
# docker buildx build -f app/Dockerfile.target --target build-me app
|
||||
target:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
location: "./app/Dockerfile.target"
|
||||
context:
|
||||
@@ -123,9 +114,8 @@ resources:
|
||||
# docker buildx build -f app/Dockerfile.namedContexts \
|
||||
# --build-context golang:latest=docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984 app
|
||||
namedContexts:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
location: "./app/Dockerfile.namedContexts"
|
||||
context:
|
||||
@@ -136,9 +126,8 @@ resources:
|
||||
|
||||
# docker buildx build https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile
|
||||
remoteContext:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
push: false
|
||||
context:
|
||||
location: "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile"
|
||||
|
||||
@@ -147,9 +136,8 @@ resources:
|
||||
# COPY hello.c ./
|
||||
# EOF
|
||||
remoteContextWithInline:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
inline: |
|
||||
FROM busybox
|
||||
@@ -159,19 +147,19 @@ resources:
|
||||
|
||||
# echo "FROM alpine" | docker buildx build -f - .
|
||||
inline:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
push: false
|
||||
dockerfile:
|
||||
inline: |
|
||||
FROM alpine
|
||||
RUN echo "This uses an inline Dockerfile! 👍"
|
||||
context:
|
||||
location: "./app"
|
||||
|
||||
# docker buildx build --load .
|
||||
dockerLoad:
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
properties:
|
||||
push: false
|
||||
context:
|
||||
location: "./app"
|
||||
exports:
|
||||
@@ -180,7 +168,7 @@ resources:
|
||||
|
||||
# docker buildx build - < app/Dockerfile.emptyContext
|
||||
#emptyContext:
|
||||
# type: docker-build:Image
|
||||
# type: dockerbuild:Image
|
||||
# properties:
|
||||
# file: "app/Dockerfile.emptyContext"
|
||||
# context: "-"
|
||||
|
||||
@@ -6,11 +6,8 @@ package examples
|
||||
import (
|
||||
"os"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/pulumi/providertest"
|
||||
"github.com/pulumi/pulumi-docker-build/provider"
|
||||
"github.com/pulumi/pulumi/pkg/v3/testing/integration"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
@@ -29,28 +26,6 @@ func TestYAMLExample(t *testing.T) {
|
||||
integration.ProgramTest(t, &test)
|
||||
}
|
||||
|
||||
func TestYAMLExampleUpgrade(t *testing.T) {
|
||||
// t.Setenv("PULUMI_PROVIDER_TEST_MODE", "snapshot")
|
||||
|
||||
cwd, err := os.Getwd()
|
||||
require.NoError(t, err)
|
||||
|
||||
bin, err := filepath.Abs("../bin")
|
||||
require.NoError(t, err)
|
||||
|
||||
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) {
|
||||
if os.Getenv("AWS_SESSION_TOKEN") == "" {
|
||||
t.Skip("Missing AWS credentials")
|
||||
@@ -65,32 +40,3 @@ func TestECR(t *testing.T) {
|
||||
|
||||
integration.ProgramTest(t, &test)
|
||||
}
|
||||
|
||||
func TestDockerHub(t *testing.T) {
|
||||
if os.Getenv("DOCKER_HUB_PASSWORD") == "" {
|
||||
t.Skip("Missing DockerHub credentials")
|
||||
}
|
||||
|
||||
cwd, err := os.Getwd()
|
||||
require.NoError(t, err)
|
||||
|
||||
test := integration.ProgramTestOptions{
|
||||
Dir: path.Join(cwd, "tests/dockerhub"),
|
||||
Secrets: map[string]string{
|
||||
"dockerHubPassword": os.Getenv("DOCKER_HUB_PASSWORD"),
|
||||
},
|
||||
}
|
||||
|
||||
integration.ProgramTest(t, &test)
|
||||
}
|
||||
|
||||
func TestDockerHubUnauthenticated(t *testing.T) {
|
||||
cwd, err := os.Getwd()
|
||||
require.NoError(t, err)
|
||||
|
||||
test := integration.ProgramTestOptions{
|
||||
Dir: path.Join(cwd, "tests/unauthenticated"),
|
||||
}
|
||||
|
||||
integration.ProgramTest(t, &test)
|
||||
}
|
||||
|
||||
400
go.mod
400
go.mod
@@ -1,112 +1,107 @@
|
||||
module github.com/pulumi/pulumi-docker-build
|
||||
module github.com/pulumi/pulumi-dockerbuild
|
||||
|
||||
go 1.21.7
|
||||
|
||||
require (
|
||||
github.com/aws/aws-sdk-go v1.54.18
|
||||
github.com/blang/semver v3.5.1+incompatible
|
||||
github.com/distribution/reference v0.6.0
|
||||
github.com/docker/buildx v0.16.0
|
||||
github.com/docker/cli v27.0.3+incompatible
|
||||
github.com/docker/docker v27.1.0+incompatible
|
||||
github.com/golangci/golangci-lint v1.59.1
|
||||
github.com/moby/buildkit v0.15.0
|
||||
github.com/distribution/reference v0.5.0
|
||||
github.com/docker/buildx v0.12.0-rc2.0.20240214233841-c9d1c41d206c
|
||||
github.com/docker/cli v25.0.3+incompatible
|
||||
github.com/docker/distribution v2.8.2+incompatible
|
||||
github.com/docker/docker v25.0.2+incompatible
|
||||
github.com/golangci/golangci-lint v1.57.1
|
||||
github.com/moby/buildkit v0.13.0-beta3.0.20240205165705-d6e142600ee5
|
||||
github.com/moby/patternmatcher v0.6.0
|
||||
github.com/muesli/reflow v0.3.0
|
||||
github.com/otiai10/copy v1.14.0
|
||||
github.com/pulumi/providertest v0.0.13
|
||||
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet v0.0.0-20240624150732-fa777213effd
|
||||
github.com/pulumi/pulumi-go-provider v0.21.0
|
||||
github.com/pulumi/pulumi-java/pkg v0.13.0
|
||||
github.com/pulumi/pulumi-yaml v1.9.1
|
||||
github.com/pulumi/pulumi/pkg/v3 v3.128.0
|
||||
github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20240805173038-c428a91a4c3c
|
||||
github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20240805173038-c428a91a4c3c
|
||||
github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20240805173038-c428a91a4c3c
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.128.0
|
||||
github.com/regclient/regclient v0.7.1
|
||||
github.com/pulumi/pulumi-go-provider v0.14.1-0.20240329220324-55b011092652
|
||||
github.com/pulumi/pulumi-go-provider/integration v0.10.1-0.20240314105842-9fbffb634faf
|
||||
github.com/pulumi/pulumi-java/pkg v0.9.9
|
||||
github.com/pulumi/pulumi/pkg/v3 v3.111.2-0.20240324200353-583e06df0c70
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.111.2-0.20240324200353-583e06df0c70
|
||||
github.com/regclient/regclient v0.0.0-20240308005156-a7434cff9c6b
|
||||
github.com/sirupsen/logrus v1.9.3
|
||||
github.com/spf13/afero v1.11.0
|
||||
github.com/stretchr/testify v1.9.0
|
||||
github.com/theupdateframework/notary v0.7.0
|
||||
github.com/tonistiigi/fsutil v0.0.0-20240424095704-91a3fc46842c
|
||||
go.uber.org/mock v0.4.0
|
||||
golang.org/x/crypto v0.25.0
|
||||
golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8
|
||||
google.golang.org/protobuf v1.34.2
|
||||
github.com/tonistiigi/fsutil v0.0.0-20240301111122-7525a1af2bb5
|
||||
go.uber.org/mock v0.3.0
|
||||
golang.org/x/crypto v0.21.0
|
||||
google.golang.org/protobuf v1.33.0
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
)
|
||||
|
||||
require (
|
||||
4d63.com/gocheckcompilerdirectives v1.2.1 // indirect
|
||||
4d63.com/gochecknoglobals v0.2.1 // indirect
|
||||
cloud.google.com/go v0.112.1 // indirect
|
||||
cloud.google.com/go/compute v1.25.1 // indirect
|
||||
cloud.google.com/go v0.112.0 // indirect
|
||||
cloud.google.com/go/compute v1.23.3 // indirect
|
||||
cloud.google.com/go/compute/metadata v0.2.3 // indirect
|
||||
cloud.google.com/go/iam v1.1.6 // indirect
|
||||
cloud.google.com/go/kms v1.15.7 // indirect
|
||||
cloud.google.com/go/iam v1.1.5 // indirect
|
||||
cloud.google.com/go/kms v1.15.5 // indirect
|
||||
cloud.google.com/go/logging v1.9.0 // indirect
|
||||
cloud.google.com/go/longrunning v0.5.5 // indirect
|
||||
cloud.google.com/go/storage v1.39.1 // indirect
|
||||
cloud.google.com/go/longrunning v0.5.4 // indirect
|
||||
cloud.google.com/go/storage v1.36.0 // indirect
|
||||
dario.cat/mergo v1.0.0 // indirect
|
||||
github.com/4meepo/tagalign v1.3.4 // indirect
|
||||
github.com/4meepo/tagalign v1.3.3 // indirect
|
||||
github.com/Abirdcfly/dupword v0.0.14 // indirect
|
||||
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect
|
||||
github.com/AlecAivazis/survey/v2 v2.3.7 // indirect
|
||||
github.com/Antonboom/errname v0.1.13 // indirect
|
||||
github.com/Antonboom/nilnil v0.1.9 // indirect
|
||||
github.com/Antonboom/testifylint v1.3.1 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 // indirect
|
||||
github.com/Antonboom/errname v0.1.12 // indirect
|
||||
github.com/Antonboom/nilnil v0.1.7 // indirect
|
||||
github.com/Antonboom/testifylint v1.2.0 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.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/storage/azblob v1.3.1 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.2.0 // indirect
|
||||
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
|
||||
github.com/Azure/go-autorest v14.2.0+incompatible // 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/BurntSushi/toml v1.4.0 // indirect
|
||||
github.com/Crocmagnon/fatcontext v0.2.2 // indirect
|
||||
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.0 // indirect
|
||||
github.com/BurntSushi/toml v1.3.2 // indirect
|
||||
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect
|
||||
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0 // indirect
|
||||
github.com/Masterminds/semver/v3 v3.2.1 // indirect
|
||||
github.com/Microsoft/go-winio v0.6.2 // indirect
|
||||
github.com/Masterminds/semver v1.5.0 // indirect
|
||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
||||
github.com/Microsoft/hcsshim v0.11.4 // indirect
|
||||
github.com/OpenPeeDeeP/depguard/v2 v2.2.0 // indirect
|
||||
github.com/ProtonMail/go-crypto v1.0.0 // indirect
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect
|
||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
|
||||
github.com/agext/levenshtein v1.2.3 // 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/alexkohler/nakedret/v2 v2.0.4 // indirect
|
||||
github.com/alexkohler/prealloc v1.0.0 // indirect
|
||||
github.com/alingse/asasalint v0.0.11 // indirect
|
||||
github.com/apparentlymart/go-cidr v1.1.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/makezero v1.1.1 // indirect
|
||||
github.com/atotto/clipboard v0.1.4 // indirect
|
||||
github.com/aws/aws-sdk-go-v2 v1.26.1 // 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.11 // 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.1 // 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.5 // 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/v4a v1.3.5 // 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/checksum v1.3.7 // 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/s3shared v1.17.5 // 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/sso v1.20.5 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 // indirect
|
||||
github.com/aws/smithy-go v1.20.2 // indirect
|
||||
github.com/aws/aws-sdk-go v1.49.0 // indirect
|
||||
github.com/aws/aws-sdk-go-v2 v1.24.1 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.4 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/config v1.26.6 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.16.16 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.15.15 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.3 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.10 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.10 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.10 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/kms v1.27.5 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.48.1 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.18.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.26.7 // indirect
|
||||
github.com/aws/smithy-go v1.19.0 // indirect
|
||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
||||
github.com/aymerick/douceur v0.2.0 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
@@ -116,47 +111,39 @@ require (
|
||||
github.com/breml/bidichk v0.2.7 // indirect
|
||||
github.com/breml/errchkjson v0.3.6 // indirect
|
||||
github.com/butuzov/ireturn v0.3.0 // indirect
|
||||
github.com/butuzov/mirror v1.2.0 // indirect
|
||||
github.com/butuzov/mirror v1.1.0 // indirect
|
||||
github.com/catenacyber/perfsprint v0.7.1 // indirect
|
||||
github.com/ccojocar/zxcvbn-go v1.0.2 // indirect
|
||||
github.com/cenkalti/backoff/v3 v3.2.2 // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||
github.com/charithe/durationcheck v0.0.10 // indirect
|
||||
github.com/charmbracelet/bubbles v0.18.0 // indirect
|
||||
github.com/charmbracelet/bubbletea v0.26.4 // indirect
|
||||
github.com/charmbracelet/bubbles v0.16.1 // indirect
|
||||
github.com/charmbracelet/bubbletea v0.24.2 // indirect
|
||||
github.com/charmbracelet/glamour v0.6.0 // indirect
|
||||
github.com/charmbracelet/lipgloss v0.11.0 // indirect
|
||||
github.com/charmbracelet/x/ansi v0.1.2 // indirect
|
||||
github.com/charmbracelet/x/input v0.1.0 // indirect
|
||||
github.com/charmbracelet/x/term v0.1.1 // indirect
|
||||
github.com/charmbracelet/x/windows v0.1.0 // indirect
|
||||
github.com/charmbracelet/lipgloss v0.7.1 // indirect
|
||||
github.com/chavacava/garif v0.1.0 // indirect
|
||||
github.com/cheggaaa/pb v1.0.29 // indirect
|
||||
github.com/ckaznocha/intrange v0.1.2 // indirect
|
||||
github.com/cloudflare/circl v1.3.8 // indirect
|
||||
github.com/compose-spec/compose-go/v2 v2.1.3 // indirect
|
||||
github.com/ckaznocha/intrange v0.1.0 // indirect
|
||||
github.com/cloudflare/circl v1.3.7 // indirect
|
||||
github.com/compose-spec/compose-go/v2 v2.0.0-rc.8 // indirect
|
||||
github.com/containerd/console v1.0.4 // indirect
|
||||
github.com/containerd/containerd v1.7.19 // indirect
|
||||
github.com/containerd/containerd/api v1.7.19 // indirect
|
||||
github.com/containerd/continuity v0.4.3 // indirect
|
||||
github.com/containerd/errdefs v0.1.0 // indirect
|
||||
github.com/containerd/containerd v1.7.12 // indirect
|
||||
github.com/containerd/continuity v0.4.2 // indirect
|
||||
github.com/containerd/log v0.1.0 // indirect
|
||||
github.com/containerd/platforms v0.2.1 // indirect
|
||||
github.com/containerd/ttrpc v1.2.5 // indirect
|
||||
github.com/containerd/ttrpc v1.2.2 // indirect
|
||||
github.com/containerd/typeurl/v2 v2.1.1 // indirect
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect
|
||||
github.com/curioswitch/go-reassign v0.2.0 // indirect
|
||||
github.com/cyphar/filepath-securejoin v0.2.5 // indirect
|
||||
github.com/daixiang0/gci v0.13.4 // indirect
|
||||
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
|
||||
github.com/daixiang0/gci v0.12.3 // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/deckarep/golang-set/v2 v2.5.0 // indirect
|
||||
github.com/denis-tingaikin/go-header v0.5.0 // indirect
|
||||
github.com/djherbis/times v1.6.0 // indirect
|
||||
github.com/dlclark/regexp2 v1.11.0 // indirect
|
||||
github.com/docker/cli-docs-tool v0.8.0 // indirect
|
||||
github.com/docker/distribution v2.8.3+incompatible // indirect
|
||||
github.com/docker/docker-credential-helpers v0.8.2 // indirect
|
||||
github.com/djherbis/times v1.5.0 // indirect
|
||||
github.com/dlclark/regexp2 v1.4.0 // indirect
|
||||
github.com/docker/cli-docs-tool v0.6.0 // indirect
|
||||
github.com/docker/docker-credential-helpers v0.8.0 // indirect
|
||||
github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c // indirect
|
||||
github.com/docker/go-connections v0.5.0 // indirect
|
||||
github.com/docker/go-metrics v0.0.1 // indirect
|
||||
@@ -164,30 +151,29 @@ require (
|
||||
github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 // indirect
|
||||
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||
github.com/edsrzf/mmap-go v1.1.0 // indirect
|
||||
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
|
||||
github.com/emicklei/go-restful/v3 v3.10.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/ettle/strcase v0.2.0 // indirect
|
||||
github.com/fatih/color v1.17.0 // indirect
|
||||
github.com/fatih/color v1.16.0 // indirect
|
||||
github.com/fatih/structtag v1.2.0 // indirect
|
||||
github.com/felixge/httpsnoop v1.0.4 // indirect
|
||||
github.com/firefart/nonamedreturns v1.0.5 // indirect
|
||||
github.com/firefart/nonamedreturns v1.0.4 // indirect
|
||||
github.com/fsnotify/fsnotify v1.7.0 // indirect
|
||||
github.com/fvbommel/sortorder v1.1.0 // indirect
|
||||
github.com/fzipp/gocyclo v0.6.0 // indirect
|
||||
github.com/ghostiam/protogetter v0.3.6 // indirect
|
||||
github.com/go-critic/go-critic v0.11.4 // indirect
|
||||
github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect
|
||||
github.com/ghostiam/protogetter v0.3.5 // 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/go-billy/v5 v5.5.0 // indirect
|
||||
github.com/go-git/go-git/v5 v5.12.0 // indirect
|
||||
github.com/go-jose/go-jose/v3 v3.0.3 // indirect
|
||||
github.com/go-logr/logr v1.4.1 // indirect
|
||||
github.com/go-git/go-git/v5 v5.11.0 // indirect
|
||||
github.com/go-logr/logr v1.3.0 // indirect
|
||||
github.com/go-logr/stdr v1.2.2 // indirect
|
||||
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||
github.com/go-openapi/jsonpointer v0.19.6 // indirect
|
||||
github.com/go-openapi/jsonreference v0.20.2 // indirect
|
||||
github.com/go-openapi/swag v0.22.3 // indirect
|
||||
github.com/go-openapi/jsonpointer v0.19.5 // indirect
|
||||
github.com/go-openapi/jsonreference v0.20.0 // indirect
|
||||
github.com/go-openapi/swag v0.21.1 // indirect
|
||||
github.com/go-toolsmith/astcast v1.1.0 // indirect
|
||||
github.com/go-toolsmith/astcopy v1.1.0 // indirect
|
||||
github.com/go-toolsmith/astequal v1.2.0 // indirect
|
||||
@@ -195,87 +181,95 @@ require (
|
||||
github.com/go-toolsmith/astp 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-viper/mapstructure/v2 v2.0.0 // indirect
|
||||
github.com/go-viper/mapstructure/v2 v2.0.0-alpha.1 // indirect
|
||||
github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect
|
||||
github.com/gobwas/glob v0.2.3 // indirect
|
||||
github.com/gofrs/flock v0.12.0 // indirect
|
||||
github.com/gofrs/flock v0.8.1 // 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/golang-jwt/jwt/v5 v5.2.1 // indirect
|
||||
github.com/golang/glog v1.2.1 // indirect
|
||||
github.com/golang-jwt/jwt/v5 v5.1.0 // indirect
|
||||
github.com/golang/glog v1.2.0 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
github.com/golang/protobuf v1.5.4 // indirect
|
||||
github.com/golang/protobuf v1.5.3 // indirect
|
||||
github.com/golang/snappy v0.0.4 // indirect
|
||||
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect
|
||||
github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e // indirect
|
||||
github.com/golangci/misspell v0.6.0 // indirect
|
||||
github.com/golangci/modinfo v0.3.4 // indirect
|
||||
github.com/golangci/misspell v0.4.1 // indirect
|
||||
github.com/golangci/plugin-module-register v0.1.1 // indirect
|
||||
github.com/golangci/revgrep v0.5.3 // indirect
|
||||
github.com/golangci/revgrep v0.5.2 // indirect
|
||||
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed // indirect
|
||||
github.com/google/gnostic-models v0.6.8 // indirect
|
||||
github.com/google/gnostic v0.5.7-v3refs // indirect
|
||||
github.com/google/go-cmp v0.6.0 // indirect
|
||||
github.com/google/go-querystring v1.1.0 // indirect
|
||||
github.com/google/gofuzz v1.2.0 // indirect
|
||||
github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 // indirect
|
||||
github.com/google/pprof v0.0.0-20230406165453-00490a63f317 // indirect
|
||||
github.com/google/s2a-go v0.1.7 // indirect
|
||||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
|
||||
github.com/google/uuid v1.6.0 // indirect
|
||||
github.com/google/wire v0.6.0 // indirect
|
||||
github.com/google/wire v0.5.0 // indirect
|
||||
github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
|
||||
github.com/googleapis/gax-go/v2 v2.12.2 // indirect
|
||||
github.com/googleapis/gax-go/v2 v2.12.0 // indirect
|
||||
github.com/gordonklaus/ineffassign v0.1.0 // indirect
|
||||
github.com/gorilla/css v1.0.0 // indirect
|
||||
github.com/gorilla/mux v1.8.0 // indirect
|
||||
github.com/gorilla/websocket v1.5.0 // indirect
|
||||
github.com/gostaticanalysis/analysisutil v0.7.1 // indirect
|
||||
github.com/gostaticanalysis/comment v1.4.2 // indirect
|
||||
github.com/gostaticanalysis/forcetypeassert v0.1.0 // 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.16.0 // indirect
|
||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // 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-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-retryablehttp v0.7.7 // indirect
|
||||
github.com/hashicorp/go-plugin v1.6.0 // indirect
|
||||
github.com/hashicorp/go-retryablehttp v0.7.2 // indirect
|
||||
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
|
||||
github.com/hashicorp/go-secure-stdlib/parseutil v0.1.8 // indirect
|
||||
github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 // 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-sockaddr v1.0.6 // indirect
|
||||
github.com/hashicorp/go-version v1.7.0 // indirect
|
||||
github.com/hashicorp/go-sockaddr v1.0.2 // indirect
|
||||
github.com/hashicorp/go-uuid v1.0.3 // 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/v2 v2.20.1 // indirect
|
||||
github.com/hashicorp/vault/api v1.12.0 // indirect
|
||||
github.com/hashicorp/hcl/v2 v2.19.1 // indirect
|
||||
github.com/hashicorp/vault/api v1.8.2 // 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/valast v1.4.4 // indirect
|
||||
github.com/iancoleman/strcase v0.2.0 // indirect
|
||||
github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd // indirect
|
||||
github.com/imdario/mergo v0.3.16 // indirect
|
||||
github.com/in-toto/in-toto-golang v0.5.0 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
||||
github.com/jgautheron/goconst v1.7.1 // indirect
|
||||
github.com/jgautheron/goconst v1.7.0 // indirect
|
||||
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
|
||||
github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect
|
||||
github.com/jjti/go-spancheck v0.6.1 // indirect
|
||||
github.com/jjti/go-spancheck v0.5.3 // indirect
|
||||
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
||||
github.com/josharian/intern v1.0.0 // indirect
|
||||
github.com/json-iterator/go v1.1.12 // indirect
|
||||
github.com/julz/importas v0.1.0 // indirect
|
||||
github.com/karamaru-alpha/copyloopvar v1.1.0 // indirect
|
||||
github.com/karamaru-alpha/copyloopvar v1.0.8 // indirect
|
||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
|
||||
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
||||
github.com/kisielk/errcheck v1.7.0 // indirect
|
||||
github.com/kkHAIKE/contextcheck v1.1.5 // indirect
|
||||
github.com/klauspost/compress v1.17.9 // indirect
|
||||
github.com/kkHAIKE/contextcheck v1.1.4 // indirect
|
||||
github.com/klauspost/compress v1.17.4 // indirect
|
||||
github.com/kulti/thelper v0.6.3 // indirect
|
||||
github.com/kunwardeep/paralleltest v1.0.10 // indirect
|
||||
github.com/kylelemons/godebug v1.1.0 // indirect
|
||||
github.com/kyoh86/exportloopref v0.1.11 // indirect
|
||||
github.com/lasiar/canonicalheader v1.1.1 // indirect
|
||||
github.com/ldez/gomoddirectives v0.2.4 // indirect
|
||||
github.com/ldez/gomoddirectives v0.2.3 // indirect
|
||||
github.com/ldez/tagliatelle v0.5.0 // indirect
|
||||
github.com/leonklingele/grouper v1.1.2 // indirect
|
||||
github.com/leonklingele/grouper v1.1.1 // indirect
|
||||
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
|
||||
github.com/lufeee/execinquery v1.2.1 // indirect
|
||||
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
|
||||
@@ -298,11 +292,10 @@ require (
|
||||
github.com/mitchellh/copystructure v1.2.0 // indirect
|
||||
github.com/mitchellh/go-homedir v1.1.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/hashstructure/v2 v2.0.2 // indirect
|
||||
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
||||
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
||||
github.com/moby/docker-image-spec v1.3.1 // indirect
|
||||
github.com/moby/locker v1.0.1 // indirect
|
||||
github.com/moby/moby v25.0.4+incompatible // indirect
|
||||
github.com/moby/spdystream v0.2.0 // indirect
|
||||
@@ -319,76 +312,75 @@ require (
|
||||
github.com/muesli/cancelreader v0.2.2 // indirect
|
||||
github.com/muesli/termenv v0.15.2 // indirect
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
||||
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
|
||||
github.com/nakabonne/nestif v0.3.1 // indirect
|
||||
github.com/natefinch/atomic v1.0.1 // indirect
|
||||
github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d // indirect
|
||||
github.com/nishanths/exhaustive v0.12.0 // indirect
|
||||
github.com/nishanths/predeclared v0.2.2 // indirect
|
||||
github.com/nunnatsa/ginkgolinter v0.16.2 // indirect
|
||||
github.com/nxadm/tail v1.4.11 // indirect
|
||||
github.com/nunnatsa/ginkgolinter v0.16.1 // indirect
|
||||
github.com/oklog/run v1.1.0 // indirect
|
||||
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
||||
github.com/opencontainers/go-digest v1.0.0 // indirect
|
||||
github.com/opencontainers/image-spec v1.1.0 // indirect
|
||||
github.com/opencontainers/image-spec v1.1.0-rc5 // indirect
|
||||
github.com/opentracing/basictracer-go v1.1.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/v2 v2.2.2 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.2.0 // indirect
|
||||
github.com/petar-dambovaliev/aho-corasick v0.0.0-20230725210150-fb29fc3c913e // indirect
|
||||
github.com/pgavlin/diff v0.0.0-20230503175810-113847418e2e // indirect
|
||||
github.com/pgavlin/fx v0.1.6 // indirect
|
||||
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect
|
||||
github.com/pgavlin/text v0.0.0-20230428184845-84c285f11d2f // indirect
|
||||
github.com/pierrec/lz4 v2.6.1+incompatible // 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-20210911075715-681adbf594b8 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/pkg/term v1.1.0 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
github.com/polyfloyd/go-errorlint v1.5.2 // indirect
|
||||
github.com/polyfloyd/go-errorlint v1.4.8 // 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_model v0.5.0 // indirect
|
||||
github.com/prometheus/common v0.44.0 // indirect
|
||||
github.com/prometheus/procfs v0.15.1 // indirect
|
||||
github.com/prometheus/client_golang v1.16.0 // indirect
|
||||
github.com/prometheus/client_model v0.4.0 // indirect
|
||||
github.com/prometheus/common v0.42.0 // indirect
|
||||
github.com/prometheus/procfs v0.10.1 // indirect
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
||||
github.com/pulumi/esc v0.9.1 // indirect
|
||||
github.com/pulumi/inflector v0.1.1 // indirect
|
||||
github.com/pulumi/esc v0.6.2 // indirect
|
||||
github.com/pulumi/pulumi-yaml v1.6.0 // 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/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
|
||||
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
|
||||
github.com/rivo/uniseg v0.4.7 // indirect
|
||||
github.com/rivo/uniseg v0.4.4 // indirect
|
||||
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
||||
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||
github.com/ryancurrah/gomodguard v1.3.2 // indirect
|
||||
github.com/ryancurrah/gomodguard v1.3.1 // indirect
|
||||
github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect
|
||||
github.com/ryanuber/go-glob v1.0.0 // indirect
|
||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
||||
github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect
|
||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
||||
github.com/sashamelentyev/interfacebloat v1.1.0 // indirect
|
||||
github.com/sashamelentyev/usestdlibvars v1.26.0 // indirect
|
||||
github.com/sashamelentyev/usestdlibvars v1.25.0 // indirect
|
||||
github.com/secure-systems-lab/go-securesystemslib v0.4.0 // indirect
|
||||
github.com/securego/gosec/v2 v2.20.1-0.20240525090044-5f0084eb01a9 // indirect
|
||||
github.com/securego/gosec/v2 v2.19.0 // indirect
|
||||
github.com/segmentio/asm v1.1.3 // indirect
|
||||
github.com/segmentio/encoding v0.3.5 // 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/sergi/go-diff v1.3.1 // indirect
|
||||
github.com/serialx/hashring v0.0.0-20190422032157-8b2912629002 // indirect
|
||||
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect
|
||||
github.com/shibumi/go-pathspec v1.3.0 // indirect
|
||||
github.com/shirou/gopsutil/v3 v3.24.5 // indirect
|
||||
github.com/shirou/gopsutil/v3 v3.24.2 // indirect
|
||||
github.com/shoenig/go-m1cpu v0.1.6 // indirect
|
||||
github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 // indirect
|
||||
github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 // indirect
|
||||
github.com/sivchari/containedctx v1.0.3 // indirect
|
||||
github.com/sivchari/tenv v1.7.1 // indirect
|
||||
github.com/skeema/knownhosts v1.2.2 // indirect
|
||||
github.com/skeema/knownhosts v1.2.1 // indirect
|
||||
github.com/sonatard/noctx v0.0.2 // indirect
|
||||
github.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67 // indirect
|
||||
github.com/sourcegraph/go-diff v0.7.0 // indirect
|
||||
github.com/spf13/cast v1.5.0 // indirect
|
||||
github.com/spf13/cobra v1.8.1 // indirect
|
||||
github.com/spf13/cobra v1.8.0 // indirect
|
||||
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/spf13/viper v1.12.0 // indirect
|
||||
@@ -400,94 +392,96 @@ require (
|
||||
github.com/tdakkota/asciicheck v0.2.0 // indirect
|
||||
github.com/tetafro/godot v1.4.16 // indirect
|
||||
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
|
||||
github.com/theupdateframework/notary v0.7.0 // indirect
|
||||
github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 // indirect
|
||||
github.com/timonwong/loggercheck v0.9.4 // indirect
|
||||
github.com/tklauser/go-sysconf v0.3.12 // indirect
|
||||
github.com/tklauser/numcpus v0.6.1 // indirect
|
||||
github.com/tomarrell/wrapcheck/v2 v2.8.3 // indirect
|
||||
github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect
|
||||
github.com/tonistiigi/go-csvvalue v0.0.0-20240710180619-ddb21b71c0b4 // indirect
|
||||
github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea // indirect
|
||||
github.com/tonistiigi/vt100 v0.0.0-20240514184818-90bafcd6abab // indirect
|
||||
github.com/tonistiigi/vt100 v0.0.0-20230623042737-f9a4f7ef6531 // 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-lib v2.4.1+incompatible // indirect
|
||||
github.com/ulikunitz/xz v0.5.12 // indirect
|
||||
github.com/ulikunitz/xz v0.5.11 // indirect
|
||||
github.com/ultraware/funlen v0.1.0 // indirect
|
||||
github.com/ultraware/whitespace v0.1.1 // indirect
|
||||
github.com/ultraware/whitespace v0.1.0 // indirect
|
||||
github.com/uudashr/gocognit v1.1.2 // indirect
|
||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
|
||||
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
|
||||
github.com/xeipuuv/gojsonschema v1.2.0 // 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/yeya24/promlinter v0.3.0 // indirect
|
||||
github.com/yeya24/promlinter v0.2.0 // indirect
|
||||
github.com/ykadowak/zerologlint v0.1.5 // indirect
|
||||
github.com/yuin/goldmark v1.5.2 // indirect
|
||||
github.com/yuin/goldmark-emoji v1.0.1 // indirect
|
||||
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
||||
github.com/zclconf/go-cty v1.14.4 // indirect
|
||||
gitlab.com/bosi/decorder v0.4.2 // indirect
|
||||
go-simpler.org/musttag v0.12.2 // indirect
|
||||
go-simpler.org/sloglint v0.7.1 // indirect
|
||||
github.com/zclconf/go-cty v1.14.1 // indirect
|
||||
gitlab.com/bosi/decorder v0.4.1 // indirect
|
||||
go-simpler.org/musttag v0.9.0 // indirect
|
||||
go-simpler.org/sloglint v0.5.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/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.46.1 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
|
||||
go.opentelemetry.io/otel v1.24.0 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.45.0 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 // indirect
|
||||
go.opentelemetry.io/otel v1.21.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.42.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.42.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.42.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0 // indirect
|
||||
go.opentelemetry.io/otel/metric v1.24.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/otel/exporters/otlp/otlptrace v1.19.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/prometheus v0.42.0 // indirect
|
||||
go.opentelemetry.io/otel/metric v1.21.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk v1.21.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk/metric v1.19.0 // indirect
|
||||
go.opentelemetry.io/otel/trace v1.21.0 // indirect
|
||||
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
|
||||
go.pennock.tech/tabular v1.1.3 // indirect
|
||||
go.uber.org/atomic v1.11.0 // indirect
|
||||
go.uber.org/atomic v1.10.0 // indirect
|
||||
go.uber.org/automaxprocs v1.5.3 // indirect
|
||||
go.uber.org/multierr v1.11.0 // indirect
|
||||
go.uber.org/zap v1.27.0 // indirect
|
||||
gocloud.dev v0.37.0 // indirect
|
||||
gocloud.dev/secrets/hashivault v0.37.0 // indirect
|
||||
go.uber.org/zap v1.26.0 // indirect
|
||||
gocloud.dev v0.36.0 // indirect
|
||||
gocloud.dev/secrets/hashivault v0.28.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/mod v0.18.0 // indirect
|
||||
golang.org/x/net v0.26.0 // indirect
|
||||
golang.org/x/oauth2 v0.18.0 // indirect
|
||||
golang.org/x/sync v0.7.0 // indirect
|
||||
golang.org/x/sys v0.24.0 // indirect
|
||||
golang.org/x/term v0.22.0 // indirect
|
||||
golang.org/x/text v0.16.0 // indirect
|
||||
golang.org/x/mod v0.16.0 // indirect
|
||||
golang.org/x/net v0.22.0 // indirect
|
||||
golang.org/x/oauth2 v0.16.0 // indirect
|
||||
golang.org/x/sync v0.6.0 // indirect
|
||||
golang.org/x/sys v0.18.0 // indirect
|
||||
golang.org/x/term v0.18.0 // indirect
|
||||
golang.org/x/text v0.14.0 // indirect
|
||||
golang.org/x/time v0.5.0 // indirect
|
||||
golang.org/x/tools v0.22.0 // indirect
|
||||
golang.org/x/tools v0.19.0 // indirect
|
||||
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
|
||||
google.golang.org/api v0.169.0 // indirect
|
||||
google.golang.org/api v0.155.0 // indirect
|
||||
google.golang.org/appengine v1.6.8 // indirect
|
||||
google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect
|
||||
google.golang.org/grpc v1.64.1 // indirect
|
||||
google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 // indirect
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 // indirect
|
||||
google.golang.org/grpc v1.62.0 // indirect
|
||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
|
||||
gopkg.in/square/go-jose.v2 v2.6.0 // indirect
|
||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
honnef.co/go/tools v0.4.7 // indirect
|
||||
k8s.io/api v0.29.2 // indirect
|
||||
k8s.io/apimachinery v0.29.2 // indirect
|
||||
k8s.io/client-go v0.29.2 // indirect
|
||||
k8s.io/klog/v2 v2.110.1 // indirect
|
||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
||||
k8s.io/api v0.26.7 // indirect
|
||||
k8s.io/apimachinery v0.26.7 // indirect
|
||||
k8s.io/apiserver v0.26.7 // indirect
|
||||
k8s.io/client-go v0.26.7 // indirect
|
||||
k8s.io/klog/v2 v2.90.1 // indirect
|
||||
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 // indirect
|
||||
k8s.io/utils v0.0.0-20230220204549-a5ecb0141aa5 // indirect
|
||||
lukechampine.com/frand v1.4.2 // indirect
|
||||
mvdan.cc/gofumpt v0.6.0 // indirect
|
||||
mvdan.cc/unparam v0.0.0-20240528143540-8a5130ca722f // indirect
|
||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||
mvdan.cc/unparam v0.0.0-20240104100049-c549a3470d14 // indirect
|
||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
|
||||
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
|
||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||
)
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -16,8 +16,9 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/pulumi/pulumi-docker-build/provider"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil"
|
||||
|
||||
"github.com/pulumi/pulumi-dockerbuild/provider"
|
||||
)
|
||||
|
||||
func main() {
|
||||
1454
provider/cmd/pulumi-resource-dockerbuild/schema.json
Normal file
1454
provider/cmd/pulumi-resource-dockerbuild/schema.json
Normal file
File diff suppressed because one or more lines are too long
@@ -155,14 +155,14 @@ type CacheFromGitHubActions struct {
|
||||
|
||||
// Annotate sets docstrings on CacheFromGitHubActions.
|
||||
func (c *CacheFromGitHubActions) Annotate(a infer.Annotator) {
|
||||
a.SetDefault(&c.URL, "", "ACTIONS_CACHE_URL")
|
||||
a.SetDefault(&c.URL, "", "ACTIONS_RUNTIME_URL")
|
||||
a.SetDefault(&c.Token, "", "ACTIONS_RUNTIME_TOKEN")
|
||||
a.SetDefault(&c.Scope, "", "buildkit")
|
||||
|
||||
a.Describe(&c.URL, dedent(`
|
||||
The cache server URL to use for artifacts.
|
||||
|
||||
Defaults to "$ACTIONS_CACHE_URL", although a separate action like
|
||||
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.
|
||||
`))
|
||||
@@ -342,7 +342,7 @@ func (c *CacheFromS3) String() string {
|
||||
|
||||
// CacheWithMode is a cache that can configure its mode.
|
||||
type CacheWithMode struct {
|
||||
Mode *CacheMode `pulumi:"mode,optional"`
|
||||
Mode CacheMode `pulumi:"mode,optional"`
|
||||
}
|
||||
|
||||
// Annotate sets docstrings and defaults on CacheWithMode.
|
||||
@@ -354,10 +354,10 @@ func (c *CacheWithMode) Annotate(a infer.Annotator) {
|
||||
}
|
||||
|
||||
func (c CacheWithMode) String() string {
|
||||
if c.Mode == nil {
|
||||
if c.Mode == "" {
|
||||
return ""
|
||||
}
|
||||
return fmt.Sprintf("mode=%s", *c.Mode)
|
||||
return fmt.Sprintf("mode=%s", c.Mode)
|
||||
}
|
||||
|
||||
// CacheWithIgnoreError exposes an option to ignore errors during caching.
|
||||
@@ -552,9 +552,9 @@ func (c *CacheToRegistry) String() string {
|
||||
// CacheWithCompression is a cache with options to configure compression
|
||||
// settings.
|
||||
type CacheWithCompression struct {
|
||||
Compression *CompressionType `pulumi:"compression,optional"`
|
||||
CompressionLevel int `pulumi:"compressionLevel,optional"`
|
||||
ForceCompression *bool `pulumi:"forceCompression,optional"`
|
||||
Compression CompressionType `pulumi:"compression,optional"`
|
||||
CompressionLevel int `pulumi:"compressionLevel,optional"`
|
||||
ForceCompression *bool `pulumi:"forceCompression,optional"`
|
||||
}
|
||||
|
||||
// Annotate sets docstrings and defaults on CacheWithCompression.
|
||||
@@ -575,8 +575,8 @@ func (c CacheWithCompression) String() string {
|
||||
return ""
|
||||
}
|
||||
parts := []string{}
|
||||
if c.Compression != nil {
|
||||
parts = append(parts, fmt.Sprintf("compression=%s", *c.Compression))
|
||||
if c.Compression != "" {
|
||||
parts = append(parts, fmt.Sprintf("compression=%s", c.Compression))
|
||||
}
|
||||
if c.CompressionLevel > 0 {
|
||||
cl := c.CompressionLevel
|
||||
|
||||
@@ -26,7 +26,6 @@ import (
|
||||
|
||||
func TestCacheString(t *testing.T) {
|
||||
t.Parallel()
|
||||
gzip := Gzip
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
@@ -82,12 +81,12 @@ func TestCacheString(t *testing.T) {
|
||||
given: CacheTo{Local: &CacheToLocal{
|
||||
Dest: "/foo",
|
||||
CacheWithCompression: CacheWithCompression{
|
||||
Compression: &gzip,
|
||||
Compression: "gz2",
|
||||
CompressionLevel: 100,
|
||||
ForceCompression: pulumi.BoolRef(true),
|
||||
},
|
||||
}},
|
||||
want: "type=local,dest=/foo,compression=gzip,compression-level=22,force-compression=true",
|
||||
want: "type=local,dest=/foo,compression=gz2,compression-level=22,force-compression=true",
|
||||
},
|
||||
{
|
||||
name: "ignore-error",
|
||||
|
||||
@@ -12,14 +12,13 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//go:generate go run go.uber.org/mock/mockgen -typed -package internal -source cli.go -destination mockcli_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 mockcli_test.go --self_package github.com/pulumi/pulumi-dockerbuild/provider/internal
|
||||
|
||||
package internal
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"bytes"
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
@@ -38,9 +37,9 @@ import (
|
||||
cp "github.com/otiai10/copy"
|
||||
"github.com/regclient/regclient"
|
||||
"github.com/regclient/regclient/config"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
provider "github.com/pulumi/pulumi-go-provider"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/diag"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
|
||||
)
|
||||
@@ -56,11 +55,10 @@ type cli struct {
|
||||
auths map[string]cfgtypes.AuthConfig
|
||||
host *host
|
||||
|
||||
in string // stdin
|
||||
r, w *os.File // stdout
|
||||
err bytes.Buffer // stderr
|
||||
dumplogs bool // if true then tail() will re-log status messages
|
||||
done chan struct{} // signaled when all logs have been forwarded to the engine.
|
||||
in string // stdin
|
||||
r, w *os.File // stdout
|
||||
err bytes.Buffer // stderr
|
||||
done chan struct{} // signaled when all logs have been forwarded to the engine.
|
||||
}
|
||||
|
||||
// Cli wraps the Docker interface for mock generation.
|
||||
@@ -81,26 +79,21 @@ func wrap(host *host, registries ...Registry) (*cli, error) {
|
||||
|
||||
auths := map[string]cfgtypes.AuthConfig{}
|
||||
for k, v := range host.auths {
|
||||
if k != config.DockerRegistryAuth {
|
||||
k = credentials.ConvertToHostname(k)
|
||||
}
|
||||
auths[k] = cfgtypes.AuthConfig{
|
||||
ServerAddress: v.ServerAddress,
|
||||
Username: v.Username,
|
||||
Password: v.Password,
|
||||
}
|
||||
auths[k] = v
|
||||
}
|
||||
|
||||
for _, r := range registries {
|
||||
// HostNewName takes care of DockerHub's special-casing for us.
|
||||
h := config.HostNewName(credentials.ConvertToHostname(r.Address))
|
||||
key := h.CredHost
|
||||
if key == "" {
|
||||
key = h.Hostname
|
||||
// Special handling for legacy DockerHub domains. The OCI-compliant
|
||||
// registry is registry-1.docker.io but this is stored in config under the
|
||||
// legacy name.
|
||||
// https://github.com/docker/cli/issues/3793#issuecomment-1269051403
|
||||
key := credentials.ConvertToHostname(r.Address)
|
||||
if key == "registry-1.docker.io" || key == "index.docker.io" || key == "docker.io" {
|
||||
key = "https://index.docker.io/v1/"
|
||||
}
|
||||
|
||||
auths[key] = cfgtypes.AuthConfig{
|
||||
ServerAddress: h.Hostname,
|
||||
ServerAddress: r.Address,
|
||||
Username: r.Username,
|
||||
Password: r.Password,
|
||||
}
|
||||
@@ -137,8 +130,8 @@ func (c *cli) Out() *streams.Out {
|
||||
return streams.NewOut(c.w)
|
||||
}
|
||||
|
||||
func (c *cli) Err() *streams.Out {
|
||||
return streams.NewOut(&c.err)
|
||||
func (c *cli) Err() io.Writer {
|
||||
return &c.err
|
||||
}
|
||||
|
||||
// rc returns a registry client with matching auth.
|
||||
@@ -157,7 +150,7 @@ func (c *cli) rc() *regclient.RegClient {
|
||||
|
||||
// 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.
|
||||
func (c *cli) tail(ctx context.Context) {
|
||||
func (c *cli) tail(ctx provider.Context) {
|
||||
c.done = make(chan struct{}, 1)
|
||||
defer func() {
|
||||
c.done <- struct{}{}
|
||||
@@ -166,30 +159,17 @@ func (c *cli) tail(ctx context.Context) {
|
||||
}
|
||||
}()
|
||||
|
||||
b := bytes.Buffer{}
|
||||
|
||||
s := bufio.NewScanner(c.r)
|
||||
for s.Scan() {
|
||||
text := s.Text()
|
||||
provider.GetLogger(ctx).InfoStatus(text)
|
||||
_, _ = b.WriteString(text + "\n")
|
||||
}
|
||||
provider.GetLogger(ctx).InfoStatus("") // clear confusing "DONE" statements.
|
||||
|
||||
if c.dumplogs {
|
||||
// Persist the full Docker output on error for easier debugging.
|
||||
if b.Len() > 0 {
|
||||
provider.GetLogger(ctx).Info(b.String())
|
||||
}
|
||||
if c.err.Len() > 0 {
|
||||
provider.GetLogger(ctx).Error(c.err.String())
|
||||
}
|
||||
ctx.LogStatus(diag.Info, s.Text())
|
||||
}
|
||||
ctx.LogStatus(diag.Info, "") // clear confusing "DONE" statements.
|
||||
}
|
||||
|
||||
// close flushes any outstanding logs and cleans up resources.
|
||||
func (c *cli) Close() error {
|
||||
err := errors.Join(c.w.Close(), c.r.Close())
|
||||
err := c.w.Close()
|
||||
err = errors.Join(err, c.r.Close())
|
||||
if c.done != nil {
|
||||
<-c.done
|
||||
}
|
||||
@@ -396,7 +376,7 @@ func (c *cli) exec(args, extraEnv []string) error {
|
||||
return err
|
||||
}
|
||||
cmd.Args = append([]string{cmd.Args[0]}, args...)
|
||||
cmd.Stderr = c.Err()
|
||||
cmd.Stderr = c.Err() // TODO: This is build output...
|
||||
cmd.Stdout = c.Out()
|
||||
cmd.Stdin = c.In()
|
||||
|
||||
@@ -413,8 +393,3 @@ func attrcsv(typ string, m map[string]string) string {
|
||||
}
|
||||
return strings.Join(s, ",")
|
||||
}
|
||||
|
||||
func init() {
|
||||
// Disable the CLI's tendency to log randomly to stdout.
|
||||
logrus.SetOutput(io.Discard)
|
||||
}
|
||||
|
||||
@@ -18,8 +18,6 @@ import (
|
||||
"io"
|
||||
"testing"
|
||||
|
||||
"github.com/docker/cli/cli/config/types"
|
||||
"github.com/regclient/regclient/config"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
@@ -39,70 +37,3 @@ func TestExec(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
assert.Contains(t, string(out), "github.com/docker/buildx")
|
||||
}
|
||||
|
||||
func TestWrappedAuth(t *testing.T) {
|
||||
t.Parallel()
|
||||
ecr := "https://1234.dkr.ecr.us-west-2.amazonaws.com"
|
||||
|
||||
realhost, err := newHost(nil)
|
||||
require.NoError(t, err)
|
||||
|
||||
h := &host{
|
||||
auths: map[string]types.AuthConfig{
|
||||
ecr: {
|
||||
Username: "host-aws-user",
|
||||
Password: "host-aws-password",
|
||||
ServerAddress: ecr,
|
||||
},
|
||||
"https://misc": { // Legacy config includes http/https scheme.
|
||||
Username: "host-misc-user",
|
||||
Password: "host-misc-password",
|
||||
ServerAddress: "misc",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
registries := []Registry{
|
||||
{
|
||||
Address: "1234.dkr.ecr.us-west-2.amazonaws.com",
|
||||
Username: "resource-aws-user",
|
||||
Password: "resource-aws-password",
|
||||
},
|
||||
{
|
||||
Address: "docker.io",
|
||||
Username: "resource-dockerhub-user",
|
||||
Password: "resource-dockerhub-password",
|
||||
},
|
||||
}
|
||||
|
||||
_, err = wrap(h, registries...)
|
||||
require.NoError(t, err)
|
||||
|
||||
cli, err := wrap(h, registries...)
|
||||
require.NoError(t, err)
|
||||
|
||||
expected := map[string]types.AuthConfig{
|
||||
"1234.dkr.ecr.us-west-2.amazonaws.com": {
|
||||
Username: "resource-aws-user",
|
||||
Password: "resource-aws-password",
|
||||
ServerAddress: "1234.dkr.ecr.us-west-2.amazonaws.com",
|
||||
},
|
||||
config.DockerRegistryAuth: {
|
||||
Username: "resource-dockerhub-user",
|
||||
Password: "resource-dockerhub-password",
|
||||
ServerAddress: config.DockerRegistryDNS,
|
||||
},
|
||||
"misc": {
|
||||
Username: "host-misc-user",
|
||||
Password: "host-misc-password",
|
||||
ServerAddress: "misc",
|
||||
},
|
||||
}
|
||||
assert.Equal(t, expected, cli.auths)
|
||||
assert.Len(t, h.auths, 2) // In-memory host auth is unchanged.
|
||||
|
||||
// Assert that our on-disk host's auth is untouched.
|
||||
realhostRefreshed, err := newHost(nil)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, realhost.auths, realhostRefreshed.auths)
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// 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-dockerbuild/provider/internal
|
||||
|
||||
package internal
|
||||
|
||||
@@ -21,6 +21,7 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
@@ -34,7 +35,7 @@ import (
|
||||
"github.com/docker/buildx/util/progress"
|
||||
"github.com/docker/cli/cli/command"
|
||||
"github.com/docker/cli/cli/flags"
|
||||
"github.com/docker/docker/api/types/image"
|
||||
"github.com/docker/docker/api/types"
|
||||
"github.com/moby/buildkit/client"
|
||||
"github.com/moby/buildkit/session"
|
||||
"github.com/moby/buildkit/session/auth/authprovider"
|
||||
@@ -43,21 +44,23 @@ import (
|
||||
"github.com/regclient/regclient/types/errs"
|
||||
"github.com/regclient/regclient/types/manifest"
|
||||
"github.com/regclient/regclient/types/ref"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
provider "github.com/pulumi/pulumi-go-provider"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/diag"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
|
||||
)
|
||||
|
||||
// Client handles all our Docker API calls.
|
||||
type Client interface {
|
||||
Build(ctx context.Context, b Build) (*client.SolveResponse, error)
|
||||
Build(ctx provider.Context, b Build) (*client.SolveResponse, error)
|
||||
BuildKitEnabled() (bool, error)
|
||||
Inspect(ctx context.Context, id string) ([]descriptor.Descriptor, error)
|
||||
Delete(ctx context.Context, id string) error
|
||||
|
||||
ManifestCreate(ctx context.Context, push bool, target string, refs ...string) error
|
||||
ManifestInspect(ctx context.Context, target string) (string, error)
|
||||
ManifestDelete(ctx context.Context, target string) error
|
||||
ManifestCreate(ctx provider.Context, push bool, target string, refs ...string) error
|
||||
ManifestInspect(ctx provider.Context, target string) (string, error)
|
||||
ManifestDelete(ctx provider.Context, target string) error
|
||||
}
|
||||
|
||||
// Build encapsulates all of the user-provider build parameters and options.
|
||||
@@ -90,6 +93,9 @@ func newDockerCLI(config *Config) (*command.DockerCli, error) {
|
||||
|
||||
// TODO: Log some version information for debugging.
|
||||
|
||||
// Disable the CLI's tendency to log randomly to stdout.
|
||||
logrus.SetOutput(io.Discard)
|
||||
|
||||
return cli, nil
|
||||
}
|
||||
|
||||
@@ -97,12 +103,13 @@ func newDockerCLI(config *Config) (*command.DockerCli, error) {
|
||||
// "default", if no targets were specified) to SolveResponses, which capture
|
||||
// the build's digest and tags (if any).
|
||||
func (c *cli) Build(
|
||||
ctx context.Context,
|
||||
pctx provider.Context,
|
||||
build Build,
|
||||
) (*client.SolveResponse, error) {
|
||||
ctx := context.Context(pctx)
|
||||
opts := build.BuildOptions()
|
||||
|
||||
go c.tail(ctx)
|
||||
go c.tail(pctx)
|
||||
defer contract.IgnoreClose(c)
|
||||
|
||||
if build.ShouldExec() {
|
||||
@@ -123,25 +130,9 @@ func (c *cli) Build(
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("creating printer: %w", err)
|
||||
}
|
||||
defer func() {
|
||||
// Log any warnings when we're done.
|
||||
_ = printer.Wait()
|
||||
for _, w := range printer.Warnings() {
|
||||
b := &bytes.Buffer{}
|
||||
_, _ = b.Write(w.Short)
|
||||
for _, d := range w.Detail {
|
||||
_ = b.WriteByte('\n')
|
||||
_, _ = b.Write(d)
|
||||
}
|
||||
provider.GetLogger(ctx).Warning(b.String())
|
||||
}
|
||||
}()
|
||||
|
||||
cacheFrom := []client.CacheOptionsEntry{}
|
||||
for _, c := range opts.CacheFrom {
|
||||
if c == nil {
|
||||
continue
|
||||
}
|
||||
cacheFrom = append(cacheFrom, client.CacheOptionsEntry{
|
||||
Type: c.Type,
|
||||
Attrs: c.Attrs,
|
||||
@@ -149,9 +140,6 @@ func (c *cli) Build(
|
||||
}
|
||||
cacheTo := []client.CacheOptionsEntry{}
|
||||
for _, c := range opts.CacheTo {
|
||||
if c == nil {
|
||||
continue
|
||||
}
|
||||
cacheTo = append(cacheTo, client.CacheOptionsEntry{
|
||||
Type: c.Type,
|
||||
Attrs: c.Attrs,
|
||||
@@ -159,9 +147,6 @@ func (c *cli) Build(
|
||||
}
|
||||
exports := []client.ExportEntry{}
|
||||
for _, e := range opts.Exports {
|
||||
if e == nil {
|
||||
continue
|
||||
}
|
||||
exports = append(exports, client.ExportEntry{
|
||||
Type: e.Type,
|
||||
Attrs: e.Attrs,
|
||||
@@ -234,10 +219,21 @@ func (c *cli) Build(
|
||||
printer,
|
||||
)
|
||||
if err != nil {
|
||||
c.dumplogs = true
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if printErr := printer.Wait(); printErr != nil {
|
||||
return results[target], printErr
|
||||
}
|
||||
for _, w := range printer.Warnings() {
|
||||
b := &bytes.Buffer{}
|
||||
fmt.Fprintf(b, "%s", w.Short)
|
||||
for _, d := range w.Detail {
|
||||
fmt.Fprintf(b, "\n%s", d)
|
||||
}
|
||||
pctx.Log(diag.Warning, b.String())
|
||||
}
|
||||
|
||||
return results[target], err
|
||||
}
|
||||
|
||||
@@ -246,7 +242,9 @@ func (c *cli) BuildKitEnabled() (bool, error) {
|
||||
return c.Cli.BuildKitEnabled()
|
||||
}
|
||||
|
||||
func (c *cli) ManifestCreate(ctx context.Context, push bool, target string, refs ...string) error {
|
||||
func (c *cli) ManifestCreate(ctx provider.Context, push bool, target string, refs ...string) error {
|
||||
// TODO: Create this manifest with regclient or imagetools.
|
||||
|
||||
go c.tail(ctx)
|
||||
defer contract.IgnoreClose(c)
|
||||
|
||||
@@ -254,7 +252,6 @@ func (c *cli) ManifestCreate(ctx context.Context, push bool, target string, refs
|
||||
// "buildx",
|
||||
"imagetools",
|
||||
"create",
|
||||
"--progress=plain",
|
||||
"--tag", target,
|
||||
}
|
||||
|
||||
@@ -267,14 +264,10 @@ func (c *cli) ManifestCreate(ctx context.Context, push bool, target string, refs
|
||||
cmd := commands.NewRootCmd(os.Args[0], false, c)
|
||||
|
||||
cmd.SetArgs(args)
|
||||
cmd.SetErr(c.Err())
|
||||
cmd.SetOut(c.Out())
|
||||
|
||||
provider.GetLogger(ctx).Debug(fmt.Sprint("creating manifest with args", args))
|
||||
return cmd.ExecuteContext(ctx)
|
||||
}
|
||||
|
||||
func (c *cli) ManifestInspect(ctx context.Context, target string) (string, error) {
|
||||
func (c *cli) ManifestInspect(ctx provider.Context, target string) (string, error) {
|
||||
rc := c.rc()
|
||||
|
||||
ref, err := ref.New(target)
|
||||
@@ -284,13 +277,13 @@ func (c *cli) ManifestInspect(ctx context.Context, target string) (string, error
|
||||
|
||||
m, err := rc.ManifestHead(ctx, ref)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("fetching %q: %w", ref, err)
|
||||
return "", fmt.Errorf("fetching head: %w", err)
|
||||
}
|
||||
|
||||
return string(m.GetDescriptor().Digest), nil
|
||||
}
|
||||
|
||||
func (c *cli) ManifestDelete(ctx context.Context, target string) error {
|
||||
func (c *cli) ManifestDelete(ctx provider.Context, target string) error {
|
||||
rc := c.rc()
|
||||
|
||||
ref, err := ref.New(target)
|
||||
@@ -298,9 +291,9 @@ func (c *cli) ManifestDelete(ctx context.Context, target string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
err = rc.ManifestDelete(ctx, ref)
|
||||
err = rc.ManifestDelete(context.Context(ctx), ref)
|
||||
if errors.Is(err, errs.ErrHTTPStatus) {
|
||||
provider.GetLogger(ctx).Warning("this registry does not support deletions")
|
||||
ctx.Log(diag.Warning, "this registry does not support deletions")
|
||||
return nil
|
||||
}
|
||||
if err != nil {
|
||||
@@ -334,7 +327,7 @@ func (c *cli) Inspect(ctx context.Context, r string) ([]descriptor.Descriptor, e
|
||||
// support the DELETE API yet, so this operation is not guaranteed to work.
|
||||
func (c *cli) Delete(ctx context.Context, r string) error {
|
||||
// Attempt to delete the ref locally if it exists.
|
||||
_, _ = c.Client().ImageRemove(ctx, r, image.RemoveOptions{
|
||||
_, _ = c.Client().ImageRemove(ctx, r, types.ImageRemoveOptions{
|
||||
Force: true, // Needed in case the image has multiple tags.
|
||||
})
|
||||
|
||||
|
||||
@@ -15,10 +15,7 @@
|
||||
package internal
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"io"
|
||||
"log/slog"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
@@ -26,6 +23,7 @@ import (
|
||||
"github.com/docker/docker/api/types/registry"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"go.uber.org/mock/gomock"
|
||||
)
|
||||
|
||||
func TestAuth(t *testing.T) {
|
||||
@@ -78,11 +76,22 @@ func TestCustomHost(t *testing.T) {
|
||||
|
||||
func TestBuild(t *testing.T) {
|
||||
t.Parallel()
|
||||
// Workaround for https://github.com/pulumi/pulumi-go-provider/issues/159
|
||||
ctrl, ctx := gomock.WithContext(context.Background(), t)
|
||||
pctx := NewMockProviderContext(ctrl)
|
||||
pctx.EXPECT().Log(gomock.Any(), gomock.Any()).AnyTimes()
|
||||
pctx.EXPECT().LogStatus(gomock.Any(), gomock.Any()).AnyTimes()
|
||||
pctx.EXPECT().Done().Return(ctx.Done()).AnyTimes()
|
||||
pctx.EXPECT().
|
||||
Value(gomock.Any()).
|
||||
DoAndReturn(func(key any) any { return ctx.Value(key) }).
|
||||
AnyTimes()
|
||||
pctx.EXPECT().Err().Return(ctx.Err()).AnyTimes()
|
||||
pctx.EXPECT().Deadline().Return(ctx.Deadline()).AnyTimes()
|
||||
|
||||
tmpdir := t.TempDir()
|
||||
Max := Max
|
||||
|
||||
exampleContext := &BuildContext{Context: Context{Location: "../../examples/app"}}
|
||||
exampleContext := BuildContext{Context: Context{Location: "../../examples/app"}}
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
@@ -95,7 +104,7 @@ func TestBuild(t *testing.T) {
|
||||
name: "multiPlatform",
|
||||
args: ImageArgs{
|
||||
Context: exampleContext,
|
||||
Dockerfile: &Dockerfile{
|
||||
Dockerfile: Dockerfile{
|
||||
Location: "../../examples/app/Dockerfile.multiPlatform",
|
||||
},
|
||||
Platforms: []Platform{"plan9/amd64", "plan9/arm64"},
|
||||
@@ -122,7 +131,7 @@ func TestBuild(t *testing.T) {
|
||||
Tags: []string{"cached"},
|
||||
CacheTo: []CacheTo{{Local: &CacheToLocal{
|
||||
Dest: filepath.Join(tmpdir, "cache"),
|
||||
CacheWithMode: CacheWithMode{Mode: &Max},
|
||||
CacheWithMode: CacheWithMode{Mode: "max"},
|
||||
}}},
|
||||
CacheFrom: []CacheFrom{{Local: &CacheFromLocal{
|
||||
Src: filepath.Join(tmpdir, "cache"),
|
||||
@@ -133,7 +142,7 @@ func TestBuild(t *testing.T) {
|
||||
name: "buildArgs",
|
||||
args: ImageArgs{
|
||||
Context: exampleContext,
|
||||
Dockerfile: &Dockerfile{
|
||||
Dockerfile: Dockerfile{
|
||||
Location: "../../examples/app/Dockerfile.buildArgs",
|
||||
},
|
||||
BuildArgs: map[string]string{
|
||||
@@ -145,7 +154,7 @@ func TestBuild(t *testing.T) {
|
||||
name: "extraHosts",
|
||||
args: ImageArgs{
|
||||
Context: exampleContext,
|
||||
Dockerfile: &Dockerfile{
|
||||
Dockerfile: Dockerfile{
|
||||
Location: "../../examples/app/Dockerfile.extraHosts",
|
||||
},
|
||||
AddHosts: []string{
|
||||
@@ -158,7 +167,7 @@ func TestBuild(t *testing.T) {
|
||||
skip: os.Getenv("SSH_AUTH_SOCK") == "",
|
||||
args: ImageArgs{
|
||||
Context: exampleContext,
|
||||
Dockerfile: &Dockerfile{
|
||||
Dockerfile: Dockerfile{
|
||||
Location: "../../examples/app/Dockerfile.sshMount",
|
||||
},
|
||||
SSH: []SSH{{ID: "default"}},
|
||||
@@ -168,7 +177,7 @@ func TestBuild(t *testing.T) {
|
||||
name: "secrets",
|
||||
args: ImageArgs{
|
||||
Context: exampleContext,
|
||||
Dockerfile: &Dockerfile{
|
||||
Dockerfile: Dockerfile{
|
||||
Location: "../../examples/app/Dockerfile.secrets",
|
||||
},
|
||||
Secrets: map[string]string{
|
||||
@@ -190,7 +199,7 @@ func TestBuild(t *testing.T) {
|
||||
name: "target",
|
||||
args: ImageArgs{
|
||||
Context: exampleContext,
|
||||
Dockerfile: &Dockerfile{
|
||||
Dockerfile: Dockerfile{
|
||||
Location: "../../examples/app/Dockerfile.target",
|
||||
},
|
||||
Target: "build-me",
|
||||
@@ -199,7 +208,7 @@ func TestBuild(t *testing.T) {
|
||||
{
|
||||
name: "namedContext",
|
||||
args: ImageArgs{
|
||||
Context: &BuildContext{
|
||||
Context: BuildContext{
|
||||
Context: Context{
|
||||
Location: "../../examples/app",
|
||||
},
|
||||
@@ -209,7 +218,7 @@ func TestBuild(t *testing.T) {
|
||||
},
|
||||
},
|
||||
},
|
||||
Dockerfile: &Dockerfile{
|
||||
Dockerfile: Dockerfile{
|
||||
Location: "../../examples/app/Dockerfile.namedContexts",
|
||||
},
|
||||
},
|
||||
@@ -217,7 +226,7 @@ func TestBuild(t *testing.T) {
|
||||
{
|
||||
name: "remoteContext",
|
||||
args: ImageArgs{
|
||||
Context: &BuildContext{
|
||||
Context: BuildContext{
|
||||
Context: Context{
|
||||
Location: "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
|
||||
},
|
||||
@@ -227,12 +236,12 @@ func TestBuild(t *testing.T) {
|
||||
{
|
||||
name: "remoteContextWithInline",
|
||||
args: ImageArgs{
|
||||
Context: &BuildContext{
|
||||
Context: BuildContext{
|
||||
Context: Context{
|
||||
Location: "https://github.com/docker-library/hello-world.git",
|
||||
},
|
||||
},
|
||||
Dockerfile: &Dockerfile{
|
||||
Dockerfile: Dockerfile{
|
||||
Inline: dedent(`
|
||||
FROM busybox
|
||||
COPY hello.c ./
|
||||
@@ -244,7 +253,7 @@ func TestBuild(t *testing.T) {
|
||||
name: "inline",
|
||||
args: ImageArgs{
|
||||
Context: exampleContext,
|
||||
Dockerfile: &Dockerfile{
|
||||
Dockerfile: Dockerfile{
|
||||
Inline: dedent(`
|
||||
FROM alpine
|
||||
RUN echo 👍
|
||||
@@ -287,13 +296,12 @@ func TestBuild(t *testing.T) {
|
||||
if tt.skip {
|
||||
t.Skip()
|
||||
}
|
||||
ctx := context.Background()
|
||||
cli := testcli(t, true, tt.auths...)
|
||||
|
||||
build, err := tt.args.toBuild(ctx, false)
|
||||
build, err := tt.args.toBuild(pctx, false)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = cli.Build(ctx, build)
|
||||
_, err = cli.Build(pctx, build)
|
||||
assert.NoError(t, err, cli.err.String())
|
||||
})
|
||||
}
|
||||
@@ -311,7 +319,7 @@ func TestInspect(t *testing.T) {
|
||||
t.Parallel()
|
||||
cli := testcli(t, false)
|
||||
descriptors, err := cli.Inspect(context.Background(), "pulumibot/myapp:buildx")
|
||||
require.NoError(t, err)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(
|
||||
t,
|
||||
"application/vnd.docker.distribution.manifest.v2+json",
|
||||
@@ -319,7 +327,7 @@ func TestInspect(t *testing.T) {
|
||||
)
|
||||
}
|
||||
|
||||
func TestNormalizeReference(t *testing.T) {
|
||||
func TestNormalizatReference(t *testing.T) {
|
||||
t.Parallel()
|
||||
tests := []struct {
|
||||
ref string
|
||||
@@ -354,87 +362,6 @@ func TestNormalizeReference(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
//nolint:paralleltest // Overrides default logger.
|
||||
func TestBuildError(t *testing.T) {
|
||||
if os.Getenv("CI") != "" {
|
||||
t.Skip("flaky on CI for some reason")
|
||||
}
|
||||
|
||||
l := slog.Default()
|
||||
defer slog.SetDefault(l)
|
||||
|
||||
// Override go-provider's default logger to capture and tee to stdout.
|
||||
logger := &bytes.Buffer{}
|
||||
slog.SetDefault(
|
||||
slog.New(
|
||||
slog.NewTextHandler(io.MultiWriter(logger, os.Stdout), nil),
|
||||
),
|
||||
)
|
||||
|
||||
exampleContext := &BuildContext{Context: Context{Location: "../../examples/app"}}
|
||||
|
||||
args := ImageArgs{
|
||||
Context: exampleContext,
|
||||
Dockerfile: &Dockerfile{
|
||||
Inline: "FROM alpine\nRUN echo hello\nRUN badcmd",
|
||||
},
|
||||
}
|
||||
|
||||
ctx := context.Background()
|
||||
cli := testcli(t, true)
|
||||
|
||||
build, err := args.toBuild(ctx, false)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = cli.Build(ctx, build)
|
||||
assert.Error(t, err)
|
||||
|
||||
want := []string{
|
||||
`RUN echo hello`,
|
||||
`/bin/sh: badcmd: not found`,
|
||||
}
|
||||
|
||||
for _, want := range want {
|
||||
assert.Contains(t, logger.String(), want)
|
||||
}
|
||||
assert.ErrorContains(t, err,
|
||||
`process "/bin/sh -c badcmd" did not complete successfully: exit code: 127`,
|
||||
)
|
||||
}
|
||||
|
||||
func TestBuildExecError(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
exampleContext := &BuildContext{Context: Context{Location: "../../examples/app"}}
|
||||
|
||||
args := ImageArgs{
|
||||
Context: exampleContext,
|
||||
Dockerfile: &Dockerfile{
|
||||
Inline: "FROM alpine\nRUN echo hello\nRUN badcmd",
|
||||
},
|
||||
Exec: true,
|
||||
}
|
||||
|
||||
ctx := context.Background()
|
||||
cli := testcli(t, true)
|
||||
|
||||
build, err := args.toBuild(ctx, false)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = cli.Build(ctx, build)
|
||||
assert.Error(t, err)
|
||||
|
||||
want := []string{
|
||||
`RUN echo hello`,
|
||||
`/bin/sh: badcmd: not found`,
|
||||
`process "/bin/sh -c badcmd" did not complete successfully: exit code: 127`,
|
||||
}
|
||||
|
||||
for _, want := range want {
|
||||
assert.Contains(t, cli.err.String(), want)
|
||||
}
|
||||
}
|
||||
|
||||
// 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.
|
||||
func testcli(t *testing.T, ping bool, auths ...Registry) *cli {
|
||||
|
||||
@@ -26,14 +26,12 @@ import (
|
||||
"os"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"slices"
|
||||
"syscall"
|
||||
|
||||
buildx "github.com/docker/buildx/build"
|
||||
"github.com/moby/patternmatcher/ignorefile"
|
||||
"github.com/spf13/afero"
|
||||
"github.com/tonistiigi/fsutil"
|
||||
"golang.org/x/exp/maps"
|
||||
|
||||
"github.com/pulumi/pulumi-go-provider/infer"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
|
||||
@@ -56,13 +54,6 @@ type BuildContext struct {
|
||||
Named NamedContexts `pulumi:"named,optional"`
|
||||
}
|
||||
|
||||
func (bc *BuildContext) namedMap() map[string]string {
|
||||
if bc == nil {
|
||||
return nil
|
||||
}
|
||||
return bc.Named.Map()
|
||||
}
|
||||
|
||||
// NamedContexts correspond to Docker's `--build-context name=path` options.
|
||||
// The path can be local or a remote URL.
|
||||
type NamedContexts map[string]Context
|
||||
@@ -92,39 +83,24 @@ func (c *Context) Annotate(a infer.Annotator) {
|
||||
|
||||
// validate returns a non-nil CheckError if the Context is invalid. The
|
||||
// returned Dockerfile may have defaults set to match Docker's default
|
||||
// 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) {
|
||||
if d == nil {
|
||||
d = &Dockerfile{}
|
||||
}
|
||||
c := &Context{}
|
||||
if bc != nil {
|
||||
c = &bc.Context
|
||||
}
|
||||
|
||||
// handling. The returned Dockerfile should be validated separately.
|
||||
func (c *Context) validate(preview bool, d Dockerfile) (Dockerfile, error) {
|
||||
if c.Location == "" && preview {
|
||||
// The field is required so we normally wouldn't need to check if it
|
||||
// exists, but during previews it can still be empty if the value is
|
||||
// unknown. This isn't an error, but it does prevent us from performing
|
||||
// a build later.
|
||||
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 = "."
|
||||
return d, nil
|
||||
}
|
||||
|
||||
if buildx.IsRemoteURL(c.Location) {
|
||||
// We assume remote URLs are always valid.
|
||||
return d, c, nil
|
||||
return d, nil
|
||||
}
|
||||
|
||||
abs, err := filepath.Abs(c.Location)
|
||||
if err != nil {
|
||||
return d, c, newCheckFailure(err, "context.location")
|
||||
return d, newCheckFailure(err, "context.location")
|
||||
}
|
||||
|
||||
if d.Location == "" && d.Inline == "" {
|
||||
@@ -135,17 +111,17 @@ func (bc *BuildContext) validate(preview bool, d *Dockerfile) (*Dockerfile, *Con
|
||||
|
||||
if isLocalDir(afero.NewOsFs(), abs) {
|
||||
// Our context exists -- nothing else to check.
|
||||
return d, c, nil
|
||||
return d, nil
|
||||
}
|
||||
|
||||
if c.Location != "-" {
|
||||
return d, c, newCheckFailure(
|
||||
return d, newCheckFailure(
|
||||
fmt.Errorf("%q: not a valid directory or URL", c.Location),
|
||||
"context.location",
|
||||
)
|
||||
}
|
||||
|
||||
return d, c, nil
|
||||
return d, nil
|
||||
}
|
||||
|
||||
// Annotate sets docstrings on BuildContext.
|
||||
@@ -234,11 +210,8 @@ func hashBuildContext(
|
||||
}
|
||||
}
|
||||
|
||||
// Hash any local named contexts. Sort keys for stable iteration order.
|
||||
keys := maps.Keys(namedContexts)
|
||||
slices.Sort(keys)
|
||||
for _, key := range keys {
|
||||
namedContext := namedContexts[key]
|
||||
// Hash any local named contexts.
|
||||
for _, namedContext := range namedContexts {
|
||||
if isLocalDir(fs, namedContext) {
|
||||
fs, err := rootFS(namedContext, excludes)
|
||||
if err != nil {
|
||||
|
||||
@@ -33,69 +33,62 @@ func TestValidateContext(t *testing.T) {
|
||||
t.Parallel()
|
||||
tests := []struct {
|
||||
name string
|
||||
c *BuildContext
|
||||
c Context
|
||||
givenD Dockerfile
|
||||
preview bool
|
||||
|
||||
wantD *Dockerfile
|
||||
wantC *Context
|
||||
wantErr string
|
||||
}{
|
||||
{
|
||||
name: "relative",
|
||||
c: &BuildContext{Context: Context{
|
||||
c: Context{
|
||||
Location: "../internal/../internal/testdata/noop",
|
||||
}},
|
||||
},
|
||||
wantD: &Dockerfile{
|
||||
Location: "../internal/testdata/noop/Dockerfile",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "missing directory",
|
||||
c: &BuildContext{Context: Context{
|
||||
c: Context{
|
||||
Location: "/does/not/exist/",
|
||||
}},
|
||||
},
|
||||
wantErr: "not a valid directory",
|
||||
},
|
||||
{
|
||||
name: "missing default Dockerfile",
|
||||
c: &BuildContext{Context: Context{
|
||||
c: Context{
|
||||
Location: "testdata",
|
||||
}},
|
||||
},
|
||||
wantD: &Dockerfile{Location: "testdata/Dockerfile"},
|
||||
},
|
||||
{
|
||||
name: "with explicit Dockerfile",
|
||||
c: &BuildContext{Context: Context{
|
||||
c: Context{
|
||||
Location: "testdata",
|
||||
}},
|
||||
},
|
||||
givenD: Dockerfile{
|
||||
Location: "testdata/Dockerfile.invalid",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "default location",
|
||||
c: &BuildContext{Context: Context{}},
|
||||
c: Context{},
|
||||
wantD: &Dockerfile{Location: "Dockerfile"},
|
||||
},
|
||||
{
|
||||
name: "remote context doesn't default to local Dockerfile",
|
||||
c: &BuildContext{Context: Context{
|
||||
c: Context{
|
||||
Location: "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
|
||||
}},
|
||||
},
|
||||
wantD: &Dockerfile{},
|
||||
},
|
||||
{
|
||||
name: "preview",
|
||||
c: &BuildContext{Context: Context{}},
|
||||
c: Context{},
|
||||
preview: true,
|
||||
},
|
||||
{
|
||||
name: "missing context defaults to current directory",
|
||||
c: nil,
|
||||
wantC: &Context{Location: "."},
|
||||
wantD: &Dockerfile{Location: "Dockerfile"},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
@@ -103,7 +96,7 @@ func TestValidateContext(t *testing.T) {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
d, c, err := tt.c.validate(tt.preview, &tt.givenD)
|
||||
d, err := tt.c.validate(tt.preview, tt.givenD)
|
||||
|
||||
if tt.wantErr == "" {
|
||||
assert.NoError(t, err)
|
||||
@@ -115,9 +108,6 @@ func TestValidateContext(t *testing.T) {
|
||||
assert.Equal(t, tt.wantD.Location, d.Location)
|
||||
assert.Equal(t, tt.wantD.Inline, d.Inline)
|
||||
}
|
||||
if tt.wantC != nil {
|
||||
assert.Equal(t, tt.wantC.Location, c.Location)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,9 @@ package deprecated
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"sort"
|
||||
|
||||
"google.golang.org/protobuf/types/known/structpb"
|
||||
|
||||
"github.com/pulumi/pulumi/pkg/v3/codegen/schema"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
|
||||
@@ -110,7 +113,6 @@ func (enc *ConfigEncoding) unmarshalOpts() plugin.MarshalOptions {
|
||||
return plugin.MarshalOptions{
|
||||
Label: "config",
|
||||
KeepUnknowns: true,
|
||||
KeepSecrets: true,
|
||||
SkipNulls: true,
|
||||
RejectAssets: true,
|
||||
}
|
||||
@@ -118,10 +120,15 @@ func (enc *ConfigEncoding) unmarshalOpts() plugin.MarshalOptions {
|
||||
|
||||
// Like plugin.UnmarshalPropertyValue but overrides string parsing with convertStringToPropertyValue.
|
||||
func (enc *ConfigEncoding) unmarshalPropertyValue(key resource.PropertyKey,
|
||||
pv resource.PropertyValue,
|
||||
) (resource.PropertyValue, error) {
|
||||
v *structpb.Value,
|
||||
) (*resource.PropertyValue, error) {
|
||||
opts := enc.unmarshalOpts()
|
||||
|
||||
pv, err := plugin.UnmarshalPropertyValue(key, v, enc.unmarshalOpts())
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error unmarshalling property %q: %w", key, err)
|
||||
}
|
||||
|
||||
prop, ok := enc.schema.Variables[string(key)]
|
||||
|
||||
// Only apply JSON-encoded recognition for known fields.
|
||||
@@ -129,10 +136,8 @@ func (enc *ConfigEncoding) unmarshalPropertyValue(key resource.PropertyKey,
|
||||
return pv, nil
|
||||
}
|
||||
|
||||
var (
|
||||
jsonString string
|
||||
jsonStringDetected, jsonStringSecret bool
|
||||
)
|
||||
var jsonString string
|
||||
var jsonStringDetected, jsonStringSecret bool
|
||||
|
||||
if pv.IsString() {
|
||||
jsonString = pv.StringValue()
|
||||
@@ -148,21 +153,22 @@ func (enc *ConfigEncoding) unmarshalPropertyValue(key resource.PropertyKey,
|
||||
if jsonStringDetected {
|
||||
v, err := enc.convertStringToPropertyValue(jsonString, prop)
|
||||
if err != nil {
|
||||
return resource.PropertyValue{}, fmt.Errorf("error unmarshalling property %q: %w", key, err)
|
||||
return nil, fmt.Errorf("error unmarshalling property %q: %w", key, err)
|
||||
}
|
||||
if jsonStringSecret {
|
||||
return resource.MakeSecret(v), nil
|
||||
s := resource.MakeSecret(v)
|
||||
return &s, nil
|
||||
}
|
||||
return v, nil
|
||||
return &v, nil
|
||||
}
|
||||
|
||||
// Computed sentinels are coming in as always having an empty string, but the encoding coerces them to a zero
|
||||
// Computed sentinels are coming in as always having an empty string, but the encoding coerses 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 &res, nil
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,20 +177,36 @@ func (enc *ConfigEncoding) unmarshalPropertyValue(key resource.PropertyKey,
|
||||
|
||||
// UnmarshalProperties is copied from plugin.UnmarshalProperties substituting plugin.UnmarshalPropertyValue.
|
||||
func (enc *ConfigEncoding) UnmarshalProperties(
|
||||
props resource.PropertyMap,
|
||||
props *structpb.Struct,
|
||||
) (resource.PropertyMap, error) {
|
||||
opts := enc.unmarshalOpts()
|
||||
|
||||
result := make(resource.PropertyMap)
|
||||
|
||||
// First sort the keys so we enumerate them in order (in case errors happen, we want determinism).
|
||||
keys := props.StableKeys()
|
||||
var keys []string
|
||||
if props != nil {
|
||||
for k := range props.Fields {
|
||||
keys = append(keys, k)
|
||||
}
|
||||
sort.Strings(keys)
|
||||
}
|
||||
|
||||
// And now unmarshal every field it into the map.
|
||||
for _, key := range keys {
|
||||
v, err := enc.unmarshalPropertyValue(key, props[key])
|
||||
pk := resource.PropertyKey(key)
|
||||
v, err := enc.unmarshalPropertyValue(pk, props.Fields[key])
|
||||
if err != nil {
|
||||
return resource.PropertyMap{}, err
|
||||
return nil, err
|
||||
} else if v != nil {
|
||||
if opts.SkipNulls && v.IsNull() {
|
||||
continue
|
||||
}
|
||||
if opts.SkipInternalKeys && resource.IsInternalPropertyKey(pk) {
|
||||
continue
|
||||
}
|
||||
result[pk] = *v
|
||||
}
|
||||
result[key] = v
|
||||
}
|
||||
|
||||
return result, nil
|
||||
|
||||
@@ -16,23 +16,23 @@ package deprecated
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
structpb "google.golang.org/protobuf/types/known/structpb"
|
||||
|
||||
"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"
|
||||
)
|
||||
|
||||
func TestConfigEncoding(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
type testCase struct {
|
||||
ty schema.TypeSpec
|
||||
given resource.PropertyValue
|
||||
want resource.PropertyValue
|
||||
ty schema.TypeSpec
|
||||
v *structpb.Value
|
||||
pv resource.PropertyValue
|
||||
}
|
||||
|
||||
knownKey := "mykey"
|
||||
@@ -49,64 +49,69 @@ func TestConfigEncoding(t *testing.T) {
|
||||
)
|
||||
}
|
||||
|
||||
makeValue := func(x any) *structpb.Value {
|
||||
vv, err := structpb.NewValue(x)
|
||||
assert.NoErrorf(t, err, "structpb.NewValue failed")
|
||||
return vv
|
||||
}
|
||||
|
||||
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)
|
||||
pv, err := enc.unmarshalPropertyValue(resource.PropertyKey(knownKey), tc.v)
|
||||
assert.NoError(t, err)
|
||||
assert.NotNil(t, pv)
|
||||
assert.Equal(t, tc.pv, *pv)
|
||||
}
|
||||
|
||||
turnaroundTestCases := []testCase{
|
||||
{
|
||||
schema.TypeSpec{Type: "boolean"},
|
||||
resource.NewPropertyValue(`true`),
|
||||
makeValue(`true`),
|
||||
resource.NewBoolProperty(true),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "boolean"},
|
||||
resource.NewPropertyValue(`false`),
|
||||
makeValue(`false`),
|
||||
resource.NewBoolProperty(false),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "integer"},
|
||||
resource.NewPropertyValue(`0`),
|
||||
makeValue(`0`),
|
||||
resource.NewNumberProperty(0),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "integer"},
|
||||
resource.NewPropertyValue(`42`),
|
||||
makeValue(`42`),
|
||||
resource.NewNumberProperty(42),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "number"},
|
||||
resource.NewPropertyValue(`0`),
|
||||
makeValue(`0`),
|
||||
resource.NewNumberProperty(0.0),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "number"},
|
||||
resource.NewPropertyValue(`42.5`),
|
||||
makeValue(`42.5`),
|
||||
resource.NewNumberProperty(42.5),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "string"},
|
||||
resource.NewStringProperty(""),
|
||||
structpb.NewStringValue(""),
|
||||
resource.NewStringProperty(""),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "string"},
|
||||
resource.NewStringProperty("hello"),
|
||||
structpb.NewStringValue("hello"),
|
||||
resource.NewStringProperty("hello"),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "array"},
|
||||
resource.NewPropertyValue(`[]`),
|
||||
makeValue(`[]`),
|
||||
resource.NewArrayProperty([]resource.PropertyValue{}),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "array"},
|
||||
resource.NewPropertyValue(`["hello","there"]`),
|
||||
makeValue(`["hello","there"]`),
|
||||
resource.NewArrayProperty([]resource.PropertyValue{
|
||||
resource.NewStringProperty("hello"),
|
||||
resource.NewStringProperty("there"),
|
||||
@@ -114,12 +119,12 @@ func TestConfigEncoding(t *testing.T) {
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "object"},
|
||||
resource.NewPropertyValue(`{}`),
|
||||
makeValue(`{}`),
|
||||
resource.NewObjectProperty(resource.PropertyMap{}),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "object"},
|
||||
resource.NewPropertyValue(`{"key":"value"}`),
|
||||
makeValue(`{"key":"value"}`),
|
||||
resource.NewObjectProperty(resource.PropertyMap{
|
||||
"key": resource.NewStringProperty("value"),
|
||||
}),
|
||||
@@ -130,7 +135,7 @@ func TestConfigEncoding(t *testing.T) {
|
||||
for i, tc := range turnaroundTestCases {
|
||||
tc := tc
|
||||
|
||||
t.Run(strconv.Itoa(i), func(t *testing.T) {
|
||||
t.Run(fmt.Sprintf("UnmarshalPropertyValue/%d", i), func(t *testing.T) {
|
||||
t.Parallel()
|
||||
checkUnmarshal(t, tc)
|
||||
})
|
||||
@@ -142,32 +147,32 @@ func TestConfigEncoding(t *testing.T) {
|
||||
cases := []testCase{
|
||||
{
|
||||
schema.TypeSpec{Type: "boolean"},
|
||||
resource.NewPropertyValue(""),
|
||||
makeValue(""),
|
||||
resource.NewBoolProperty(false),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "number"},
|
||||
resource.NewPropertyValue(""),
|
||||
makeValue(""),
|
||||
resource.NewNumberProperty(0.),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "integer"},
|
||||
resource.NewPropertyValue(""),
|
||||
makeValue(""),
|
||||
resource.NewNumberProperty(0),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "string"},
|
||||
resource.NewPropertyValue(""),
|
||||
makeValue(""),
|
||||
resource.NewStringProperty(""),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "object"},
|
||||
resource.NewPropertyValue(""),
|
||||
makeValue(""),
|
||||
resource.NewObjectProperty(make(resource.PropertyMap)),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "array"},
|
||||
resource.NewPropertyValue(""),
|
||||
makeValue(""),
|
||||
resource.NewArrayProperty([]resource.PropertyValue{}),
|
||||
},
|
||||
}
|
||||
@@ -182,18 +187,18 @@ func TestConfigEncoding(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("computed", func(t *testing.T) {
|
||||
unk := resource.MakeComputed(resource.NewStringProperty(""))
|
||||
unk := makeValue(plugin.UnknownStringValue)
|
||||
|
||||
for i, tc := range turnaroundTestCases {
|
||||
tc := tc
|
||||
|
||||
t.Run(strconv.Itoa(i), func(t *testing.T) {
|
||||
t.Run(fmt.Sprintf("UnmarshalPropertyValue/%d", 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)),
|
||||
tc.ty,
|
||||
unk,
|
||||
resource.MakeComputed(makeEnc(tc.ty).zeroValue(tc.ty.Type)),
|
||||
})
|
||||
})
|
||||
}
|
||||
@@ -210,30 +215,46 @@ func TestConfigEncoding(t *testing.T) {
|
||||
|
||||
var secretCases []testCase
|
||||
|
||||
pbSecret := func(v *structpb.Value) *structpb.Value {
|
||||
return structpb.NewStructValue(&structpb.Struct{Fields: map[string]*structpb.Value{
|
||||
"4dabf18193072939515e22adb298388d": makeValue("1b47061264138c4ac30d75fd1eb44270"),
|
||||
"value": v,
|
||||
}})
|
||||
}
|
||||
|
||||
for _, tc := range turnaroundTestCases {
|
||||
secretCases = append(secretCases, testCase{
|
||||
ty: tc.ty,
|
||||
given: resource.MakeSecret(tc.given),
|
||||
want: resource.MakeSecret(tc.want),
|
||||
tc.ty,
|
||||
pbSecret(tc.v),
|
||||
resource.MakeSecret(tc.pv),
|
||||
})
|
||||
}
|
||||
|
||||
for i, tc := range secretCases {
|
||||
tc := tc
|
||||
|
||||
t.Run(strconv.Itoa(i), func(t *testing.T) {
|
||||
t.Run(fmt.Sprintf("secret/UnmarshalPropertyValue/%d", i), func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
// Unmarshallin will remove secrts, so the expected value needs to be modified.
|
||||
tc.pv = tc.pv.SecretValue().Element
|
||||
checkUnmarshal(t, tc)
|
||||
})
|
||||
}
|
||||
|
||||
t.Run("nested secrets", func(t *testing.T) {
|
||||
t.Run("tolerate secrets in Configure", func(t *testing.T) {
|
||||
// This is a bit of a histirocal quirk: the engine may send secrets to Configure before
|
||||
// receiving the response from Configure indicating that the provider does not want to receive
|
||||
// secrets. These are simply ignored. The engine does not currently send secrets to CheckConfig.
|
||||
// The engine does take care of making sure the secrets are stored as such in the statefile.
|
||||
//
|
||||
// Check here that unmarshalilng such values removes the secrets.
|
||||
checkUnmarshal(t, testCase{
|
||||
schema.TypeSpec{Type: "object"},
|
||||
resource.MakeSecret(resource.NewPropertyValue(`{"key":"val"}`)),
|
||||
resource.MakeSecret(resource.NewObjectProperty(resource.PropertyMap{
|
||||
pbSecret(makeValue(`{"key":"val"}`)),
|
||||
resource.NewObjectProperty(resource.PropertyMap{
|
||||
"key": resource.NewStringProperty("val"),
|
||||
})),
|
||||
}),
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -241,7 +262,7 @@ func TestConfigEncoding(t *testing.T) {
|
||||
regressUnmarshalTestCases := []testCase{
|
||||
{
|
||||
schema.TypeSpec{Type: "array"},
|
||||
resource.NewPropertyValue(`
|
||||
makeValue(`
|
||||
[
|
||||
{
|
||||
"address": "somewhere.org",
|
||||
@@ -255,7 +276,7 @@ func TestConfigEncoding(t *testing.T) {
|
||||
resource.NewArrayProperty([]resource.PropertyValue{
|
||||
resource.NewObjectProperty(resource.PropertyMap{
|
||||
"address": resource.NewStringProperty("somewhere.org"),
|
||||
"password": resource.MakeSecret(resource.NewStringProperty("some-password")),
|
||||
"password": resource.NewStringProperty("some-password"),
|
||||
"username": resource.NewStringProperty("some-user"),
|
||||
}),
|
||||
}),
|
||||
@@ -265,7 +286,7 @@ func TestConfigEncoding(t *testing.T) {
|
||||
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.Run(fmt.Sprintf("UnmarshalPropertyValue/%d", i), func(t *testing.T) {
|
||||
t.Parallel()
|
||||
checkUnmarshal(t, tc)
|
||||
})
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//go:generate go run ../pkg/docs-gen/examples examples doc
|
||||
|
||||
// Package internal contains our clients, validation, and provider
|
||||
// implementation for interacting with Docker's buildx APIs.
|
||||
//
|
||||
|
||||
@@ -54,7 +54,7 @@ func (d *Dockerfile) Annotate(a infer.Annotator) {
|
||||
`))
|
||||
}
|
||||
|
||||
func (d *Dockerfile) validate(preview bool, c *Context) error {
|
||||
func (d *Dockerfile) validate(preview bool, c Context) error {
|
||||
if d.Location != "" && d.Inline != "" {
|
||||
return newCheckFailure(
|
||||
errors.New(`only specify "file" or "inline", not both`),
|
||||
@@ -88,7 +88,7 @@ func (d *Dockerfile) validate(preview bool, c *Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
if !preview && c != nil && !buildx.IsRemoteURL(c.Location) {
|
||||
if !preview && !buildx.IsRemoteURL(c.Location) {
|
||||
return newCheckFailure(errors.New("missing 'location' or 'inline'"), "dockerfile")
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ func parseDockerfile(r io.Reader) error {
|
||||
if err != nil {
|
||||
return newCheckFailure(err, "dockerfile")
|
||||
}
|
||||
_, _, err = instructions.Parse(parsed.AST, nil)
|
||||
_, _, err = instructions.Parse(parsed.AST)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ func TestValidateDockerfile(t *testing.T) {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
err := tt.d.validate(tt.preview, &tt.givenC)
|
||||
err := tt.d.validate(tt.preview, tt.givenC)
|
||||
|
||||
if tt.wantErr == "" {
|
||||
assert.NoError(t, err)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,11 @@
|
||||
## Migrating Pulumi Docker v3 and v4 Image resources
|
||||
## Migrating v3 and v4 Image resources
|
||||
|
||||
This provider's `Image` resource provides a superset of functionality over the `Image` resources available in versions 3 and 4 of the Pulumi Docker provider.
|
||||
Existing `Image` resources can be converted to the docker-build `Image` resources with minor modifications.
|
||||
The `dockerbuild.Image` resource provides a superset of functionality over the `Image` resources available in versions 3 and 4 of the Pulumi Docker provider.
|
||||
Existing `Image` resources can be converted to `dockerbuild.Image` resources with minor modifications.
|
||||
|
||||
### Behavioral differences
|
||||
|
||||
There are several key behavioral differences to keep in mind when transitioning images to the new `Image` resource.
|
||||
There are several key behavioral differences to keep in mind when transitioning images to the new `dockerbuild.Image` resource.
|
||||
|
||||
#### Previews
|
||||
|
||||
@@ -14,17 +14,19 @@ This is helpful as a safeguard to prevent "broken" images from merging, but user
|
||||
|
||||
Version `4.x` changed build-on-preview behavior to be opt-in.
|
||||
By default, `v4.x` `Image` resources do _not_ build during previews, but this behavior can be toggled with the `buildOnPreview` option.
|
||||
Several users reported outages due to the default behavior allowing bad images to accidentally sneak through CI.
|
||||
Some users felt this made previews in CI less helpful because they no longer detected bad images by default.
|
||||
|
||||
The default behavior of this provider's `Image` resource is similar to `3.x` and will build images during previews.
|
||||
This behavior can be changed by specifying `buildOnPreview`.
|
||||
The default behavior of the `dockerbuild.Image` resource has been changed to strike a better balance between CI use cases and manual updates.
|
||||
By default, Pulumi will now only build `dockerbuild.Image` resources during previews when it detects a CI environment like GitHub Actions.
|
||||
Previews run in non-CI environments will not build images.
|
||||
This behavior is still configurable with `buildOnPreview`.
|
||||
|
||||
#### Push behavior
|
||||
|
||||
Versions `3.x` and `4.x` of the Pulumi Docker provider attempt to push images to remote registries by default.
|
||||
They expose a `skipPush: true` option to disable pushing.
|
||||
|
||||
This provider's `Image` resource matches the Docker CLI's behavior and does not push images anywhere by default.
|
||||
The `dockerbuild.Image` resource matches the Docker CLI's behavior and does not push images anywhere by default.
|
||||
|
||||
To push images to a registry you can include `push: true` (equivalent to Docker's `--push` flag) or configure an `export` of type `registry` (equivalent to Docker's `--output type=registry`).
|
||||
Like Docker, if an image is configured without exports you will see a warning with instructions for how to enable pushing, but the build will still proceed normally.
|
||||
@@ -35,7 +37,7 @@ Version `3.x` of the Pulumi Docker provider supports secrets by way of the `extr
|
||||
|
||||
Version `4.x` of the Pulumi Docker provider does not support secrets.
|
||||
|
||||
The `Image` resource supports secrets but does not require those secrets to exist on-disk or in environment variables.
|
||||
The `dockerbuild.Image` resource supports secrets but does not require those secrets to exist on-disk or in environment variables.
|
||||
Instead, they should be passed directly as values.
|
||||
(Please be sure to familiarize yourself with Pulumi's [native secret handling](https://www.pulumi.com/docs/concepts/secrets/).)
|
||||
Pulumi also provides [ESC](https://www.pulumi.com/product/esc/) to make it easier to share secrets across stacks and environments.
|
||||
@@ -50,7 +52,7 @@ Version `4.x` exposes a similar parameter `cacheFrom: { images: [...] }` which p
|
||||
Both versions 3 and 4 require specific environment variables to be set and deviate from Docker's native caching behavior.
|
||||
This can result in inefficient builds due to unnecessary image pulls, repeated file transfers, etc.
|
||||
|
||||
The `Image` resource delegates all caching behavior to Docker.
|
||||
The `dockerbuild.Image` resource delegates all caching behavior to Docker.
|
||||
`cacheFrom` and `cacheTo` options (equivalent to Docker's `--cache-to` and `--cache-from`) are exposed and provide additional cache targets, such as local disk, S3 storage, etc.
|
||||
|
||||
#### Outputs
|
||||
@@ -58,7 +60,7 @@ The `Image` resource delegates all caching behavior to Docker.
|
||||
Versions `3.x` and `4.x` of the provider exposed a `repoDigest` output which was a fully qualified tag with digest.
|
||||
In `4.x` this could also be a single sha256 hash if the image wasn't pushed.
|
||||
|
||||
Unlike earlier providers the `Image` resource can push multiple tags.
|
||||
Unlike earlier providers the `dockerbuild.Image` resource can push multiple tags.
|
||||
As a convenience, it exposes a `ref` output consisting of a tag with digest as long as the image was pushed.
|
||||
If multiple tags were pushed this uses one at random.
|
||||
|
||||
@@ -71,7 +73,7 @@ Versions 3 and 4 of Pulumi Docker provider do not delete tags when the `Image` r
|
||||
The `buidx.Image` will query your registries during `refresh` to ensure the expected tags exist.
|
||||
If any are missing a subsequent `update` will push them.
|
||||
|
||||
When a `Image` is deleted, it will _attempt_ to also delete any pushed tags.
|
||||
When a `dockerbuild.Image` is deleted, it will _attempt_ to also delete any pushed tags.
|
||||
Deletion of remote tags is not guaranteed because not all registries support the manifest `DELETE` API (`docker.io` in particular).
|
||||
Manifests are _not_ deleted in the same way during updates -- to do so safely would require a full build to determine whether a Pulumi operation should be an update or update-replace.
|
||||
|
||||
@@ -79,11 +81,11 @@ Use the [`retainOnDelete: true`](https://www.pulumi.com/docs/concepts/options/re
|
||||
|
||||
### Example migration
|
||||
|
||||
Examples of "fully-featured" `v3` and `v4` `Image` resources are shown below, along with an example `Image` resource showing how they would look after migration.
|
||||
Examples of "fully-featured" `v3` and `v4` `Image` resources are shown below, along with an example `dockerbuild.Image` resource showing how they would look after migration.
|
||||
|
||||
The `v3` resource leverages `buildx` via a `DOCKER_BUILDKIT` environment variable and CLI flags passed in with `extraOption`.
|
||||
After migration, the environment variable is no longer needed and CLI flags are now properties on the `Image`.
|
||||
In almost all cases, properties of `Image` are named after the Docker CLI flag they correspond to.
|
||||
After migration, the environment variable is no longer needed and CLI flags are now properties on the `dockerbuild.Image`.
|
||||
In almost all cases, properties of `dockerbuild.Image` are named after the Docker CLI flag they correspond to.
|
||||
|
||||
The `v4` resource is less functional than its `v3` counterpart because it lacks the flexibility of `extraOptions`.
|
||||
It it is shown with parameters similar to the `v3` example for completeness.
|
||||
@@ -134,7 +136,7 @@ const v3 = new docker.Image("v3-image", {
|
||||
},
|
||||
});
|
||||
|
||||
// v3 Image after migrating to docker-build.Image
|
||||
// v3 Image after migrating to dockerbuild.Image
|
||||
const v3Migrated = new dockerbuild.Image("v3-to-buildx", {
|
||||
tags: ["myregistry.com/user/repo:latest", "local-tag"],
|
||||
push: true,
|
||||
@@ -144,7 +146,7 @@ const v3Migrated = new dockerbuild.Image("v3-to-buildx", {
|
||||
context: {
|
||||
location: "../app",
|
||||
},
|
||||
target: "mytarget",
|
||||
targets: ["mytarget"],
|
||||
buildArgs: {
|
||||
MY_BUILD_ARG: "foo",
|
||||
},
|
||||
@@ -193,7 +195,7 @@ const v4 = new docker.Image("v4-image", {
|
||||
},
|
||||
});
|
||||
|
||||
// v4 Image after migrating to docker-build.Image
|
||||
// v4 Image after migrating to dockerbuild.Image
|
||||
const v4Migrated = new dockerbuild.Image("v4-to-buildx", {
|
||||
tags: ["myregistry.com/user/repo:latest"],
|
||||
push: true,
|
||||
@@ -203,7 +205,7 @@ const v4Migrated = new dockerbuild.Image("v4-to-buildx", {
|
||||
context: {
|
||||
location: "../app",
|
||||
},
|
||||
target: "mytarget",
|
||||
targets: ["mytarget"],
|
||||
buildArgs: {
|
||||
MY_BUILD_ARG: "foo",
|
||||
},
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
|
||||
```typescript
|
||||
import * as pulumi from "@pulumi/pulumi";
|
||||
import * as docker_build from "@pulumi/docker-build";
|
||||
import * as dockerbuild from "@pulumi/dockerbuild";
|
||||
|
||||
const amd64 = new docker_build.Image("amd64", {
|
||||
const amd64 = new dockerbuild.Image("amd64", {
|
||||
cacheFrom: [{
|
||||
registry: {
|
||||
ref: "docker.io/pulumi/pulumi:cache-amd64",
|
||||
@@ -15,17 +15,17 @@ const amd64 = new docker_build.Image("amd64", {
|
||||
}],
|
||||
cacheTo: [{
|
||||
registry: {
|
||||
mode: docker_build.CacheMode.Max,
|
||||
mode: dockerbuild.CacheMode.Max,
|
||||
ref: "docker.io/pulumi/pulumi:cache-amd64",
|
||||
},
|
||||
}],
|
||||
context: {
|
||||
location: "app",
|
||||
},
|
||||
platforms: [docker_build.Platform.Linux_amd64],
|
||||
platforms: [dockerbuild.Platform.Linux_amd64],
|
||||
tags: ["docker.io/pulumi/pulumi:3.107.0-amd64"],
|
||||
});
|
||||
const arm64 = new docker_build.Image("arm64", {
|
||||
const arm64 = new dockerbuild.Image("arm64", {
|
||||
cacheFrom: [{
|
||||
registry: {
|
||||
ref: "docker.io/pulumi/pulumi:cache-arm64",
|
||||
@@ -33,17 +33,17 @@ const arm64 = new docker_build.Image("arm64", {
|
||||
}],
|
||||
cacheTo: [{
|
||||
registry: {
|
||||
mode: docker_build.CacheMode.Max,
|
||||
mode: dockerbuild.CacheMode.Max,
|
||||
ref: "docker.io/pulumi/pulumi:cache-arm64",
|
||||
},
|
||||
}],
|
||||
context: {
|
||||
location: "app",
|
||||
},
|
||||
platforms: [docker_build.Platform.Linux_arm64],
|
||||
platforms: [dockerbuild.Platform.Linux_arm64],
|
||||
tags: ["docker.io/pulumi/pulumi:3.107.0-arm64"],
|
||||
});
|
||||
const index = new docker_build.Index("index", {
|
||||
const index = new dockerbuild.Index("index", {
|
||||
sources: [
|
||||
amd64.ref,
|
||||
arm64.ref,
|
||||
@@ -54,43 +54,43 @@ export const ref = index.ref;
|
||||
```
|
||||
```python
|
||||
import pulumi
|
||||
import pulumi_docker_build as docker_build
|
||||
import pulumi_dockerbuild as dockerbuild
|
||||
|
||||
amd64 = docker_build.Image("amd64",
|
||||
cache_from=[{
|
||||
"registry": {
|
||||
"ref": "docker.io/pulumi/pulumi:cache-amd64",
|
||||
},
|
||||
}],
|
||||
cache_to=[{
|
||||
"registry": {
|
||||
"mode": docker_build.CacheMode.MAX,
|
||||
"ref": "docker.io/pulumi/pulumi:cache-amd64",
|
||||
},
|
||||
}],
|
||||
context={
|
||||
"location": "app",
|
||||
},
|
||||
platforms=[docker_build.Platform.LINUX_AMD64],
|
||||
amd64 = dockerbuild.Image("amd64",
|
||||
cache_from=[dockerbuild.CacheFromArgs(
|
||||
registry=dockerbuild.CacheFromRegistryArgs(
|
||||
ref="docker.io/pulumi/pulumi:cache-amd64",
|
||||
),
|
||||
)],
|
||||
cache_to=[dockerbuild.CacheToArgs(
|
||||
registry=dockerbuild.CacheToRegistryArgs(
|
||||
mode=dockerbuild.CacheMode.MAX,
|
||||
ref="docker.io/pulumi/pulumi:cache-amd64",
|
||||
),
|
||||
)],
|
||||
context=dockerbuild.BuildContextArgs(
|
||||
location="app",
|
||||
),
|
||||
platforms=[dockerbuild.Platform.LINUX_AMD64],
|
||||
tags=["docker.io/pulumi/pulumi:3.107.0-amd64"])
|
||||
arm64 = docker_build.Image("arm64",
|
||||
cache_from=[{
|
||||
"registry": {
|
||||
"ref": "docker.io/pulumi/pulumi:cache-arm64",
|
||||
},
|
||||
}],
|
||||
cache_to=[{
|
||||
"registry": {
|
||||
"mode": docker_build.CacheMode.MAX,
|
||||
"ref": "docker.io/pulumi/pulumi:cache-arm64",
|
||||
},
|
||||
}],
|
||||
context={
|
||||
"location": "app",
|
||||
},
|
||||
platforms=[docker_build.Platform.LINUX_ARM64],
|
||||
arm64 = dockerbuild.Image("arm64",
|
||||
cache_from=[dockerbuild.CacheFromArgs(
|
||||
registry=dockerbuild.CacheFromRegistryArgs(
|
||||
ref="docker.io/pulumi/pulumi:cache-arm64",
|
||||
),
|
||||
)],
|
||||
cache_to=[dockerbuild.CacheToArgs(
|
||||
registry=dockerbuild.CacheToRegistryArgs(
|
||||
mode=dockerbuild.CacheMode.MAX,
|
||||
ref="docker.io/pulumi/pulumi:cache-arm64",
|
||||
),
|
||||
)],
|
||||
context=dockerbuild.BuildContextArgs(
|
||||
location="app",
|
||||
),
|
||||
platforms=[dockerbuild.Platform.LINUX_ARM64],
|
||||
tags=["docker.io/pulumi/pulumi:3.107.0-arm64"])
|
||||
index = docker_build.Index("index",
|
||||
index = dockerbuild.Index("index",
|
||||
sources=[
|
||||
amd64.ref,
|
||||
arm64.ref,
|
||||
@@ -102,17 +102,17 @@ pulumi.export("ref", index.ref)
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Pulumi;
|
||||
using DockerBuild = Pulumi.DockerBuild;
|
||||
using Dockerbuild = Pulumi.Dockerbuild;
|
||||
|
||||
return await Deployment.RunAsync(() =>
|
||||
{
|
||||
var amd64 = new DockerBuild.Image("amd64", new()
|
||||
var amd64 = new Dockerbuild.Image("amd64", new()
|
||||
{
|
||||
CacheFrom = new[]
|
||||
{
|
||||
new DockerBuild.Inputs.CacheFromArgs
|
||||
new Dockerbuild.Inputs.CacheFromArgs
|
||||
{
|
||||
Registry = new DockerBuild.Inputs.CacheFromRegistryArgs
|
||||
Registry = new Dockerbuild.Inputs.CacheFromRegistryArgs
|
||||
{
|
||||
Ref = "docker.io/pulumi/pulumi:cache-amd64",
|
||||
},
|
||||
@@ -120,22 +120,22 @@ return await Deployment.RunAsync(() =>
|
||||
},
|
||||
CacheTo = new[]
|
||||
{
|
||||
new DockerBuild.Inputs.CacheToArgs
|
||||
new Dockerbuild.Inputs.CacheToArgs
|
||||
{
|
||||
Registry = new DockerBuild.Inputs.CacheToRegistryArgs
|
||||
Registry = new Dockerbuild.Inputs.CacheToRegistryArgs
|
||||
{
|
||||
Mode = DockerBuild.CacheMode.Max,
|
||||
Mode = Dockerbuild.CacheMode.Max,
|
||||
Ref = "docker.io/pulumi/pulumi:cache-amd64",
|
||||
},
|
||||
},
|
||||
},
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
Context = new Dockerbuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "app",
|
||||
},
|
||||
Platforms = new[]
|
||||
{
|
||||
DockerBuild.Platform.Linux_amd64,
|
||||
Dockerbuild.Platform.Linux_amd64,
|
||||
},
|
||||
Tags = new[]
|
||||
{
|
||||
@@ -143,13 +143,13 @@ return await Deployment.RunAsync(() =>
|
||||
},
|
||||
});
|
||||
|
||||
var arm64 = new DockerBuild.Image("arm64", new()
|
||||
var arm64 = new Dockerbuild.Image("arm64", new()
|
||||
{
|
||||
CacheFrom = new[]
|
||||
{
|
||||
new DockerBuild.Inputs.CacheFromArgs
|
||||
new Dockerbuild.Inputs.CacheFromArgs
|
||||
{
|
||||
Registry = new DockerBuild.Inputs.CacheFromRegistryArgs
|
||||
Registry = new Dockerbuild.Inputs.CacheFromRegistryArgs
|
||||
{
|
||||
Ref = "docker.io/pulumi/pulumi:cache-arm64",
|
||||
},
|
||||
@@ -157,22 +157,22 @@ return await Deployment.RunAsync(() =>
|
||||
},
|
||||
CacheTo = new[]
|
||||
{
|
||||
new DockerBuild.Inputs.CacheToArgs
|
||||
new Dockerbuild.Inputs.CacheToArgs
|
||||
{
|
||||
Registry = new DockerBuild.Inputs.CacheToRegistryArgs
|
||||
Registry = new Dockerbuild.Inputs.CacheToRegistryArgs
|
||||
{
|
||||
Mode = DockerBuild.CacheMode.Max,
|
||||
Mode = Dockerbuild.CacheMode.Max,
|
||||
Ref = "docker.io/pulumi/pulumi:cache-arm64",
|
||||
},
|
||||
},
|
||||
},
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
Context = new Dockerbuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "app",
|
||||
},
|
||||
Platforms = new[]
|
||||
{
|
||||
DockerBuild.Platform.Linux_arm64,
|
||||
Dockerbuild.Platform.Linux_arm64,
|
||||
},
|
||||
Tags = new[]
|
||||
{
|
||||
@@ -180,7 +180,7 @@ return await Deployment.RunAsync(() =>
|
||||
},
|
||||
});
|
||||
|
||||
var index = new DockerBuild.Index("index", new()
|
||||
var index = new Dockerbuild.Index("index", new()
|
||||
{
|
||||
Sources = new[]
|
||||
{
|
||||
@@ -201,7 +201,7 @@ return await Deployment.RunAsync(() =>
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
|
||||
"github.com/pulumi/pulumi-dockerbuild/sdk/go/dockerbuild"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
)
|
||||
|
||||
@@ -226,7 +226,7 @@ func main() {
|
||||
Context: &dockerbuild.BuildContextArgs{
|
||||
Location: pulumi.String("app"),
|
||||
},
|
||||
Platforms: docker - build.PlatformArray{
|
||||
Platforms: dockerbuild.PlatformArray{
|
||||
dockerbuild.Platform_Linux_amd64,
|
||||
},
|
||||
Tags: pulumi.StringArray{
|
||||
@@ -255,7 +255,7 @@ func main() {
|
||||
Context: &dockerbuild.BuildContextArgs{
|
||||
Location: pulumi.String("app"),
|
||||
},
|
||||
Platforms: docker - build.PlatformArray{
|
||||
Platforms: dockerbuild.PlatformArray{
|
||||
dockerbuild.Platform_Linux_arm64,
|
||||
},
|
||||
Tags: pulumi.StringArray{
|
||||
@@ -301,7 +301,7 @@ resources:
|
||||
- linux/amd64
|
||||
tags:
|
||||
- docker.io/pulumi/pulumi:3.107.0-amd64
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
arm64:
|
||||
properties:
|
||||
cacheFrom:
|
||||
@@ -317,14 +317,14 @@ resources:
|
||||
- linux/arm64
|
||||
tags:
|
||||
- docker.io/pulumi/pulumi:3.107.0-arm64
|
||||
type: docker-build:Image
|
||||
type: dockerbuild:Image
|
||||
index:
|
||||
properties:
|
||||
sources:
|
||||
- ${amd64.ref}
|
||||
- ${arm64.ref}
|
||||
tag: docker.io/pulumi/pulumi:3.107.0
|
||||
type: docker-build:Index
|
||||
type: dockerbuild:Index
|
||||
runtime: yaml
|
||||
```
|
||||
```java
|
||||
@@ -355,7 +355,7 @@ public class App {
|
||||
}
|
||||
|
||||
public static void stack(Context ctx) {
|
||||
var amd64 = new Image("amd64", ImageArgs.builder()
|
||||
var amd64 = new Image("amd64", ImageArgs.builder()
|
||||
.cacheFrom(CacheFromArgs.builder()
|
||||
.registry(CacheFromRegistryArgs.builder()
|
||||
.ref("docker.io/pulumi/pulumi:cache-amd64")
|
||||
@@ -374,7 +374,7 @@ public class App {
|
||||
.tags("docker.io/pulumi/pulumi:3.107.0-amd64")
|
||||
.build());
|
||||
|
||||
var arm64 = new Image("arm64", ImageArgs.builder()
|
||||
var arm64 = new Image("arm64", ImageArgs.builder()
|
||||
.cacheFrom(CacheFromArgs.builder()
|
||||
.registry(CacheFromRegistryArgs.builder()
|
||||
.ref("docker.io/pulumi/pulumi:cache-arm64")
|
||||
@@ -393,7 +393,7 @@ public class App {
|
||||
.tags("docker.io/pulumi/pulumi:3.107.0-arm64")
|
||||
.build());
|
||||
|
||||
var index = new Index("index", IndexArgs.builder()
|
||||
var index = new Index("index", IndexArgs.builder()
|
||||
.sources(
|
||||
amd64.ref(),
|
||||
arm64.ref())
|
||||
|
||||
@@ -17,7 +17,6 @@ package internal
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"slices"
|
||||
"strings"
|
||||
|
||||
@@ -354,19 +353,6 @@ func (e *ExportLocal) Annotate(a infer.Annotator) {
|
||||
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.
|
||||
type ExportTar struct {
|
||||
ExportLocal
|
||||
@@ -379,15 +365,6 @@ func (e *ExportTar) String() string {
|
||||
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.
|
||||
type ExportWithOCI struct {
|
||||
OCI *bool `pulumi:"ociMediaTypes,optional"`
|
||||
@@ -409,9 +386,9 @@ func (c ExportWithOCI) String() string {
|
||||
// ExportWithCompression is an export with options to configure compression
|
||||
// settings.
|
||||
type ExportWithCompression struct {
|
||||
Compression *CompressionType `pulumi:"compression,optional"`
|
||||
CompressionLevel int `pulumi:"compressionLevel,optional"`
|
||||
ForceCompression *bool `pulumi:"forceCompression,optional"`
|
||||
Compression CompressionType `pulumi:"compression,optional"`
|
||||
CompressionLevel int `pulumi:"compressionLevel,optional"`
|
||||
ForceCompression *bool `pulumi:"forceCompression,optional"`
|
||||
}
|
||||
|
||||
// Annotate sets docstrings and defaults on ExportWithCompression.
|
||||
@@ -430,8 +407,8 @@ func (e ExportWithCompression) String() string {
|
||||
return ""
|
||||
}
|
||||
parts := []string{}
|
||||
if e.Compression != nil {
|
||||
parts = append(parts, fmt.Sprintf("compression=%s", *e.Compression))
|
||||
if e.Compression != "" {
|
||||
parts = append(parts, fmt.Sprintf("compression=%s", e.Compression))
|
||||
}
|
||||
if e.CompressionLevel > 0 {
|
||||
cl := e.CompressionLevel
|
||||
|
||||
@@ -93,7 +93,6 @@ func TestValidateExport(t *testing.T) {
|
||||
|
||||
func TestExportString(t *testing.T) {
|
||||
t.Parallel()
|
||||
gzip := Gzip
|
||||
tests := []struct {
|
||||
name string
|
||||
given Export
|
||||
@@ -114,13 +113,13 @@ func TestExportString(t *testing.T) {
|
||||
given: Export{Registry: &ExportRegistry{
|
||||
ExportImage: ExportImage{
|
||||
ExportWithCompression: ExportWithCompression{
|
||||
Compression: &gzip,
|
||||
Compression: "gz2",
|
||||
CompressionLevel: 100,
|
||||
ForceCompression: pulumi.BoolRef(true),
|
||||
},
|
||||
},
|
||||
}},
|
||||
want: "type=registry,compression=gzip,compression-level=22,force-compression=true",
|
||||
want: "type=registry,compression=gz2,compression-level=22,force-compression=true",
|
||||
},
|
||||
{
|
||||
name: "registry-without-push",
|
||||
|
||||
@@ -16,10 +16,8 @@ package internal
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/docker/buildx/builder"
|
||||
"github.com/docker/buildx/store/storeutil"
|
||||
@@ -74,7 +72,7 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
||||
|
||||
txn, release, err := storeutil.GetStore(h.cli)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("getting store: %w", err)
|
||||
return nil, err
|
||||
}
|
||||
defer release()
|
||||
|
||||
@@ -88,7 +86,7 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
||||
builder.WithStore(txn),
|
||||
)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("new builder: %w", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// If we didn't request a particular builder, and we loaded a default
|
||||
@@ -97,7 +95,7 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
||||
if b.Driver == "" && opts.Builder == "" {
|
||||
builders, err := builder.GetBuilders(h.cli, txn)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("getting builders: %w", err)
|
||||
return nil, err
|
||||
}
|
||||
nextbuilder:
|
||||
for _, bb := range builders {
|
||||
@@ -130,7 +128,6 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
||||
}
|
||||
|
||||
if b.Driver == "" && opts.Builder == "" {
|
||||
|
||||
// If we STILL don't have a builder, create a docker-container instance.
|
||||
b, err = builder.Create(
|
||||
context.Background(),
|
||||
@@ -139,12 +136,7 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
||||
builder.CreateOpts{Driver: "docker-container"},
|
||||
)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("creating builder: %w", err)
|
||||
}
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
|
||||
defer cancel()
|
||||
if _, err := b.Boot(ctx); err != nil {
|
||||
return nil, fmt.Errorf("booting builder: %w", err)
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,7 +145,7 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
||||
// drivers that are unknown to us.
|
||||
nodes, err := b.LoadNodes(context.Background())
|
||||
if err != nil && !build.ShouldExec() {
|
||||
return nil, fmt.Errorf("loading nodes: %w", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
cached := &cachedBuilder{name: b.Name, driver: b.Driver, nodes: nodes}
|
||||
|
||||
@@ -38,8 +38,9 @@ import (
|
||||
|
||||
provider "github.com/pulumi/pulumi-go-provider"
|
||||
"github.com/pulumi/pulumi-go-provider/infer"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/diag"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/util/ciutil"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -71,10 +72,16 @@ func (i *Image) Annotate(a infer.Annotator) {
|
||||
|
||||
## Stability
|
||||
|
||||
**This resource is pre-1.0 and in public preview.**
|
||||
**This resource is experimental and subject to change.**
|
||||
|
||||
We will strive to keep APIs and behavior as stable as possible, but we
|
||||
cannot guarantee stability until version 1.0.
|
||||
API types are unstable. Subsequent releases _may_ require manual edits
|
||||
to your state file(s) in order to adopt API changes.
|
||||
|
||||
"retainOnDelete: true" is recommended with this resource until it is
|
||||
stable. This enables future API changes to be adopted more easily by renaming
|
||||
resources.
|
||||
|
||||
Only use this resource if you understand and accept the risks.
|
||||
`)+
|
||||
"\n\n"+_migration+
|
||||
"\n\n"+_imageExamples,
|
||||
@@ -86,19 +93,19 @@ type ImageArgs struct {
|
||||
AddHosts []string `pulumi:"addHosts,optional"`
|
||||
BuildArgs map[string]string `pulumi:"buildArgs,optional"`
|
||||
BuildOnPreview *bool `pulumi:"buildOnPreview,optional"`
|
||||
Builder *BuilderConfig `pulumi:"builder,optional"`
|
||||
Builder BuilderConfig `pulumi:"builder,optional"`
|
||||
CacheFrom []CacheFrom `pulumi:"cacheFrom,optional"`
|
||||
CacheTo []CacheTo `pulumi:"cacheTo,optional"`
|
||||
Context *BuildContext `pulumi:"context,optional"`
|
||||
Dockerfile *Dockerfile `pulumi:"dockerfile,optional"`
|
||||
Context BuildContext `pulumi:"context,optional"`
|
||||
Dockerfile Dockerfile `pulumi:"dockerfile,optional"`
|
||||
Exports []Export `pulumi:"exports,optional"`
|
||||
Labels map[string]string `pulumi:"labels,optional"`
|
||||
Load bool `pulumi:"load,optional"`
|
||||
Network *NetworkMode `pulumi:"network,optional"`
|
||||
Network NetworkMode `pulumi:"network,optional"`
|
||||
NoCache bool `pulumi:"noCache,optional"`
|
||||
Platforms []Platform `pulumi:"platforms,optional"`
|
||||
Pull bool `pulumi:"pull,optional"`
|
||||
Push bool `pulumi:"push"`
|
||||
Push bool `pulumi:"push,optional"`
|
||||
Registries []Registry `pulumi:"registries,optional"`
|
||||
Secrets map[string]string `pulumi:"secrets,optional"`
|
||||
SSH []SSH `pulumi:"ssh,optional"`
|
||||
@@ -126,19 +133,21 @@ func (ia *ImageArgs) Annotate(a infer.Annotator) {
|
||||
Equivalent to Docker's "--build-arg" flag.
|
||||
`))
|
||||
a.Describe(&ia.BuildOnPreview, dedent(`
|
||||
Setting this to "false" will always skip image builds during previews,
|
||||
and setting it to "true" will always build images during previews.
|
||||
By default, preview behavior depends on the execution environment. If
|
||||
Pulumi detects the operation is running on a CI system (GitHub Actions,
|
||||
Travis CI, Azure Pipelines, etc.) then it will build images during
|
||||
previews as a safeguard. Otherwise, if not running on CI, previews will
|
||||
not build images.
|
||||
|
||||
Setting this to "false" forces previews to never perform builds, and
|
||||
setting it to "true" will always build the image during previews.
|
||||
|
||||
Images built during previews are never exported to registries, however
|
||||
cache manifests are still exported.
|
||||
|
||||
On-disk Dockerfiles are always validated for syntactic correctness
|
||||
regardless of this setting.
|
||||
|
||||
Defaults to "true" as a safeguard against broken images merging as part
|
||||
of CI pipelines.
|
||||
`))
|
||||
a.SetDefault(&ia.BuildOnPreview, pulumi.Bool(true))
|
||||
a.Describe(&ia.Builder, dedent(`
|
||||
Builder configuration.
|
||||
`))
|
||||
@@ -153,7 +162,7 @@ func (ia *ImageArgs) Annotate(a infer.Annotator) {
|
||||
Equivalent to Docker's "--cache-to" flag.
|
||||
`))
|
||||
a.Describe(&ia.Context, dedent(`
|
||||
Build context settings. Defaults to the current directory.
|
||||
Build context settings.
|
||||
|
||||
Equivalent to Docker's "PATH | URL | -" positional argument.
|
||||
`))
|
||||
@@ -327,10 +336,12 @@ func (is *ImageState) Annotate(a infer.Annotator) {
|
||||
`))
|
||||
}
|
||||
|
||||
// client produces a CLI client scoped to this resource and layered on top of
|
||||
// any host-level credentials.
|
||||
func (i *Image) client(ctx context.Context, state ImageState, args ImageArgs) (Client, error) {
|
||||
cfg := infer.GetConfig[Config](ctx)
|
||||
// client produces a CLI client with scoped to this resource and layered on top
|
||||
// of any host-level credentials.
|
||||
func (i *Image) client(pctx provider.Context, state ImageState, args ImageArgs) (Client, error) {
|
||||
ctx := context.Context(pctx)
|
||||
|
||||
cfg := infer.GetConfig[Config](pctx)
|
||||
|
||||
if cli, ok := ctx.Value(_mockClientKey).(Client); ok {
|
||||
return cli, nil
|
||||
@@ -339,7 +350,7 @@ func (i *Image) client(ctx context.Context, state ImageState, args ImageArgs) (C
|
||||
// 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 := state.Registries
|
||||
auths = append(auths, cfg.Registries...)
|
||||
auths = append(auths, args.Registries...)
|
||||
|
||||
@@ -349,12 +360,12 @@ func (i *Image) client(ctx context.Context, state ImageState, args ImageArgs) (C
|
||||
// Check validates ImageArgs, sets defaults, and ensures our client is
|
||||
// authenticated.
|
||||
func (i *Image) Check(
|
||||
ctx context.Context,
|
||||
_ provider.Context,
|
||||
_ string,
|
||||
_ resource.PropertyMap,
|
||||
news resource.PropertyMap,
|
||||
) (ImageArgs, []provider.CheckFailure, error) {
|
||||
args, failures, err := infer.DefaultCheck[ImageArgs](ctx, news)
|
||||
args, failures, err := infer.DefaultCheck[ImageArgs](news)
|
||||
if err != nil || len(failures) != 0 {
|
||||
return args, failures, err
|
||||
}
|
||||
@@ -451,12 +462,13 @@ func (ia *ImageArgs) isExported() bool {
|
||||
}
|
||||
|
||||
// shouldBuildOnPreview returns true if we should build this image during
|
||||
// previews.
|
||||
// previews. In CI environments we default to building during previews, but we
|
||||
// always respect buildOnPreview if it was specified.
|
||||
func (ia *ImageArgs) shouldBuildOnPreview() bool {
|
||||
if ia.BuildOnPreview != nil {
|
||||
return *ia.BuildOnPreview
|
||||
}
|
||||
return true
|
||||
return ciutil.IsCI()
|
||||
}
|
||||
|
||||
type build struct {
|
||||
@@ -487,7 +499,7 @@ func (b build) ShouldExec() bool {
|
||||
}
|
||||
|
||||
func (ia ImageArgs) toBuild(
|
||||
ctx context.Context,
|
||||
ctx provider.Context,
|
||||
preview bool,
|
||||
) (Build, error) {
|
||||
opts, err := ia.validate(preview)
|
||||
@@ -496,15 +508,18 @@ func (ia ImageArgs) toBuild(
|
||||
}
|
||||
|
||||
if len(ia.Exports) == 0 && !ia.Push && !ia.Load {
|
||||
provider.GetLogger(ctx).Warning(
|
||||
"No exports were specified so the build will only remain in the local build cache. " +
|
||||
"Use `push` to upload the image to a registry, or silence this warning with a `cacheonly` export.")
|
||||
ctx.Log(diag.Warning,
|
||||
"No exports were specified so the build will only remain in the local build cache. "+
|
||||
"Use `push` to upload the image to a registry, or silence this warning with a `cacheonly` export.",
|
||||
)
|
||||
}
|
||||
|
||||
if len(opts.Platforms) > 1 && len(opts.CacheTo) > 0 {
|
||||
provider.GetLogger(ctx).Warning(
|
||||
"Caching doesn't work reliably with multi-platform builds (https://github.com/docker/buildx/discussions/1382). " +
|
||||
"Instead, perform one cached build per platform and create an Index to join them all together.")
|
||||
ctx.Log(
|
||||
diag.Warning,
|
||||
"Caching doesn't work reliably with multi-platform builds (https://github.com/docker/buildx/discussions/1382). "+
|
||||
"Instead, perform one cached build per platform and create an Index to join them all together.",
|
||||
)
|
||||
}
|
||||
|
||||
return build{
|
||||
@@ -540,17 +555,13 @@ func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error)
|
||||
)
|
||||
}
|
||||
|
||||
dockerfile, context, err := ia.Context.validate(preview, ia.Dockerfile)
|
||||
dockerfile, err := ia.Context.validate(preview, ia.Dockerfile)
|
||||
if err != nil {
|
||||
multierr = errors.Join(multierr, err)
|
||||
}
|
||||
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, ia.Context.Context); err != nil {
|
||||
multierr = errors.Join(multierr, err)
|
||||
}
|
||||
|
||||
@@ -633,24 +644,19 @@ func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error)
|
||||
})
|
||||
}
|
||||
|
||||
builder := BuilderConfig{}
|
||||
if normalized.Builder != nil {
|
||||
builder = *normalized.Builder
|
||||
}
|
||||
|
||||
opts := controllerapi.BuildOptions{
|
||||
BuildArgs: normalized.BuildArgs,
|
||||
Builder: builder.Name,
|
||||
Builder: normalized.Builder.Name,
|
||||
CacheFrom: cacheFrom,
|
||||
CacheTo: cacheTo,
|
||||
ContextPath: context.Location,
|
||||
ContextPath: normalized.Context.Location,
|
||||
DockerfileName: dockerfile.Location,
|
||||
Exports: exports,
|
||||
ExtraHosts: normalized.AddHosts,
|
||||
Labels: normalized.Labels,
|
||||
NetworkMode: normalized.Network.String(),
|
||||
NetworkMode: string(normalized.Network),
|
||||
NoCache: normalized.NoCache,
|
||||
NamedContexts: normalized.Context.namedMap(),
|
||||
NamedContexts: normalized.Context.Named.Map(),
|
||||
Platforms: platforms,
|
||||
Pull: normalized.Pull,
|
||||
Secrets: secrets,
|
||||
@@ -664,7 +670,7 @@ func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error)
|
||||
|
||||
// Create builds an image using buildkit.
|
||||
func (i *Image) Create(
|
||||
ctx context.Context,
|
||||
ctx provider.Context,
|
||||
name string,
|
||||
input ImageArgs,
|
||||
preview bool,
|
||||
@@ -713,7 +719,7 @@ func (i *Image) Create(
|
||||
return id, state, nil
|
||||
}
|
||||
if preview && !input.buildable() {
|
||||
provider.GetLogger(ctx).Warning("Skipping preview build because some inputs are unknown.")
|
||||
ctx.Log(diag.Warning, "Skipping preview build because some inputs are unknown.")
|
||||
return id, state, nil
|
||||
}
|
||||
|
||||
@@ -751,7 +757,7 @@ func (i *Image) Create(
|
||||
// images built locally there is nothing to delete. We treat those cases as
|
||||
// updates and simply re-build the image without deleting anything.
|
||||
func (i *Image) Update(
|
||||
ctx context.Context,
|
||||
ctx provider.Context,
|
||||
name string,
|
||||
_ ImageState,
|
||||
input ImageArgs,
|
||||
@@ -764,7 +770,7 @@ func (i *Image) Update(
|
||||
// Read attempts to read manifests from an image's exports. An image without
|
||||
// exports will have no manifests.
|
||||
func (i *Image) Read(
|
||||
ctx context.Context,
|
||||
ctx provider.Context,
|
||||
name string,
|
||||
input ImageArgs,
|
||||
state ImageState,
|
||||
@@ -798,11 +804,10 @@ func (i *Image) Read(
|
||||
// Does a tag with this digest exist?
|
||||
descriptors, err := cli.Inspect(ctx, ref)
|
||||
if err != nil {
|
||||
provider.GetLogger(ctx).Warning(err.Error())
|
||||
ctx.Log(diag.Warning, err.Error())
|
||||
continue
|
||||
}
|
||||
|
||||
//nolint:gocritic // Bytes aren't copied in a hot path.
|
||||
for _, d := range descriptors {
|
||||
if d.Platform != nil && d.Platform.Architecture == "unknown" {
|
||||
// Ignore cache manifests.
|
||||
@@ -828,7 +833,7 @@ func (i *Image) Read(
|
||||
// Delete deletes an Image. If the Image was already deleted out-of-band it is
|
||||
// treated as a success.
|
||||
func (i *Image) Delete(
|
||||
ctx context.Context,
|
||||
ctx provider.Context,
|
||||
_ string,
|
||||
state ImageState,
|
||||
) error {
|
||||
@@ -859,9 +864,9 @@ func (i *Image) Delete(
|
||||
|
||||
var multierr error
|
||||
for _, digested := range digests {
|
||||
err = cli.Delete(ctx, digested)
|
||||
err = cli.Delete(context.Context(ctx), digested)
|
||||
if errdefs.IsNotFound(err) {
|
||||
provider.GetLogger(ctx).Warning(digested + " not found")
|
||||
ctx.Log(diag.Warning, digested+" not found")
|
||||
continue // Nothing to do.
|
||||
}
|
||||
multierr = errors.Join(multierr, err)
|
||||
@@ -873,7 +878,7 @@ func (i *Image) Delete(
|
||||
// Diff re-implements most of the default diff behavior, with the exception of
|
||||
// ignoring "password" changes on registry inputs.
|
||||
func (*Image) Diff(
|
||||
_ context.Context,
|
||||
_ provider.Context,
|
||||
_ string,
|
||||
olds ImageState,
|
||||
news ImageArgs,
|
||||
@@ -887,7 +892,7 @@ func (*Image) Diff(
|
||||
if !reflect.DeepEqual(olds.BuildArgs, news.BuildArgs) {
|
||||
diff["buildArgs"] = update
|
||||
}
|
||||
if !reflect.DeepEqual(olds.BuildOnPreview, news.BuildOnPreview) {
|
||||
if olds.BuildOnPreview != news.BuildOnPreview {
|
||||
diff["buildOnPreview"] = update
|
||||
}
|
||||
if !reflect.DeepEqual(olds.Builder, news.Builder) {
|
||||
@@ -905,27 +910,23 @@ func (*Image) Diff(
|
||||
if !reflect.DeepEqual(olds.Context.Named, news.Context.Named) {
|
||||
diff["context.named"] = update
|
||||
}
|
||||
dockerfile, _, _ := news.Context.validate(true, news.Dockerfile)
|
||||
if !reflect.DeepEqual(olds.Dockerfile, dockerfile) {
|
||||
diff["dockerfile"] = update
|
||||
if olds.Dockerfile.Location != news.Dockerfile.Location {
|
||||
diff["dockerfile.location"] = update
|
||||
}
|
||||
if olds.Dockerfile.Inline != news.Dockerfile.Inline {
|
||||
diff["dockerfile.inline"] = update
|
||||
}
|
||||
// Use string comparison to ignore any manifests attached to the export.
|
||||
if fmt.Sprint(olds.Exports) != fmt.Sprint(news.Exports) {
|
||||
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) {
|
||||
diff["labels"] = update
|
||||
}
|
||||
if olds.Load != news.Load {
|
||||
diff["load"] = update
|
||||
}
|
||||
if !reflect.DeepEqual(olds.Network, news.Network) {
|
||||
if olds.Network != news.Network {
|
||||
diff["network"] = update
|
||||
}
|
||||
if !reflect.DeepEqual(olds.NoCache, news.NoCache) {
|
||||
@@ -934,10 +935,10 @@ func (*Image) Diff(
|
||||
if !reflect.DeepEqual(olds.Platforms, news.Platforms) {
|
||||
diff["platforms"] = update
|
||||
}
|
||||
if !reflect.DeepEqual(olds.Pull, news.Pull) {
|
||||
if olds.Pull != news.Pull {
|
||||
diff["pull"] = update
|
||||
}
|
||||
if !reflect.DeepEqual(olds.Push, news.Push) {
|
||||
if olds.Push != news.Push {
|
||||
diff["push"] = update
|
||||
}
|
||||
if !reflect.DeepEqual(olds.Secrets, news.Secrets) {
|
||||
@@ -962,7 +963,7 @@ func (*Image) Diff(
|
||||
// Check if anything has changed in our build context.
|
||||
hash, err := hashBuildContext(
|
||||
news.Context.Location,
|
||||
dockerfile.Location,
|
||||
news.Dockerfile.Location,
|
||||
news.Context.Named.Map(),
|
||||
)
|
||||
if err != nil {
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
package internal
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
@@ -24,7 +23,7 @@ import (
|
||||
|
||||
_ "github.com/docker/buildx/driver/docker-container"
|
||||
|
||||
"github.com/distribution/reference"
|
||||
"github.com/docker/distribution/reference"
|
||||
"github.com/moby/buildkit/client"
|
||||
"github.com/moby/buildkit/exporter/containerimage/exptypes"
|
||||
"github.com/regclient/regclient/types/descriptor"
|
||||
@@ -40,7 +39,7 @@ import (
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
)
|
||||
|
||||
var _fakeURN = resource.NewURN("test", "provider", "a", "docker-build:index:Image", "test")
|
||||
var _fakeURN = resource.NewURN("test", "provider", "a", "dockerbuild:index:Image", "test")
|
||||
|
||||
func TestImageLifecycle(t *testing.T) {
|
||||
t.Parallel()
|
||||
@@ -65,7 +64,7 @@ func TestImageLifecycle(t *testing.T) {
|
||||
c := NewMockClient(ctrl)
|
||||
c.EXPECT().BuildKitEnabled().Return(true, nil).AnyTimes()
|
||||
c.EXPECT().Build(gomock.Any(), gomock.AssignableToTypeOf(build{})).DoAndReturn(
|
||||
func(_ context.Context, b Build) (*client.SolveResponse, error) {
|
||||
func(_ provider.Context, b Build) (*client.SolveResponse, error) {
|
||||
assert.Equal(t, "testdata/noop/Dockerfile", b.BuildOptions().DockerfileName)
|
||||
return &client.SolveResponse{
|
||||
ExporterResponse: map[string]string{
|
||||
@@ -83,7 +82,6 @@ func TestImageLifecycle(t *testing.T) {
|
||||
op: func(t *testing.T) integration.Operation {
|
||||
return integration.Operation{
|
||||
Inputs: resource.PropertyMap{
|
||||
"push": resource.NewBoolProperty(false),
|
||||
"tags": resource.NewArrayProperty(
|
||||
[]resource.PropertyValue{
|
||||
resource.NewStringProperty("docker.io/pulumibot/buildkit-e2e"),
|
||||
@@ -131,7 +129,6 @@ func TestImageLifecycle(t *testing.T) {
|
||||
op: func(t *testing.T) integration.Operation {
|
||||
return integration.Operation{
|
||||
Inputs: resource.PropertyMap{
|
||||
"push": resource.NewBoolProperty(false),
|
||||
"tags": resource.NewArrayProperty([]resource.PropertyValue{}),
|
||||
"context": resource.NewObjectProperty(resource.PropertyMap{
|
||||
"location": resource.NewStringProperty("testdata/noop"),
|
||||
@@ -160,7 +157,6 @@ func TestImageLifecycle(t *testing.T) {
|
||||
op: func(t *testing.T) integration.Operation {
|
||||
return integration.Operation{
|
||||
Inputs: resource.PropertyMap{
|
||||
"push": resource.NewBoolProperty(false),
|
||||
"tags": resource.NewArrayProperty(
|
||||
[]resource.PropertyValue{resource.NewStringProperty("invalid-exports")},
|
||||
),
|
||||
@@ -193,7 +189,6 @@ func TestImageLifecycle(t *testing.T) {
|
||||
op: func(t *testing.T) integration.Operation {
|
||||
return integration.Operation{
|
||||
Inputs: resource.PropertyMap{
|
||||
"push": resource.NewBoolProperty(false),
|
||||
"tags": resource.NewArrayProperty(
|
||||
[]resource.PropertyValue{resource.NewStringProperty("foo")},
|
||||
),
|
||||
@@ -220,7 +215,6 @@ func TestImageLifecycle(t *testing.T) {
|
||||
op: func(t *testing.T) integration.Operation {
|
||||
return integration.Operation{
|
||||
Inputs: resource.PropertyMap{
|
||||
"push": resource.NewBoolProperty(false),
|
||||
"tags": resource.NewArrayProperty(
|
||||
[]resource.PropertyValue{resource.NewStringProperty("foo")},
|
||||
),
|
||||
@@ -239,7 +233,7 @@ func TestImageLifecycle(t *testing.T) {
|
||||
c := NewMockClient(ctrl)
|
||||
c.EXPECT().BuildKitEnabled().Return(true, nil).AnyTimes()
|
||||
c.EXPECT().Build(gomock.Any(), gomock.AssignableToTypeOf(build{})).DoAndReturn(
|
||||
func(_ context.Context, b Build) (*client.SolveResponse, error) {
|
||||
func(_ provider.Context, b Build) (*client.SolveResponse, error) {
|
||||
assert.Equal(t, "testdata/noop/Dockerfile", b.BuildOptions().DockerfileName)
|
||||
return &client.SolveResponse{
|
||||
ExporterResponse: map[string]string{"image.name": "test:latest"},
|
||||
@@ -252,7 +246,6 @@ func TestImageLifecycle(t *testing.T) {
|
||||
op: func(t *testing.T) integration.Operation {
|
||||
return integration.Operation{
|
||||
Inputs: resource.PropertyMap{
|
||||
"push": resource.NewBoolProperty(false),
|
||||
"tags": resource.NewArrayProperty(
|
||||
[]resource.PropertyValue{
|
||||
resource.NewStringProperty("default-dockerfile"),
|
||||
@@ -273,48 +266,6 @@ func TestImageLifecycle(t *testing.T) {
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "context defaults to current directory (pulumi-docker-build#78)",
|
||||
client: func(t *testing.T) Client {
|
||||
ctrl := gomock.NewController(t)
|
||||
c := NewMockClient(ctrl)
|
||||
c.EXPECT().BuildKitEnabled().Return(true, nil).AnyTimes()
|
||||
c.EXPECT().Build(gomock.Any(), gomock.AssignableToTypeOf(build{})).DoAndReturn(
|
||||
func(_ context.Context, b Build) (*client.SolveResponse, error) {
|
||||
assert.Equal(t, "FROM alpine:latest", b.Inline())
|
||||
return &client.SolveResponse{
|
||||
ExporterResponse: map[string]string{"image.name": "alpine:latest"},
|
||||
}, nil
|
||||
},
|
||||
).AnyTimes()
|
||||
c.EXPECT().Delete(gomock.Any(), "inline-dockerfile").Return(nil)
|
||||
return c
|
||||
},
|
||||
op: func(t *testing.T) integration.Operation {
|
||||
return integration.Operation{
|
||||
Inputs: resource.PropertyMap{
|
||||
"push": resource.NewBoolProperty(false),
|
||||
"tags": resource.NewArrayProperty(
|
||||
[]resource.PropertyValue{
|
||||
resource.NewStringProperty("inline-dockerfile"),
|
||||
},
|
||||
),
|
||||
"buildOnPreview": resource.NewBoolProperty(true),
|
||||
"dockerfile": resource.NewObjectProperty(resource.PropertyMap{
|
||||
"inline": resource.NewStringProperty("FROM alpine:latest"),
|
||||
}),
|
||||
},
|
||||
Hook: func(_, output resource.PropertyMap) {
|
||||
context := output["context"]
|
||||
require.NotNil(t, context)
|
||||
require.True(t, context.IsObject())
|
||||
location := context.ObjectValue()["location"]
|
||||
require.True(t, location.IsString())
|
||||
assert.Equal(t, ".", location.StringValue())
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
@@ -322,7 +273,7 @@ func TestImageLifecycle(t *testing.T) {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
lc := integration.LifeCycleTest{
|
||||
Resource: "docker-build:index:Image",
|
||||
Resource: "dockerbuild:index:Image",
|
||||
Create: tt.op(t),
|
||||
}
|
||||
s := newServer(tt.client(t))
|
||||
@@ -414,13 +365,12 @@ func TestRead(t *testing.T) {
|
||||
func TestImageDiff(t *testing.T) {
|
||||
t.Parallel()
|
||||
emptyDir := t.TempDir()
|
||||
host := Host
|
||||
|
||||
hash, err := hashBuildContext(emptyDir, "", nil)
|
||||
require.NoError(t, err)
|
||||
baseArgs := ImageArgs{
|
||||
Context: &BuildContext{Context: Context{Location: emptyDir}},
|
||||
Dockerfile: &Dockerfile{Location: "testdata/noop"},
|
||||
Context: BuildContext{Context: Context{Location: emptyDir}},
|
||||
Dockerfile: Dockerfile{Location: "testdata/noop"},
|
||||
Tags: []string{},
|
||||
}
|
||||
baseState := ImageState{
|
||||
@@ -566,21 +516,11 @@ func TestImageDiff(t *testing.T) {
|
||||
},
|
||||
wantChanges: true,
|
||||
},
|
||||
{
|
||||
name: "diff if buildOnPreview doesn't change",
|
||||
olds: func(*testing.T, ImageState) ImageState { return baseState },
|
||||
news: func(t *testing.T, ia ImageArgs) ImageArgs {
|
||||
val := true
|
||||
ia.BuildOnPreview = &val
|
||||
return ia
|
||||
},
|
||||
wantChanges: true,
|
||||
},
|
||||
{
|
||||
name: "diff if buildOnPreview changes",
|
||||
olds: func(*testing.T, ImageState) ImageState { return baseState },
|
||||
news: func(t *testing.T, ia ImageArgs) ImageArgs {
|
||||
val := false
|
||||
val := true
|
||||
ia.BuildOnPreview = &val
|
||||
return ia
|
||||
},
|
||||
@@ -626,7 +566,7 @@ func TestImageDiff(t *testing.T) {
|
||||
name: "diff if context changes",
|
||||
olds: func(*testing.T, ImageState) ImageState { return baseState },
|
||||
news: func(_ *testing.T, a ImageArgs) ImageArgs {
|
||||
a.Context = &BuildContext{Context: Context{Location: "testdata/ignores"}}
|
||||
a.Context.Location = "testdata/ignores"
|
||||
return a
|
||||
},
|
||||
wantChanges: true,
|
||||
@@ -635,7 +575,7 @@ func TestImageDiff(t *testing.T) {
|
||||
name: "diff if named context changes",
|
||||
olds: func(*testing.T, ImageState) ImageState { return baseState },
|
||||
news: func(_ *testing.T, a ImageArgs) ImageArgs {
|
||||
a.Context = &BuildContext{Named: NamedContexts{"foo": Context{Location: "bar"}}}
|
||||
a.Context.Named = NamedContexts{"foo": Context{Location: "bar"}}
|
||||
return a
|
||||
},
|
||||
wantChanges: true,
|
||||
@@ -644,7 +584,7 @@ func TestImageDiff(t *testing.T) {
|
||||
name: "diff if network changes",
|
||||
olds: func(*testing.T, ImageState) ImageState { return baseState },
|
||||
news: func(_ *testing.T, a ImageArgs) ImageArgs {
|
||||
a.Network = &host
|
||||
a.Network = Host
|
||||
return a
|
||||
},
|
||||
wantChanges: true,
|
||||
@@ -653,7 +593,7 @@ func TestImageDiff(t *testing.T) {
|
||||
name: "diff if dockerfile location changes",
|
||||
olds: func(*testing.T, ImageState) ImageState { return baseState },
|
||||
news: func(_ *testing.T, a ImageArgs) ImageArgs {
|
||||
a.Dockerfile = &Dockerfile{Location: "testdata/ignores/basedir/Dockerfile"}
|
||||
a.Dockerfile.Location = "testdata/ignores/basedir/Dockerfile"
|
||||
return a
|
||||
},
|
||||
wantChanges: true,
|
||||
@@ -662,7 +602,7 @@ func TestImageDiff(t *testing.T) {
|
||||
name: "diff if dockerfile inline changes",
|
||||
olds: func(*testing.T, ImageState) ImageState { return baseState },
|
||||
news: func(_ *testing.T, a ImageArgs) ImageArgs {
|
||||
a.Dockerfile = &Dockerfile{Inline: "FROM scratch"}
|
||||
a.Dockerfile.Inline = "FROM scratch"
|
||||
return a
|
||||
},
|
||||
wantChanges: true,
|
||||
@@ -689,7 +629,7 @@ func TestImageDiff(t *testing.T) {
|
||||
name: "diff if builder changes",
|
||||
olds: func(*testing.T, ImageState) ImageState { return baseState },
|
||||
news: func(_ *testing.T, a ImageArgs) ImageArgs {
|
||||
a.Builder = &BuilderConfig{Name: "foo"}
|
||||
a.Builder.Name = "foo"
|
||||
return a
|
||||
},
|
||||
wantChanges: true,
|
||||
@@ -757,38 +697,6 @@ func TestImageDiff(t *testing.T) {
|
||||
},
|
||||
wantChanges: true,
|
||||
},
|
||||
{
|
||||
name: "diff if local export doesn't exist",
|
||||
olds: func(t *testing.T, state ImageState) ImageState {
|
||||
state.Exports = []Export{
|
||||
{Local: &ExportLocal{Dest: "not-real"}},
|
||||
}
|
||||
return state
|
||||
},
|
||||
news: func(_ *testing.T, args ImageArgs) ImageArgs {
|
||||
args.Exports = []Export{
|
||||
{Local: &ExportLocal{Dest: "not-real"}},
|
||||
}
|
||||
return args
|
||||
},
|
||||
wantChanges: true,
|
||||
},
|
||||
{
|
||||
name: "diff if tar export doesn't exist",
|
||||
olds: func(t *testing.T, state ImageState) ImageState {
|
||||
state.Exports = []Export{
|
||||
{Tar: &ExportTar{ExportLocal: ExportLocal{Dest: "not-real"}}},
|
||||
}
|
||||
return state
|
||||
},
|
||||
news: func(_ *testing.T, args ImageArgs) ImageArgs {
|
||||
args.Exports = []Export{
|
||||
{Tar: &ExportTar{ExportLocal: ExportLocal{Dest: "not-real"}}},
|
||||
}
|
||||
return args
|
||||
},
|
||||
wantChanges: true,
|
||||
},
|
||||
}
|
||||
|
||||
s := newServer(nil)
|
||||
@@ -801,8 +709,6 @@ func TestImageDiff(t *testing.T) {
|
||||
|
||||
for _, tt := range tests {
|
||||
tt := tt
|
||||
baseState := baseState
|
||||
baseArgs := baseArgs
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
resp, err := s.Diff(provider.DiffRequest{
|
||||
@@ -823,7 +729,7 @@ func TestValidateImageArgs(t *testing.T) {
|
||||
args := ImageArgs{
|
||||
Tags: []string{"a/bad:tag:format"},
|
||||
Exports: []Export{{Raw: "badexport,-"}},
|
||||
Context: &BuildContext{Context: Context{Location: "./testdata"}},
|
||||
Context: BuildContext{Context: Context{Location: "./testdata"}},
|
||||
Platforms: []Platform{","},
|
||||
CacheFrom: []CacheFrom{{Raw: "=badcachefrom"}},
|
||||
CacheTo: []CacheTo{{Raw: "=badcacheto"}},
|
||||
@@ -831,7 +737,7 @@ func TestValidateImageArgs(t *testing.T) {
|
||||
|
||||
_, err := args.validate(false)
|
||||
assert.ErrorContains(t, err, "invalid value badexport")
|
||||
assert.ErrorContains(t, err, "OSAndVersion specifier component must matc")
|
||||
assert.ErrorContains(t, err, "platform specifier component must match")
|
||||
assert.ErrorContains(t, err, "badcachefrom")
|
||||
assert.ErrorContains(t, err, "badcacheto")
|
||||
assert.ErrorContains(t, err, "invalid reference format")
|
||||
@@ -841,7 +747,7 @@ func TestValidateImageArgs(t *testing.T) {
|
||||
t.Run("buildOnPreview", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
args := ImageArgs{
|
||||
Context: &BuildContext{Context: Context{Location: "testdata/noop"}},
|
||||
Context: BuildContext{Context: Context{Location: "testdata/noop"}},
|
||||
Tags: []string{"my-tag"},
|
||||
Exports: []Export{{Registry: &ExportRegistry{ExportImage{Push: pulumi.BoolRef(true)}}}},
|
||||
}
|
||||
@@ -869,12 +775,12 @@ func TestValidateImageArgs(t *testing.T) {
|
||||
"known": "value",
|
||||
"": "",
|
||||
},
|
||||
Builder: nil,
|
||||
Builder: BuilderConfig{},
|
||||
CacheFrom: []CacheFrom{{GHA: &CacheFromGitHubActions{}}, {Raw: ""}},
|
||||
CacheTo: []CacheTo{{GHA: &CacheToGitHubActions{}}, {Raw: ""}},
|
||||
Context: nil,
|
||||
Context: BuildContext{},
|
||||
Exports: []Export{{Raw: ""}},
|
||||
Dockerfile: nil,
|
||||
Dockerfile: Dockerfile{},
|
||||
Platforms: []Platform{"linux/amd64", ""},
|
||||
Registries: []Registry{
|
||||
{
|
||||
@@ -897,7 +803,7 @@ func TestValidateImageArgs(t *testing.T) {
|
||||
t.Run("disabled caches", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
args := ImageArgs{
|
||||
Context: &BuildContext{Context: Context{Location: "testdata/noop"}},
|
||||
Context: BuildContext{Context: Context{Location: "testdata/noop"}},
|
||||
CacheFrom: []CacheFrom{{Raw: "type=registry", Disabled: true}},
|
||||
CacheTo: []CacheTo{{Raw: "type=registry", Disabled: true}},
|
||||
Exports: []Export{{Raw: "type=registry", Disabled: true}},
|
||||
@@ -947,8 +853,7 @@ func TestValidateImageArgs(t *testing.T) {
|
||||
for _, d := range []Dockerfile{
|
||||
{Location: path}, {Inline: string(data)},
|
||||
} {
|
||||
d := d
|
||||
args := ImageArgs{Dockerfile: &d}
|
||||
args := ImageArgs{Dockerfile: d}
|
||||
_, err := args.validate(false)
|
||||
assert.ErrorContains(t, err, "unknown instruction: RUNN (did you mean RUN?)")
|
||||
}
|
||||
@@ -1035,14 +940,16 @@ func TestBuildable(t *testing.T) {
|
||||
|
||||
func TestToBuild(t *testing.T) {
|
||||
t.Parallel()
|
||||
Max := Max
|
||||
ctrl := gomock.NewController(t)
|
||||
pctx := NewMockProviderContext(ctrl)
|
||||
pctx.EXPECT().Log(gomock.Any(), gomock.Any()).AnyTimes()
|
||||
|
||||
ia := ImageArgs{
|
||||
Tags: []string{"foo", "bar"},
|
||||
Platforms: []Platform{"linux/amd64"},
|
||||
Context: &BuildContext{Context: Context{Location: "testdata/noop"}},
|
||||
Context: BuildContext{Context: Context{Location: "testdata/noop"}},
|
||||
CacheTo: []CacheTo{
|
||||
{GHA: &CacheToGitHubActions{CacheWithMode: CacheWithMode{&Max}}},
|
||||
{GHA: &CacheToGitHubActions{CacheWithMode: CacheWithMode{Max}}},
|
||||
{
|
||||
Registry: &CacheToRegistry{
|
||||
CacheFromRegistry: CacheFromRegistry{Ref: "docker.io/foo/bar"},
|
||||
@@ -1061,6 +968,6 @@ func TestToBuild(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
_, err := ia.toBuild(context.Background(), false)
|
||||
_, err := ia.toBuild(pctx, false)
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
@@ -15,8 +15,6 @@
|
||||
package internal
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"strings"
|
||||
@@ -24,8 +22,6 @@ import (
|
||||
// For examples/docs.
|
||||
_ "embed"
|
||||
|
||||
"github.com/regclient/regclient/types/errs"
|
||||
|
||||
provider "github.com/pulumi/pulumi-go-provider"
|
||||
"github.com/pulumi/pulumi-go-provider/infer"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
|
||||
@@ -51,17 +47,10 @@ type Index struct{}
|
||||
|
||||
// IndexArgs instantiate an Index.
|
||||
type IndexArgs struct {
|
||||
Tag string `pulumi:"tag"`
|
||||
Sources []string `pulumi:"sources"`
|
||||
Push *bool `pulumi:"push,optional"`
|
||||
Registry *Registry `pulumi:"registry,optional"`
|
||||
}
|
||||
|
||||
func (i IndexArgs) isPushed() bool {
|
||||
if i.Push == nil {
|
||||
return true // default
|
||||
}
|
||||
return *i.Push
|
||||
Tag string `pulumi:"tag"`
|
||||
Sources []string `pulumi:"sources"`
|
||||
Push bool `pulumi:"push,optional"`
|
||||
Registry Registry `pulumi:"registry,optional"`
|
||||
}
|
||||
|
||||
// IndexState captures the state of an Index.
|
||||
@@ -74,25 +63,13 @@ type IndexState struct {
|
||||
// Annotate sets docstrings and defaults on Index.
|
||||
func (i *Index) Annotate(a infer.Annotator) {
|
||||
a.Describe(&i, dedent(`
|
||||
A wrapper around "docker buildx imagetools create" to create an index
|
||||
(or manifest list) referencing one or more existing images.
|
||||
An index (or manifest list) referencing one or more existing images.
|
||||
|
||||
In most cases you do not need an "Index" to build a multi-platform
|
||||
image -- specifying multiple platforms on the "Image" will handle this
|
||||
for you automatically.
|
||||
Useful for crafting a multi-platform image from several
|
||||
platform-specific images.
|
||||
|
||||
However, as of April 2024, building multi-platform images _with
|
||||
caching_ will only export a cache for one platform at a time (see [this
|
||||
discussion](https://github.com/docker/buildx/discussions/1382) for more
|
||||
details).
|
||||
|
||||
Therefore this resource can be helpful if you are building
|
||||
multi-platform images with caching: each platform can be built and
|
||||
cached separately, and an "Index" can join them all together. An
|
||||
example of this is shown below.
|
||||
|
||||
This resource creates an OCI image index or a Docker manifest list
|
||||
depending on the media types of the source images.
|
||||
This creates an OCI image index or a Docker manifest list depending on
|
||||
the media types of the source images.
|
||||
`)+
|
||||
"\n\n"+_indexExamples,
|
||||
)
|
||||
@@ -131,7 +108,7 @@ func (i *IndexState) Annotate(a infer.Annotator) {
|
||||
|
||||
// Create is a passthrough to Update.
|
||||
func (i *Index) Create(
|
||||
ctx context.Context,
|
||||
ctx provider.Context,
|
||||
name string,
|
||||
input IndexArgs,
|
||||
preview bool,
|
||||
@@ -143,7 +120,7 @@ func (i *Index) Create(
|
||||
// Update performs `buildx imagetools create` to create a new OCI index /
|
||||
// manifest list.
|
||||
func (i *Index) Update(
|
||||
ctx context.Context,
|
||||
ctx provider.Context,
|
||||
name string,
|
||||
state IndexState,
|
||||
input IndexArgs,
|
||||
@@ -161,9 +138,7 @@ func (i *Index) Update(
|
||||
return state, nil
|
||||
}
|
||||
|
||||
provider.GetLogger(ctx).Debugf("creating index with tag %s and sources %s", input.Tag, input.Sources)
|
||||
|
||||
err = cli.ManifestCreate(ctx, input.isPushed(), input.Tag, input.Sources...)
|
||||
err = cli.ManifestCreate(ctx, input.Push, input.Tag, input.Sources...)
|
||||
if err != nil {
|
||||
return state, fmt.Errorf("creating: %w", err)
|
||||
}
|
||||
@@ -176,7 +151,7 @@ func (i *Index) Update(
|
||||
}
|
||||
|
||||
func (i *Index) Read(
|
||||
ctx context.Context,
|
||||
ctx provider.Context,
|
||||
name string,
|
||||
input IndexArgs,
|
||||
state IndexState,
|
||||
@@ -184,8 +159,7 @@ func (i *Index) Read(
|
||||
state.IndexArgs = input
|
||||
state.Ref = input.Tag
|
||||
|
||||
if !input.isPushed() {
|
||||
provider.GetLogger(ctx).Debug("skipping read because index was not pushed")
|
||||
if !input.Push {
|
||||
return name, input, state, nil // Nothing to read.
|
||||
}
|
||||
|
||||
@@ -194,16 +168,14 @@ func (i *Index) Read(
|
||||
return name, input, state, err
|
||||
}
|
||||
|
||||
provider.GetLogger(ctx).Debug("reading index with tag " + input.Tag)
|
||||
|
||||
digest, err := cli.ManifestInspect(ctx, input.Tag)
|
||||
if errors.Is(err, errs.ErrNotFound) {
|
||||
if err != nil && strings.Contains(err.Error(), "No such manifest:") && input.Push {
|
||||
// A remote tag was expected but isn't there -- delete the resource.
|
||||
return "", input, state, nil
|
||||
return "", input, state, err
|
||||
}
|
||||
if errors.Is(err, errs.ErrHTTPUnauthorized) {
|
||||
provider.GetLogger(ctx).Warning("invalid credentials, skipping")
|
||||
return name, input, state, nil
|
||||
if err != nil && strings.Contains(err.Error(), "No such manifest:") && !input.Push {
|
||||
// Nothing was pushed, so just use the tag without digest..
|
||||
return name, input, state, err
|
||||
}
|
||||
if err != nil {
|
||||
return name, input, state, err
|
||||
@@ -221,12 +193,12 @@ func (i *Index) Read(
|
||||
// exist on the same registry. This is sufficient to handle the most common
|
||||
// cases for now.
|
||||
func (i *Index) Check(
|
||||
ctx context.Context,
|
||||
_ provider.Context,
|
||||
_ string,
|
||||
_ resource.PropertyMap,
|
||||
news resource.PropertyMap,
|
||||
) (IndexArgs, []provider.CheckFailure, error) {
|
||||
args, failures, err := infer.DefaultCheck[IndexArgs](ctx, news)
|
||||
args, failures, err := infer.DefaultCheck[IndexArgs](news)
|
||||
if err != nil {
|
||||
return args, failures, err
|
||||
}
|
||||
@@ -257,8 +229,8 @@ func (i *Index) Check(
|
||||
}
|
||||
|
||||
// Delete attempts to delete the remote manifest.
|
||||
func (i *Index) Delete(ctx context.Context, _ string, state IndexState) error {
|
||||
if !state.isPushed() {
|
||||
func (i *Index) Delete(ctx provider.Context, _ string, state IndexState) error {
|
||||
if !state.Push {
|
||||
return nil // Nothing to delete.
|
||||
}
|
||||
|
||||
@@ -281,7 +253,7 @@ func (i *Index) Delete(ctx context.Context, _ string, state IndexState) error {
|
||||
// force `ignoreChanges`-style behavior on our registry password (which can
|
||||
// change all the time due to short-lived AWS credentials).
|
||||
func (i *Index) Diff(
|
||||
_ context.Context,
|
||||
_ provider.Context,
|
||||
_ string,
|
||||
olds IndexState,
|
||||
news IndexArgs,
|
||||
@@ -296,20 +268,14 @@ func (i *Index) Diff(
|
||||
if !reflect.DeepEqual(olds.Sources, news.Sources) {
|
||||
diff["sources"] = update
|
||||
}
|
||||
if olds.Registry != nil && news.Registry != nil {
|
||||
if olds.Registry.Address != news.Registry.Address {
|
||||
diff["registry.address"] = update
|
||||
if olds.Registry.Address != "" {
|
||||
diff["registry.address"] = replace
|
||||
}
|
||||
}
|
||||
if olds.Registry.Username != news.Registry.Username {
|
||||
diff["registry.username"] = update
|
||||
if olds.Registry.Address != news.Registry.Address {
|
||||
diff["registry.address"] = update
|
||||
if olds.Registry.Address != "" {
|
||||
diff["registry.address"] = replace
|
||||
}
|
||||
}
|
||||
if (olds.Registry == nil && news.Registry != nil) ||
|
||||
(olds.Registry != nil && news.Registry == nil) {
|
||||
diff["registry"] = update
|
||||
if olds.Registry.Username != news.Registry.Username {
|
||||
diff["registry.username"] = update
|
||||
}
|
||||
// Intentionally ignore changes to registry.password
|
||||
|
||||
@@ -319,11 +285,11 @@ func (i *Index) Diff(
|
||||
}, nil
|
||||
}
|
||||
|
||||
// client produces a CLI client scoped to this resource and layered on top of
|
||||
// any host-level credentials.
|
||||
// client produces a CLI client with scoped to this resource and layered on top
|
||||
// of any host-level credentials.
|
||||
func (i *Index) client(
|
||||
ctx context.Context,
|
||||
_ IndexState,
|
||||
ctx provider.Context,
|
||||
state IndexState,
|
||||
args IndexArgs,
|
||||
) (Client, error) {
|
||||
cfg := infer.GetConfig[Config](ctx)
|
||||
@@ -335,11 +301,9 @@ func (i *Index) client(
|
||||
// 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 := []Registry{state.Registry}
|
||||
auths = append(auths, cfg.Registries...)
|
||||
if args.Registry != nil {
|
||||
auths = append(auths, *args.Registry)
|
||||
}
|
||||
auths = append(auths, args.Registry)
|
||||
|
||||
return wrap(cfg.host, auths...)
|
||||
}
|
||||
|
||||
@@ -18,10 +18,8 @@ import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/regclient/regclient/types/errs"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"go.uber.org/mock/gomock"
|
||||
|
||||
provider "github.com/pulumi/pulumi-go-provider"
|
||||
"github.com/pulumi/pulumi-go-provider/integration"
|
||||
@@ -86,40 +84,6 @@ func TestIndexLifecycle(t *testing.T) {
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "expired credentials",
|
||||
client: func(t *testing.T) Client {
|
||||
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 c
|
||||
},
|
||||
op: func(t *testing.T) integration.Operation {
|
||||
return integration.Operation{
|
||||
Inputs: resource.PropertyMap{
|
||||
"tag": resource.NewStringProperty(
|
||||
"docker.io/pulumibot/buildkit-e2e:manifest",
|
||||
),
|
||||
"sources": resource.NewArrayProperty([]resource.PropertyValue{
|
||||
resource.NewStringProperty("docker.io/pulumibot/buildkit-e2e:arm64"),
|
||||
resource.NewStringProperty("docker.io/pulumibot/buildkit-e2e:amd64"),
|
||||
}),
|
||||
"push": resource.NewBoolProperty(true),
|
||||
"registry": resource.NewObjectProperty(resource.PropertyMap{
|
||||
"address": resource.NewStringProperty("docker.io"),
|
||||
"username": resource.NewStringProperty("pulumibot"),
|
||||
"password": resource.NewSecretProperty(&resource.Secret{
|
||||
Element: resource.NewStringProperty(
|
||||
os.Getenv("DOCKER_HUB_PASSWORD"),
|
||||
),
|
||||
}),
|
||||
}),
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
@@ -130,7 +94,7 @@ func TestIndexLifecycle(t *testing.T) {
|
||||
t.Skip("missing environment variables")
|
||||
}
|
||||
lc := integration.LifeCycleTest{
|
||||
Resource: "docker-build:index:Index",
|
||||
Resource: "dockerbuild:index:Index",
|
||||
Create: tt.op(t),
|
||||
}
|
||||
s := newServer(tt.client(t))
|
||||
@@ -145,7 +109,7 @@ func TestIndexLifecycle(t *testing.T) {
|
||||
|
||||
func TestIndexDiff(t *testing.T) {
|
||||
t.Parallel()
|
||||
urn := resource.NewURN("test", "provider", "a", "docker-build:index:Index", "test")
|
||||
urn := resource.NewURN("test", "provider", "a", "dockerbuild:index:Index", "test")
|
||||
baseArgs := IndexArgs{Sources: []string{"docker.io/nginx:latest"}}
|
||||
baseState := IndexState{IndexArgs: baseArgs}
|
||||
|
||||
@@ -174,7 +138,7 @@ func TestIndexDiff(t *testing.T) {
|
||||
{
|
||||
name: "no diff if registry password changes",
|
||||
olds: func(_ *testing.T, s IndexState) IndexState {
|
||||
s.Registry = &Registry{
|
||||
s.Registry = Registry{
|
||||
Address: "foo",
|
||||
Username: "foo",
|
||||
Password: "foo",
|
||||
@@ -182,7 +146,7 @@ func TestIndexDiff(t *testing.T) {
|
||||
return s
|
||||
},
|
||||
news: func(_ *testing.T, a IndexArgs) IndexArgs {
|
||||
a.Registry = &Registry{
|
||||
a.Registry = Registry{
|
||||
Address: "foo",
|
||||
Username: "foo",
|
||||
Password: "DIFFERENT PASSWORD",
|
||||
@@ -195,7 +159,7 @@ func TestIndexDiff(t *testing.T) {
|
||||
name: "diff if registry added",
|
||||
olds: func(*testing.T, IndexState) IndexState { return baseState },
|
||||
news: 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
|
||||
},
|
||||
wantChanges: true,
|
||||
@@ -203,7 +167,7 @@ func TestIndexDiff(t *testing.T) {
|
||||
{
|
||||
name: "diff if registry user changes",
|
||||
olds: func(_ *testing.T, s IndexState) IndexState {
|
||||
s.Registry = &Registry{
|
||||
s.Registry = Registry{
|
||||
Address: "foo",
|
||||
Username: "foo",
|
||||
Password: "foo",
|
||||
@@ -211,7 +175,7 @@ func TestIndexDiff(t *testing.T) {
|
||||
return s
|
||||
},
|
||||
news: func(_ *testing.T, a IndexArgs) IndexArgs {
|
||||
a.Registry = &Registry{
|
||||
a.Registry = Registry{
|
||||
Address: "DIFFERENT USER",
|
||||
Username: "foo",
|
||||
Password: "foo",
|
||||
|
||||
1
provider/internal/metadata.json
Normal file
1
provider/internal/metadata.json
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
||||
737
provider/internal/mockcli_test.go
generated
737
provider/internal/mockcli_test.go
generated
@@ -1,737 +0,0 @@
|
||||
// Code generated by MockGen. DO NOT EDIT.
|
||||
// Source: cli.go
|
||||
//
|
||||
// Generated by this command:
|
||||
//
|
||||
// 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
|
||||
|
||||
import (
|
||||
io "io"
|
||||
reflect "reflect"
|
||||
|
||||
command "github.com/docker/cli/cli/command"
|
||||
configfile "github.com/docker/cli/cli/config/configfile"
|
||||
docker "github.com/docker/cli/cli/context/docker"
|
||||
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"
|
||||
trust "github.com/docker/cli/cli/trust"
|
||||
client0 "github.com/docker/docker/client"
|
||||
client1 "github.com/theupdateframework/notary/client"
|
||||
gomock "go.uber.org/mock/gomock"
|
||||
)
|
||||
|
||||
// MockCli is a mock of Cli interface.
|
||||
type MockCli struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockCliMockRecorder
|
||||
}
|
||||
|
||||
// MockCliMockRecorder is the mock recorder for MockCli.
|
||||
type MockCliMockRecorder struct {
|
||||
mock *MockCli
|
||||
}
|
||||
|
||||
// NewMockCli creates a new mock instance.
|
||||
func NewMockCli(ctrl *gomock.Controller) *MockCli {
|
||||
mock := &MockCli{ctrl: ctrl}
|
||||
mock.recorder = &MockCliMockRecorder{mock}
|
||||
return mock
|
||||
}
|
||||
|
||||
// EXPECT returns an object that allows the caller to indicate expected use.
|
||||
func (m *MockCli) EXPECT() *MockCliMockRecorder {
|
||||
return m.recorder
|
||||
}
|
||||
|
||||
// Apply mocks base method.
|
||||
func (m *MockCli) Apply(ops ...command.CLIOption) error {
|
||||
m.ctrl.T.Helper()
|
||||
varargs := []any{}
|
||||
for _, a := range ops {
|
||||
varargs = append(varargs, a)
|
||||
}
|
||||
ret := m.ctrl.Call(m, "Apply", varargs...)
|
||||
ret0, _ := ret[0].(error)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// Apply indicates an expected call of Apply.
|
||||
func (mr *MockCliMockRecorder) Apply(ops ...any) *CliApplyCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Apply", reflect.TypeOf((*MockCli)(nil).Apply), ops...)
|
||||
return &CliApplyCall{Call: call}
|
||||
}
|
||||
|
||||
// CliApplyCall wrap *gomock.Call
|
||||
type CliApplyCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliApplyCall) Return(arg0 error) *CliApplyCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliApplyCall) Do(f func(...command.CLIOption) error) *CliApplyCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliApplyCall) DoAndReturn(f func(...command.CLIOption) error) *CliApplyCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// BuildKitEnabled mocks base method.
|
||||
func (m *MockCli) BuildKitEnabled() (bool, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "BuildKitEnabled")
|
||||
ret0, _ := ret[0].(bool)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// BuildKitEnabled indicates an expected call of BuildKitEnabled.
|
||||
func (mr *MockCliMockRecorder) BuildKitEnabled() *CliBuildKitEnabledCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BuildKitEnabled", reflect.TypeOf((*MockCli)(nil).BuildKitEnabled))
|
||||
return &CliBuildKitEnabledCall{Call: call}
|
||||
}
|
||||
|
||||
// CliBuildKitEnabledCall wrap *gomock.Call
|
||||
type CliBuildKitEnabledCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliBuildKitEnabledCall) Return(arg0 bool, arg1 error) *CliBuildKitEnabledCall {
|
||||
c.Call = c.Call.Return(arg0, arg1)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliBuildKitEnabledCall) Do(f func() (bool, error)) *CliBuildKitEnabledCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliBuildKitEnabledCall) DoAndReturn(f func() (bool, error)) *CliBuildKitEnabledCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// Client mocks base method.
|
||||
func (m *MockCli) Client() client0.APIClient {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Client")
|
||||
ret0, _ := ret[0].(client0.APIClient)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// Client indicates an expected call of Client.
|
||||
func (mr *MockCliMockRecorder) Client() *CliClientCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Client", reflect.TypeOf((*MockCli)(nil).Client))
|
||||
return &CliClientCall{Call: call}
|
||||
}
|
||||
|
||||
// CliClientCall wrap *gomock.Call
|
||||
type CliClientCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliClientCall) Return(arg0 client0.APIClient) *CliClientCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliClientCall) Do(f func() client0.APIClient) *CliClientCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliClientCall) DoAndReturn(f func() client0.APIClient) *CliClientCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// ConfigFile mocks base method.
|
||||
func (m *MockCli) ConfigFile() *configfile.ConfigFile {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ConfigFile")
|
||||
ret0, _ := ret[0].(*configfile.ConfigFile)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// ConfigFile indicates an expected call of ConfigFile.
|
||||
func (mr *MockCliMockRecorder) ConfigFile() *CliConfigFileCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ConfigFile", reflect.TypeOf((*MockCli)(nil).ConfigFile))
|
||||
return &CliConfigFileCall{Call: call}
|
||||
}
|
||||
|
||||
// CliConfigFileCall wrap *gomock.Call
|
||||
type CliConfigFileCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliConfigFileCall) Return(arg0 *configfile.ConfigFile) *CliConfigFileCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliConfigFileCall) Do(f func() *configfile.ConfigFile) *CliConfigFileCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliConfigFileCall) DoAndReturn(f func() *configfile.ConfigFile) *CliConfigFileCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// ContentTrustEnabled mocks base method.
|
||||
func (m *MockCli) ContentTrustEnabled() bool {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ContentTrustEnabled")
|
||||
ret0, _ := ret[0].(bool)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// ContentTrustEnabled indicates an expected call of ContentTrustEnabled.
|
||||
func (mr *MockCliMockRecorder) ContentTrustEnabled() *CliContentTrustEnabledCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ContentTrustEnabled", reflect.TypeOf((*MockCli)(nil).ContentTrustEnabled))
|
||||
return &CliContentTrustEnabledCall{Call: call}
|
||||
}
|
||||
|
||||
// CliContentTrustEnabledCall wrap *gomock.Call
|
||||
type CliContentTrustEnabledCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliContentTrustEnabledCall) Return(arg0 bool) *CliContentTrustEnabledCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliContentTrustEnabledCall) Do(f func() bool) *CliContentTrustEnabledCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliContentTrustEnabledCall) DoAndReturn(f func() bool) *CliContentTrustEnabledCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// ContextStore mocks base method.
|
||||
func (m *MockCli) ContextStore() store.Store {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ContextStore")
|
||||
ret0, _ := ret[0].(store.Store)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// ContextStore indicates an expected call of ContextStore.
|
||||
func (mr *MockCliMockRecorder) ContextStore() *CliContextStoreCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ContextStore", reflect.TypeOf((*MockCli)(nil).ContextStore))
|
||||
return &CliContextStoreCall{Call: call}
|
||||
}
|
||||
|
||||
// CliContextStoreCall wrap *gomock.Call
|
||||
type CliContextStoreCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliContextStoreCall) Return(arg0 store.Store) *CliContextStoreCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliContextStoreCall) Do(f func() store.Store) *CliContextStoreCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliContextStoreCall) DoAndReturn(f func() store.Store) *CliContextStoreCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// CurrentContext mocks base method.
|
||||
func (m *MockCli) CurrentContext() string {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "CurrentContext")
|
||||
ret0, _ := ret[0].(string)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// CurrentContext indicates an expected call of CurrentContext.
|
||||
func (mr *MockCliMockRecorder) CurrentContext() *CliCurrentContextCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CurrentContext", reflect.TypeOf((*MockCli)(nil).CurrentContext))
|
||||
return &CliCurrentContextCall{Call: call}
|
||||
}
|
||||
|
||||
// CliCurrentContextCall wrap *gomock.Call
|
||||
type CliCurrentContextCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliCurrentContextCall) Return(arg0 string) *CliCurrentContextCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliCurrentContextCall) Do(f func() string) *CliCurrentContextCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliCurrentContextCall) DoAndReturn(f func() string) *CliCurrentContextCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// CurrentVersion mocks base method.
|
||||
func (m *MockCli) CurrentVersion() string {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "CurrentVersion")
|
||||
ret0, _ := ret[0].(string)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// CurrentVersion indicates an expected call of CurrentVersion.
|
||||
func (mr *MockCliMockRecorder) CurrentVersion() *CliCurrentVersionCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CurrentVersion", reflect.TypeOf((*MockCli)(nil).CurrentVersion))
|
||||
return &CliCurrentVersionCall{Call: call}
|
||||
}
|
||||
|
||||
// CliCurrentVersionCall wrap *gomock.Call
|
||||
type CliCurrentVersionCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliCurrentVersionCall) Return(arg0 string) *CliCurrentVersionCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliCurrentVersionCall) Do(f func() string) *CliCurrentVersionCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliCurrentVersionCall) DoAndReturn(f func() string) *CliCurrentVersionCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DefaultVersion mocks base method.
|
||||
func (m *MockCli) DefaultVersion() string {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "DefaultVersion")
|
||||
ret0, _ := ret[0].(string)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// DefaultVersion indicates an expected call of DefaultVersion.
|
||||
func (mr *MockCliMockRecorder) DefaultVersion() *CliDefaultVersionCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DefaultVersion", reflect.TypeOf((*MockCli)(nil).DefaultVersion))
|
||||
return &CliDefaultVersionCall{Call: call}
|
||||
}
|
||||
|
||||
// CliDefaultVersionCall wrap *gomock.Call
|
||||
type CliDefaultVersionCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliDefaultVersionCall) Return(arg0 string) *CliDefaultVersionCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliDefaultVersionCall) Do(f func() string) *CliDefaultVersionCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliDefaultVersionCall) DoAndReturn(f func() string) *CliDefaultVersionCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DockerEndpoint mocks base method.
|
||||
func (m *MockCli) DockerEndpoint() docker.Endpoint {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "DockerEndpoint")
|
||||
ret0, _ := ret[0].(docker.Endpoint)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// DockerEndpoint indicates an expected call of DockerEndpoint.
|
||||
func (mr *MockCliMockRecorder) DockerEndpoint() *CliDockerEndpointCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DockerEndpoint", reflect.TypeOf((*MockCli)(nil).DockerEndpoint))
|
||||
return &CliDockerEndpointCall{Call: call}
|
||||
}
|
||||
|
||||
// CliDockerEndpointCall wrap *gomock.Call
|
||||
type CliDockerEndpointCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliDockerEndpointCall) Return(arg0 docker.Endpoint) *CliDockerEndpointCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliDockerEndpointCall) Do(f func() docker.Endpoint) *CliDockerEndpointCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliDockerEndpointCall) DoAndReturn(f func() docker.Endpoint) *CliDockerEndpointCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// Err mocks base method.
|
||||
func (m *MockCli) Err() io.Writer {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Err")
|
||||
ret0, _ := ret[0].(io.Writer)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// Err indicates an expected call of Err.
|
||||
func (mr *MockCliMockRecorder) Err() *CliErrCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Err", reflect.TypeOf((*MockCli)(nil).Err))
|
||||
return &CliErrCall{Call: call}
|
||||
}
|
||||
|
||||
// CliErrCall wrap *gomock.Call
|
||||
type CliErrCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliErrCall) Return(arg0 io.Writer) *CliErrCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliErrCall) Do(f func() io.Writer) *CliErrCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliErrCall) DoAndReturn(f func() io.Writer) *CliErrCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// In mocks base method.
|
||||
func (m *MockCli) In() *streams.In {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "In")
|
||||
ret0, _ := ret[0].(*streams.In)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// In indicates an expected call of In.
|
||||
func (mr *MockCliMockRecorder) In() *CliInCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "In", reflect.TypeOf((*MockCli)(nil).In))
|
||||
return &CliInCall{Call: call}
|
||||
}
|
||||
|
||||
// CliInCall wrap *gomock.Call
|
||||
type CliInCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliInCall) Return(arg0 *streams.In) *CliInCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliInCall) Do(f func() *streams.In) *CliInCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliInCall) DoAndReturn(f func() *streams.In) *CliInCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// ManifestStore mocks base method.
|
||||
func (m *MockCli) ManifestStore() store0.Store {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ManifestStore")
|
||||
ret0, _ := ret[0].(store0.Store)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// ManifestStore indicates an expected call of ManifestStore.
|
||||
func (mr *MockCliMockRecorder) ManifestStore() *CliManifestStoreCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ManifestStore", reflect.TypeOf((*MockCli)(nil).ManifestStore))
|
||||
return &CliManifestStoreCall{Call: call}
|
||||
}
|
||||
|
||||
// CliManifestStoreCall wrap *gomock.Call
|
||||
type CliManifestStoreCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliManifestStoreCall) Return(arg0 store0.Store) *CliManifestStoreCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliManifestStoreCall) Do(f func() store0.Store) *CliManifestStoreCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliManifestStoreCall) DoAndReturn(f func() store0.Store) *CliManifestStoreCall {
|
||||
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)
|
||||
return c
|
||||
}
|
||||
|
||||
// Out mocks base method.
|
||||
func (m *MockCli) Out() *streams.Out {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Out")
|
||||
ret0, _ := ret[0].(*streams.Out)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// Out indicates an expected call of Out.
|
||||
func (mr *MockCliMockRecorder) Out() *CliOutCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Out", reflect.TypeOf((*MockCli)(nil).Out))
|
||||
return &CliOutCall{Call: call}
|
||||
}
|
||||
|
||||
// CliOutCall wrap *gomock.Call
|
||||
type CliOutCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliOutCall) Return(arg0 *streams.Out) *CliOutCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliOutCall) Do(f func() *streams.Out) *CliOutCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliOutCall) DoAndReturn(f func() *streams.Out) *CliOutCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// RegistryClient mocks base method.
|
||||
func (m *MockCli) RegistryClient(arg0 bool) client.RegistryClient {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "RegistryClient", arg0)
|
||||
ret0, _ := ret[0].(client.RegistryClient)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// RegistryClient indicates an expected call of RegistryClient.
|
||||
func (mr *MockCliMockRecorder) RegistryClient(arg0 any) *CliRegistryClientCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegistryClient", reflect.TypeOf((*MockCli)(nil).RegistryClient), arg0)
|
||||
return &CliRegistryClientCall{Call: call}
|
||||
}
|
||||
|
||||
// CliRegistryClientCall wrap *gomock.Call
|
||||
type CliRegistryClientCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliRegistryClientCall) Return(arg0 client.RegistryClient) *CliRegistryClientCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliRegistryClientCall) Do(f func(bool) client.RegistryClient) *CliRegistryClientCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliRegistryClientCall) DoAndReturn(f func(bool) client.RegistryClient) *CliRegistryClientCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// ServerInfo mocks base method.
|
||||
func (m *MockCli) ServerInfo() command.ServerInfo {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ServerInfo")
|
||||
ret0, _ := ret[0].(command.ServerInfo)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// ServerInfo indicates an expected call of ServerInfo.
|
||||
func (mr *MockCliMockRecorder) ServerInfo() *CliServerInfoCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ServerInfo", reflect.TypeOf((*MockCli)(nil).ServerInfo))
|
||||
return &CliServerInfoCall{Call: call}
|
||||
}
|
||||
|
||||
// CliServerInfoCall wrap *gomock.Call
|
||||
type CliServerInfoCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliServerInfoCall) Return(arg0 command.ServerInfo) *CliServerInfoCall {
|
||||
c.Call = c.Call.Return(arg0)
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliServerInfoCall) Do(f func() command.ServerInfo) *CliServerInfoCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliServerInfoCall) DoAndReturn(f func() command.ServerInfo) *CliServerInfoCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// SetIn mocks base method.
|
||||
func (m *MockCli) SetIn(in *streams.In) {
|
||||
m.ctrl.T.Helper()
|
||||
m.ctrl.Call(m, "SetIn", in)
|
||||
}
|
||||
|
||||
// SetIn indicates an expected call of SetIn.
|
||||
func (mr *MockCliMockRecorder) SetIn(in any) *CliSetInCall {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetIn", reflect.TypeOf((*MockCli)(nil).SetIn), in)
|
||||
return &CliSetInCall{Call: call}
|
||||
}
|
||||
|
||||
// CliSetInCall wrap *gomock.Call
|
||||
type CliSetInCall struct {
|
||||
*gomock.Call
|
||||
}
|
||||
|
||||
// Return rewrite *gomock.Call.Return
|
||||
func (c *CliSetInCall) Return() *CliSetInCall {
|
||||
c.Call = c.Call.Return()
|
||||
return c
|
||||
}
|
||||
|
||||
// Do rewrite *gomock.Call.Do
|
||||
func (c *CliSetInCall) Do(f func(*streams.In)) *CliSetInCall {
|
||||
c.Call = c.Call.Do(f)
|
||||
return c
|
||||
}
|
||||
|
||||
// DoAndReturn rewrite *gomock.Call.DoAndReturn
|
||||
func (c *CliSetInCall) DoAndReturn(f func(*streams.In)) *CliSetInCall {
|
||||
c.Call = c.Call.DoAndReturn(f)
|
||||
return c
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user