Compare commits
6 Commits
v0.0.3
...
iwahbe/upg
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
68085dfdc2 | ||
|
|
139d863b3d | ||
|
|
aeee3b614a | ||
|
|
66f98e5aa2 | ||
|
|
f2e43df5af | ||
|
|
63ca9973ae |
86
.github/workflows/build.yml
vendored
86
.github/workflows/build.yml
vendored
@@ -64,11 +64,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Checkout Scripts Repo
|
||||||
name: Set Provider Version
|
uses: actions/checkout@v4
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
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
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -118,14 +121,7 @@ jobs:
|
|||||||
- name: Build Provider
|
- name: Build Provider
|
||||||
run: make provider
|
run: make provider
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||||
with:
|
|
||||||
allowed-changes: |-
|
|
||||||
sdk/**/pulumi-plugin.json
|
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
|
||||||
sdk/go/**/pulumiUtilities.go
|
|
||||||
sdk/nodejs/package.json
|
|
||||||
sdk/python/pyproject.toml
|
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar provider binaries
|
- name: Tar provider binaries
|
||||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||||
@@ -167,11 +163,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Checkout Scripts Repo
|
||||||
name: Set Provider Version
|
uses: actions/checkout@v4
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
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
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -222,14 +221,7 @@ jobs:
|
|||||||
- name: Build SDK
|
- name: Build SDK
|
||||||
run: make build_${{ matrix.language }}
|
run: make build_${{ matrix.language }}
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||||
with:
|
|
||||||
allowed-changes: |-
|
|
||||||
sdk/**/pulumi-plugin.json
|
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
|
||||||
sdk/go/**/pulumiUtilities.go
|
|
||||||
sdk/nodejs/package.json
|
|
||||||
sdk/python/pyproject.toml
|
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar SDK folder
|
- name: Tar SDK folder
|
||||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||||
@@ -268,11 +260,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Checkout Scripts Repo
|
||||||
name: Set Provider Version
|
uses: actions/checkout@v4
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
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
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -384,11 +379,8 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Unshallow clone for tags
|
||||||
name: Set Provider Version
|
run: git fetch --prune --unshallow --tags
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
|
||||||
set-env: PROVIDER_VERSION
|
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -419,10 +411,11 @@ jobs:
|
|||||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||||
role-external-id: upload-pulumi-release
|
role-external-id: upload-pulumi-release
|
||||||
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
role-to-assume: ${{ 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
|
- name: Run GoReleaser
|
||||||
uses: goreleaser/goreleaser-action@v5
|
uses: goreleaser/goreleaser-action@v5
|
||||||
env:
|
|
||||||
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
|
||||||
with:
|
with:
|
||||||
args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s
|
args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s
|
||||||
version: latest
|
version: latest
|
||||||
@@ -442,17 +435,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
|
||||||
name: Set Provider Version
|
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
|
||||||
set-env: PROVIDER_VERSION
|
|
||||||
- name: Checkout Scripts Repo
|
- name: Checkout Scripts Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: ci-scripts
|
path: ci-scripts
|
||||||
repository: pulumi/scripts
|
repository: pulumi/scripts
|
||||||
- run: echo "ci-scripts" >> .git/info/exclude
|
- run: echo "ci-scripts" >> .git/info/exclude
|
||||||
|
- name: Unshallow clone for tags
|
||||||
|
run: git fetch --prune --unshallow --tags
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -525,11 +515,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Checkout Scripts Repo
|
||||||
name: Set Provider Version
|
uses: actions/checkout@v4
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
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
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -559,10 +552,11 @@ jobs:
|
|||||||
- name: Uncompress java SDK
|
- name: Uncompress java SDK
|
||||||
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
||||||
${{github.workspace}}/sdk/java
|
${{github.workspace}}/sdk/java
|
||||||
|
- name: Set PACKAGE_VERSION to Env
|
||||||
|
run: echo "PACKAGE_VERSION=$(pulumictl get version --language generic)" >>
|
||||||
|
$GITHUB_ENV
|
||||||
- name: Publish Java SDK
|
- name: Publish Java SDK
|
||||||
uses: gradle/gradle-build-action@v3
|
uses: gradle/gradle-build-action@v3
|
||||||
env:
|
|
||||||
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
|
||||||
with:
|
with:
|
||||||
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
||||||
build-root-directory: ./sdk/java
|
build-root-directory: ./sdk/java
|
||||||
|
|||||||
121
.github/workflows/prerelease.yml
vendored
121
.github/workflows/prerelease.yml
vendored
@@ -56,11 +56,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Checkout Scripts Repo
|
||||||
name: Set Provider Version
|
uses: actions/checkout@v4
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
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
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -110,14 +113,7 @@ jobs:
|
|||||||
- name: Build Provider
|
- name: Build Provider
|
||||||
run: make provider
|
run: make provider
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||||
with:
|
|
||||||
allowed-changes: |-
|
|
||||||
sdk/**/pulumi-plugin.json
|
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
|
||||||
sdk/go/**/pulumiUtilities.go
|
|
||||||
sdk/nodejs/package.json
|
|
||||||
sdk/python/pyproject.toml
|
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar provider binaries
|
- name: Tar provider binaries
|
||||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||||
@@ -159,11 +155,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Checkout Scripts Repo
|
||||||
name: Set Provider Version
|
uses: actions/checkout@v4
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
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
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -214,14 +213,7 @@ jobs:
|
|||||||
- name: Build SDK
|
- name: Build SDK
|
||||||
run: make build_${{ matrix.language }}
|
run: make build_${{ matrix.language }}
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||||
with:
|
|
||||||
allowed-changes: |-
|
|
||||||
sdk/**/pulumi-plugin.json
|
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
|
||||||
sdk/go/**/pulumiUtilities.go
|
|
||||||
sdk/nodejs/package.json
|
|
||||||
sdk/python/pyproject.toml
|
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar SDK folder
|
- name: Tar SDK folder
|
||||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||||
@@ -259,11 +251,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Checkout Scripts Repo
|
||||||
name: Set Provider Version
|
uses: actions/checkout@v4
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
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
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -375,11 +370,8 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Unshallow clone for tags
|
||||||
name: Set Provider Version
|
run: git fetch --prune --unshallow --tags
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
|
||||||
set-env: PROVIDER_VERSION
|
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -410,10 +402,11 @@ jobs:
|
|||||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||||
role-external-id: upload-pulumi-release
|
role-external-id: upload-pulumi-release
|
||||||
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
role-to-assume: ${{ 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
|
- name: Run GoReleaser
|
||||||
uses: goreleaser/goreleaser-action@v5
|
uses: goreleaser/goreleaser-action@v5
|
||||||
env:
|
|
||||||
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
|
||||||
with:
|
with:
|
||||||
args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s
|
args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s
|
||||||
version: latest
|
version: latest
|
||||||
@@ -433,17 +426,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
|
||||||
name: Set Provider Version
|
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
|
||||||
set-env: PROVIDER_VERSION
|
|
||||||
- name: Checkout Scripts Repo
|
- name: Checkout Scripts Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: ci-scripts
|
path: ci-scripts
|
||||||
repository: pulumi/scripts
|
repository: pulumi/scripts
|
||||||
- run: echo "ci-scripts" >> .git/info/exclude
|
- run: echo "ci-scripts" >> .git/info/exclude
|
||||||
|
- name: Unshallow clone for tags
|
||||||
|
run: git fetch --prune --unshallow --tags
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -516,11 +506,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Checkout Scripts Repo
|
||||||
name: Set Provider Version
|
uses: actions/checkout@v4
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
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
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -550,46 +543,12 @@ jobs:
|
|||||||
- name: Uncompress java SDK
|
- name: Uncompress java SDK
|
||||||
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
||||||
${{github.workspace}}/sdk/java
|
${{github.workspace}}/sdk/java
|
||||||
|
- name: Set PACKAGE_VERSION to Env
|
||||||
|
run: echo "PACKAGE_VERSION=$(pulumictl get version --language generic)" >>
|
||||||
|
$GITHUB_ENV
|
||||||
- name: Publish Java SDK
|
- name: Publish Java SDK
|
||||||
uses: gradle/gradle-build-action@v3
|
uses: gradle/gradle-build-action@v3
|
||||||
env:
|
|
||||||
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
|
||||||
with:
|
with:
|
||||||
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
||||||
build-root-directory: ./sdk/java
|
build-root-directory: ./sdk/java
|
||||||
gradle-version: 7.4.1
|
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
|
|
||||||
path: sdk
|
|
||||||
version: ${{ steps.version.outputs.version }}
|
|
||||||
additive: false
|
|
||||||
files: |-
|
|
||||||
go.*
|
|
||||||
go/**
|
|
||||||
!*.tar.gz
|
|
||||||
|
|||||||
123
.github/workflows/release.yml
vendored
123
.github/workflows/release.yml
vendored
@@ -56,11 +56,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Checkout Scripts Repo
|
||||||
name: Set Provider Version
|
uses: actions/checkout@v4
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
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
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -110,14 +113,7 @@ jobs:
|
|||||||
- name: Build Provider
|
- name: Build Provider
|
||||||
run: make provider
|
run: make provider
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||||
with:
|
|
||||||
allowed-changes: |-
|
|
||||||
sdk/**/pulumi-plugin.json
|
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
|
||||||
sdk/go/**/pulumiUtilities.go
|
|
||||||
sdk/nodejs/package.json
|
|
||||||
sdk/python/pyproject.toml
|
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar provider binaries
|
- name: Tar provider binaries
|
||||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||||
@@ -159,11 +155,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Checkout Scripts Repo
|
||||||
name: Set Provider Version
|
uses: actions/checkout@v4
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
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
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -214,14 +213,7 @@ jobs:
|
|||||||
- name: Build SDK
|
- name: Build SDK
|
||||||
run: make build_${{ matrix.language }}
|
run: make build_${{ matrix.language }}
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||||
with:
|
|
||||||
allowed-changes: |-
|
|
||||||
sdk/**/pulumi-plugin.json
|
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
|
||||||
sdk/go/**/pulumiUtilities.go
|
|
||||||
sdk/nodejs/package.json
|
|
||||||
sdk/python/pyproject.toml
|
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar SDK folder
|
- name: Tar SDK folder
|
||||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||||
@@ -259,11 +251,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Checkout Scripts Repo
|
||||||
name: Set Provider Version
|
uses: actions/checkout@v4
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
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
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -375,11 +370,8 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Unshallow clone for tags
|
||||||
name: Set Provider Version
|
run: git fetch --prune --unshallow --tags
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
|
||||||
set-env: PROVIDER_VERSION
|
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -410,10 +402,11 @@ jobs:
|
|||||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||||
role-external-id: upload-pulumi-release
|
role-external-id: upload-pulumi-release
|
||||||
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
role-to-assume: ${{ 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
|
- name: Run GoReleaser
|
||||||
uses: goreleaser/goreleaser-action@v5
|
uses: goreleaser/goreleaser-action@v5
|
||||||
env:
|
|
||||||
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
|
||||||
with:
|
with:
|
||||||
args: -p 3 release --clean --timeout 60m0s
|
args: -p 3 release --clean --timeout 60m0s
|
||||||
version: latest
|
version: latest
|
||||||
@@ -433,17 +426,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
|
||||||
name: Set Provider Version
|
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
|
||||||
set-env: PROVIDER_VERSION
|
|
||||||
- name: Checkout Scripts Repo
|
- name: Checkout Scripts Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: ci-scripts
|
path: ci-scripts
|
||||||
repository: pulumi/scripts
|
repository: pulumi/scripts
|
||||||
- run: echo "ci-scripts" >> .git/info/exclude
|
- run: echo "ci-scripts" >> .git/info/exclude
|
||||||
|
- name: Unshallow clone for tags
|
||||||
|
run: git fetch --prune --unshallow --tags
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -516,11 +506,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Checkout Scripts Repo
|
||||||
name: Set Provider Version
|
uses: actions/checkout@v4
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
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
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -550,52 +543,34 @@ jobs:
|
|||||||
- name: Uncompress java SDK
|
- name: Uncompress java SDK
|
||||||
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
||||||
${{github.workspace}}/sdk/java
|
${{github.workspace}}/sdk/java
|
||||||
|
- name: Set PACKAGE_VERSION to Env
|
||||||
|
run: echo "PACKAGE_VERSION=$(pulumictl get version --language generic)" >>
|
||||||
|
$GITHUB_ENV
|
||||||
- name: Publish Java SDK
|
- name: Publish Java SDK
|
||||||
uses: gradle/gradle-build-action@v3
|
uses: gradle/gradle-build-action@v3
|
||||||
env:
|
|
||||||
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
|
||||||
with:
|
with:
|
||||||
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
||||||
build-root-directory: ./sdk/java
|
build-root-directory: ./sdk/java
|
||||||
gradle-version: 7.4.1
|
gradle-version: 7.4.1
|
||||||
publish_go_sdk:
|
tag_sdk:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: publish-go-sdk
|
|
||||||
needs: publish_sdk
|
needs: publish_sdk
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repo
|
- name: Checkout Repo
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Install pulumictl
|
||||||
name: Set Provider Version
|
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
repo: pulumi/pulumictl
|
||||||
- name: Download go SDK
|
- name: Add SDK version tag
|
||||||
uses: actions/download-artifact@v4
|
run: git tag sdk/v$(pulumictl get version --language generic) && git push origin
|
||||||
with:
|
sdk/v$(pulumictl get version --language generic)
|
||||||
name: go-sdk.tar.gz
|
name: tag_sdk
|
||||||
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
|
|
||||||
path: sdk
|
|
||||||
version: ${{ steps.version.outputs.version }}
|
|
||||||
additive: false
|
|
||||||
files: |-
|
|
||||||
go.*
|
|
||||||
go/**
|
|
||||||
!*.tar.gz
|
|
||||||
dispatch_docs_build:
|
dispatch_docs_build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: publish_go_sdk
|
needs: tag_sdk
|
||||||
steps:
|
steps:
|
||||||
- name: Install pulumictl
|
- name: Install pulumictl
|
||||||
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
uses: jaxxstorm/action-install-gh-release@v1.11.0
|
||||||
|
|||||||
61
.github/workflows/run-acceptance-tests.yml
vendored
61
.github/workflows/run-acceptance-tests.yml
vendored
@@ -81,11 +81,14 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
ref: ${{ env.PR_COMMIT_SHA }}
|
ref: ${{ env.PR_COMMIT_SHA }}
|
||||||
- id: version
|
- name: Checkout Scripts Repo
|
||||||
name: Set Provider Version
|
uses: actions/checkout@v4
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
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
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -135,14 +138,7 @@ jobs:
|
|||||||
- name: Build Provider
|
- name: Build Provider
|
||||||
run: make provider
|
run: make provider
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||||
with:
|
|
||||||
allowed-changes: |-
|
|
||||||
sdk/**/pulumi-plugin.json
|
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
|
||||||
sdk/go/**/pulumiUtilities.go
|
|
||||||
sdk/nodejs/package.json
|
|
||||||
sdk/python/pyproject.toml
|
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar provider binaries
|
- name: Tar provider binaries
|
||||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||||
@@ -187,11 +183,14 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
ref: ${{ env.PR_COMMIT_SHA }}
|
ref: ${{ env.PR_COMMIT_SHA }}
|
||||||
- id: version
|
- name: Checkout Scripts Repo
|
||||||
name: Set Provider Version
|
uses: actions/checkout@v4
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
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
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -242,14 +241,7 @@ jobs:
|
|||||||
- name: Build SDK
|
- name: Build SDK
|
||||||
run: make build_${{ matrix.language }}
|
run: make build_${{ matrix.language }}
|
||||||
- name: Check worktree clean
|
- name: Check worktree clean
|
||||||
uses: pulumi/git-status-check-action@v1
|
run: ./ci-scripts/ci/check-worktree-is-clean
|
||||||
with:
|
|
||||||
allowed-changes: |-
|
|
||||||
sdk/**/pulumi-plugin.json
|
|
||||||
sdk/dotnet/Pulumi.*.csproj
|
|
||||||
sdk/go/**/pulumiUtilities.go
|
|
||||||
sdk/nodejs/package.json
|
|
||||||
sdk/python/pyproject.toml
|
|
||||||
- run: git status --porcelain
|
- run: git status --porcelain
|
||||||
- name: Tar SDK folder
|
- name: Tar SDK folder
|
||||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||||
@@ -291,11 +283,14 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
ref: ${{ env.PR_COMMIT_SHA }}
|
ref: ${{ env.PR_COMMIT_SHA }}
|
||||||
- id: version
|
- name: Checkout Scripts Repo
|
||||||
name: Set Provider Version
|
uses: actions/checkout@v4
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
with:
|
||||||
set-env: PROVIDER_VERSION
|
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
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -404,14 +399,8 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: sentinel
|
name: sentinel
|
||||||
steps:
|
steps:
|
||||||
- name: Mark workflow as successful
|
- name: Is workflow a success
|
||||||
uses: guibranco/github-status-action-v2@0849440ec82c5fa69b2377725b9b7852a3977e76
|
run: echo yes
|
||||||
with:
|
|
||||||
authToken: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
context: Sentinel
|
|
||||||
state: success
|
|
||||||
description: Sentinel checks passed
|
|
||||||
sha: ${{ github.event.pull_request.head.sha || github.sha }}
|
|
||||||
if: github.event_name == 'repository_dispatch' ||
|
if: github.event_name == 'repository_dispatch' ||
|
||||||
github.event.pull_request.head.repo.full_name == github.repository
|
github.event.pull_request.head.repo.full_name == github.repository
|
||||||
needs:
|
needs:
|
||||||
|
|||||||
9
.github/workflows/weekly-pulumi-update.yml
vendored
9
.github/workflows/weekly-pulumi-update.yml
vendored
@@ -54,11 +54,8 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
lfs: true
|
lfs: true
|
||||||
- id: version
|
- name: Unshallow clone for tags
|
||||||
name: Set Provider Version
|
run: git fetch --prune --unshallow --tags
|
||||||
uses: pulumi/provider-version-action@v1
|
|
||||||
with:
|
|
||||||
set-env: PROVIDER_VERSION
|
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
@@ -94,8 +91,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
|
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
|
git update-index -q --refresh
|
||||||
|
|
||||||
if ! git diff-files --quiet; then echo changes=1 >> "$GITHUB_OUTPUT"; fi
|
if ! git diff-files --quiet; then echo changes=1 >> "$GITHUB_OUTPUT"; fi
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
3.116.1
|
|
||||||
17
CHANGELOG.md
17
CHANGELOG.md
@@ -1,17 +0,0 @@
|
|||||||
## Unreleased
|
|
||||||
|
|
||||||
### 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)
|
|
||||||
|
|
||||||
## 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.
|
|
||||||
41
Makefile
41
Makefile
@@ -7,6 +7,7 @@ NODE_MODULE_NAME := @pulumi/docker-build
|
|||||||
NUGET_PKG_NAME := Pulumi.DockerBuild
|
NUGET_PKG_NAME := Pulumi.DockerBuild
|
||||||
|
|
||||||
PROVIDER := pulumi-resource-${PACK}
|
PROVIDER := pulumi-resource-${PACK}
|
||||||
|
VERSION ?= $(shell pulumictl get version)
|
||||||
PROVIDER_PATH := provider
|
PROVIDER_PATH := provider
|
||||||
VERSION_PATH := ${PROVIDER_PATH}.Version
|
VERSION_PATH := ${PROVIDER_PATH}.Version
|
||||||
SCHEMA_PATH := ${PROVIDER_PATH}/cmd/pulumi-resource-${PACK}/schema.json
|
SCHEMA_PATH := ${PROVIDER_PATH}/cmd/pulumi-resource-${PACK}/schema.json
|
||||||
@@ -20,14 +21,6 @@ TESTPARALLELISM := 4
|
|||||||
PULUMI := bin/pulumi
|
PULUMI := bin/pulumi
|
||||||
GOGLANGCILINT := bin/golangci-lint
|
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 ?= 1.0.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
|
|
||||||
|
|
||||||
.PHONY: ensure
|
.PHONY: ensure
|
||||||
ensure:: tidy lint test_provider examples
|
ensure:: tidy lint test_provider examples
|
||||||
|
|
||||||
@@ -42,7 +35,7 @@ provider: bin/${PROVIDER} bin/pulumi-gen-${PACK} # Required by CI
|
|||||||
local_generate: sdk # Required by CI
|
local_generate: sdk # Required by CI
|
||||||
|
|
||||||
provider_debug::
|
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
|
test_provider:: # Required by CI
|
||||||
go test -short -v -coverprofile="coverage.txt" -coverpkg=./provider/... -timeout 2h -parallel ${TESTPARALLELISM} ./provider/...
|
go test -short -v -coverprofile="coverage.txt" -coverpkg=./provider/... -timeout 2h -parallel ${TESTPARALLELISM} ./provider/...
|
||||||
@@ -85,9 +78,6 @@ examples/java: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yam
|
|||||||
${PULUMI}: go.sum
|
${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/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/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
|
|
||||||
|
|
||||||
${GOGLANGCILINT}: go.sum
|
${GOGLANGCILINT}: go.sum
|
||||||
GOBIN=${WORKING_DIR}/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint
|
GOBIN=${WORKING_DIR}/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint
|
||||||
@@ -107,7 +97,6 @@ define example
|
|||||||
--language $(1) \
|
--language $(1) \
|
||||||
--out ${WORKING_DIR}/examples/$(1)
|
--out ${WORKING_DIR}/examples/$(1)
|
||||||
cp -r ${WORKING_DIR}/examples/app ${WORKING_DIR}/examples/$(1)/app
|
cp -r ${WORKING_DIR}/examples/app ${WORKING_DIR}/examples/$(1)/app
|
||||||
cp ${WORKING_DIR}/examples/yaml/.dockerignore ${WORKING_DIR}/examples/$(1)/.dockerignore
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
up::
|
up::
|
||||||
@@ -131,7 +120,7 @@ devcontainer::
|
|||||||
cp -f .devcontainer/devcontainer.json .devcontainer.json
|
cp -f .devcontainer/devcontainer.json .devcontainer.json
|
||||||
|
|
||||||
.PHONY: build
|
.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
|
# Required for the codegen action that runs in pulumi/pulumi
|
||||||
only_build:: build
|
only_build:: build
|
||||||
@@ -161,7 +150,7 @@ install_nodejs_sdk:: # Required by CI
|
|||||||
codegen: # Required by CI
|
codegen: # Required by CI
|
||||||
|
|
||||||
.PHONY: generate_schema
|
.PHONY: generate_schema
|
||||||
generate_schema: ${SCHEMA_PATH} # Required by CI
|
generate_schema: # Required by CI
|
||||||
|
|
||||||
.PHONY: build_go install_go_sdk
|
.PHONY: build_go install_go_sdk
|
||||||
generate_go: sdk/go # Required by CI
|
generate_go: sdk/go # Required by CI
|
||||||
@@ -184,10 +173,10 @@ generate_dotnet: sdk/dotnet # Required by CI
|
|||||||
build_dotnet: # Required by CI
|
build_dotnet: # Required by CI
|
||||||
|
|
||||||
${SCHEMA_PATH}: bin/${PROVIDER}
|
${SCHEMA_PATH}: bin/${PROVIDER}
|
||||||
pulumi package get-schema bin/${PROVIDER} | jq 'del(.version)' > $(SCHEMA_PATH)
|
pulumi package get-schema bin/${PROVIDER} > $(SCHEMA_PATH)
|
||||||
|
|
||||||
bin/${PROVIDER}: $(shell find ./provider -name '*.go') go.mod
|
bin/${PROVIDER}: $(shell find ./provider -name '*.go') go.mod
|
||||||
(cd provider && go build -o ../bin/${PROVIDER} -ldflags "-X ${PROJECT}/${VERSION_PATH}=${VERSION_GENERIC}" $(PROJECT)/${PROVIDER_PATH}/cmd/$(PROVIDER))
|
(cd provider && go build -o ../bin/${PROVIDER} -ldflags "-X ${PROJECT}/${VERSION_PATH}=${VERSION}" $(PROJECT)/${PROVIDER_PATH}/cmd/$(PROVIDER))
|
||||||
|
|
||||||
bin/pulumi-gen-${PACK}: # Required by CI
|
bin/pulumi-gen-${PACK}: # Required by CI
|
||||||
touch bin/pulumi-gen-${PACK}
|
touch bin/pulumi-gen-${PACK}
|
||||||
@@ -198,9 +187,7 @@ go.sum: go.mod
|
|||||||
sdk: $(shell mkdir -p sdk)
|
sdk: $(shell mkdir -p sdk)
|
||||||
sdk: sdk/python sdk/nodejs sdk/java sdk/python sdk/go sdk/dotnet
|
sdk: sdk/python sdk/nodejs sdk/java sdk/python sdk/go sdk/dotnet
|
||||||
|
|
||||||
# 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.
|
sdk/python: PYPI_VERSION := $(shell pulumictl get version --language python)
|
||||||
.PHONY: sdk/*
|
|
||||||
|
|
||||||
sdk/python: TMPDIR := $(shell mktemp -d)
|
sdk/python: TMPDIR := $(shell mktemp -d)
|
||||||
sdk/python: $(PULUMI) bin/${PROVIDER}
|
sdk/python: $(PULUMI) bin/${PROVIDER}
|
||||||
rm -rf sdk/python
|
rm -rf sdk/python
|
||||||
@@ -208,12 +195,15 @@ sdk/python: $(PULUMI) bin/${PROVIDER}
|
|||||||
cp README.md ${TMPDIR}/python/
|
cp README.md ${TMPDIR}/python/
|
||||||
cd ${TMPDIR}/python/ && \
|
cd ${TMPDIR}/python/ && \
|
||||||
rm -rf ./bin/ ../python.bin/ && cp -R . ../python.bin && mv ../python.bin ./bin && \
|
rm -rf ./bin/ ../python.bin/ && cp -R . ../python.bin && mv ../python.bin ./bin && \
|
||||||
|
sed -i.bak -e 's/^ version = .*/ version = "$(PYPI_VERSION)"/g' ./bin/pyproject.toml && \
|
||||||
|
rm ./bin/pyproject.toml.bak && \
|
||||||
python3 -m venv venv && \
|
python3 -m venv venv && \
|
||||||
./venv/bin/python -m pip install build && \
|
./venv/bin/python -m pip install build && \
|
||||||
cd ./bin && \
|
cd ./bin && \
|
||||||
../venv/bin/python -m build .
|
../venv/bin/python -m build .
|
||||||
mv -f ${TMPDIR}/python ${WORKING_DIR}/sdk/.
|
mv -f ${TMPDIR}/python ${WORKING_DIR}/sdk/.
|
||||||
|
|
||||||
|
sdk/nodejs: NODE_VERSION := $(shell pulumictl get version --language javascript)
|
||||||
sdk/nodejs: TMPDIR := $(shell mktemp -d)
|
sdk/nodejs: TMPDIR := $(shell mktemp -d)
|
||||||
sdk/nodejs: $(PULUMI) bin/${PROVIDER}
|
sdk/nodejs: $(PULUMI) bin/${PROVIDER}
|
||||||
rm -rf sdk/nodejs
|
rm -rf sdk/nodejs
|
||||||
@@ -222,7 +212,9 @@ sdk/nodejs: $(PULUMI) bin/${PROVIDER}
|
|||||||
cd ${TMPDIR}/nodejs/ && \
|
cd ${TMPDIR}/nodejs/ && \
|
||||||
yarn install && \
|
yarn install && \
|
||||||
yarn run tsc && \
|
yarn run tsc && \
|
||||||
cp README.md LICENSE package.json yarn.lock bin/
|
cp README.md LICENSE package.json yarn.lock bin/ && \
|
||||||
|
sed -i.bak 's/$${VERSION}/$(NODE_VERSION)/g' bin/package.json && \
|
||||||
|
rm ./bin/package.json.bak
|
||||||
mv -f ${TMPDIR}/nodejs ${WORKING_DIR}/sdk/.
|
mv -f ${TMPDIR}/nodejs ${WORKING_DIR}/sdk/.
|
||||||
|
|
||||||
sdk/go: TMPDIR := $(shell mktemp -d)
|
sdk/go: TMPDIR := $(shell mktemp -d)
|
||||||
@@ -236,16 +228,17 @@ sdk/go: $(PULUMI) bin/${PROVIDER}
|
|||||||
go mod tidy
|
go mod tidy
|
||||||
mv -f ${TMPDIR}/go ${WORKING_DIR}/sdk/go
|
mv -f ${TMPDIR}/go ${WORKING_DIR}/sdk/go
|
||||||
|
|
||||||
|
sdk/dotnet: DOTNET_VERSION := $(shell pulumictl get version --language dotnet)
|
||||||
sdk/dotnet: TMPDIR := $(shell mktemp -d)
|
sdk/dotnet: TMPDIR := $(shell mktemp -d)
|
||||||
sdk/dotnet: $(PULUMI) bin/${PROVIDER}
|
sdk/dotnet: $(PULUMI) bin/${PROVIDER}
|
||||||
rm -rf sdk/dotnet
|
rm -rf sdk/dotnet
|
||||||
$(PULUMI) package gen-sdk bin/${PROVIDER} --language dotnet -o ${TMPDIR}
|
$(PULUMI) package gen-sdk bin/${PROVIDER} --language dotnet -o ${TMPDIR}
|
||||||
cd ${TMPDIR}/dotnet/ && \
|
cd ${TMPDIR}/dotnet/ && \
|
||||||
echo "$(VERSION_GENERIC)" > version.txt && \
|
echo "$(DOTNET_VERSION)" > version.txt && \
|
||||||
dotnet build
|
dotnet build /p:Version=${DOTNET_VERSION}
|
||||||
mv -f ${TMPDIR}/dotnet ${WORKING_DIR}/sdk/.
|
mv -f ${TMPDIR}/dotnet ${WORKING_DIR}/sdk/.
|
||||||
|
|
||||||
sdk/java: PACKAGE_VERSION := $(shell pulumictl convert-version --language generic -v "$(VERSION_GENERIC)")
|
sdk/java: PACKAGE_VERSION := $(shell pulumictl get version --language generic)
|
||||||
sdk/java: TMPDIR := $(shell mktemp -d)
|
sdk/java: TMPDIR := $(shell mktemp -d)
|
||||||
sdk/java: $(PULUMI) bin/${PROVIDER}
|
sdk/java: $(PULUMI) bin/${PROVIDER}
|
||||||
rm -rf sdk/java
|
rm -rf sdk/java
|
||||||
|
|||||||
@@ -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)
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
command-output
|
|
||||||
tmp
|
|
||||||
@@ -239,6 +239,10 @@ COPY hello.c ./
|
|||||||
RUN echo ""This uses an inline Dockerfile! 👍""
|
RUN echo ""This uses an inline Dockerfile! 👍""
|
||||||
",
|
",
|
||||||
},
|
},
|
||||||
|
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||||
|
{
|
||||||
|
Location = "./app",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
var dockerLoad = new DockerBuild.Image("dockerLoad", new()
|
var dockerLoad = new DockerBuild.Image("dockerLoad", new()
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
command-output
|
|
||||||
tmp
|
|
||||||
@@ -6,13 +6,13 @@ toolchain go1.21.9
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.0-20240425180359-26c144c916b7
|
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.0-20240425180359-26c144c916b7
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.117.0
|
github.com/pulumi/pulumi/sdk/v3 v3.113.3
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
dario.cat/mergo v1.0.0 // indirect
|
dario.cat/mergo v1.0.0 // indirect
|
||||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
github.com/Microsoft/go-winio v0.6.1 // 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/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
|
||||||
github.com/agext/levenshtein v1.2.3 // indirect
|
github.com/agext/levenshtein v1.2.3 // indirect
|
||||||
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
||||||
@@ -30,10 +30,11 @@ require (
|
|||||||
github.com/emirpasic/gods v1.18.1 // 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/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
||||||
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
||||||
github.com/go-git/go-git/v5 v5.12.0 // indirect
|
github.com/go-git/go-git/v5 v5.11.0 // indirect
|
||||||
github.com/gogo/protobuf v1.3.2 // indirect
|
github.com/gogo/protobuf v1.3.2 // indirect
|
||||||
github.com/golang/glog v1.2.0 // indirect
|
github.com/golang/glog v1.2.0 // indirect
|
||||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||||
|
github.com/golang/protobuf v1.5.4 // indirect
|
||||||
github.com/google/uuid v1.6.0 // indirect
|
github.com/google/uuid v1.6.0 // indirect
|
||||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
||||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||||
@@ -64,8 +65,8 @@ require (
|
|||||||
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
||||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
||||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
||||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
|
github.com/sergi/go-diff v1.3.1 // indirect
|
||||||
github.com/skeema/knownhosts v1.2.2 // indirect
|
github.com/skeema/knownhosts v1.2.1 // indirect
|
||||||
github.com/spf13/cast v1.5.0 // indirect
|
github.com/spf13/cast v1.5.0 // indirect
|
||||||
github.com/spf13/cobra v1.8.0 // indirect
|
github.com/spf13/cobra v1.8.0 // indirect
|
||||||
github.com/spf13/pflag v1.0.5 // indirect
|
github.com/spf13/pflag v1.0.5 // indirect
|
||||||
@@ -76,17 +77,17 @@ require (
|
|||||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||||
github.com/zclconf/go-cty v1.14.1 // indirect
|
github.com/zclconf/go-cty v1.14.1 // indirect
|
||||||
go.uber.org/atomic v1.10.0 // indirect
|
go.uber.org/atomic v1.10.0 // indirect
|
||||||
golang.org/x/crypto v0.23.0 // indirect
|
golang.org/x/crypto v0.21.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect
|
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect
|
||||||
golang.org/x/mod v0.16.0 // indirect
|
golang.org/x/mod v0.16.0 // indirect
|
||||||
golang.org/x/net v0.25.0 // indirect
|
golang.org/x/net v0.22.0 // indirect
|
||||||
golang.org/x/sync v0.6.0 // indirect
|
golang.org/x/sync v0.6.0 // indirect
|
||||||
golang.org/x/sys v0.20.0 // indirect
|
golang.org/x/sys v0.18.0 // indirect
|
||||||
golang.org/x/term v0.20.0 // indirect
|
golang.org/x/term v0.18.0 // indirect
|
||||||
golang.org/x/text v0.15.0 // indirect
|
golang.org/x/text v0.14.0 // indirect
|
||||||
golang.org/x/tools v0.19.0 // indirect
|
golang.org/x/tools v0.19.0 // indirect
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 // indirect
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 // indirect
|
||||||
google.golang.org/grpc v1.63.2 // indirect
|
google.golang.org/grpc v1.62.1 // indirect
|
||||||
google.golang.org/protobuf v1.33.0 // indirect
|
google.golang.org/protobuf v1.33.0 // indirect
|
||||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXY
|
|||||||
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
||||||
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
|
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
|
||||||
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
|
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 v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg=
|
||||||
github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
|
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
|
||||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY=
|
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/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA=
|
||||||
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
|
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
|
||||||
@@ -54,16 +54,16 @@ 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/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 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
||||||
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||||
github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE=
|
github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
|
||||||
github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8=
|
github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4=
|
||||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
|
||||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
|
||||||
github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
|
github.com/go-git/go-billy/v5 v5.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-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 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
|
||||||
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
|
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
|
||||||
github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys=
|
github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4=
|
||||||
github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY=
|
github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY=
|
||||||
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||||
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||||
@@ -152,8 +152,8 @@ github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw=
|
|||||||
github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k=
|
github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k=
|
||||||
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 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-docker-build/sdk/go/dockerbuild v0.0.0-20240425180359-26c144c916b7/go.mod h1:48lEA1mq2tRC4SfASAJmLYG1hRWM5sP5VPFeoZEM54U=
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.117.0 h1:ImIsukZ2ZIYQG94uWdSZl9dJjJTosQSTsOQTauTNX7U=
|
github.com/pulumi/pulumi/sdk/v3 v3.113.3 h1:ySNxoL+O9TtS9WiPa9SWu6mthJryryRzP0kyYaQlNaU=
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.117.0/go.mod h1:kNea72+FQk82OjZ3yEP4dl6nbAl2ngE8PDBc0iFAaHg=
|
github.com/pulumi/pulumi/sdk/v3 v3.113.3/go.mod h1:JWSzKBoHd8rlncC1DhXLf7YdV+Bk/Qf+hSZOOQh0WwQ=
|
||||||
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||||
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
|
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
|
||||||
@@ -165,11 +165,11 @@ github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDj
|
|||||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs=
|
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs=
|
||||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
|
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
|
||||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
|
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
|
||||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
|
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
|
||||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
|
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
|
||||||
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||||
github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A=
|
github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ=
|
||||||
github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
|
github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
|
||||||
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
|
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
|
||||||
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
|
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
|
||||||
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
|
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
|
||||||
@@ -209,8 +209,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
|
|||||||
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||||
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
golang.org/x/crypto v0.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.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
||||||
golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
|
golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
|
||||||
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
|
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
|
||||||
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 h1:hNQpMuAJe5CtcUqCXaWga3FHu+kQvCqcsoVaQgSV60o=
|
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 h1:hNQpMuAJe5CtcUqCXaWga3FHu+kQvCqcsoVaQgSV60o=
|
||||||
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08=
|
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08=
|
||||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||||
@@ -232,8 +232,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
|
|||||||
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
|
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.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.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
||||||
golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
|
golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
|
||||||
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
|
golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
@@ -261,15 +261,15 @@ 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.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
|
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
|
||||||
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
golang.org/x/sys v0.18.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-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.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.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
||||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
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.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
||||||
golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
|
golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
|
||||||
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
|
golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
@@ -277,8 +277,8 @@ 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.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.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.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||||
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
|
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
||||||
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
@@ -295,8 +295,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
|
|||||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 h1:8EeVk1VKMD+GD/neyEHGmz7pFblqPjHoi+PGQIlLx2s=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-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/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.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk=
|
||||||
google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
|
google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE=
|
||||||
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
|
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
|
||||||
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
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 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
|||||||
@@ -207,6 +207,9 @@ func main() {
|
|||||||
Dockerfile: &dockerbuild.DockerfileArgs{
|
Dockerfile: &dockerbuild.DockerfileArgs{
|
||||||
Inline: pulumi.String("FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"),
|
Inline: pulumi.String("FROM alpine\nRUN echo \"This uses an inline Dockerfile! 👍\"\n"),
|
||||||
},
|
},
|
||||||
|
Context: &dockerbuild.BuildContextArgs{
|
||||||
|
Location: pulumi.String("./app"),
|
||||||
|
},
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
command-output
|
|
||||||
tmp
|
|
||||||
@@ -185,6 +185,9 @@ FROM alpine
|
|||||||
RUN echo "This uses an inline Dockerfile! 👍"
|
RUN echo "This uses an inline Dockerfile! 👍"
|
||||||
""")
|
""")
|
||||||
.build())
|
.build())
|
||||||
|
.context(BuildContextArgs.builder()
|
||||||
|
.location("./app")
|
||||||
|
.build())
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
var dockerLoad = new Image("dockerLoad", ImageArgs.builder()
|
var dockerLoad = new Image("dockerLoad", ImageArgs.builder()
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
command-output
|
|
||||||
tmp
|
|
||||||
@@ -154,6 +154,9 @@ const inline = new docker_build.Image("inline", {
|
|||||||
RUN echo "This uses an inline Dockerfile! 👍"
|
RUN echo "This uses an inline Dockerfile! 👍"
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
|
context: {
|
||||||
|
location: "./app",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
const dockerLoad = new docker_build.Image("dockerLoad", {
|
const dockerLoad = new docker_build.Image("dockerLoad", {
|
||||||
push: false,
|
push: false,
|
||||||
|
|||||||
@@ -4,19 +4,11 @@
|
|||||||
package examples
|
package examples
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/base64"
|
|
||||||
"fmt"
|
|
||||||
"math/rand"
|
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"strings"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/aws/aws-sdk-go/aws"
|
|
||||||
"github.com/aws/aws-sdk-go/aws/session"
|
|
||||||
"github.com/aws/aws-sdk-go/service/ecr"
|
|
||||||
"github.com/pulumi/pulumi/pkg/v3/testing/integration"
|
"github.com/pulumi/pulumi/pkg/v3/testing/integration"
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -34,180 +26,3 @@ func TestNodeExample(t *testing.T) {
|
|||||||
|
|
||||||
integration.ProgramTest(t, &test)
|
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())
|
|
||||||
|
|
||||||
// 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
|
|
||||||
@@ -141,6 +141,9 @@ inline = docker_build.Image("inline",
|
|||||||
inline="""FROM alpine
|
inline="""FROM alpine
|
||||||
RUN echo "This uses an inline Dockerfile! 👍"
|
RUN echo "This uses an inline Dockerfile! 👍"
|
||||||
""",
|
""",
|
||||||
|
),
|
||||||
|
context=docker_build.BuildContextArgs(
|
||||||
|
location="./app",
|
||||||
))
|
))
|
||||||
docker_load = docker_build.Image("dockerLoad",
|
docker_load = docker_build.Image("dockerLoad",
|
||||||
push=False,
|
push=False,
|
||||||
|
|||||||
@@ -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.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,2 +0,0 @@
|
|||||||
command-output
|
|
||||||
tmp
|
|
||||||
@@ -166,6 +166,8 @@ resources:
|
|||||||
inline: |
|
inline: |
|
||||||
FROM alpine
|
FROM alpine
|
||||||
RUN echo "This uses an inline Dockerfile! 👍"
|
RUN echo "This uses an inline Dockerfile! 👍"
|
||||||
|
context:
|
||||||
|
location: "./app"
|
||||||
|
|
||||||
# docker buildx build --load .
|
# docker buildx build --load .
|
||||||
dockerLoad:
|
dockerLoad:
|
||||||
|
|||||||
58
go.mod
58
go.mod
@@ -3,7 +3,6 @@ module github.com/pulumi/pulumi-docker-build
|
|||||||
go 1.21.7
|
go 1.21.7
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/aws/aws-sdk-go v1.50.36
|
|
||||||
github.com/blang/semver v3.5.1+incompatible
|
github.com/blang/semver v3.5.1+incompatible
|
||||||
github.com/distribution/reference v0.5.0
|
github.com/distribution/reference v0.5.0
|
||||||
github.com/docker/buildx v0.13.1
|
github.com/docker/buildx v0.13.1
|
||||||
@@ -16,15 +15,11 @@ require (
|
|||||||
github.com/muesli/reflow v0.3.0
|
github.com/muesli/reflow v0.3.0
|
||||||
github.com/otiai10/copy v1.14.0
|
github.com/otiai10/copy v1.14.0
|
||||||
github.com/pulumi/providertest v0.0.12
|
github.com/pulumi/providertest v0.0.12
|
||||||
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet v0.0.0-20240429090326-810475295195
|
|
||||||
github.com/pulumi/pulumi-go-provider v0.16.1-0.20240426163030-72606b1e6fb7
|
github.com/pulumi/pulumi-go-provider v0.16.1-0.20240426163030-72606b1e6fb7
|
||||||
github.com/pulumi/pulumi-java/pkg v0.11.0
|
github.com/pulumi/pulumi-java/pkg v0.10.0
|
||||||
github.com/pulumi/pulumi-yaml v1.7.0
|
github.com/pulumi/pulumi/pkg/v3 v3.113.3
|
||||||
github.com/pulumi/pulumi/pkg/v3 v3.117.0
|
github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20240415162817-44c8de53d5d2
|
||||||
github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20240525040238-ee831fc5b644
|
github.com/pulumi/pulumi/sdk/v3 v3.113.3
|
||||||
github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20240525040238-ee831fc5b644
|
|
||||||
github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20240525040238-ee831fc5b644
|
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.117.1-0.20240525040238-ee831fc5b644
|
|
||||||
github.com/regclient/regclient v0.0.0-20240308005156-a7434cff9c6b
|
github.com/regclient/regclient v0.0.0-20240308005156-a7434cff9c6b
|
||||||
github.com/sirupsen/logrus v1.9.3
|
github.com/sirupsen/logrus v1.9.3
|
||||||
github.com/spf13/afero v1.11.0
|
github.com/spf13/afero v1.11.0
|
||||||
@@ -32,7 +27,7 @@ require (
|
|||||||
github.com/theupdateframework/notary v0.7.0
|
github.com/theupdateframework/notary v0.7.0
|
||||||
github.com/tonistiigi/fsutil v0.0.0-20240301111122-7525a1af2bb5
|
github.com/tonistiigi/fsutil v0.0.0-20240301111122-7525a1af2bb5
|
||||||
go.uber.org/mock v0.3.0
|
go.uber.org/mock v0.3.0
|
||||||
golang.org/x/crypto v0.23.0
|
golang.org/x/crypto v0.21.0
|
||||||
google.golang.org/protobuf v1.33.0
|
google.golang.org/protobuf v1.33.0
|
||||||
gopkg.in/yaml.v3 v3.0.1
|
gopkg.in/yaml.v3 v3.0.1
|
||||||
)
|
)
|
||||||
@@ -73,7 +68,7 @@ require (
|
|||||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
github.com/Microsoft/go-winio v0.6.1 // indirect
|
||||||
github.com/Microsoft/hcsshim v0.11.4 // indirect
|
github.com/Microsoft/hcsshim v0.11.4 // indirect
|
||||||
github.com/OpenPeeDeeP/depguard/v2 v2.2.0 // indirect
|
github.com/OpenPeeDeeP/depguard/v2 v2.2.0 // indirect
|
||||||
github.com/ProtonMail/go-crypto 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/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
|
||||||
github.com/agext/levenshtein v1.2.3 // indirect
|
github.com/agext/levenshtein v1.2.3 // indirect
|
||||||
github.com/alecthomas/chroma v0.10.0 // indirect
|
github.com/alecthomas/chroma v0.10.0 // indirect
|
||||||
@@ -83,9 +78,12 @@ require (
|
|||||||
github.com/alingse/asasalint v0.0.11 // indirect
|
github.com/alingse/asasalint v0.0.11 // indirect
|
||||||
github.com/apparentlymart/go-cidr v1.1.0 // indirect
|
github.com/apparentlymart/go-cidr v1.1.0 // indirect
|
||||||
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
||||||
|
github.com/armon/go-metrics v0.4.1 // indirect
|
||||||
|
github.com/armon/go-radix v1.0.0 // indirect
|
||||||
github.com/ashanbrown/forbidigo v1.6.0 // indirect
|
github.com/ashanbrown/forbidigo v1.6.0 // indirect
|
||||||
github.com/ashanbrown/makezero v1.1.1 // indirect
|
github.com/ashanbrown/makezero v1.1.1 // indirect
|
||||||
github.com/atotto/clipboard v0.1.4 // indirect
|
github.com/atotto/clipboard v0.1.4 // indirect
|
||||||
|
github.com/aws/aws-sdk-go v1.50.36 // indirect
|
||||||
github.com/aws/aws-sdk-go-v2 v1.26.1 // 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/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/config v1.27.11 // indirect
|
||||||
@@ -171,8 +169,7 @@ require (
|
|||||||
github.com/go-critic/go-critic v0.11.2 // indirect
|
github.com/go-critic/go-critic v0.11.2 // indirect
|
||||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
||||||
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
||||||
github.com/go-git/go-git/v5 v5.12.0 // indirect
|
github.com/go-git/go-git/v5 v5.11.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-logr/logr v1.4.1 // indirect
|
||||||
github.com/go-logr/stdr v1.2.2 // indirect
|
github.com/go-logr/stdr v1.2.2 // indirect
|
||||||
github.com/go-ole/go-ole v1.2.6 // indirect
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||||
@@ -197,6 +194,7 @@ require (
|
|||||||
github.com/golang/glog v1.2.0 // indirect
|
github.com/golang/glog v1.2.0 // indirect
|
||||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // 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.4 // indirect
|
||||||
|
github.com/golang/snappy v0.0.4 // indirect
|
||||||
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect
|
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect
|
||||||
github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e // indirect
|
github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e // indirect
|
||||||
github.com/golangci/misspell v0.4.1 // indirect
|
github.com/golangci/misspell v0.4.1 // indirect
|
||||||
@@ -229,16 +227,23 @@ require (
|
|||||||
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
||||||
github.com/hashicorp/go-cty-funcs v0.0.0-20230405223818-a090f58aa992 // indirect
|
github.com/hashicorp/go-cty-funcs v0.0.0-20230405223818-a090f58aa992 // indirect
|
||||||
github.com/hashicorp/go-hclog v1.5.0 // indirect
|
github.com/hashicorp/go-hclog v1.5.0 // indirect
|
||||||
|
github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
|
||||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||||
|
github.com/hashicorp/go-plugin v1.6.0 // indirect
|
||||||
github.com/hashicorp/go-retryablehttp v0.7.5 // indirect
|
github.com/hashicorp/go-retryablehttp v0.7.5 // indirect
|
||||||
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
|
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
|
||||||
github.com/hashicorp/go-secure-stdlib/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-secure-stdlib/strutil v0.1.2 // indirect
|
||||||
github.com/hashicorp/go-sockaddr v1.0.6 // 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/go-version v1.6.0 // indirect
|
||||||
|
github.com/hashicorp/golang-lru v0.5.4 // indirect
|
||||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||||
github.com/hashicorp/hcl/v2 v2.19.1 // indirect
|
github.com/hashicorp/hcl/v2 v2.19.1 // indirect
|
||||||
github.com/hashicorp/vault/api v1.12.0 // 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/gotextdiff v1.0.3 // indirect
|
||||||
github.com/iancoleman/strcase v0.2.0 // indirect
|
github.com/iancoleman/strcase v0.2.0 // indirect
|
||||||
github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd // indirect
|
github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd // indirect
|
||||||
@@ -289,6 +294,7 @@ require (
|
|||||||
github.com/mitchellh/copystructure v1.2.0 // indirect
|
github.com/mitchellh/copystructure v1.2.0 // indirect
|
||||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||||
github.com/mitchellh/go-ps v1.0.0 // indirect
|
github.com/mitchellh/go-ps v1.0.0 // indirect
|
||||||
|
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
|
||||||
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
|
||||||
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
||||||
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
||||||
@@ -317,6 +323,7 @@ require (
|
|||||||
github.com/nishanths/predeclared v0.2.2 // indirect
|
github.com/nishanths/predeclared v0.2.2 // indirect
|
||||||
github.com/nunnatsa/ginkgolinter v0.16.1 // indirect
|
github.com/nunnatsa/ginkgolinter v0.16.1 // indirect
|
||||||
github.com/nxadm/tail v1.4.11 // indirect
|
github.com/nxadm/tail v1.4.11 // indirect
|
||||||
|
github.com/oklog/run v1.1.0 // indirect
|
||||||
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
||||||
github.com/opencontainers/go-digest v1.0.0 // indirect
|
github.com/opencontainers/go-digest v1.0.0 // indirect
|
||||||
github.com/opencontainers/image-spec v1.1.0-rc5 // indirect
|
github.com/opencontainers/image-spec v1.1.0-rc5 // indirect
|
||||||
@@ -329,6 +336,7 @@ require (
|
|||||||
github.com/pgavlin/fx v0.1.6 // indirect
|
github.com/pgavlin/fx v0.1.6 // indirect
|
||||||
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect
|
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect
|
||||||
github.com/pgavlin/text v0.0.0-20230428184845-84c285f11d2f // indirect
|
github.com/pgavlin/text v0.0.0-20230428184845-84c285f11d2f // indirect
|
||||||
|
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
|
||||||
github.com/pjbgf/sha1cd v0.3.0 // indirect
|
github.com/pjbgf/sha1cd v0.3.0 // indirect
|
||||||
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
|
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
|
||||||
github.com/pkg/errors v0.9.1 // indirect
|
github.com/pkg/errors v0.9.1 // indirect
|
||||||
@@ -342,6 +350,7 @@ require (
|
|||||||
github.com/prometheus/procfs v0.12.0 // indirect
|
github.com/prometheus/procfs v0.12.0 // indirect
|
||||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
||||||
github.com/pulumi/esc v0.6.2 // indirect
|
github.com/pulumi/esc v0.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 v0.4.2 // indirect
|
||||||
github.com/quasilyte/gogrep v0.5.0 // indirect
|
github.com/quasilyte/gogrep v0.5.0 // indirect
|
||||||
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
|
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
|
||||||
@@ -361,7 +370,7 @@ require (
|
|||||||
github.com/securego/gosec/v2 v2.19.0 // indirect
|
github.com/securego/gosec/v2 v2.19.0 // indirect
|
||||||
github.com/segmentio/asm v1.1.3 // indirect
|
github.com/segmentio/asm v1.1.3 // indirect
|
||||||
github.com/segmentio/encoding v0.3.5 // indirect
|
github.com/segmentio/encoding v0.3.5 // indirect
|
||||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
|
github.com/sergi/go-diff v1.3.1 // indirect
|
||||||
github.com/serialx/hashring v0.0.0-20200727003509-22c0c7ab6b1b // indirect
|
github.com/serialx/hashring v0.0.0-20200727003509-22c0c7ab6b1b // indirect
|
||||||
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect
|
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect
|
||||||
github.com/shibumi/go-pathspec v1.3.0 // indirect
|
github.com/shibumi/go-pathspec v1.3.0 // indirect
|
||||||
@@ -371,7 +380,7 @@ require (
|
|||||||
github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 // indirect
|
github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 // indirect
|
||||||
github.com/sivchari/containedctx v1.0.3 // indirect
|
github.com/sivchari/containedctx v1.0.3 // indirect
|
||||||
github.com/sivchari/tenv v1.7.1 // indirect
|
github.com/sivchari/tenv v1.7.1 // indirect
|
||||||
github.com/skeema/knownhosts v1.2.2 // indirect
|
github.com/skeema/knownhosts v1.2.1 // indirect
|
||||||
github.com/sonatard/noctx v0.0.2 // indirect
|
github.com/sonatard/noctx v0.0.2 // indirect
|
||||||
github.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67 // indirect
|
github.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67 // indirect
|
||||||
github.com/sourcegraph/go-diff v0.7.0 // indirect
|
github.com/sourcegraph/go-diff v0.7.0 // indirect
|
||||||
@@ -441,16 +450,16 @@ require (
|
|||||||
go.uber.org/multierr v1.11.0 // indirect
|
go.uber.org/multierr v1.11.0 // indirect
|
||||||
go.uber.org/zap v1.27.0 // indirect
|
go.uber.org/zap v1.27.0 // indirect
|
||||||
gocloud.dev v0.37.0 // indirect
|
gocloud.dev v0.37.0 // indirect
|
||||||
gocloud.dev/secrets/hashivault v0.37.0 // indirect
|
gocloud.dev/secrets/hashivault v0.28.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect
|
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect
|
||||||
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f // indirect
|
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f // indirect
|
||||||
golang.org/x/mod v0.16.0 // indirect
|
golang.org/x/mod v0.16.0 // indirect
|
||||||
golang.org/x/net v0.25.0 // indirect
|
golang.org/x/net v0.23.0 // indirect
|
||||||
golang.org/x/oauth2 v0.18.0 // indirect
|
golang.org/x/oauth2 v0.18.0 // indirect
|
||||||
golang.org/x/sync v0.6.0 // indirect
|
golang.org/x/sync v0.6.0 // indirect
|
||||||
golang.org/x/sys v0.20.0 // indirect
|
golang.org/x/sys v0.18.0 // indirect
|
||||||
golang.org/x/term v0.20.0 // indirect
|
golang.org/x/term v0.18.0 // indirect
|
||||||
golang.org/x/text v0.15.0 // indirect
|
golang.org/x/text v0.14.0 // indirect
|
||||||
golang.org/x/time v0.5.0 // indirect
|
golang.org/x/time v0.5.0 // indirect
|
||||||
golang.org/x/tools v0.19.0 // indirect
|
golang.org/x/tools v0.19.0 // indirect
|
||||||
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
|
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
|
||||||
@@ -459,9 +468,10 @@ require (
|
|||||||
google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect
|
google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20240311173647-c811ad7063a7 // indirect
|
google.golang.org/genproto/googleapis/api v0.0.0-20240311173647-c811ad7063a7 // indirect
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 // indirect
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 // indirect
|
||||||
google.golang.org/grpc v1.63.2 // indirect
|
google.golang.org/grpc v1.62.1 // indirect
|
||||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||||
gopkg.in/ini.v1 v1.67.0 // indirect
|
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||||
|
gopkg.in/square/go-jose.v2 v2.6.0 // indirect
|
||||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
|
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
|
||||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -155,14 +155,14 @@ type CacheFromGitHubActions struct {
|
|||||||
|
|
||||||
// Annotate sets docstrings on CacheFromGitHubActions.
|
// Annotate sets docstrings on CacheFromGitHubActions.
|
||||||
func (c *CacheFromGitHubActions) Annotate(a infer.Annotator) {
|
func (c *CacheFromGitHubActions) Annotate(a infer.Annotator) {
|
||||||
a.SetDefault(&c.URL, "", "ACTIONS_CACHE_URL")
|
a.SetDefault(&c.URL, "", "ACTIONS_RUNTIME_URL")
|
||||||
a.SetDefault(&c.Token, "", "ACTIONS_RUNTIME_TOKEN")
|
a.SetDefault(&c.Token, "", "ACTIONS_RUNTIME_TOKEN")
|
||||||
a.SetDefault(&c.Scope, "", "buildkit")
|
a.SetDefault(&c.Scope, "", "buildkit")
|
||||||
|
|
||||||
a.Describe(&c.URL, dedent(`
|
a.Describe(&c.URL, dedent(`
|
||||||
The cache server URL to use for artifacts.
|
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
|
"crazy-max/ghaction-github-runtime" is recommended to expose this
|
||||||
environment variable to your jobs.
|
environment variable to your jobs.
|
||||||
`))
|
`))
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ func TestBuild(t *testing.T) {
|
|||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
tmpdir := t.TempDir()
|
tmpdir := t.TempDir()
|
||||||
Max := Max
|
max := Max
|
||||||
|
|
||||||
exampleContext := &BuildContext{Context: Context{Location: "../../examples/app"}}
|
exampleContext := &BuildContext{Context: Context{Location: "../../examples/app"}}
|
||||||
|
|
||||||
@@ -122,7 +122,7 @@ func TestBuild(t *testing.T) {
|
|||||||
Tags: []string{"cached"},
|
Tags: []string{"cached"},
|
||||||
CacheTo: []CacheTo{{Local: &CacheToLocal{
|
CacheTo: []CacheTo{{Local: &CacheToLocal{
|
||||||
Dest: filepath.Join(tmpdir, "cache"),
|
Dest: filepath.Join(tmpdir, "cache"),
|
||||||
CacheWithMode: CacheWithMode{Mode: &Max},
|
CacheWithMode: CacheWithMode{Mode: &max},
|
||||||
}}},
|
}}},
|
||||||
CacheFrom: []CacheFrom{{Local: &CacheFromLocal{
|
CacheFrom: []CacheFrom{{Local: &CacheFromLocal{
|
||||||
Src: filepath.Join(tmpdir, "cache"),
|
Src: filepath.Join(tmpdir, "cache"),
|
||||||
|
|||||||
@@ -26,14 +26,12 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"slices"
|
|
||||||
"syscall"
|
"syscall"
|
||||||
|
|
||||||
buildx "github.com/docker/buildx/build"
|
buildx "github.com/docker/buildx/build"
|
||||||
"github.com/moby/patternmatcher/ignorefile"
|
"github.com/moby/patternmatcher/ignorefile"
|
||||||
"github.com/spf13/afero"
|
"github.com/spf13/afero"
|
||||||
"github.com/tonistiigi/fsutil"
|
"github.com/tonistiigi/fsutil"
|
||||||
"golang.org/x/exp/maps"
|
|
||||||
|
|
||||||
"github.com/pulumi/pulumi-go-provider/infer"
|
"github.com/pulumi/pulumi-go-provider/infer"
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
|
"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
|
||||||
@@ -92,9 +90,7 @@ func (c *Context) Annotate(a infer.Annotator) {
|
|||||||
|
|
||||||
// validate returns a non-nil CheckError if the Context is invalid. The
|
// validate returns a non-nil CheckError if the Context is invalid. The
|
||||||
// returned Dockerfile may have defaults set to match Docker's default
|
// returned Dockerfile may have defaults set to match Docker's default
|
||||||
// handling. The returned Dockerfile should be validated separately. Non-nil
|
// handling. The returned Dockerfile should be validated separately.
|
||||||
// values are returned even in the case of errors to allow additional
|
|
||||||
// validation to be performed.
|
|
||||||
func (bc *BuildContext) validate(preview bool, d *Dockerfile) (*Dockerfile, *Context, error) {
|
func (bc *BuildContext) validate(preview bool, d *Dockerfile) (*Dockerfile, *Context, error) {
|
||||||
if d == nil {
|
if d == nil {
|
||||||
d = &Dockerfile{}
|
d = &Dockerfile{}
|
||||||
@@ -111,11 +107,6 @@ func (bc *BuildContext) validate(preview bool, d *Dockerfile) (*Dockerfile, *Con
|
|||||||
// a build later.
|
// a build later.
|
||||||
return d, c, nil
|
return d, c, nil
|
||||||
}
|
}
|
||||||
// If this isn't a preview but our location still isn't set, default it to
|
|
||||||
// the current directory.
|
|
||||||
if c.Location == "" {
|
|
||||||
c.Location = "."
|
|
||||||
}
|
|
||||||
|
|
||||||
if buildx.IsRemoteURL(c.Location) {
|
if buildx.IsRemoteURL(c.Location) {
|
||||||
// We assume remote URLs are always valid.
|
// We assume remote URLs are always valid.
|
||||||
@@ -234,11 +225,8 @@ func hashBuildContext(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hash any local named contexts. Sort keys for stable iteration order.
|
// Hash any local named contexts.
|
||||||
keys := maps.Keys(namedContexts)
|
for _, namedContext := range namedContexts {
|
||||||
slices.Sort(keys)
|
|
||||||
for _, key := range keys {
|
|
||||||
namedContext := namedContexts[key]
|
|
||||||
if isLocalDir(fs, namedContext) {
|
if isLocalDir(fs, namedContext) {
|
||||||
fs, err := rootFS(namedContext, excludes)
|
fs, err := rootFS(namedContext, excludes)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -33,69 +33,62 @@ func TestValidateContext(t *testing.T) {
|
|||||||
t.Parallel()
|
t.Parallel()
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
c *BuildContext
|
c Context
|
||||||
givenD Dockerfile
|
givenD Dockerfile
|
||||||
preview bool
|
preview bool
|
||||||
|
|
||||||
wantD *Dockerfile
|
wantD *Dockerfile
|
||||||
wantC *Context
|
|
||||||
wantErr string
|
wantErr string
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "relative",
|
name: "relative",
|
||||||
c: &BuildContext{Context: Context{
|
c: Context{
|
||||||
Location: "../internal/../internal/testdata/noop",
|
Location: "../internal/../internal/testdata/noop",
|
||||||
}},
|
},
|
||||||
wantD: &Dockerfile{
|
wantD: &Dockerfile{
|
||||||
Location: "../internal/testdata/noop/Dockerfile",
|
Location: "../internal/testdata/noop/Dockerfile",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "missing directory",
|
name: "missing directory",
|
||||||
c: &BuildContext{Context: Context{
|
c: Context{
|
||||||
Location: "/does/not/exist/",
|
Location: "/does/not/exist/",
|
||||||
}},
|
},
|
||||||
wantErr: "not a valid directory",
|
wantErr: "not a valid directory",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "missing default Dockerfile",
|
name: "missing default Dockerfile",
|
||||||
c: &BuildContext{Context: Context{
|
c: Context{
|
||||||
Location: "testdata",
|
Location: "testdata",
|
||||||
}},
|
},
|
||||||
wantD: &Dockerfile{Location: "testdata/Dockerfile"},
|
wantD: &Dockerfile{Location: "testdata/Dockerfile"},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "with explicit Dockerfile",
|
name: "with explicit Dockerfile",
|
||||||
c: &BuildContext{Context: Context{
|
c: Context{
|
||||||
Location: "testdata",
|
Location: "testdata",
|
||||||
}},
|
},
|
||||||
givenD: Dockerfile{
|
givenD: Dockerfile{
|
||||||
Location: "testdata/Dockerfile.invalid",
|
Location: "testdata/Dockerfile.invalid",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "default location",
|
name: "default location",
|
||||||
c: &BuildContext{Context: Context{}},
|
c: Context{},
|
||||||
wantD: &Dockerfile{Location: "Dockerfile"},
|
wantD: &Dockerfile{Location: "Dockerfile"},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "remote context doesn't default to local Dockerfile",
|
name: "remote context doesn't default to local Dockerfile",
|
||||||
c: &BuildContext{Context: Context{
|
c: Context{
|
||||||
Location: "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
|
Location: "https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile",
|
||||||
}},
|
},
|
||||||
wantD: &Dockerfile{},
|
wantD: &Dockerfile{},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "preview",
|
name: "preview",
|
||||||
c: &BuildContext{Context: Context{}},
|
c: Context{},
|
||||||
preview: true,
|
preview: true,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: "missing context defaults to current directory",
|
|
||||||
c: nil,
|
|
||||||
wantC: &Context{Location: "."},
|
|
||||||
wantD: &Dockerfile{Location: "Dockerfile"},
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
@@ -103,7 +96,8 @@ func TestValidateContext(t *testing.T) {
|
|||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
d, c, err := tt.c.validate(tt.preview, &tt.givenD)
|
bc := &BuildContext{Context: tt.c}
|
||||||
|
d, _, err := bc.validate(tt.preview, &tt.givenD)
|
||||||
|
|
||||||
if tt.wantErr == "" {
|
if tt.wantErr == "" {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
@@ -115,9 +109,6 @@ func TestValidateContext(t *testing.T) {
|
|||||||
assert.Equal(t, tt.wantD.Location, d.Location)
|
assert.Equal(t, tt.wantD.Location, d.Location)
|
||||||
assert.Equal(t, tt.wantD.Inline, d.Inline)
|
assert.Equal(t, tt.wantD.Inline, d.Inline)
|
||||||
}
|
}
|
||||||
if tt.wantC != nil {
|
|
||||||
assert.Equal(t, tt.wantC.Location, c.Location)
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,7 +110,6 @@ func (enc *ConfigEncoding) unmarshalOpts() plugin.MarshalOptions {
|
|||||||
return plugin.MarshalOptions{
|
return plugin.MarshalOptions{
|
||||||
Label: "config",
|
Label: "config",
|
||||||
KeepUnknowns: true,
|
KeepUnknowns: true,
|
||||||
KeepSecrets: true,
|
|
||||||
SkipNulls: true,
|
SkipNulls: true,
|
||||||
RejectAssets: true,
|
RejectAssets: true,
|
||||||
}
|
}
|
||||||
@@ -180,11 +179,12 @@ func (enc *ConfigEncoding) UnmarshalProperties(
|
|||||||
|
|
||||||
// And now unmarshal every field it into the map.
|
// And now unmarshal every field it into the map.
|
||||||
for _, key := range keys {
|
for _, key := range keys {
|
||||||
v, err := enc.unmarshalPropertyValue(key, props[key])
|
pk := resource.PropertyKey(key)
|
||||||
|
v, err := enc.unmarshalPropertyValue(pk, props[key])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return resource.PropertyMap{}, err
|
return nil, err
|
||||||
}
|
}
|
||||||
result[key] = v
|
result[pk] = v
|
||||||
}
|
}
|
||||||
|
|
||||||
return result, nil
|
return result, nil
|
||||||
|
|||||||
@@ -16,23 +16,23 @@ package deprecated
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"strconv"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"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/pkg/v3/codegen/schema"
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
|
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestConfigEncoding(t *testing.T) {
|
func TestConfigEncoding(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
type testCase struct {
|
type testCase struct {
|
||||||
ty schema.TypeSpec
|
ty schema.TypeSpec
|
||||||
given resource.PropertyValue
|
v *structpb.Value
|
||||||
want resource.PropertyValue
|
pv resource.PropertyValue
|
||||||
}
|
}
|
||||||
|
|
||||||
knownKey := "mykey"
|
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) {
|
checkUnmarshal := func(t *testing.T, tc testCase) {
|
||||||
enc := makeEnc(tc.ty)
|
enc := makeEnc(tc.ty)
|
||||||
key := resource.PropertyKey(knownKey)
|
pv, err := enc.unmarshalPropertyValue(resource.PropertyKey(knownKey), tc.v)
|
||||||
|
assert.NoError(t, err)
|
||||||
actual, err := enc.unmarshalPropertyValue(key, tc.given)
|
assert.NotNil(t, pv)
|
||||||
require.NoError(t, err)
|
assert.Equal(t, tc.pv, *pv)
|
||||||
assert.Equal(t, tc.want, actual)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
turnaroundTestCases := []testCase{
|
turnaroundTestCases := []testCase{
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "boolean"},
|
schema.TypeSpec{Type: "boolean"},
|
||||||
resource.NewPropertyValue(`true`),
|
makeValue(`true`),
|
||||||
resource.NewBoolProperty(true),
|
resource.NewBoolProperty(true),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "boolean"},
|
schema.TypeSpec{Type: "boolean"},
|
||||||
resource.NewPropertyValue(`false`),
|
makeValue(`false`),
|
||||||
resource.NewBoolProperty(false),
|
resource.NewBoolProperty(false),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "integer"},
|
schema.TypeSpec{Type: "integer"},
|
||||||
resource.NewPropertyValue(`0`),
|
makeValue(`0`),
|
||||||
resource.NewNumberProperty(0),
|
resource.NewNumberProperty(0),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "integer"},
|
schema.TypeSpec{Type: "integer"},
|
||||||
resource.NewPropertyValue(`42`),
|
makeValue(`42`),
|
||||||
resource.NewNumberProperty(42),
|
resource.NewNumberProperty(42),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "number"},
|
schema.TypeSpec{Type: "number"},
|
||||||
resource.NewPropertyValue(`0`),
|
makeValue(`0`),
|
||||||
resource.NewNumberProperty(0.0),
|
resource.NewNumberProperty(0.0),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "number"},
|
schema.TypeSpec{Type: "number"},
|
||||||
resource.NewPropertyValue(`42.5`),
|
makeValue(`42.5`),
|
||||||
resource.NewNumberProperty(42.5),
|
resource.NewNumberProperty(42.5),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "string"},
|
schema.TypeSpec{Type: "string"},
|
||||||
resource.NewStringProperty(""),
|
structpb.NewStringValue(""),
|
||||||
resource.NewStringProperty(""),
|
resource.NewStringProperty(""),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "string"},
|
schema.TypeSpec{Type: "string"},
|
||||||
resource.NewStringProperty("hello"),
|
structpb.NewStringValue("hello"),
|
||||||
resource.NewStringProperty("hello"),
|
resource.NewStringProperty("hello"),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "array"},
|
schema.TypeSpec{Type: "array"},
|
||||||
resource.NewPropertyValue(`[]`),
|
makeValue(`[]`),
|
||||||
resource.NewArrayProperty([]resource.PropertyValue{}),
|
resource.NewArrayProperty([]resource.PropertyValue{}),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "array"},
|
schema.TypeSpec{Type: "array"},
|
||||||
resource.NewPropertyValue(`["hello","there"]`),
|
makeValue(`["hello","there"]`),
|
||||||
resource.NewArrayProperty([]resource.PropertyValue{
|
resource.NewArrayProperty([]resource.PropertyValue{
|
||||||
resource.NewStringProperty("hello"),
|
resource.NewStringProperty("hello"),
|
||||||
resource.NewStringProperty("there"),
|
resource.NewStringProperty("there"),
|
||||||
@@ -114,12 +119,12 @@ func TestConfigEncoding(t *testing.T) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "object"},
|
schema.TypeSpec{Type: "object"},
|
||||||
resource.NewPropertyValue(`{}`),
|
makeValue(`{}`),
|
||||||
resource.NewObjectProperty(resource.PropertyMap{}),
|
resource.NewObjectProperty(resource.PropertyMap{}),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "object"},
|
schema.TypeSpec{Type: "object"},
|
||||||
resource.NewPropertyValue(`{"key":"value"}`),
|
makeValue(`{"key":"value"}`),
|
||||||
resource.NewObjectProperty(resource.PropertyMap{
|
resource.NewObjectProperty(resource.PropertyMap{
|
||||||
"key": resource.NewStringProperty("value"),
|
"key": resource.NewStringProperty("value"),
|
||||||
}),
|
}),
|
||||||
@@ -130,7 +135,7 @@ func TestConfigEncoding(t *testing.T) {
|
|||||||
for i, tc := range turnaroundTestCases {
|
for i, tc := range turnaroundTestCases {
|
||||||
tc := tc
|
tc := tc
|
||||||
|
|
||||||
t.Run(strconv.Itoa(i), func(t *testing.T) {
|
t.Run(fmt.Sprintf("UnmarshalPropertyValue/%d", i), func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
checkUnmarshal(t, tc)
|
checkUnmarshal(t, tc)
|
||||||
})
|
})
|
||||||
@@ -142,32 +147,32 @@ func TestConfigEncoding(t *testing.T) {
|
|||||||
cases := []testCase{
|
cases := []testCase{
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "boolean"},
|
schema.TypeSpec{Type: "boolean"},
|
||||||
resource.NewPropertyValue(""),
|
makeValue(""),
|
||||||
resource.NewBoolProperty(false),
|
resource.NewBoolProperty(false),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "number"},
|
schema.TypeSpec{Type: "number"},
|
||||||
resource.NewPropertyValue(""),
|
makeValue(""),
|
||||||
resource.NewNumberProperty(0.),
|
resource.NewNumberProperty(0.),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "integer"},
|
schema.TypeSpec{Type: "integer"},
|
||||||
resource.NewPropertyValue(""),
|
makeValue(""),
|
||||||
resource.NewNumberProperty(0),
|
resource.NewNumberProperty(0),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "string"},
|
schema.TypeSpec{Type: "string"},
|
||||||
resource.NewPropertyValue(""),
|
makeValue(""),
|
||||||
resource.NewStringProperty(""),
|
resource.NewStringProperty(""),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "object"},
|
schema.TypeSpec{Type: "object"},
|
||||||
resource.NewPropertyValue(""),
|
makeValue(""),
|
||||||
resource.NewObjectProperty(make(resource.PropertyMap)),
|
resource.NewObjectProperty(make(resource.PropertyMap)),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "array"},
|
schema.TypeSpec{Type: "array"},
|
||||||
resource.NewPropertyValue(""),
|
makeValue(""),
|
||||||
resource.NewArrayProperty([]resource.PropertyValue{}),
|
resource.NewArrayProperty([]resource.PropertyValue{}),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@@ -182,18 +187,18 @@ func TestConfigEncoding(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("computed", func(t *testing.T) {
|
t.Run("computed", func(t *testing.T) {
|
||||||
unk := resource.MakeComputed(resource.NewStringProperty(""))
|
unk := makeValue(plugin.UnknownStringValue)
|
||||||
|
|
||||||
for i, tc := range turnaroundTestCases {
|
for i, tc := range turnaroundTestCases {
|
||||||
tc := tc
|
tc := tc
|
||||||
|
|
||||||
t.Run(strconv.Itoa(i), func(t *testing.T) {
|
t.Run(fmt.Sprintf("UnmarshalPropertyValue/%d", i), func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
// Unknown sentinel unmarshals to a Computed with a type-appropriate zero value.
|
// Unknown sentinel unmarshals to a Computed with a type-appropriate zero value.
|
||||||
checkUnmarshal(t, testCase{
|
checkUnmarshal(t, testCase{
|
||||||
ty: tc.ty,
|
tc.ty,
|
||||||
given: unk,
|
unk,
|
||||||
want: resource.MakeComputed(makeEnc(tc.ty).zeroValue(tc.ty.Type)),
|
resource.MakeComputed(makeEnc(tc.ty).zeroValue(tc.ty.Type)),
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -210,30 +215,46 @@ func TestConfigEncoding(t *testing.T) {
|
|||||||
|
|
||||||
var secretCases []testCase
|
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 {
|
for _, tc := range turnaroundTestCases {
|
||||||
secretCases = append(secretCases, testCase{
|
secretCases = append(secretCases, testCase{
|
||||||
ty: tc.ty,
|
tc.ty,
|
||||||
given: resource.MakeSecret(tc.given),
|
pbSecret(tc.v),
|
||||||
want: resource.MakeSecret(tc.want),
|
resource.MakeSecret(tc.pv),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, tc := range secretCases {
|
for i, tc := range secretCases {
|
||||||
tc := tc
|
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()
|
t.Parallel()
|
||||||
|
|
||||||
|
// Unmarshallin will remove secrts, so the expected value needs to be modified.
|
||||||
|
tc.pv = tc.pv.SecretValue().Element
|
||||||
checkUnmarshal(t, tc)
|
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{
|
checkUnmarshal(t, testCase{
|
||||||
schema.TypeSpec{Type: "object"},
|
schema.TypeSpec{Type: "object"},
|
||||||
resource.MakeSecret(resource.NewPropertyValue(`{"key":"val"}`)),
|
pbSecret(makeValue(`{"key":"val"}`)),
|
||||||
resource.MakeSecret(resource.NewObjectProperty(resource.PropertyMap{
|
resource.NewObjectProperty(resource.PropertyMap{
|
||||||
"key": resource.NewStringProperty("val"),
|
"key": resource.NewStringProperty("val"),
|
||||||
})),
|
}),
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@@ -241,7 +262,7 @@ func TestConfigEncoding(t *testing.T) {
|
|||||||
regressUnmarshalTestCases := []testCase{
|
regressUnmarshalTestCases := []testCase{
|
||||||
{
|
{
|
||||||
schema.TypeSpec{Type: "array"},
|
schema.TypeSpec{Type: "array"},
|
||||||
resource.NewPropertyValue(`
|
makeValue(`
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"address": "somewhere.org",
|
"address": "somewhere.org",
|
||||||
@@ -255,7 +276,7 @@ func TestConfigEncoding(t *testing.T) {
|
|||||||
resource.NewArrayProperty([]resource.PropertyValue{
|
resource.NewArrayProperty([]resource.PropertyValue{
|
||||||
resource.NewObjectProperty(resource.PropertyMap{
|
resource.NewObjectProperty(resource.PropertyMap{
|
||||||
"address": resource.NewStringProperty("somewhere.org"),
|
"address": resource.NewStringProperty("somewhere.org"),
|
||||||
"password": resource.MakeSecret(resource.NewStringProperty("some-password")),
|
"password": resource.NewStringProperty("some-password"),
|
||||||
"username": resource.NewStringProperty("some-user"),
|
"username": resource.NewStringProperty("some-user"),
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
@@ -265,7 +286,7 @@ func TestConfigEncoding(t *testing.T) {
|
|||||||
t.Run("regress-unmarshal", func(t *testing.T) {
|
t.Run("regress-unmarshal", func(t *testing.T) {
|
||||||
for i, tc := range regressUnmarshalTestCases {
|
for i, tc := range regressUnmarshalTestCases {
|
||||||
tc := tc
|
tc := tc
|
||||||
t.Run(strconv.Itoa(i), func(t *testing.T) {
|
t.Run(fmt.Sprintf("UnmarshalPropertyValue/%d", i), func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
checkUnmarshal(t, tc)
|
checkUnmarshal(t, tc)
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -16,10 +16,8 @@ package internal
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/docker/buildx/builder"
|
"github.com/docker/buildx/builder"
|
||||||
"github.com/docker/buildx/store/storeutil"
|
"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)
|
txn, release, err := storeutil.GetStore(h.cli)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("getting store: %w", err)
|
return nil, err
|
||||||
}
|
}
|
||||||
defer release()
|
defer release()
|
||||||
|
|
||||||
@@ -88,7 +86,7 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
|||||||
builder.WithStore(txn),
|
builder.WithStore(txn),
|
||||||
)
|
)
|
||||||
if err != nil {
|
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
|
// 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 == "" {
|
if b.Driver == "" && opts.Builder == "" {
|
||||||
builders, err := builder.GetBuilders(h.cli, txn)
|
builders, err := builder.GetBuilders(h.cli, txn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("getting builders: %w", err)
|
return nil, err
|
||||||
}
|
}
|
||||||
nextbuilder:
|
nextbuilder:
|
||||||
for _, bb := range builders {
|
for _, bb := range builders {
|
||||||
@@ -130,7 +128,6 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if b.Driver == "" && opts.Builder == "" {
|
if b.Driver == "" && opts.Builder == "" {
|
||||||
|
|
||||||
// If we STILL don't have a builder, create a docker-container instance.
|
// If we STILL don't have a builder, create a docker-container instance.
|
||||||
b, err = builder.Create(
|
b, err = builder.Create(
|
||||||
context.Background(),
|
context.Background(),
|
||||||
@@ -139,12 +136,7 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
|||||||
builder.CreateOpts{Driver: "docker-container"},
|
builder.CreateOpts{Driver: "docker-container"},
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("creating builder: %w", err)
|
return nil, 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)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -153,7 +145,7 @@ func (h *host) builderFor(build Build) (*cachedBuilder, error) {
|
|||||||
// drivers that are unknown to us.
|
// drivers that are unknown to us.
|
||||||
nodes, err := b.LoadNodes(context.Background())
|
nodes, err := b.LoadNodes(context.Background())
|
||||||
if err != nil && !build.ShouldExec() {
|
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}
|
cached := &cachedBuilder{name: b.Name, driver: b.Driver, nodes: nodes}
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ func (ia *ImageArgs) Annotate(a infer.Annotator) {
|
|||||||
Equivalent to Docker's "--cache-to" flag.
|
Equivalent to Docker's "--cache-to" flag.
|
||||||
`))
|
`))
|
||||||
a.Describe(&ia.Context, dedent(`
|
a.Describe(&ia.Context, dedent(`
|
||||||
Build context settings. Defaults to the current directory.
|
Build context settings.
|
||||||
|
|
||||||
Equivalent to Docker's "PATH | URL | -" positional argument.
|
Equivalent to Docker's "PATH | URL | -" positional argument.
|
||||||
`))
|
`))
|
||||||
@@ -328,8 +328,8 @@ func (is *ImageState) Annotate(a infer.Annotator) {
|
|||||||
`))
|
`))
|
||||||
}
|
}
|
||||||
|
|
||||||
// client produces a CLI client scoped to this resource and layered on top of
|
// client produces a CLI client with scoped to this resource and layered on top
|
||||||
// any host-level credentials.
|
// of any host-level credentials.
|
||||||
func (i *Image) client(ctx context.Context, state ImageState, args ImageArgs) (Client, error) {
|
func (i *Image) client(ctx context.Context, state ImageState, args ImageArgs) (Client, error) {
|
||||||
cfg := infer.GetConfig[Config](ctx)
|
cfg := infer.GetConfig[Config](ctx)
|
||||||
|
|
||||||
@@ -546,10 +546,6 @@ func (ia *ImageArgs) validate(preview bool) (controllerapi.BuildOptions, error)
|
|||||||
multierr = errors.Join(multierr, err)
|
multierr = errors.Join(multierr, err)
|
||||||
}
|
}
|
||||||
ia.Dockerfile = dockerfile
|
ia.Dockerfile = dockerfile
|
||||||
// Set a default context if one wasn't provided.
|
|
||||||
if ia.Context == nil {
|
|
||||||
ia.Context = &BuildContext{Context: *context}
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := ia.Dockerfile.validate(preview, context); err != nil {
|
if err := ia.Dockerfile.validate(preview, context); err != nil {
|
||||||
multierr = errors.Join(multierr, err)
|
multierr = errors.Join(multierr, err)
|
||||||
|
|||||||
@@ -273,48 +273,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 {
|
for _, tt := range tests {
|
||||||
@@ -1003,14 +961,14 @@ func TestBuildable(t *testing.T) {
|
|||||||
|
|
||||||
func TestToBuild(t *testing.T) {
|
func TestToBuild(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
Max := Max
|
max := Max
|
||||||
|
|
||||||
ia := ImageArgs{
|
ia := ImageArgs{
|
||||||
Tags: []string{"foo", "bar"},
|
Tags: []string{"foo", "bar"},
|
||||||
Platforms: []Platform{"linux/amd64"},
|
Platforms: []Platform{"linux/amd64"},
|
||||||
Context: &BuildContext{Context: Context{Location: "testdata/noop"}},
|
Context: &BuildContext{Context: Context{Location: "testdata/noop"}},
|
||||||
CacheTo: []CacheTo{
|
CacheTo: []CacheTo{
|
||||||
{GHA: &CacheToGitHubActions{CacheWithMode: CacheWithMode{&Max}}},
|
{GHA: &CacheToGitHubActions{CacheWithMode: CacheWithMode{&max}}},
|
||||||
{
|
{
|
||||||
Registry: &CacheToRegistry{
|
Registry: &CacheToRegistry{
|
||||||
CacheFromRegistry: CacheFromRegistry{Ref: "docker.io/foo/bar"},
|
CacheFromRegistry: CacheFromRegistry{Ref: "docker.io/foo/bar"},
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ func (i *Index) Update(
|
|||||||
return state, nil
|
return state, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
provider.GetLogger(ctx).Debugf("creating index with tag %s and sources %s", input.Tag, input.Sources)
|
provider.GetLogger(ctx).Debug(fmt.Sprintf("creating index with tag %s and sources %s", input.Tag, input.Sources))
|
||||||
|
|
||||||
err = cli.ManifestCreate(ctx, input.Push, input.Tag, input.Sources...)
|
err = cli.ManifestCreate(ctx, input.Push, input.Tag, input.Sources...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -309,8 +309,8 @@ func (i *Index) Diff(
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// client produces a CLI client scoped to this resource and layered on top of
|
// client produces a CLI client with scoped to this resource and layered on top
|
||||||
// any host-level credentials.
|
// of any host-level credentials.
|
||||||
func (i *Index) client(
|
func (i *Index) client(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
_ IndexState,
|
_ IndexState,
|
||||||
|
|||||||
1
provider/internal/metadata.json
Normal file
1
provider/internal/metadata.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@@ -73,21 +73,19 @@ func NewBuildxProvider() provider.Provider {
|
|||||||
Keywords: []string{"docker", "buildkit", "buildx", "kind/native"},
|
Keywords: []string{"docker", "buildkit", "buildx", "kind/native"},
|
||||||
Description: "A Pulumi provider for building modern Docker images with buildx and BuildKit.",
|
Description: "A Pulumi provider for building modern Docker images with buildx and BuildKit.",
|
||||||
Homepage: "https://pulumi.com",
|
Homepage: "https://pulumi.com",
|
||||||
Publisher: "Pulumi",
|
Publisher: "pulumi",
|
||||||
License: "Apache-2.0",
|
License: "Apache-2.0",
|
||||||
Repository: "https://github.com/pulumi/pulumi-docker-build",
|
Repository: "https://github.com/pulumi/pulumi-docker-build",
|
||||||
LanguageMap: map[string]any{
|
LanguageMap: map[string]any{
|
||||||
"go": gogen.GoPackageInfo{
|
"go": gogen.GoPackageInfo{
|
||||||
// GenerateResourceContainerTypes: true,
|
// GenerateResourceContainerTypes: true,
|
||||||
RespectSchemaVersion: true,
|
Generics: gogen.GenericsSettingSideBySide,
|
||||||
Generics: gogen.GenericsSettingSideBySide,
|
|
||||||
PackageImportAliases: map[string]string{
|
PackageImportAliases: map[string]string{
|
||||||
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild": "dockerbuild",
|
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild": "dockerbuild",
|
||||||
},
|
},
|
||||||
ImportBasePath: "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild",
|
ImportBasePath: "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild",
|
||||||
},
|
},
|
||||||
"csharp": csgen.CSharpPackageInfo{
|
"csharp": csgen.CSharpPackageInfo{
|
||||||
RespectSchemaVersion: true,
|
|
||||||
PackageReferences: map[string]string{
|
PackageReferences: map[string]string{
|
||||||
"Pulumi": "3.*",
|
"Pulumi": "3.*",
|
||||||
},
|
},
|
||||||
@@ -102,13 +100,11 @@ func NewBuildxProvider() provider.Provider {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
"nodejs": tsgen.NodePackageInfo{
|
"nodejs": tsgen.NodePackageInfo{
|
||||||
RespectSchemaVersion: true,
|
|
||||||
Dependencies: map[string]string{
|
Dependencies: map[string]string{
|
||||||
"@pulumi/pulumi": "^3.0.0",
|
"@pulumi/pulumi": "^3.0.0",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"python": pygen.PackageInfo{
|
"python": pygen.PackageInfo{
|
||||||
RespectSchemaVersion: true,
|
|
||||||
PyProject: struct {
|
PyProject: struct {
|
||||||
Enabled bool `json:"enabled,omitempty"`
|
Enabled bool `json:"enabled,omitempty"`
|
||||||
}{Enabled: true},
|
}{Enabled: true},
|
||||||
|
|||||||
@@ -18,12 +18,13 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
|
||||||
"github.com/pulumi/pulumi-docker-build/provider/internal"
|
|
||||||
"github.com/pulumi/pulumi-docker-build/provider/internal/deprecated"
|
|
||||||
gp "github.com/pulumi/pulumi-go-provider"
|
gp "github.com/pulumi/pulumi-go-provider"
|
||||||
"github.com/pulumi/pulumi/pkg/v3/codegen/schema"
|
"github.com/pulumi/pulumi/pkg/v3/codegen/schema"
|
||||||
"github.com/pulumi/pulumi/pkg/v3/resource/provider"
|
"github.com/pulumi/pulumi/pkg/v3/resource/provider"
|
||||||
rpc "github.com/pulumi/pulumi/sdk/v3/proto/go"
|
rpc "github.com/pulumi/pulumi/sdk/v3/proto/go"
|
||||||
|
|
||||||
|
"github.com/pulumi/pulumi-docker-build/provider/internal"
|
||||||
|
"github.com/pulumi/pulumi-docker-build/provider/internal/deprecated"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Version is initialized by the Go linker to contain the semver of this build.
|
// Version is initialized by the Go linker to contain the semver of this build.
|
||||||
|
|||||||
@@ -24,10 +24,10 @@ import (
|
|||||||
emptypb "google.golang.org/protobuf/types/known/emptypb"
|
emptypb "google.golang.org/protobuf/types/known/emptypb"
|
||||||
"google.golang.org/protobuf/types/known/structpb"
|
"google.golang.org/protobuf/types/known/structpb"
|
||||||
|
|
||||||
"github.com/pulumi/pulumi-docker-build/provider/internal"
|
|
||||||
provider "github.com/pulumi/pulumi-go-provider"
|
provider "github.com/pulumi/pulumi-go-provider"
|
||||||
"github.com/pulumi/pulumi-go-provider/integration"
|
"github.com/pulumi/pulumi-go-provider/integration"
|
||||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin"
|
"github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin"
|
||||||
|
rpc "github.com/pulumi/pulumi/sdk/v3/proto/go"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestConfigure checks backwards-compatibility with SDKs that still send
|
// TestConfigure checks backwards-compatibility with SDKs that still send
|
||||||
@@ -37,19 +37,35 @@ import (
|
|||||||
func TestConfigure(t *testing.T) {
|
func TestConfigure(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
p := configurableProvider(internal.NewBuildxProvider())
|
p, err := New(nil)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
args, err := structpb.NewStruct(map[string]any{
|
args, err := structpb.NewStruct(map[string]any{
|
||||||
"registries": `[{"address": "docker.io"}]`,
|
"registries": `[{"address": "docker.io"}]`,
|
||||||
})
|
})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Ideally we would just call p.Configure directly, but we need the
|
||||||
|
// integration server to inject runtime info for us.
|
||||||
argsMap, err := plugin.UnmarshalProperties(args, plugin.MarshalOptions{})
|
argsMap, err := plugin.UnmarshalProperties(args, plugin.MarshalOptions{})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
s := integration.NewServer("docker-build", semver.Version{Major: 0}, provider.Provider{
|
||||||
s := integration.NewServer("docker-build", semver.Version{Major: 0}, p)
|
// Roundabout way to get the integration server to invoke our outermost
|
||||||
|
// Configure RPC endpoint.
|
||||||
|
Configure: func(ctx context.Context, req provider.ConfigureRequest) error {
|
||||||
|
args, err := plugin.MarshalProperties(req.Args, plugin.MarshalOptions{})
|
||||||
|
require.NoError(t, err)
|
||||||
|
_, err = p.Configure(ctx, &rpc.ConfigureRequest{
|
||||||
|
Variables: req.Variables,
|
||||||
|
Args: args,
|
||||||
|
})
|
||||||
|
return err
|
||||||
|
},
|
||||||
|
})
|
||||||
err = s.Configure(provider.ConfigureRequest{
|
err = s.Configure(provider.ConfigureRequest{
|
||||||
Args: argsMap,
|
Args: argsMap,
|
||||||
})
|
})
|
||||||
|
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
4
sdk/dotnet/Image.cs
generated
4
sdk/dotnet/Image.cs
generated
@@ -557,7 +557,7 @@ namespace Pulumi.DockerBuild
|
|||||||
public Output<ImmutableArray<Outputs.CacheTo>> CacheTo { get; private set; } = null!;
|
public Output<ImmutableArray<Outputs.CacheTo>> CacheTo { get; private set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Build context settings. Defaults to the current directory.
|
/// Build context settings.
|
||||||
///
|
///
|
||||||
/// Equivalent to Docker's `PATH | URL | -` positional argument.
|
/// Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -897,7 +897,7 @@ namespace Pulumi.DockerBuild
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Build context settings. Defaults to the current directory.
|
/// Build context settings.
|
||||||
///
|
///
|
||||||
/// Equivalent to Docker's `PATH | URL | -` positional argument.
|
/// Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
4
sdk/dotnet/Inputs/CacheFromGitHubActionsArgs.cs
generated
4
sdk/dotnet/Inputs/CacheFromGitHubActionsArgs.cs
generated
@@ -45,7 +45,7 @@ namespace Pulumi.DockerBuild.Inputs
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// The cache server URL to use for artifacts.
|
/// 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
|
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
/// environment variable to your jobs.
|
/// environment variable to your jobs.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -56,7 +56,7 @@ namespace Pulumi.DockerBuild.Inputs
|
|||||||
{
|
{
|
||||||
Scope = Utilities.GetEnv("buildkit") ?? "";
|
Scope = Utilities.GetEnv("buildkit") ?? "";
|
||||||
Token = Utilities.GetEnv("ACTIONS_RUNTIME_TOKEN") ?? "";
|
Token = Utilities.GetEnv("ACTIONS_RUNTIME_TOKEN") ?? "";
|
||||||
Url = Utilities.GetEnv("ACTIONS_CACHE_URL") ?? "";
|
Url = Utilities.GetEnv("ACTIONS_RUNTIME_URL") ?? "";
|
||||||
}
|
}
|
||||||
public static new CacheFromGitHubActionsArgs Empty => new CacheFromGitHubActionsArgs();
|
public static new CacheFromGitHubActionsArgs Empty => new CacheFromGitHubActionsArgs();
|
||||||
}
|
}
|
||||||
|
|||||||
4
sdk/dotnet/Inputs/CacheToGitHubActionsArgs.cs
generated
4
sdk/dotnet/Inputs/CacheToGitHubActionsArgs.cs
generated
@@ -57,7 +57,7 @@ namespace Pulumi.DockerBuild.Inputs
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// The cache server URL to use for artifacts.
|
/// 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
|
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
/// environment variable to your jobs.
|
/// environment variable to your jobs.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -70,7 +70,7 @@ namespace Pulumi.DockerBuild.Inputs
|
|||||||
Mode = Pulumi.DockerBuild.CacheMode.Min;
|
Mode = Pulumi.DockerBuild.CacheMode.Min;
|
||||||
Scope = Utilities.GetEnv("buildkit") ?? "";
|
Scope = Utilities.GetEnv("buildkit") ?? "";
|
||||||
Token = Utilities.GetEnv("ACTIONS_RUNTIME_TOKEN") ?? "";
|
Token = Utilities.GetEnv("ACTIONS_RUNTIME_TOKEN") ?? "";
|
||||||
Url = Utilities.GetEnv("ACTIONS_CACHE_URL") ?? "";
|
Url = Utilities.GetEnv("ACTIONS_RUNTIME_URL") ?? "";
|
||||||
}
|
}
|
||||||
public static new CacheToGitHubActionsArgs Empty => new CacheToGitHubActionsArgs();
|
public static new CacheToGitHubActionsArgs Empty => new CacheToGitHubActionsArgs();
|
||||||
}
|
}
|
||||||
|
|||||||
2
sdk/dotnet/Outputs/CacheFromGitHubActions.cs
generated
2
sdk/dotnet/Outputs/CacheFromGitHubActions.cs
generated
@@ -32,7 +32,7 @@ namespace Pulumi.DockerBuild.Outputs
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// The cache server URL to use for artifacts.
|
/// 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
|
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
/// environment variable to your jobs.
|
/// environment variable to your jobs.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
2
sdk/dotnet/Outputs/CacheToGitHubActions.cs
generated
2
sdk/dotnet/Outputs/CacheToGitHubActions.cs
generated
@@ -40,7 +40,7 @@ namespace Pulumi.DockerBuild.Outputs
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// The cache server URL to use for artifacts.
|
/// 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
|
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
/// environment variable to your jobs.
|
/// environment variable to your jobs.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
5
sdk/dotnet/Pulumi.DockerBuild.csproj
generated
5
sdk/dotnet/Pulumi.DockerBuild.csproj
generated
@@ -2,14 +2,13 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||||
<Authors>Pulumi</Authors>
|
<Authors>pulumi</Authors>
|
||||||
<Company>Pulumi</Company>
|
<Company>pulumi</Company>
|
||||||
<Description>A Pulumi provider for building modern Docker images with buildx and BuildKit.</Description>
|
<Description>A Pulumi provider for building modern Docker images with buildx and BuildKit.</Description>
|
||||||
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
|
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
|
||||||
<PackageProjectUrl>https://pulumi.com</PackageProjectUrl>
|
<PackageProjectUrl>https://pulumi.com</PackageProjectUrl>
|
||||||
<RepositoryUrl>https://github.com/pulumi/pulumi-docker-build</RepositoryUrl>
|
<RepositoryUrl>https://github.com/pulumi/pulumi-docker-build</RepositoryUrl>
|
||||||
<PackageIcon>logo.png</PackageIcon>
|
<PackageIcon>logo.png</PackageIcon>
|
||||||
<Version>0.1.0-alpha.1717073454</Version>
|
|
||||||
|
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
|
|||||||
3
sdk/dotnet/pulumi-plugin.json
generated
3
sdk/dotnet/pulumi-plugin.json
generated
@@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
"resource": true,
|
"resource": true,
|
||||||
"name": "docker-build",
|
"name": "docker-build"
|
||||||
"version": "0.1.0-alpha.1717073454"
|
|
||||||
}
|
}
|
||||||
|
|||||||
25
sdk/go/dockerbuild/go.mod
generated
25
sdk/go/dockerbuild/go.mod
generated
@@ -4,13 +4,13 @@ go 1.21.7
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/blang/semver v3.5.1+incompatible
|
github.com/blang/semver v3.5.1+incompatible
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.117.1-0.20240525040238-ee831fc5b644
|
github.com/pulumi/pulumi/sdk/v3 v3.113.3
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
dario.cat/mergo v1.0.0 // indirect
|
dario.cat/mergo v1.0.0 // indirect
|
||||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
github.com/Microsoft/go-winio v0.6.1 // 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/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
|
||||||
github.com/agext/levenshtein v1.2.3 // indirect
|
github.com/agext/levenshtein v1.2.3 // indirect
|
||||||
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
||||||
@@ -29,10 +29,11 @@ require (
|
|||||||
github.com/frankban/quicktest v1.14.6 // indirect
|
github.com/frankban/quicktest v1.14.6 // indirect
|
||||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
||||||
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
||||||
github.com/go-git/go-git/v5 v5.12.0 // indirect
|
github.com/go-git/go-git/v5 v5.11.0 // indirect
|
||||||
github.com/gogo/protobuf v1.3.2 // indirect
|
github.com/gogo/protobuf v1.3.2 // indirect
|
||||||
github.com/golang/glog v1.2.0 // indirect
|
github.com/golang/glog v1.2.0 // indirect
|
||||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||||
|
github.com/golang/protobuf v1.5.4 // indirect
|
||||||
github.com/google/uuid v1.6.0 // indirect
|
github.com/google/uuid v1.6.0 // indirect
|
||||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
||||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||||
@@ -65,12 +66,12 @@ require (
|
|||||||
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
github.com/rogpeppe/go-internal v1.12.0 // indirect
|
||||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
||||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
||||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
|
github.com/sergi/go-diff v1.3.1 // indirect
|
||||||
github.com/skeema/knownhosts v1.2.2 // indirect
|
github.com/skeema/knownhosts v1.2.1 // indirect
|
||||||
github.com/spf13/cast v1.5.0 // indirect
|
github.com/spf13/cast v1.5.0 // indirect
|
||||||
github.com/spf13/cobra v1.8.0 // indirect
|
github.com/spf13/cobra v1.8.0 // indirect
|
||||||
github.com/spf13/pflag v1.0.5 // indirect
|
github.com/spf13/pflag v1.0.5 // indirect
|
||||||
github.com/stretchr/objx v0.5.2 // indirect
|
github.com/stretchr/testify v1.9.0 // indirect
|
||||||
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
|
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
|
||||||
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect
|
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect
|
||||||
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
||||||
@@ -78,17 +79,17 @@ require (
|
|||||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||||
github.com/zclconf/go-cty v1.14.1 // indirect
|
github.com/zclconf/go-cty v1.14.1 // indirect
|
||||||
go.uber.org/atomic v1.10.0 // indirect
|
go.uber.org/atomic v1.10.0 // indirect
|
||||||
golang.org/x/crypto v0.23.0 // indirect
|
golang.org/x/crypto v0.21.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect
|
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect
|
||||||
golang.org/x/mod v0.16.0 // indirect
|
golang.org/x/mod v0.16.0 // indirect
|
||||||
golang.org/x/net v0.25.0 // indirect
|
golang.org/x/net v0.23.0 // indirect
|
||||||
golang.org/x/sync v0.6.0 // indirect
|
golang.org/x/sync v0.6.0 // indirect
|
||||||
golang.org/x/sys v0.20.0 // indirect
|
golang.org/x/sys v0.18.0 // indirect
|
||||||
golang.org/x/term v0.20.0 // indirect
|
golang.org/x/term v0.18.0 // indirect
|
||||||
golang.org/x/text v0.15.0 // indirect
|
golang.org/x/text v0.14.0 // indirect
|
||||||
golang.org/x/tools v0.19.0 // indirect
|
golang.org/x/tools v0.19.0 // indirect
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 // indirect
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 // indirect
|
||||||
google.golang.org/grpc v1.63.2 // indirect
|
google.golang.org/grpc v1.62.1 // indirect
|
||||||
google.golang.org/protobuf v1.33.0 // indirect
|
google.golang.org/protobuf v1.33.0 // indirect
|
||||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
|
|||||||
48
sdk/go/dockerbuild/go.sum
generated
48
sdk/go/dockerbuild/go.sum
generated
@@ -5,8 +5,8 @@ github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXY
|
|||||||
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
||||||
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
|
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
|
||||||
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
|
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 v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg=
|
||||||
github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
|
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
|
||||||
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY=
|
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/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA=
|
||||||
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
|
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
|
||||||
@@ -55,16 +55,16 @@ 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/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 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
||||||
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||||
github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE=
|
github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
|
||||||
github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8=
|
github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4=
|
||||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
|
||||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
|
||||||
github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
|
github.com/go-git/go-billy/v5 v5.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-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 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
|
||||||
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
|
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
|
||||||
github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys=
|
github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4=
|
||||||
github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY=
|
github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY=
|
||||||
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||||
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||||
@@ -154,8 +154,8 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435
|
|||||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
|
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
|
||||||
github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw=
|
github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw=
|
||||||
github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k=
|
github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k=
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.117.1-0.20240525040238-ee831fc5b644 h1:bnW+nsI2xj6F5IRcCqpxd+XO7jfj5UFOWaJ5/h3rfZc=
|
github.com/pulumi/pulumi/sdk/v3 v3.113.3 h1:ySNxoL+O9TtS9WiPa9SWu6mthJryryRzP0kyYaQlNaU=
|
||||||
github.com/pulumi/pulumi/sdk/v3 v3.117.1-0.20240525040238-ee831fc5b644/go.mod h1:kNea72+FQk82OjZ3yEP4dl6nbAl2ngE8PDBc0iFAaHg=
|
github.com/pulumi/pulumi/sdk/v3 v3.113.3/go.mod h1:JWSzKBoHd8rlncC1DhXLf7YdV+Bk/Qf+hSZOOQh0WwQ=
|
||||||
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||||
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
|
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
|
||||||
@@ -168,11 +168,11 @@ github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDj
|
|||||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs=
|
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs=
|
||||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
|
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
|
||||||
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
|
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
|
||||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
|
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
|
||||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
|
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
|
||||||
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||||
github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A=
|
github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ=
|
||||||
github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
|
github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
|
||||||
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
|
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
|
||||||
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
|
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
|
||||||
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
|
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
|
||||||
@@ -213,8 +213,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
|
|||||||
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||||
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
golang.org/x/crypto v0.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.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
||||||
golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
|
golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
|
||||||
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
|
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
|
||||||
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 h1:hNQpMuAJe5CtcUqCXaWga3FHu+kQvCqcsoVaQgSV60o=
|
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 h1:hNQpMuAJe5CtcUqCXaWga3FHu+kQvCqcsoVaQgSV60o=
|
||||||
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08=
|
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08=
|
||||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||||
@@ -236,8 +236,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
|
|||||||
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
|
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.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.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
||||||
golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
|
golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
|
||||||
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
|
golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
@@ -266,15 +266,15 @@ 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.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
|
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
|
||||||
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
golang.org/x/sys v0.18.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-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.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.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
||||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
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.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
||||||
golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
|
golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
|
||||||
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
|
golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
@@ -282,8 +282,8 @@ 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.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.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.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||||
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
|
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
||||||
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
@@ -300,8 +300,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
|
|||||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 h1:8EeVk1VKMD+GD/neyEHGmz7pFblqPjHoi+PGQIlLx2s=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-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/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.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk=
|
||||||
google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
|
google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE=
|
||||||
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
|
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
|
||||||
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
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 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
|||||||
8
sdk/go/dockerbuild/image.go
generated
8
sdk/go/dockerbuild/image.go
generated
@@ -582,7 +582,7 @@ type Image struct {
|
|||||||
//
|
//
|
||||||
// Equivalent to Docker's `--cache-to` flag.
|
// Equivalent to Docker's `--cache-to` flag.
|
||||||
CacheTo CacheToArrayOutput `pulumi:"cacheTo"`
|
CacheTo CacheToArrayOutput `pulumi:"cacheTo"`
|
||||||
// Build context settings. Defaults to the current directory.
|
// Build context settings.
|
||||||
//
|
//
|
||||||
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
Context BuildContextPtrOutput `pulumi:"context"`
|
Context BuildContextPtrOutput `pulumi:"context"`
|
||||||
@@ -804,7 +804,7 @@ type imageArgs struct {
|
|||||||
//
|
//
|
||||||
// Equivalent to Docker's `--cache-to` flag.
|
// Equivalent to Docker's `--cache-to` flag.
|
||||||
CacheTo []CacheTo `pulumi:"cacheTo"`
|
CacheTo []CacheTo `pulumi:"cacheTo"`
|
||||||
// Build context settings. Defaults to the current directory.
|
// Build context settings.
|
||||||
//
|
//
|
||||||
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
Context *BuildContext `pulumi:"context"`
|
Context *BuildContext `pulumi:"context"`
|
||||||
@@ -952,7 +952,7 @@ type ImageArgs struct {
|
|||||||
//
|
//
|
||||||
// Equivalent to Docker's `--cache-to` flag.
|
// Equivalent to Docker's `--cache-to` flag.
|
||||||
CacheTo CacheToArrayInput
|
CacheTo CacheToArrayInput
|
||||||
// Build context settings. Defaults to the current directory.
|
// Build context settings.
|
||||||
//
|
//
|
||||||
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
Context BuildContextPtrInput
|
Context BuildContextPtrInput
|
||||||
@@ -1165,7 +1165,7 @@ func (o ImageOutput) CacheTo() CacheToArrayOutput {
|
|||||||
return o.ApplyT(func(v *Image) CacheToArrayOutput { return v.CacheTo }).(CacheToArrayOutput)
|
return o.ApplyT(func(v *Image) CacheToArrayOutput { return v.CacheTo }).(CacheToArrayOutput)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build context settings. Defaults to the current directory.
|
// Build context settings.
|
||||||
//
|
//
|
||||||
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
func (o ImageOutput) Context() BuildContextPtrOutput {
|
func (o ImageOutput) Context() BuildContextPtrOutput {
|
||||||
|
|||||||
4
sdk/go/dockerbuild/internal/pulumiUtilities.go
generated
4
sdk/go/dockerbuild/internal/pulumiUtilities.go
generated
@@ -165,7 +165,7 @@ func callPlainInner(
|
|||||||
func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption {
|
func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption {
|
||||||
defaults := []pulumi.ResourceOption{}
|
defaults := []pulumi.ResourceOption{}
|
||||||
|
|
||||||
version := semver.MustParse("0.1.0-alpha.1717073454")
|
version := SdkVersion
|
||||||
if !version.Equals(semver.Version{}) {
|
if !version.Equals(semver.Version{}) {
|
||||||
defaults = append(defaults, pulumi.Version(version.String()))
|
defaults = append(defaults, pulumi.Version(version.String()))
|
||||||
}
|
}
|
||||||
@@ -176,7 +176,7 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio
|
|||||||
func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption {
|
func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption {
|
||||||
defaults := []pulumi.InvokeOption{}
|
defaults := []pulumi.InvokeOption{}
|
||||||
|
|
||||||
version := semver.MustParse("0.1.0-alpha.1717073454")
|
version := SdkVersion
|
||||||
if !version.Equals(semver.Version{}) {
|
if !version.Equals(semver.Version{}) {
|
||||||
defaults = append(defaults, pulumi.Version(version.String()))
|
defaults = append(defaults, pulumi.Version(version.String()))
|
||||||
}
|
}
|
||||||
|
|||||||
3
sdk/go/dockerbuild/pulumi-plugin.json
generated
3
sdk/go/dockerbuild/pulumi-plugin.json
generated
@@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
"resource": true,
|
"resource": true,
|
||||||
"name": "docker-build",
|
"name": "docker-build"
|
||||||
"version": "0.1.0-alpha.1717073454"
|
|
||||||
}
|
}
|
||||||
|
|||||||
24
sdk/go/dockerbuild/pulumiTypes.go
generated
24
sdk/go/dockerbuild/pulumiTypes.go
generated
@@ -849,7 +849,7 @@ type CacheFromGitHubActions struct {
|
|||||||
Token *string `pulumi:"token"`
|
Token *string `pulumi:"token"`
|
||||||
// The cache server URL to use for artifacts.
|
// 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
|
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
// environment variable to your jobs.
|
// environment variable to your jobs.
|
||||||
Url *string `pulumi:"url"`
|
Url *string `pulumi:"url"`
|
||||||
@@ -874,7 +874,7 @@ func (val *CacheFromGitHubActions) Defaults() *CacheFromGitHubActions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if tmp.Url == nil {
|
if tmp.Url == nil {
|
||||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_URL"); d != nil {
|
||||||
url_ := d.(string)
|
url_ := d.(string)
|
||||||
tmp.Url = &url_
|
tmp.Url = &url_
|
||||||
}
|
}
|
||||||
@@ -908,7 +908,7 @@ type CacheFromGitHubActionsArgs struct {
|
|||||||
Token pulumi.StringPtrInput `pulumi:"token"`
|
Token pulumi.StringPtrInput `pulumi:"token"`
|
||||||
// The cache server URL to use for artifacts.
|
// 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
|
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
// environment variable to your jobs.
|
// environment variable to your jobs.
|
||||||
Url pulumi.StringPtrInput `pulumi:"url"`
|
Url pulumi.StringPtrInput `pulumi:"url"`
|
||||||
@@ -931,7 +931,7 @@ func (val *CacheFromGitHubActionsArgs) Defaults() *CacheFromGitHubActionsArgs {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if tmp.Url == nil {
|
if tmp.Url == nil {
|
||||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_URL"); d != nil {
|
||||||
tmp.Url = pulumi.StringPtr(d.(string))
|
tmp.Url = pulumi.StringPtr(d.(string))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1052,7 +1052,7 @@ func (o CacheFromGitHubActionsOutput) Token() pulumi.StringPtrOutput {
|
|||||||
|
|
||||||
// The cache server URL to use for artifacts.
|
// 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
|
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
// environment variable to your jobs.
|
// environment variable to your jobs.
|
||||||
func (o CacheFromGitHubActionsOutput) Url() pulumi.StringPtrOutput {
|
func (o CacheFromGitHubActionsOutput) Url() pulumi.StringPtrOutput {
|
||||||
@@ -1119,7 +1119,7 @@ func (o CacheFromGitHubActionsPtrOutput) Token() pulumi.StringPtrOutput {
|
|||||||
|
|
||||||
// The cache server URL to use for artifacts.
|
// 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
|
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
// environment variable to your jobs.
|
// environment variable to your jobs.
|
||||||
func (o CacheFromGitHubActionsPtrOutput) Url() pulumi.StringPtrOutput {
|
func (o CacheFromGitHubActionsPtrOutput) Url() pulumi.StringPtrOutput {
|
||||||
@@ -2384,7 +2384,7 @@ type CacheToGitHubActions struct {
|
|||||||
Token *string `pulumi:"token"`
|
Token *string `pulumi:"token"`
|
||||||
// The cache server URL to use for artifacts.
|
// 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
|
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
// environment variable to your jobs.
|
// environment variable to your jobs.
|
||||||
Url *string `pulumi:"url"`
|
Url *string `pulumi:"url"`
|
||||||
@@ -2417,7 +2417,7 @@ func (val *CacheToGitHubActions) Defaults() *CacheToGitHubActions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if tmp.Url == nil {
|
if tmp.Url == nil {
|
||||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_URL"); d != nil {
|
||||||
url_ := d.(string)
|
url_ := d.(string)
|
||||||
tmp.Url = &url_
|
tmp.Url = &url_
|
||||||
}
|
}
|
||||||
@@ -2455,7 +2455,7 @@ type CacheToGitHubActionsArgs struct {
|
|||||||
Token pulumi.StringPtrInput `pulumi:"token"`
|
Token pulumi.StringPtrInput `pulumi:"token"`
|
||||||
// The cache server URL to use for artifacts.
|
// 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
|
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
// environment variable to your jobs.
|
// environment variable to your jobs.
|
||||||
Url pulumi.StringPtrInput `pulumi:"url"`
|
Url pulumi.StringPtrInput `pulumi:"url"`
|
||||||
@@ -2484,7 +2484,7 @@ func (val *CacheToGitHubActionsArgs) Defaults() *CacheToGitHubActionsArgs {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if tmp.Url == nil {
|
if tmp.Url == nil {
|
||||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_URL"); d != nil {
|
||||||
tmp.Url = pulumi.StringPtr(d.(string))
|
tmp.Url = pulumi.StringPtr(d.(string))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2615,7 +2615,7 @@ func (o CacheToGitHubActionsOutput) Token() pulumi.StringPtrOutput {
|
|||||||
|
|
||||||
// The cache server URL to use for artifacts.
|
// 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
|
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
// environment variable to your jobs.
|
// environment variable to your jobs.
|
||||||
func (o CacheToGitHubActionsOutput) Url() pulumi.StringPtrOutput {
|
func (o CacheToGitHubActionsOutput) Url() pulumi.StringPtrOutput {
|
||||||
@@ -2702,7 +2702,7 @@ func (o CacheToGitHubActionsPtrOutput) Token() pulumi.StringPtrOutput {
|
|||||||
|
|
||||||
// The cache server URL to use for artifacts.
|
// 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
|
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
// environment variable to your jobs.
|
// environment variable to your jobs.
|
||||||
func (o CacheToGitHubActionsPtrOutput) Url() pulumi.StringPtrOutput {
|
func (o CacheToGitHubActionsPtrOutput) Url() pulumi.StringPtrOutput {
|
||||||
|
|||||||
8
sdk/go/dockerbuild/x/image.go
generated
8
sdk/go/dockerbuild/x/image.go
generated
@@ -582,7 +582,7 @@ type Image struct {
|
|||||||
//
|
//
|
||||||
// Equivalent to Docker's `--cache-to` flag.
|
// Equivalent to Docker's `--cache-to` flag.
|
||||||
CacheTo pulumix.GArrayOutput[CacheTo, CacheToOutput] `pulumi:"cacheTo"`
|
CacheTo pulumix.GArrayOutput[CacheTo, CacheToOutput] `pulumi:"cacheTo"`
|
||||||
// Build context settings. Defaults to the current directory.
|
// Build context settings.
|
||||||
//
|
//
|
||||||
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
Context pulumix.GPtrOutput[BuildContext, BuildContextOutput] `pulumi:"context"`
|
Context pulumix.GPtrOutput[BuildContext, BuildContextOutput] `pulumi:"context"`
|
||||||
@@ -804,7 +804,7 @@ type imageArgs struct {
|
|||||||
//
|
//
|
||||||
// Equivalent to Docker's `--cache-to` flag.
|
// Equivalent to Docker's `--cache-to` flag.
|
||||||
CacheTo []CacheTo `pulumi:"cacheTo"`
|
CacheTo []CacheTo `pulumi:"cacheTo"`
|
||||||
// Build context settings. Defaults to the current directory.
|
// Build context settings.
|
||||||
//
|
//
|
||||||
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
Context *BuildContext `pulumi:"context"`
|
Context *BuildContext `pulumi:"context"`
|
||||||
@@ -952,7 +952,7 @@ type ImageArgs struct {
|
|||||||
//
|
//
|
||||||
// Equivalent to Docker's `--cache-to` flag.
|
// Equivalent to Docker's `--cache-to` flag.
|
||||||
CacheTo pulumix.Input[[]*CacheToArgs]
|
CacheTo pulumix.Input[[]*CacheToArgs]
|
||||||
// Build context settings. Defaults to the current directory.
|
// Build context settings.
|
||||||
//
|
//
|
||||||
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
Context pulumix.Input[*BuildContextArgs]
|
Context pulumix.Input[*BuildContextArgs]
|
||||||
@@ -1151,7 +1151,7 @@ func (o ImageOutput) CacheTo() pulumix.GArrayOutput[CacheTo, CacheToOutput] {
|
|||||||
return pulumix.GArrayOutput[CacheTo, CacheToOutput]{OutputState: unwrapped.OutputState}
|
return pulumix.GArrayOutput[CacheTo, CacheToOutput]{OutputState: unwrapped.OutputState}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build context settings. Defaults to the current directory.
|
// Build context settings.
|
||||||
//
|
//
|
||||||
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
// Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
func (o ImageOutput) Context() pulumix.GPtrOutput[BuildContext, BuildContextOutput] {
|
func (o ImageOutput) Context() pulumix.GPtrOutput[BuildContext, BuildContextOutput] {
|
||||||
|
|||||||
20
sdk/go/dockerbuild/x/pulumiTypes.go
generated
20
sdk/go/dockerbuild/x/pulumiTypes.go
generated
@@ -408,7 +408,7 @@ type CacheFromGitHubActions struct {
|
|||||||
Token *string `pulumi:"token"`
|
Token *string `pulumi:"token"`
|
||||||
// The cache server URL to use for artifacts.
|
// 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
|
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
// environment variable to your jobs.
|
// environment variable to your jobs.
|
||||||
Url *string `pulumi:"url"`
|
Url *string `pulumi:"url"`
|
||||||
@@ -433,7 +433,7 @@ func (val *CacheFromGitHubActions) Defaults() *CacheFromGitHubActions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if tmp.Url == nil {
|
if tmp.Url == nil {
|
||||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_URL"); d != nil {
|
||||||
url_ := d.(string)
|
url_ := d.(string)
|
||||||
tmp.Url = &url_
|
tmp.Url = &url_
|
||||||
}
|
}
|
||||||
@@ -456,7 +456,7 @@ type CacheFromGitHubActionsArgs struct {
|
|||||||
Token pulumix.Input[*string] `pulumi:"token"`
|
Token pulumix.Input[*string] `pulumi:"token"`
|
||||||
// The cache server URL to use for artifacts.
|
// 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
|
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
// environment variable to your jobs.
|
// environment variable to your jobs.
|
||||||
Url pulumix.Input[*string] `pulumi:"url"`
|
Url pulumix.Input[*string] `pulumi:"url"`
|
||||||
@@ -479,7 +479,7 @@ func (val *CacheFromGitHubActionsArgs) Defaults() *CacheFromGitHubActionsArgs {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if tmp.Url == nil {
|
if tmp.Url == nil {
|
||||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_URL"); d != nil {
|
||||||
tmp.Url = pulumix.Ptr(d.(string))
|
tmp.Url = pulumix.Ptr(d.(string))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -541,7 +541,7 @@ func (o CacheFromGitHubActionsOutput) Token() pulumix.Output[*string] {
|
|||||||
|
|
||||||
// The cache server URL to use for artifacts.
|
// 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
|
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
// environment variable to your jobs.
|
// environment variable to your jobs.
|
||||||
func (o CacheFromGitHubActionsOutput) Url() pulumix.Output[*string] {
|
func (o CacheFromGitHubActionsOutput) Url() pulumix.Output[*string] {
|
||||||
@@ -1157,7 +1157,7 @@ type CacheToGitHubActions struct {
|
|||||||
Token *string `pulumi:"token"`
|
Token *string `pulumi:"token"`
|
||||||
// The cache server URL to use for artifacts.
|
// 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
|
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
// environment variable to your jobs.
|
// environment variable to your jobs.
|
||||||
Url *string `pulumi:"url"`
|
Url *string `pulumi:"url"`
|
||||||
@@ -1190,7 +1190,7 @@ func (val *CacheToGitHubActions) Defaults() *CacheToGitHubActions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if tmp.Url == nil {
|
if tmp.Url == nil {
|
||||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_URL"); d != nil {
|
||||||
url_ := d.(string)
|
url_ := d.(string)
|
||||||
tmp.Url = &url_
|
tmp.Url = &url_
|
||||||
}
|
}
|
||||||
@@ -1217,7 +1217,7 @@ type CacheToGitHubActionsArgs struct {
|
|||||||
Token pulumix.Input[*string] `pulumi:"token"`
|
Token pulumix.Input[*string] `pulumi:"token"`
|
||||||
// The cache server URL to use for artifacts.
|
// 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
|
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
// environment variable to your jobs.
|
// environment variable to your jobs.
|
||||||
Url pulumix.Input[*string] `pulumi:"url"`
|
Url pulumix.Input[*string] `pulumi:"url"`
|
||||||
@@ -1246,7 +1246,7 @@ func (val *CacheToGitHubActionsArgs) Defaults() *CacheToGitHubActionsArgs {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if tmp.Url == nil {
|
if tmp.Url == nil {
|
||||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_URL"); d != nil {
|
||||||
tmp.Url = pulumix.Ptr(d.(string))
|
tmp.Url = pulumix.Ptr(d.(string))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1318,7 +1318,7 @@ func (o CacheToGitHubActionsOutput) Token() pulumix.Output[*string] {
|
|||||||
|
|
||||||
// The cache server URL to use for artifacts.
|
// 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
|
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
// environment variable to your jobs.
|
// environment variable to your jobs.
|
||||||
func (o CacheToGitHubActionsOutput) Url() pulumix.Output[*string] {
|
func (o CacheToGitHubActionsOutput) Url() pulumix.Output[*string] {
|
||||||
|
|||||||
174
sdk/java/src/main/java/com/pulumi/dockerbuild/Image.java
generated
174
sdk/java/src/main/java/com/pulumi/dockerbuild/Image.java
generated
@@ -130,8 +130,7 @@ import javax.annotation.Nullable;
|
|||||||
*
|
*
|
||||||
* ## Example Usage
|
* ## Example Usage
|
||||||
* ### Push to AWS ECR with caching
|
* ### Push to AWS ECR with caching
|
||||||
* <pre>
|
* ```java
|
||||||
* {@code
|
|
||||||
* package generated_program;
|
* package generated_program;
|
||||||
*
|
*
|
||||||
* import com.pulumi.Context;
|
* import com.pulumi.Context;
|
||||||
@@ -161,45 +160,43 @@ import javax.annotation.Nullable;
|
|||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* public static void stack(Context ctx) {
|
* public static void stack(Context ctx) {
|
||||||
* var ecrRepository = new Repository("ecrRepository");
|
* var ecrRepository = new Repository("ecrRepository");
|
||||||
*
|
*
|
||||||
* final var authToken = EcrFunctions.getAuthorizationToken(GetAuthorizationTokenArgs.builder()
|
* final var authToken = EcrFunctions.getAuthorizationToken(GetAuthorizationTokenArgs.builder()
|
||||||
* .registryId(ecrRepository.registryId())
|
* .registryId(ecrRepository.registryId())
|
||||||
* .build());
|
* .build());
|
||||||
*
|
*
|
||||||
* var myImage = new Image("myImage", ImageArgs.builder()
|
* var myImage = new Image("myImage", ImageArgs.builder()
|
||||||
* .cacheFrom(CacheFromArgs.builder()
|
* .cacheFrom(CacheFromArgs.builder()
|
||||||
* .registry(CacheFromRegistryArgs.builder()
|
* .registry(CacheFromRegistryArgs.builder()
|
||||||
* .ref(ecrRepository.repositoryUrl().applyValue(repositoryUrl -> String.format("%s:cache", repositoryUrl)))
|
* .ref(ecrRepository.repositoryUrl().applyValue(repositoryUrl -> String.format("%s:cache", repositoryUrl)))
|
||||||
* .build())
|
* .build())
|
||||||
* .build())
|
* .build())
|
||||||
* .cacheTo(CacheToArgs.builder()
|
* .cacheTo(CacheToArgs.builder()
|
||||||
* .registry(CacheToRegistryArgs.builder()
|
* .registry(CacheToRegistryArgs.builder()
|
||||||
* .imageManifest(true)
|
* .imageManifest(true)
|
||||||
* .ociMediaTypes(true)
|
* .ociMediaTypes(true)
|
||||||
* .ref(ecrRepository.repositoryUrl().applyValue(repositoryUrl -> String.format("%s:cache", repositoryUrl)))
|
* .ref(ecrRepository.repositoryUrl().applyValue(repositoryUrl -> String.format("%s:cache", repositoryUrl)))
|
||||||
* .build())
|
* .build())
|
||||||
* .build())
|
* .build())
|
||||||
* .context(BuildContextArgs.builder()
|
* .context(BuildContextArgs.builder()
|
||||||
* .location("./app")
|
* .location("./app")
|
||||||
* .build())
|
* .build())
|
||||||
* .push(true)
|
* .push(true)
|
||||||
* .registries(RegistryArgs.builder()
|
* .registries(RegistryArgs.builder()
|
||||||
* .address(ecrRepository.repositoryUrl())
|
* .address(ecrRepository.repositoryUrl())
|
||||||
* .password(authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult).applyValue(authToken -> authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult.password())))
|
* .password(authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult).applyValue(authToken -> authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult.password())))
|
||||||
* .username(authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult).applyValue(authToken -> authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult.userName())))
|
* .username(authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult).applyValue(authToken -> authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult.userName())))
|
||||||
* .build())
|
* .build())
|
||||||
* .tags(ecrRepository.repositoryUrl().applyValue(repositoryUrl -> String.format("%s:latest", repositoryUrl)))
|
* .tags(ecrRepository.repositoryUrl().applyValue(repositoryUrl -> String.format("%s:latest", repositoryUrl)))
|
||||||
* .build());
|
* .build());
|
||||||
*
|
*
|
||||||
* ctx.export("ref", myImage.ref());
|
* ctx.export("ref", myImage.ref());
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* }
|
* ```
|
||||||
* </pre>
|
|
||||||
* ### Multi-platform image
|
* ### Multi-platform image
|
||||||
* <pre>
|
* ```java
|
||||||
* {@code
|
|
||||||
* package generated_program;
|
* package generated_program;
|
||||||
*
|
*
|
||||||
* import com.pulumi.Context;
|
* import com.pulumi.Context;
|
||||||
@@ -221,23 +218,21 @@ import javax.annotation.Nullable;
|
|||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* public static void stack(Context ctx) {
|
* public static void stack(Context ctx) {
|
||||||
* var image = new Image("image", ImageArgs.builder()
|
* var image = new Image("image", ImageArgs.builder()
|
||||||
* .context(BuildContextArgs.builder()
|
* .context(BuildContextArgs.builder()
|
||||||
* .location("app")
|
* .location("app")
|
||||||
* .build())
|
* .build())
|
||||||
* .platforms(
|
* .platforms(
|
||||||
* "plan9/amd64",
|
* "plan9/amd64",
|
||||||
* "plan9/386")
|
* "plan9/386")
|
||||||
* .push(false)
|
* .push(false)
|
||||||
* .build());
|
* .build());
|
||||||
*
|
*
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* }
|
* ```
|
||||||
* </pre>
|
|
||||||
* ### Registry export
|
* ### Registry export
|
||||||
* <pre>
|
* ```java
|
||||||
* {@code
|
|
||||||
* package generated_program;
|
* package generated_program;
|
||||||
*
|
*
|
||||||
* import com.pulumi.Context;
|
* import com.pulumi.Context;
|
||||||
@@ -260,27 +255,25 @@ import javax.annotation.Nullable;
|
|||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* public static void stack(Context ctx) {
|
* public static void stack(Context ctx) {
|
||||||
* var image = new Image("image", ImageArgs.builder()
|
* var image = new Image("image", ImageArgs.builder()
|
||||||
* .context(BuildContextArgs.builder()
|
* .context(BuildContextArgs.builder()
|
||||||
* .location("app")
|
* .location("app")
|
||||||
* .build())
|
* .build())
|
||||||
* .push(true)
|
* .push(true)
|
||||||
* .registries(RegistryArgs.builder()
|
* .registries(RegistryArgs.builder()
|
||||||
* .address("docker.io")
|
* .address("docker.io")
|
||||||
* .password(dockerHubPassword)
|
* .password(dockerHubPassword)
|
||||||
* .username("pulumibot")
|
* .username("pulumibot")
|
||||||
* .build())
|
* .build())
|
||||||
* .tags("docker.io/pulumi/pulumi:3.107.0")
|
* .tags("docker.io/pulumi/pulumi:3.107.0")
|
||||||
* .build());
|
* .build());
|
||||||
*
|
*
|
||||||
* ctx.export("ref", myImage.ref());
|
* ctx.export("ref", myImage.ref());
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* }
|
* ```
|
||||||
* </pre>
|
|
||||||
* ### Caching
|
* ### Caching
|
||||||
* <pre>
|
* ```java
|
||||||
* {@code
|
|
||||||
* package generated_program;
|
* package generated_program;
|
||||||
*
|
*
|
||||||
* import com.pulumi.Context;
|
* import com.pulumi.Context;
|
||||||
@@ -306,31 +299,29 @@ import javax.annotation.Nullable;
|
|||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* public static void stack(Context ctx) {
|
* public static void stack(Context ctx) {
|
||||||
* var image = new Image("image", ImageArgs.builder()
|
* var image = new Image("image", ImageArgs.builder()
|
||||||
* .cacheFrom(CacheFromArgs.builder()
|
* .cacheFrom(CacheFromArgs.builder()
|
||||||
* .local(CacheFromLocalArgs.builder()
|
* .local(CacheFromLocalArgs.builder()
|
||||||
* .src("tmp/cache")
|
* .src("tmp/cache")
|
||||||
* .build())
|
* .build())
|
||||||
* .build())
|
* .build())
|
||||||
* .cacheTo(CacheToArgs.builder()
|
* .cacheTo(CacheToArgs.builder()
|
||||||
* .local(CacheToLocalArgs.builder()
|
* .local(CacheToLocalArgs.builder()
|
||||||
* .dest("tmp/cache")
|
* .dest("tmp/cache")
|
||||||
* .mode("max")
|
* .mode("max")
|
||||||
* .build())
|
* .build())
|
||||||
* .build())
|
* .build())
|
||||||
* .context(BuildContextArgs.builder()
|
* .context(BuildContextArgs.builder()
|
||||||
* .location("app")
|
* .location("app")
|
||||||
* .build())
|
* .build())
|
||||||
* .push(false)
|
* .push(false)
|
||||||
* .build());
|
* .build());
|
||||||
*
|
*
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* }
|
* ```
|
||||||
* </pre>
|
|
||||||
* ### Docker Build Cloud
|
* ### Docker Build Cloud
|
||||||
* <pre>
|
* ```java
|
||||||
* {@code
|
|
||||||
* package generated_program;
|
* package generated_program;
|
||||||
*
|
*
|
||||||
* import com.pulumi.Context;
|
* import com.pulumi.Context;
|
||||||
@@ -353,12 +344,12 @@ import javax.annotation.Nullable;
|
|||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* public static void stack(Context ctx) {
|
* public static void stack(Context ctx) {
|
||||||
* var image = new Image("image", ImageArgs.builder()
|
* var image = new Image("image", ImageArgs.builder()
|
||||||
* .builder(BuilderConfigArgs.builder()
|
* .builder(BuilderConfigArgs.builder()
|
||||||
* .name("cloud-builder-name")
|
* .name("cloud-builder-name")
|
||||||
* .build())
|
* .build())
|
||||||
* .context(BuildContextArgs.builder()
|
* .context(BuildContextArgs.builder()
|
||||||
* .location("app")
|
* .location("app")
|
||||||
* .build())
|
* .build())
|
||||||
* .exec(true)
|
* .exec(true)
|
||||||
* .push(false)
|
* .push(false)
|
||||||
@@ -366,11 +357,9 @@ import javax.annotation.Nullable;
|
|||||||
*
|
*
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* }
|
* ```
|
||||||
* </pre>
|
|
||||||
* ### Build arguments
|
* ### Build arguments
|
||||||
* <pre>
|
* ```java
|
||||||
* {@code
|
|
||||||
* package generated_program;
|
* package generated_program;
|
||||||
*
|
*
|
||||||
* import com.pulumi.Context;
|
* import com.pulumi.Context;
|
||||||
@@ -392,21 +381,19 @@ import javax.annotation.Nullable;
|
|||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* public static void stack(Context ctx) {
|
* public static void stack(Context ctx) {
|
||||||
* var image = new Image("image", ImageArgs.builder()
|
* var image = new Image("image", ImageArgs.builder()
|
||||||
* .buildArgs(Map.of("SET_ME_TO_TRUE", "true"))
|
* .buildArgs(Map.of("SET_ME_TO_TRUE", "true"))
|
||||||
* .context(BuildContextArgs.builder()
|
* .context(BuildContextArgs.builder()
|
||||||
* .location("app")
|
* .location("app")
|
||||||
* .build())
|
* .build())
|
||||||
* .push(false)
|
* .push(false)
|
||||||
* .build());
|
* .build());
|
||||||
*
|
*
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* }
|
* ```
|
||||||
* </pre>
|
|
||||||
* ### Build target
|
* ### Build target
|
||||||
* <pre>
|
* ```java
|
||||||
* {@code
|
|
||||||
* package generated_program;
|
* package generated_program;
|
||||||
*
|
*
|
||||||
* import com.pulumi.Context;
|
* import com.pulumi.Context;
|
||||||
@@ -428,21 +415,19 @@ import javax.annotation.Nullable;
|
|||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* public static void stack(Context ctx) {
|
* public static void stack(Context ctx) {
|
||||||
* var image = new Image("image", ImageArgs.builder()
|
* var image = new Image("image", ImageArgs.builder()
|
||||||
* .context(BuildContextArgs.builder()
|
* .context(BuildContextArgs.builder()
|
||||||
* .location("app")
|
* .location("app")
|
||||||
* .build())
|
* .build())
|
||||||
* .push(false)
|
* .push(false)
|
||||||
* .target("build-me")
|
* .target("build-me")
|
||||||
* .build());
|
* .build());
|
||||||
*
|
*
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* }
|
* ```
|
||||||
* </pre>
|
|
||||||
* ### Named contexts
|
* ### Named contexts
|
||||||
* <pre>
|
* ```java
|
||||||
* {@code
|
|
||||||
* package generated_program;
|
* package generated_program;
|
||||||
*
|
*
|
||||||
* import com.pulumi.Context;
|
* import com.pulumi.Context;
|
||||||
@@ -464,21 +449,19 @@ import javax.annotation.Nullable;
|
|||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* public static void stack(Context ctx) {
|
* public static void stack(Context ctx) {
|
||||||
* var image = new Image("image", ImageArgs.builder()
|
* var image = new Image("image", ImageArgs.builder()
|
||||||
* .context(BuildContextArgs.builder()
|
* .context(BuildContextArgs.builder()
|
||||||
* .location("app")
|
* .location("app")
|
||||||
* .named(Map.of("golang:latest", Map.of("location", "docker-image://golang{@literal @}sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984")))
|
* .named(Map.of("golang:latest", Map.of("location", "docker-image://golang@sha256:b8e62cf593cdaff36efd90aa3a37de268e6781a2e68c6610940c48f7cdf36984")))
|
||||||
* .build())
|
* .build())
|
||||||
* .push(false)
|
* .push(false)
|
||||||
* .build());
|
* .build());
|
||||||
*
|
*
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* }
|
* ```
|
||||||
* </pre>
|
|
||||||
* ### Remote context
|
* ### Remote context
|
||||||
* <pre>
|
* ```java
|
||||||
* {@code
|
|
||||||
* package generated_program;
|
* package generated_program;
|
||||||
*
|
*
|
||||||
* import com.pulumi.Context;
|
* import com.pulumi.Context;
|
||||||
@@ -500,20 +483,18 @@ import javax.annotation.Nullable;
|
|||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* public static void stack(Context ctx) {
|
* public static void stack(Context ctx) {
|
||||||
* var image = new Image("image", ImageArgs.builder()
|
* var image = new Image("image", ImageArgs.builder()
|
||||||
* .context(BuildContextArgs.builder()
|
* .context(BuildContextArgs.builder()
|
||||||
* .location("https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile")
|
* .location("https://raw.githubusercontent.com/pulumi/pulumi-docker/api-types/provider/testdata/Dockerfile")
|
||||||
* .build())
|
* .build())
|
||||||
* .push(false)
|
* .push(false)
|
||||||
* .build());
|
* .build());
|
||||||
*
|
*
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* }
|
* ```
|
||||||
* </pre>
|
|
||||||
* ### Inline Dockerfile
|
* ### Inline Dockerfile
|
||||||
* <pre>
|
* ```java
|
||||||
* {@code
|
|
||||||
* package generated_program;
|
* package generated_program;
|
||||||
*
|
*
|
||||||
* import com.pulumi.Context;
|
* import com.pulumi.Context;
|
||||||
@@ -536,26 +517,24 @@ import javax.annotation.Nullable;
|
|||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* public static void stack(Context ctx) {
|
* public static void stack(Context ctx) {
|
||||||
* var image = new Image("image", ImageArgs.builder()
|
* var image = new Image("image", ImageArgs.builder()
|
||||||
* .context(BuildContextArgs.builder()
|
* .context(BuildContextArgs.builder()
|
||||||
* .location("app")
|
* .location("app")
|
||||||
* .build())
|
* .build())
|
||||||
* .dockerfile(DockerfileArgs.builder()
|
* .dockerfile(DockerfileArgs.builder()
|
||||||
* .inline("""
|
* .inline("""
|
||||||
* FROM busybox
|
* FROM busybox
|
||||||
* COPY hello.c ./
|
* COPY hello.c ./
|
||||||
* """)
|
* """)
|
||||||
* .build())
|
* .build())
|
||||||
* .push(false)
|
* .push(false)
|
||||||
* .build());
|
* .build());
|
||||||
*
|
*
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* }
|
* ```
|
||||||
* </pre>
|
|
||||||
* ### Remote context
|
* ### Remote context
|
||||||
* <pre>
|
* ```java
|
||||||
* {@code
|
|
||||||
* package generated_program;
|
* package generated_program;
|
||||||
*
|
*
|
||||||
* import com.pulumi.Context;
|
* import com.pulumi.Context;
|
||||||
@@ -578,23 +557,21 @@ import javax.annotation.Nullable;
|
|||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* public static void stack(Context ctx) {
|
* public static void stack(Context ctx) {
|
||||||
* var image = new Image("image", ImageArgs.builder()
|
* var image = new Image("image", ImageArgs.builder()
|
||||||
* .context(BuildContextArgs.builder()
|
* .context(BuildContextArgs.builder()
|
||||||
* .location("https://github.com/docker-library/hello-world.git")
|
* .location("https://github.com/docker-library/hello-world.git")
|
||||||
* .build())
|
* .build())
|
||||||
* .dockerfile(DockerfileArgs.builder()
|
* .dockerfile(DockerfileArgs.builder()
|
||||||
* .location("app/Dockerfile")
|
* .location("app/Dockerfile")
|
||||||
* .build())
|
* .build())
|
||||||
* .push(false)
|
* .push(false)
|
||||||
* .build());
|
* .build());
|
||||||
*
|
*
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* }
|
* ```
|
||||||
* </pre>
|
|
||||||
* ### Local export
|
* ### Local export
|
||||||
* <pre>
|
* ```java
|
||||||
* {@code
|
|
||||||
* package generated_program;
|
* package generated_program;
|
||||||
*
|
*
|
||||||
* import com.pulumi.Context;
|
* import com.pulumi.Context;
|
||||||
@@ -618,9 +595,9 @@ import javax.annotation.Nullable;
|
|||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* public static void stack(Context ctx) {
|
* public static void stack(Context ctx) {
|
||||||
* var image = new Image("image", ImageArgs.builder()
|
* var image = new Image("image", ImageArgs.builder()
|
||||||
* .context(BuildContextArgs.builder()
|
* .context(BuildContextArgs.builder()
|
||||||
* .location("app")
|
* .location("app")
|
||||||
* .build())
|
* .build())
|
||||||
* .exports(ExportArgs.builder()
|
* .exports(ExportArgs.builder()
|
||||||
* .docker(ExportDockerArgs.builder()
|
* .docker(ExportDockerArgs.builder()
|
||||||
@@ -632,8 +609,7 @@ import javax.annotation.Nullable;
|
|||||||
*
|
*
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* }
|
* ```
|
||||||
* </pre>
|
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ResourceType(type="docker-build:index:Image")
|
@ResourceType(type="docker-build:index:Image")
|
||||||
@@ -771,7 +747,7 @@ public class Image extends com.pulumi.resources.CustomResource {
|
|||||||
return Codegen.optional(this.cacheTo);
|
return Codegen.optional(this.cacheTo);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Build context settings. Defaults to the current directory.
|
* Build context settings.
|
||||||
*
|
*
|
||||||
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
*
|
*
|
||||||
@@ -780,7 +756,7 @@ public class Image extends com.pulumi.resources.CustomResource {
|
|||||||
private Output</* @Nullable */ BuildContext> context;
|
private Output</* @Nullable */ BuildContext> context;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Build context settings. Defaults to the current directory.
|
* @return Build context settings.
|
||||||
*
|
*
|
||||||
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
*
|
*
|
||||||
@@ -812,7 +788,7 @@ public class Image extends com.pulumi.resources.CustomResource {
|
|||||||
*
|
*
|
||||||
* Empty if the image was not exported.
|
* Empty if the image was not exported.
|
||||||
*
|
*
|
||||||
* Registry images can be referenced precisely as `<tag>{@literal @}<digest>`. The
|
* Registry images can be referenced precisely as `<tag>@<digest>`. The
|
||||||
* `ref` output provides one such reference as a convenience.
|
* `ref` output provides one such reference as a convenience.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@@ -825,7 +801,7 @@ public class Image extends com.pulumi.resources.CustomResource {
|
|||||||
*
|
*
|
||||||
* Empty if the image was not exported.
|
* Empty if the image was not exported.
|
||||||
*
|
*
|
||||||
* Registry images can be referenced precisely as `<tag>{@literal @}<digest>`. The
|
* Registry images can be referenced precisely as `<tag>@<digest>`. The
|
||||||
* `ref` output provides one such reference as a convenience.
|
* `ref` output provides one such reference as a convenience.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ public final class ImageArgs extends com.pulumi.resources.ResourceArgs {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Build context settings. Defaults to the current directory.
|
* Build context settings.
|
||||||
*
|
*
|
||||||
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
*
|
*
|
||||||
@@ -178,7 +178,7 @@ public final class ImageArgs extends com.pulumi.resources.ResourceArgs {
|
|||||||
private @Nullable Output<BuildContextArgs> context;
|
private @Nullable Output<BuildContextArgs> context;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Build context settings. Defaults to the current directory.
|
* @return Build context settings.
|
||||||
*
|
*
|
||||||
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
*
|
*
|
||||||
@@ -816,7 +816,7 @@ public final class ImageArgs extends com.pulumi.resources.ResourceArgs {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param context Build context settings. Defaults to the current directory.
|
* @param context Build context settings.
|
||||||
*
|
*
|
||||||
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
*
|
*
|
||||||
@@ -829,7 +829,7 @@ public final class ImageArgs extends com.pulumi.resources.ResourceArgs {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param context Build context settings. Defaults to the current directory.
|
* @param context Build context settings.
|
||||||
*
|
*
|
||||||
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -39,8 +39,7 @@ import javax.annotation.Nullable;
|
|||||||
*
|
*
|
||||||
* ## Example Usage
|
* ## Example Usage
|
||||||
* ### Multi-platform registry caching
|
* ### Multi-platform registry caching
|
||||||
* <pre>
|
* ```java
|
||||||
* {@code
|
|
||||||
* package generated_program;
|
* package generated_program;
|
||||||
*
|
*
|
||||||
* import com.pulumi.Context;
|
* import com.pulumi.Context;
|
||||||
@@ -68,56 +67,55 @@ import javax.annotation.Nullable;
|
|||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* public static void stack(Context ctx) {
|
* public static void stack(Context ctx) {
|
||||||
* var amd64 = new Image("amd64", ImageArgs.builder()
|
* var amd64 = new Image("amd64", ImageArgs.builder()
|
||||||
* .cacheFrom(CacheFromArgs.builder()
|
* .cacheFrom(CacheFromArgs.builder()
|
||||||
* .registry(CacheFromRegistryArgs.builder()
|
* .registry(CacheFromRegistryArgs.builder()
|
||||||
* .ref("docker.io/pulumi/pulumi:cache-amd64")
|
* .ref("docker.io/pulumi/pulumi:cache-amd64")
|
||||||
* .build())
|
* .build())
|
||||||
* .build())
|
* .build())
|
||||||
* .cacheTo(CacheToArgs.builder()
|
* .cacheTo(CacheToArgs.builder()
|
||||||
* .registry(CacheToRegistryArgs.builder()
|
* .registry(CacheToRegistryArgs.builder()
|
||||||
* .mode("max")
|
* .mode("max")
|
||||||
* .ref("docker.io/pulumi/pulumi:cache-amd64")
|
* .ref("docker.io/pulumi/pulumi:cache-amd64")
|
||||||
* .build())
|
* .build())
|
||||||
* .build())
|
* .build())
|
||||||
* .context(BuildContextArgs.builder()
|
* .context(BuildContextArgs.builder()
|
||||||
* .location("app")
|
* .location("app")
|
||||||
* .build())
|
* .build())
|
||||||
* .platforms("linux/amd64")
|
* .platforms("linux/amd64")
|
||||||
* .tags("docker.io/pulumi/pulumi:3.107.0-amd64")
|
* .tags("docker.io/pulumi/pulumi:3.107.0-amd64")
|
||||||
* .build());
|
* .build());
|
||||||
*
|
*
|
||||||
* var arm64 = new Image("arm64", ImageArgs.builder()
|
* var arm64 = new Image("arm64", ImageArgs.builder()
|
||||||
* .cacheFrom(CacheFromArgs.builder()
|
* .cacheFrom(CacheFromArgs.builder()
|
||||||
* .registry(CacheFromRegistryArgs.builder()
|
* .registry(CacheFromRegistryArgs.builder()
|
||||||
* .ref("docker.io/pulumi/pulumi:cache-arm64")
|
* .ref("docker.io/pulumi/pulumi:cache-arm64")
|
||||||
* .build())
|
* .build())
|
||||||
* .build())
|
* .build())
|
||||||
* .cacheTo(CacheToArgs.builder()
|
* .cacheTo(CacheToArgs.builder()
|
||||||
* .registry(CacheToRegistryArgs.builder()
|
* .registry(CacheToRegistryArgs.builder()
|
||||||
* .mode("max")
|
* .mode("max")
|
||||||
* .ref("docker.io/pulumi/pulumi:cache-arm64")
|
* .ref("docker.io/pulumi/pulumi:cache-arm64")
|
||||||
* .build())
|
* .build())
|
||||||
* .build())
|
* .build())
|
||||||
* .context(BuildContextArgs.builder()
|
* .context(BuildContextArgs.builder()
|
||||||
* .location("app")
|
* .location("app")
|
||||||
* .build())
|
* .build())
|
||||||
* .platforms("linux/arm64")
|
* .platforms("linux/arm64")
|
||||||
* .tags("docker.io/pulumi/pulumi:3.107.0-arm64")
|
* .tags("docker.io/pulumi/pulumi:3.107.0-arm64")
|
||||||
* .build());
|
* .build());
|
||||||
*
|
*
|
||||||
* var index = new Index("index", IndexArgs.builder()
|
* var index = new Index("index", IndexArgs.builder()
|
||||||
* .sources(
|
* .sources(
|
||||||
* amd64.ref(),
|
* amd64.ref(),
|
||||||
* arm64.ref())
|
* arm64.ref())
|
||||||
* .tag("docker.io/pulumi/pulumi:3.107.0")
|
* .tag("docker.io/pulumi/pulumi:3.107.0")
|
||||||
* .build());
|
* .build());
|
||||||
*
|
*
|
||||||
* ctx.export("ref", index.ref());
|
* ctx.export("ref", index.ref());
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* }
|
* ```
|
||||||
* </pre>
|
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ResourceType(type="docker-build:index:Index")
|
@ResourceType(type="docker-build:index:Index")
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ public final class CacheFromGitHubActionsArgs extends com.pulumi.resources.Resou
|
|||||||
/**
|
/**
|
||||||
* The cache server URL to use for artifacts.
|
* 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*
|
*
|
||||||
@@ -76,7 +76,7 @@ public final class CacheFromGitHubActionsArgs extends com.pulumi.resources.Resou
|
|||||||
/**
|
/**
|
||||||
* @return The cache server URL to use for artifacts.
|
* @return 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*
|
*
|
||||||
@@ -172,7 +172,7 @@ public final class CacheFromGitHubActionsArgs extends com.pulumi.resources.Resou
|
|||||||
/**
|
/**
|
||||||
* @param url The cache server URL to use for artifacts.
|
* @param url 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*
|
*
|
||||||
@@ -187,7 +187,7 @@ public final class CacheFromGitHubActionsArgs extends com.pulumi.resources.Resou
|
|||||||
/**
|
/**
|
||||||
* @param url The cache server URL to use for artifacts.
|
* @param url 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*
|
*
|
||||||
@@ -201,7 +201,7 @@ public final class CacheFromGitHubActionsArgs extends com.pulumi.resources.Resou
|
|||||||
public CacheFromGitHubActionsArgs build() {
|
public CacheFromGitHubActionsArgs build() {
|
||||||
$.scope = Codegen.stringProp("scope").output().arg($.scope).env("buildkit").def("").getNullable();
|
$.scope = Codegen.stringProp("scope").output().arg($.scope).env("buildkit").def("").getNullable();
|
||||||
$.token = Codegen.stringProp("token").secret().arg($.token).env("ACTIONS_RUNTIME_TOKEN").def("").getNullable();
|
$.token = Codegen.stringProp("token").secret().arg($.token).env("ACTIONS_RUNTIME_TOKEN").def("").getNullable();
|
||||||
$.url = Codegen.stringProp("url").output().arg($.url).env("ACTIONS_CACHE_URL").def("").getNullable();
|
$.url = Codegen.stringProp("url").output().arg($.url).env("ACTIONS_RUNTIME_URL").def("").getNullable();
|
||||||
return $;
|
return $;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ public final class CacheToGitHubActionsArgs extends com.pulumi.resources.Resourc
|
|||||||
/**
|
/**
|
||||||
* The cache server URL to use for artifacts.
|
* 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*
|
*
|
||||||
@@ -108,7 +108,7 @@ public final class CacheToGitHubActionsArgs extends com.pulumi.resources.Resourc
|
|||||||
/**
|
/**
|
||||||
* @return The cache server URL to use for artifacts.
|
* @return 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*
|
*
|
||||||
@@ -248,7 +248,7 @@ public final class CacheToGitHubActionsArgs extends com.pulumi.resources.Resourc
|
|||||||
/**
|
/**
|
||||||
* @param url The cache server URL to use for artifacts.
|
* @param url 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*
|
*
|
||||||
@@ -263,7 +263,7 @@ public final class CacheToGitHubActionsArgs extends com.pulumi.resources.Resourc
|
|||||||
/**
|
/**
|
||||||
* @param url The cache server URL to use for artifacts.
|
* @param url 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*
|
*
|
||||||
@@ -279,7 +279,7 @@ public final class CacheToGitHubActionsArgs extends com.pulumi.resources.Resourc
|
|||||||
$.mode = Codegen.objectProp("mode", CacheMode.class).output().arg($.mode).def(CacheMode.Min).getNullable();
|
$.mode = Codegen.objectProp("mode", CacheMode.class).output().arg($.mode).def(CacheMode.Min).getNullable();
|
||||||
$.scope = Codegen.stringProp("scope").output().arg($.scope).env("buildkit").def("").getNullable();
|
$.scope = Codegen.stringProp("scope").output().arg($.scope).env("buildkit").def("").getNullable();
|
||||||
$.token = Codegen.stringProp("token").secret().arg($.token).env("ACTIONS_RUNTIME_TOKEN").def("").getNullable();
|
$.token = Codegen.stringProp("token").secret().arg($.token).env("ACTIONS_RUNTIME_TOKEN").def("").getNullable();
|
||||||
$.url = Codegen.stringProp("url").output().arg($.url).env("ACTIONS_CACHE_URL").def("").getNullable();
|
$.url = Codegen.stringProp("url").output().arg($.url).env("ACTIONS_RUNTIME_URL").def("").getNullable();
|
||||||
return $;
|
return $;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,14 +67,14 @@ public final class ExportImageArgs extends com.pulumi.resources.ResourceArgs {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Name image with `prefix{@literal @}<digest>`, used for anonymous images.
|
* Name image with `prefix@<digest>`, used for anonymous images.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Import(name="danglingNamePrefix")
|
@Import(name="danglingNamePrefix")
|
||||||
private @Nullable Output<String> danglingNamePrefix;
|
private @Nullable Output<String> danglingNamePrefix;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Name image with `prefix{@literal @}<digest>`, used for anonymous images.
|
* @return Name image with `prefix@<digest>`, used for anonymous images.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public Optional<Output<String>> danglingNamePrefix() {
|
public Optional<Output<String>> danglingNamePrefix() {
|
||||||
@@ -112,14 +112,14 @@ public final class ExportImageArgs extends com.pulumi.resources.ResourceArgs {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add additional canonical name (`name{@literal @}<digest>`).
|
* Add additional canonical name (`name@<digest>`).
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Import(name="nameCanonical")
|
@Import(name="nameCanonical")
|
||||||
private @Nullable Output<Boolean> nameCanonical;
|
private @Nullable Output<Boolean> nameCanonical;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Add additional canonical name (`name{@literal @}<digest>`).
|
* @return Add additional canonical name (`name@<digest>`).
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public Optional<Output<Boolean>> nameCanonical() {
|
public Optional<Output<Boolean>> nameCanonical() {
|
||||||
@@ -330,7 +330,7 @@ public final class ExportImageArgs extends com.pulumi.resources.ResourceArgs {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param danglingNamePrefix Name image with `prefix{@literal @}<digest>`, used for anonymous images.
|
* @param danglingNamePrefix Name image with `prefix@<digest>`, used for anonymous images.
|
||||||
*
|
*
|
||||||
* @return builder
|
* @return builder
|
||||||
*
|
*
|
||||||
@@ -341,7 +341,7 @@ public final class ExportImageArgs extends com.pulumi.resources.ResourceArgs {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param danglingNamePrefix Name image with `prefix{@literal @}<digest>`, used for anonymous images.
|
* @param danglingNamePrefix Name image with `prefix@<digest>`, used for anonymous images.
|
||||||
*
|
*
|
||||||
* @return builder
|
* @return builder
|
||||||
*
|
*
|
||||||
@@ -393,7 +393,7 @@ public final class ExportImageArgs extends com.pulumi.resources.ResourceArgs {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param nameCanonical Add additional canonical name (`name{@literal @}<digest>`).
|
* @param nameCanonical Add additional canonical name (`name@<digest>`).
|
||||||
*
|
*
|
||||||
* @return builder
|
* @return builder
|
||||||
*
|
*
|
||||||
@@ -404,7 +404,7 @@ public final class ExportImageArgs extends com.pulumi.resources.ResourceArgs {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param nameCanonical Add additional canonical name (`name{@literal @}<digest>`).
|
* @param nameCanonical Add additional canonical name (`name@<digest>`).
|
||||||
*
|
*
|
||||||
* @return builder
|
* @return builder
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -67,14 +67,14 @@ public final class ExportRegistryArgs extends com.pulumi.resources.ResourceArgs
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Name image with `prefix{@literal @}<digest>`, used for anonymous images.
|
* Name image with `prefix@<digest>`, used for anonymous images.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Import(name="danglingNamePrefix")
|
@Import(name="danglingNamePrefix")
|
||||||
private @Nullable Output<String> danglingNamePrefix;
|
private @Nullable Output<String> danglingNamePrefix;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Name image with `prefix{@literal @}<digest>`, used for anonymous images.
|
* @return Name image with `prefix@<digest>`, used for anonymous images.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public Optional<Output<String>> danglingNamePrefix() {
|
public Optional<Output<String>> danglingNamePrefix() {
|
||||||
@@ -112,14 +112,14 @@ public final class ExportRegistryArgs extends com.pulumi.resources.ResourceArgs
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add additional canonical name (`name{@literal @}<digest>`).
|
* Add additional canonical name (`name@<digest>`).
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Import(name="nameCanonical")
|
@Import(name="nameCanonical")
|
||||||
private @Nullable Output<Boolean> nameCanonical;
|
private @Nullable Output<Boolean> nameCanonical;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Add additional canonical name (`name{@literal @}<digest>`).
|
* @return Add additional canonical name (`name@<digest>`).
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public Optional<Output<Boolean>> nameCanonical() {
|
public Optional<Output<Boolean>> nameCanonical() {
|
||||||
@@ -330,7 +330,7 @@ public final class ExportRegistryArgs extends com.pulumi.resources.ResourceArgs
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param danglingNamePrefix Name image with `prefix{@literal @}<digest>`, used for anonymous images.
|
* @param danglingNamePrefix Name image with `prefix@<digest>`, used for anonymous images.
|
||||||
*
|
*
|
||||||
* @return builder
|
* @return builder
|
||||||
*
|
*
|
||||||
@@ -341,7 +341,7 @@ public final class ExportRegistryArgs extends com.pulumi.resources.ResourceArgs
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param danglingNamePrefix Name image with `prefix{@literal @}<digest>`, used for anonymous images.
|
* @param danglingNamePrefix Name image with `prefix@<digest>`, used for anonymous images.
|
||||||
*
|
*
|
||||||
* @return builder
|
* @return builder
|
||||||
*
|
*
|
||||||
@@ -393,7 +393,7 @@ public final class ExportRegistryArgs extends com.pulumi.resources.ResourceArgs
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param nameCanonical Add additional canonical name (`name{@literal @}<digest>`).
|
* @param nameCanonical Add additional canonical name (`name@<digest>`).
|
||||||
*
|
*
|
||||||
* @return builder
|
* @return builder
|
||||||
*
|
*
|
||||||
@@ -404,7 +404,7 @@ public final class ExportRegistryArgs extends com.pulumi.resources.ResourceArgs
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param nameCanonical Add additional canonical name (`name{@literal @}<digest>`).
|
* @param nameCanonical Add additional canonical name (`name@<digest>`).
|
||||||
*
|
*
|
||||||
* @return builder
|
* @return builder
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public final class CacheFromGitHubActions {
|
|||||||
/**
|
/**
|
||||||
* @return The cache server URL to use for artifacts.
|
* @return 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*
|
*
|
||||||
@@ -65,7 +65,7 @@ public final class CacheFromGitHubActions {
|
|||||||
/**
|
/**
|
||||||
* @return The cache server URL to use for artifacts.
|
* @return 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ public final class CacheToGitHubActions {
|
|||||||
/**
|
/**
|
||||||
* @return The cache server URL to use for artifacts.
|
* @return 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*
|
*
|
||||||
@@ -91,7 +91,7 @@ public final class CacheToGitHubActions {
|
|||||||
/**
|
/**
|
||||||
* @return The cache server URL to use for artifacts.
|
* @return 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public final class ExportImage {
|
|||||||
*/
|
*/
|
||||||
private @Nullable Integer compressionLevel;
|
private @Nullable Integer compressionLevel;
|
||||||
/**
|
/**
|
||||||
* @return Name image with `prefix{@literal @}<digest>`, used for anonymous images.
|
* @return Name image with `prefix@<digest>`, used for anonymous images.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private @Nullable String danglingNamePrefix;
|
private @Nullable String danglingNamePrefix;
|
||||||
@@ -47,7 +47,7 @@ public final class ExportImage {
|
|||||||
*/
|
*/
|
||||||
private @Nullable Boolean insecure;
|
private @Nullable Boolean insecure;
|
||||||
/**
|
/**
|
||||||
* @return Add additional canonical name (`name{@literal @}<digest>`).
|
* @return Add additional canonical name (`name@<digest>`).
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private @Nullable Boolean nameCanonical;
|
private @Nullable Boolean nameCanonical;
|
||||||
@@ -112,7 +112,7 @@ public final class ExportImage {
|
|||||||
return Optional.ofNullable(this.compressionLevel);
|
return Optional.ofNullable(this.compressionLevel);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @return Name image with `prefix{@literal @}<digest>`, used for anonymous images.
|
* @return Name image with `prefix@<digest>`, used for anonymous images.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public Optional<String> danglingNamePrefix() {
|
public Optional<String> danglingNamePrefix() {
|
||||||
@@ -133,7 +133,7 @@ public final class ExportImage {
|
|||||||
return Optional.ofNullable(this.insecure);
|
return Optional.ofNullable(this.insecure);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @return Add additional canonical name (`name{@literal @}<digest>`).
|
* @return Add additional canonical name (`name@<digest>`).
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public Optional<Boolean> nameCanonical() {
|
public Optional<Boolean> nameCanonical() {
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public final class ExportRegistry {
|
|||||||
*/
|
*/
|
||||||
private @Nullable Integer compressionLevel;
|
private @Nullable Integer compressionLevel;
|
||||||
/**
|
/**
|
||||||
* @return Name image with `prefix{@literal @}<digest>`, used for anonymous images.
|
* @return Name image with `prefix@<digest>`, used for anonymous images.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private @Nullable String danglingNamePrefix;
|
private @Nullable String danglingNamePrefix;
|
||||||
@@ -47,7 +47,7 @@ public final class ExportRegistry {
|
|||||||
*/
|
*/
|
||||||
private @Nullable Boolean insecure;
|
private @Nullable Boolean insecure;
|
||||||
/**
|
/**
|
||||||
* @return Add additional canonical name (`name{@literal @}<digest>`).
|
* @return Add additional canonical name (`name@<digest>`).
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private @Nullable Boolean nameCanonical;
|
private @Nullable Boolean nameCanonical;
|
||||||
@@ -112,7 +112,7 @@ public final class ExportRegistry {
|
|||||||
return Optional.ofNullable(this.compressionLevel);
|
return Optional.ofNullable(this.compressionLevel);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @return Name image with `prefix{@literal @}<digest>`, used for anonymous images.
|
* @return Name image with `prefix@<digest>`, used for anonymous images.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public Optional<String> danglingNamePrefix() {
|
public Optional<String> danglingNamePrefix() {
|
||||||
@@ -133,7 +133,7 @@ public final class ExportRegistry {
|
|||||||
return Optional.ofNullable(this.insecure);
|
return Optional.ofNullable(this.insecure);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @return Add additional canonical name (`name{@literal @}<digest>`).
|
* @return Add additional canonical name (`name@<digest>`).
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public Optional<Boolean> nameCanonical() {
|
public Optional<Boolean> nameCanonical() {
|
||||||
|
|||||||
4
sdk/nodejs/image.ts
generated
4
sdk/nodejs/image.ts
generated
@@ -545,7 +545,7 @@ export class Image extends pulumi.CustomResource {
|
|||||||
*/
|
*/
|
||||||
public readonly cacheTo!: pulumi.Output<outputs.CacheTo[] | undefined>;
|
public readonly cacheTo!: pulumi.Output<outputs.CacheTo[] | undefined>;
|
||||||
/**
|
/**
|
||||||
* Build context settings. Defaults to the current directory.
|
* Build context settings.
|
||||||
*
|
*
|
||||||
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
*/
|
*/
|
||||||
@@ -842,7 +842,7 @@ export interface ImageArgs {
|
|||||||
*/
|
*/
|
||||||
cacheTo?: pulumi.Input<pulumi.Input<inputs.CacheToArgs>[]>;
|
cacheTo?: pulumi.Input<pulumi.Input<inputs.CacheToArgs>[]>;
|
||||||
/**
|
/**
|
||||||
* Build context settings. Defaults to the current directory.
|
* Build context settings.
|
||||||
*
|
*
|
||||||
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
*/
|
*/
|
||||||
|
|||||||
5
sdk/nodejs/package.json
generated
5
sdk/nodejs/package.json
generated
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@pulumi/docker-build",
|
"name": "@pulumi/docker-build",
|
||||||
"version": "0.1.0-alpha.1717073454",
|
"version": "${VERSION}",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"docker",
|
"docker",
|
||||||
"buildkit",
|
"buildkit",
|
||||||
@@ -22,7 +22,6 @@
|
|||||||
},
|
},
|
||||||
"pulumi": {
|
"pulumi": {
|
||||||
"resource": true,
|
"resource": true,
|
||||||
"name": "docker-build",
|
"name": "docker-build"
|
||||||
"version": "0.1.0-alpha.1717073454"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
8
sdk/nodejs/types/input.ts
generated
8
sdk/nodejs/types/input.ts
generated
@@ -124,7 +124,7 @@ export interface CacheFromGitHubActionsArgs {
|
|||||||
/**
|
/**
|
||||||
* The cache server URL to use for artifacts.
|
* 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*/
|
*/
|
||||||
@@ -138,7 +138,7 @@ export function cacheFromGitHubActionsArgsProvideDefaults(val: CacheFromGitHubAc
|
|||||||
...val,
|
...val,
|
||||||
scope: (val.scope) ?? (utilities.getEnv("buildkit") || ""),
|
scope: (val.scope) ?? (utilities.getEnv("buildkit") || ""),
|
||||||
token: (val.token) ?? (utilities.getEnv("ACTIONS_RUNTIME_TOKEN") || ""),
|
token: (val.token) ?? (utilities.getEnv("ACTIONS_RUNTIME_TOKEN") || ""),
|
||||||
url: (val.url) ?? (utilities.getEnv("ACTIONS_CACHE_URL") || ""),
|
url: (val.url) ?? (utilities.getEnv("ACTIONS_RUNTIME_URL") || ""),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -331,7 +331,7 @@ export interface CacheToGitHubActionsArgs {
|
|||||||
/**
|
/**
|
||||||
* The cache server URL to use for artifacts.
|
* 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*/
|
*/
|
||||||
@@ -347,7 +347,7 @@ export function cacheToGitHubActionsArgsProvideDefaults(val: CacheToGitHubAction
|
|||||||
mode: (val.mode) ?? "min",
|
mode: (val.mode) ?? "min",
|
||||||
scope: (val.scope) ?? (utilities.getEnv("buildkit") || ""),
|
scope: (val.scope) ?? (utilities.getEnv("buildkit") || ""),
|
||||||
token: (val.token) ?? (utilities.getEnv("ACTIONS_RUNTIME_TOKEN") || ""),
|
token: (val.token) ?? (utilities.getEnv("ACTIONS_RUNTIME_TOKEN") || ""),
|
||||||
url: (val.url) ?? (utilities.getEnv("ACTIONS_CACHE_URL") || ""),
|
url: (val.url) ?? (utilities.getEnv("ACTIONS_RUNTIME_URL") || ""),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
8
sdk/nodejs/types/output.ts
generated
8
sdk/nodejs/types/output.ts
generated
@@ -124,7 +124,7 @@ export interface CacheFromGitHubActions {
|
|||||||
/**
|
/**
|
||||||
* The cache server URL to use for artifacts.
|
* 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*/
|
*/
|
||||||
@@ -138,7 +138,7 @@ export function cacheFromGitHubActionsProvideDefaults(val: CacheFromGitHubAction
|
|||||||
...val,
|
...val,
|
||||||
scope: (val.scope) ?? (utilities.getEnv("buildkit") || ""),
|
scope: (val.scope) ?? (utilities.getEnv("buildkit") || ""),
|
||||||
token: (val.token) ?? (utilities.getEnv("ACTIONS_RUNTIME_TOKEN") || ""),
|
token: (val.token) ?? (utilities.getEnv("ACTIONS_RUNTIME_TOKEN") || ""),
|
||||||
url: (val.url) ?? (utilities.getEnv("ACTIONS_CACHE_URL") || ""),
|
url: (val.url) ?? (utilities.getEnv("ACTIONS_RUNTIME_URL") || ""),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -331,7 +331,7 @@ export interface CacheToGitHubActions {
|
|||||||
/**
|
/**
|
||||||
* The cache server URL to use for artifacts.
|
* 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
|
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
* environment variable to your jobs.
|
* environment variable to your jobs.
|
||||||
*/
|
*/
|
||||||
@@ -347,7 +347,7 @@ export function cacheToGitHubActionsProvideDefaults(val: CacheToGitHubActions):
|
|||||||
mode: (val.mode) ?? "min",
|
mode: (val.mode) ?? "min",
|
||||||
scope: (val.scope) ?? (utilities.getEnv("buildkit") || ""),
|
scope: (val.scope) ?? (utilities.getEnv("buildkit") || ""),
|
||||||
token: (val.token) ?? (utilities.getEnv("ACTIONS_RUNTIME_TOKEN") || ""),
|
token: (val.token) ?? (utilities.getEnv("ACTIONS_RUNTIME_TOKEN") || ""),
|
||||||
url: (val.url) ?? (utilities.getEnv("ACTIONS_CACHE_URL") || ""),
|
url: (val.url) ?? (utilities.getEnv("ACTIONS_RUNTIME_URL") || ""),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
12
sdk/python/pulumi_docker_build/_inputs.py
generated
12
sdk/python/pulumi_docker_build/_inputs.py
generated
@@ -208,7 +208,7 @@ class CacheFromGitHubActionsArgs:
|
|||||||
environment variable to your jobs.
|
environment variable to your jobs.
|
||||||
:param pulumi.Input[str] url: The cache server URL to use for artifacts.
|
:param pulumi.Input[str] url: 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
|
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
environment variable to your jobs.
|
environment variable to your jobs.
|
||||||
"""
|
"""
|
||||||
@@ -221,7 +221,7 @@ class CacheFromGitHubActionsArgs:
|
|||||||
if token is not None:
|
if token is not None:
|
||||||
pulumi.set(__self__, "token", token)
|
pulumi.set(__self__, "token", token)
|
||||||
if url is None:
|
if url is None:
|
||||||
url = (_utilities.get_env('ACTIONS_CACHE_URL') or '')
|
url = (_utilities.get_env('ACTIONS_RUNTIME_URL') or '')
|
||||||
if url is not None:
|
if url is not None:
|
||||||
pulumi.set(__self__, "url", url)
|
pulumi.set(__self__, "url", url)
|
||||||
|
|
||||||
@@ -263,7 +263,7 @@ class CacheFromGitHubActionsArgs:
|
|||||||
"""
|
"""
|
||||||
The cache server URL to use for artifacts.
|
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
|
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
environment variable to your jobs.
|
environment variable to your jobs.
|
||||||
"""
|
"""
|
||||||
@@ -749,7 +749,7 @@ class CacheToGitHubActionsArgs:
|
|||||||
environment variable to your jobs.
|
environment variable to your jobs.
|
||||||
:param pulumi.Input[str] url: The cache server URL to use for artifacts.
|
:param pulumi.Input[str] url: 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
|
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
environment variable to your jobs.
|
environment variable to your jobs.
|
||||||
"""
|
"""
|
||||||
@@ -770,7 +770,7 @@ class CacheToGitHubActionsArgs:
|
|||||||
if token is not None:
|
if token is not None:
|
||||||
pulumi.set(__self__, "token", token)
|
pulumi.set(__self__, "token", token)
|
||||||
if url is None:
|
if url is None:
|
||||||
url = (_utilities.get_env('ACTIONS_CACHE_URL') or '')
|
url = (_utilities.get_env('ACTIONS_RUNTIME_URL') or '')
|
||||||
if url is not None:
|
if url is not None:
|
||||||
pulumi.set(__self__, "url", url)
|
pulumi.set(__self__, "url", url)
|
||||||
|
|
||||||
@@ -836,7 +836,7 @@ class CacheToGitHubActionsArgs:
|
|||||||
"""
|
"""
|
||||||
The cache server URL to use for artifacts.
|
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
|
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
environment variable to your jobs.
|
environment variable to your jobs.
|
||||||
"""
|
"""
|
||||||
|
|||||||
8
sdk/python/pulumi_docker_build/image.py
generated
8
sdk/python/pulumi_docker_build/image.py
generated
@@ -76,7 +76,7 @@ class ImageArgs:
|
|||||||
:param pulumi.Input[Sequence[pulumi.Input['CacheToArgs']]] cache_to: Cache import configuration.
|
:param pulumi.Input[Sequence[pulumi.Input['CacheToArgs']]] cache_to: Cache import configuration.
|
||||||
|
|
||||||
Equivalent to Docker's `--cache-to` flag.
|
Equivalent to Docker's `--cache-to` flag.
|
||||||
:param pulumi.Input['BuildContextArgs'] context: Build context settings. Defaults to the current directory.
|
:param pulumi.Input['BuildContextArgs'] context: Build context settings.
|
||||||
|
|
||||||
Equivalent to Docker's `PATH | URL | -` positional argument.
|
Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
:param pulumi.Input['DockerfileArgs'] dockerfile: Dockerfile settings.
|
:param pulumi.Input['DockerfileArgs'] dockerfile: Dockerfile settings.
|
||||||
@@ -328,7 +328,7 @@ class ImageArgs:
|
|||||||
@pulumi.getter
|
@pulumi.getter
|
||||||
def context(self) -> Optional[pulumi.Input['BuildContextArgs']]:
|
def context(self) -> Optional[pulumi.Input['BuildContextArgs']]:
|
||||||
"""
|
"""
|
||||||
Build context settings. Defaults to the current directory.
|
Build context settings.
|
||||||
|
|
||||||
Equivalent to Docker's `PATH | URL | -` positional argument.
|
Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
"""
|
"""
|
||||||
@@ -944,7 +944,7 @@ class Image(pulumi.CustomResource):
|
|||||||
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CacheToArgs']]]] cache_to: Cache import configuration.
|
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CacheToArgs']]]] cache_to: Cache import configuration.
|
||||||
|
|
||||||
Equivalent to Docker's `--cache-to` flag.
|
Equivalent to Docker's `--cache-to` flag.
|
||||||
:param pulumi.Input[pulumi.InputType['BuildContextArgs']] context: Build context settings. Defaults to the current directory.
|
:param pulumi.Input[pulumi.InputType['BuildContextArgs']] context: Build context settings.
|
||||||
|
|
||||||
Equivalent to Docker's `PATH | URL | -` positional argument.
|
Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
:param pulumi.Input[pulumi.InputType['DockerfileArgs']] dockerfile: Dockerfile settings.
|
:param pulumi.Input[pulumi.InputType['DockerfileArgs']] dockerfile: Dockerfile settings.
|
||||||
@@ -1552,7 +1552,7 @@ class Image(pulumi.CustomResource):
|
|||||||
@pulumi.getter
|
@pulumi.getter
|
||||||
def context(self) -> pulumi.Output[Optional['outputs.BuildContext']]:
|
def context(self) -> pulumi.Output[Optional['outputs.BuildContext']]:
|
||||||
"""
|
"""
|
||||||
Build context settings. Defaults to the current directory.
|
Build context settings.
|
||||||
|
|
||||||
Equivalent to Docker's `PATH | URL | -` positional argument.
|
Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||||
"""
|
"""
|
||||||
|
|||||||
12
sdk/python/pulumi_docker_build/outputs.py
generated
12
sdk/python/pulumi_docker_build/outputs.py
generated
@@ -305,7 +305,7 @@ class CacheFromGitHubActions(dict):
|
|||||||
environment variable to your jobs.
|
environment variable to your jobs.
|
||||||
:param str url: The cache server URL to use for artifacts.
|
:param str url: 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
|
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
environment variable to your jobs.
|
environment variable to your jobs.
|
||||||
"""
|
"""
|
||||||
@@ -318,7 +318,7 @@ class CacheFromGitHubActions(dict):
|
|||||||
if token is not None:
|
if token is not None:
|
||||||
pulumi.set(__self__, "token", token)
|
pulumi.set(__self__, "token", token)
|
||||||
if url is None:
|
if url is None:
|
||||||
url = (_utilities.get_env('ACTIONS_CACHE_URL') or '')
|
url = (_utilities.get_env('ACTIONS_RUNTIME_URL') or '')
|
||||||
if url is not None:
|
if url is not None:
|
||||||
pulumi.set(__self__, "url", url)
|
pulumi.set(__self__, "url", url)
|
||||||
|
|
||||||
@@ -352,7 +352,7 @@ class CacheFromGitHubActions(dict):
|
|||||||
"""
|
"""
|
||||||
The cache server URL to use for artifacts.
|
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
|
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
environment variable to your jobs.
|
environment variable to your jobs.
|
||||||
"""
|
"""
|
||||||
@@ -817,7 +817,7 @@ class CacheToGitHubActions(dict):
|
|||||||
environment variable to your jobs.
|
environment variable to your jobs.
|
||||||
:param str url: The cache server URL to use for artifacts.
|
:param str url: 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
|
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
environment variable to your jobs.
|
environment variable to your jobs.
|
||||||
"""
|
"""
|
||||||
@@ -838,7 +838,7 @@ class CacheToGitHubActions(dict):
|
|||||||
if token is not None:
|
if token is not None:
|
||||||
pulumi.set(__self__, "token", token)
|
pulumi.set(__self__, "token", token)
|
||||||
if url is None:
|
if url is None:
|
||||||
url = (_utilities.get_env('ACTIONS_CACHE_URL') or '')
|
url = (_utilities.get_env('ACTIONS_RUNTIME_URL') or '')
|
||||||
if url is not None:
|
if url is not None:
|
||||||
pulumi.set(__self__, "url", url)
|
pulumi.set(__self__, "url", url)
|
||||||
|
|
||||||
@@ -888,7 +888,7 @@ class CacheToGitHubActions(dict):
|
|||||||
"""
|
"""
|
||||||
The cache server URL to use for artifacts.
|
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
|
`crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||||
environment variable to your jobs.
|
environment variable to your jobs.
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
"resource": true,
|
"resource": true,
|
||||||
"name": "docker-build",
|
"name": "docker-build"
|
||||||
"version": "0.1.0-alpha.1717073454"
|
|
||||||
}
|
}
|
||||||
|
|||||||
2
sdk/python/pyproject.toml
generated
2
sdk/python/pyproject.toml
generated
@@ -5,7 +5,7 @@
|
|||||||
keywords = ["docker", "buildkit", "buildx", "kind/native"]
|
keywords = ["docker", "buildkit", "buildx", "kind/native"]
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.8"
|
requires-python = ">=3.8"
|
||||||
version = "0.1.0a1717073454"
|
version = "0.0.0"
|
||||||
[project.license]
|
[project.license]
|
||||||
text = "Apache-2.0"
|
text = "Apache-2.0"
|
||||||
[project.urls]
|
[project.urls]
|
||||||
|
|||||||
@@ -6,12 +6,6 @@ package tools
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
_ "github.com/golangci/golangci-lint/cmd/golangci-lint"
|
_ "github.com/golangci/golangci-lint/cmd/golangci-lint"
|
||||||
_ "github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet"
|
|
||||||
_ "github.com/pulumi/pulumi-java/pkg/cmd/pulumi-language-java"
|
|
||||||
_ "github.com/pulumi/pulumi-yaml/cmd/pulumi-converter-yaml"
|
|
||||||
_ "github.com/pulumi/pulumi-yaml/cmd/pulumi-language-yaml"
|
|
||||||
_ "github.com/pulumi/pulumi/pkg/v3/cmd/pulumi"
|
_ "github.com/pulumi/pulumi/pkg/v3/cmd/pulumi"
|
||||||
_ "github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3"
|
_ "github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3"
|
||||||
_ "github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3"
|
|
||||||
_ "github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3"
|
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user