Compare commits
68 Commits
v0.0.12
...
update-git
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7c616f7409 | ||
|
|
16f3939ae0 | ||
|
|
31065543d9 | ||
|
|
68d5f3a0cb | ||
|
|
98fc73df74 | ||
|
|
2bf4175cae | ||
|
|
345f4699a8 | ||
|
|
d5d676f8ec | ||
|
|
f1ff9e765f | ||
|
|
c7ab0e0f35 | ||
|
|
b1e526630c | ||
|
|
32ecb82eb6 | ||
|
|
77b931b32c | ||
|
|
487acd799c | ||
|
|
8e273d9f68 | ||
|
|
faffc8cc45 | ||
|
|
2b1230f252 | ||
|
|
eaf5461bbc | ||
|
|
38e65a3f81 | ||
|
|
1811524e66 | ||
|
|
361335bba0 | ||
|
|
49deed7d9c | ||
|
|
ff8995c434 | ||
|
|
c159079132 | ||
|
|
24ebad1ee5 | ||
|
|
40c723d82f | ||
|
|
36362d0317 | ||
|
|
0b684b81fb | ||
|
|
ebf4290bb2 | ||
|
|
c7b2867559 | ||
|
|
5e589f61ec | ||
|
|
5f0c2ede72 | ||
|
|
d27e6d14db | ||
|
|
6ae16f10ff | ||
|
|
f17e43bad7 | ||
|
|
bce330f598 | ||
|
|
5107181566 | ||
|
|
0a2dd6e758 | ||
|
|
a0e387d0a8 | ||
|
|
daa144c232 | ||
|
|
1203c3b31f | ||
|
|
62ff8bf2d2 | ||
|
|
3b7e31b388 | ||
|
|
c46d343c53 | ||
|
|
4166f9da1b | ||
|
|
4e934974ee | ||
|
|
4262717644 | ||
|
|
997794b59f | ||
|
|
a168c92f12 | ||
|
|
91fdae679d | ||
|
|
ee4aa2505e | ||
|
|
9fa5fcabe5 | ||
|
|
b7d239127c | ||
|
|
c4526b3f31 | ||
|
|
eebb4e8d0e | ||
|
|
3bca7cb8c7 | ||
|
|
3a50555d36 | ||
|
|
591c008fb9 | ||
|
|
6c093a4d08 | ||
|
|
0f8587b289 | ||
|
|
41be3ce857 | ||
|
|
41c9563cd9 | ||
|
|
0f032c1f00 | ||
|
|
7309652425 | ||
|
|
448c16a695 | ||
|
|
f459033434 | ||
|
|
afa2625655 | ||
|
|
0ec7f16bd7 |
@@ -4,23 +4,26 @@ major-version: 0
|
||||
providerDefaultBranch: main
|
||||
providerVersion: github.com/pulumi/pulumi-docker-build/provider.Version
|
||||
aws: true
|
||||
modulePath: .
|
||||
gcp: true
|
||||
sdkModuleDir: sdk/go/dockerbuild
|
||||
parallel: 3
|
||||
esc:
|
||||
enabled: true
|
||||
envOverride:
|
||||
AWS_REGION: us-west-2
|
||||
PULUMI_API: "https://api.pulumi-staging.io"
|
||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
||||
AZURE_LOCATION: westus
|
||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
||||
GOOGLE_PROJECT_NUMBER: 895284651812
|
||||
GOOGLE_REGION: us-central1
|
||||
GOOGLE_ZONE: us-central1-a
|
||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
||||
AWS_REGION: us-west-2
|
||||
PULUMI_API: "https://api.pulumi-staging.io"
|
||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
||||
AZURE_LOCATION: westus
|
||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
||||
GOOGLE_PROJECT_NUMBER: 895284651812
|
||||
GOOGLE_REGION: us-central1
|
||||
GOOGLE_ZONE: us-central1-a
|
||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
||||
|
||||
11
.config/mise.test.toml
Normal file
11
.config/mise.test.toml
Normal file
@@ -0,0 +1,11 @@
|
||||
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
|
||||
|
||||
# Overrides for test workflows
|
||||
|
||||
[env]
|
||||
# Acceptance (specifically providertest) tests require that PULUMI_HOME be the default
|
||||
PULUMI_HOME = "{{ env.HOME }}/.pulumi"
|
||||
|
||||
[tools]
|
||||
# always use pulumi latest for tests
|
||||
pulumi = "latest"
|
||||
32
.config/mise.toml
Normal file
32
.config/mise.toml
Normal file
@@ -0,0 +1,32 @@
|
||||
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
|
||||
# You can create your own root-level mise.toml file to override/augment this. See https://mise.jdx.dev/configuration.html
|
||||
|
||||
[env]
|
||||
_.source = "{{config_root}}/scripts/get-versions.sh"
|
||||
PULUMI_HOME = "{{config_root}}/.pulumi"
|
||||
|
||||
[tools]
|
||||
|
||||
# Runtimes
|
||||
# TODO: we may not need 'get_env' once https://github.com/jdx/mise/discussions/6339 is fixed
|
||||
go = "{{ get_env(name='GO_VERSION_MISE', default='latest') }}"
|
||||
node = '20.19.5'
|
||||
python = '3.11.8'
|
||||
dotnet = '8.0.414'
|
||||
# Corretto version used as Java SE/OpenJDK version no longer offered
|
||||
java = 'corretto-11'
|
||||
|
||||
# Executable tools
|
||||
pulumi = "{{ get_env(name='PULUMI_VERSION_MISE', default='latest') }}"
|
||||
"github:pulumi/pulumictl" = '0.0.50'
|
||||
"github:pulumi/schema-tools" = "0.6.0"
|
||||
"aqua:gradle/gradle-distributions" = '7.6.6'
|
||||
golangci-lint = "1.64.8" # See note about about overrides if you need to customize this.
|
||||
"npm:yarn" = "1.22.22"
|
||||
|
||||
[settings]
|
||||
experimental = true # Required for Go binaries (e.g. pulumictl).
|
||||
lockfile = false
|
||||
|
||||
[plugins]
|
||||
vfox-pulumi = "https://github.com/pulumi/vfox-pulumi"
|
||||
69
.github/ISSUE_TEMPLATE/bug.yaml
vendored
Normal file
69
.github/ISSUE_TEMPLATE/bug.yaml
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
name: Bug Report
|
||||
description: Report something that's not working correctly
|
||||
labels: ["kind/bug", "needs-triage"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to fill out this bug report!
|
||||
You can also ask questions on our [Community Slack](https://slack.pulumi.com/).
|
||||
- type: textarea
|
||||
id: what-happened
|
||||
attributes:
|
||||
label: Describe what happened
|
||||
description: Please summarize what happened, including what Pulumi commands you ran, as well as
|
||||
an inline snippet of any relevant error or console output.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: sample-program
|
||||
attributes:
|
||||
label: Sample program
|
||||
description: |
|
||||
<details><summary>Provide a reproducible sample program</summary>
|
||||
If this is a bug you encountered while running a Pulumi command, please provide us with a minimal,
|
||||
self-contained Pulumi program that reproduces this behavior so that we can investigate on our end.
|
||||
Without a functional reproduction, we will not be able to prioritize this bug.
|
||||
**Note:** If the program output is more than a few lines, please send us a Gist or a link to a file.
|
||||
</details>
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: log-output
|
||||
attributes:
|
||||
label: Log output
|
||||
description: |
|
||||
<details><summary>How to Submit Logs</summary>
|
||||
If this is something that is dependent on your environment, please also provide us with the output of
|
||||
`pulumi up --logtostderr --logflow -v=10` from the root of your project.
|
||||
We may also ask you to supply us with debug output following [these steps](https://www.pulumi.com/docs/using-pulumi/pulumi-packages/debugging-provider-packages/).
|
||||
**Note:** If the log output is more than a few lines, please send us a Gist or a link to a file.
|
||||
</details>
|
||||
- type: textarea
|
||||
id: resources
|
||||
attributes:
|
||||
label: Affected Resource(s)
|
||||
description: Please list the affected Pulumi Resource(s) or Function(s).
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: versions
|
||||
attributes:
|
||||
label: Output of `pulumi about`
|
||||
description: Provide the output of `pulumi about` from the root of your project.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: ctx
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: Anything else you would like to add?
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: voting
|
||||
attributes:
|
||||
label: Contributing
|
||||
value: |
|
||||
Vote on this issue by adding a 👍 reaction.
|
||||
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).
|
||||
35
.github/ISSUE_TEMPLATE/epic.md
vendored
Normal file
35
.github/ISSUE_TEMPLATE/epic.md
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
name: Epic
|
||||
about: Tracks a shippable unit of work
|
||||
title: '[Epic] {your-title-here}'
|
||||
labels: kind/epic
|
||||
projects: ['pulumi/32']
|
||||
assignees: ''
|
||||
type: Epic
|
||||
---
|
||||
|
||||
## Overview
|
||||
<!-- Start with a one- to three-sentence summary that should be understandable by any Pulumian or community member, even those without any context on the work. -->
|
||||
|
||||
## Key KPIs
|
||||
<!-- What KPIs should this Epic will move; what could we measure to observe that this project was successful? -->
|
||||
|
||||
## Key Stakeholders
|
||||
- Product and Engineering: <!-- Teams and individuals involved in the design and implementation -->
|
||||
- Documentation: <!-- Representative from the docs team -->
|
||||
- Marketing/Partnerships: <!-- Representative from the Marketing team -->
|
||||
- Customers: <!-- [Tracking Issue](add-link-and-uncomment) -->
|
||||
|
||||
## Key Deliverables
|
||||
<!-- List any discrete chunks of work or milestones that are planned in the epic (eg. subcomponent A, dogfood release, beta, etc.) -->
|
||||
|
||||
### References 📔
|
||||
|
||||
<!-- Any project that is more than one iteration should have a Project Board using this [template](https://github.com/orgs/pulumi/projects/131). -->
|
||||
- [ ] Project View <!-- [Link](add-link-and-uncomment) -->
|
||||
- [ ] PR/FAQ <!-- [Link](add-link-and-uncomment) -->
|
||||
- [ ] Design Doc <!-- [Link](add-link-and-uncomment) -->
|
||||
- [ ] UX Designs <!-- [Link](add-link-and-uncomment) -->
|
||||
- [ ] Decision Log <!-- [Link](add-link-and-uncomment) -->
|
||||
|
||||
<!-- Work items should be added to the project board linked above -->
|
||||
19
.github/actions/download-provider/action.yml
vendored
Normal file
19
.github/actions/download-provider/action.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
name: Download Provider Binary
|
||||
description: Downloads the provider binary artifact and restores executable permissions
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Download provider
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
|
||||
- name: UnTar provider binaries
|
||||
shell: bash
|
||||
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ github.workspace}}/bin
|
||||
|
||||
- name: Restore Binary Permissions
|
||||
shell: bash
|
||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print -exec chmod +x {} \;
|
||||
20
.github/actions/download-sdk/action.yml
vendored
Normal file
20
.github/actions/download-sdk/action.yml
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
name: Download SDK
|
||||
description: Downloads and extracts SDK artifacts for a specific language
|
||||
|
||||
inputs:
|
||||
language:
|
||||
description: 'The SDK language to download (nodejs, python, dotnet, java)'
|
||||
required: true
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Download SDK
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: ${{ inputs.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace }}/sdk/
|
||||
|
||||
- name: UnTar SDK folder
|
||||
shell: bash
|
||||
run: tar -zxf ${{ github.workspace }}/sdk/${{ inputs.language }}.tar.gz -C ${{ github.workspace }}/sdk/${{ inputs.language }}
|
||||
12
.github/actions/esc-action/action.yaml
vendored
Normal file
12
.github/actions/esc-action/action.yaml
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
name: "Load secrets"
|
||||
description: |
|
||||
This is a temporary action which assists with our migration to ESC. Instead
|
||||
of surrounding every step that references secrets with an "if ESC" block, we
|
||||
instead modify those steps to consume their secrets from this step's outputs.
|
||||
Then, later, we can replace this action with esc-action to actually load
|
||||
secrets from ESC.
|
||||
inputs: {}
|
||||
outputs: {}
|
||||
runs:
|
||||
using: "node20"
|
||||
main: "index.js"
|
||||
14
.github/actions/esc-action/index.js
vendored
Normal file
14
.github/actions/esc-action/index.js
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
const fs = require("fs");
|
||||
|
||||
const file = process.env["GITHUB_OUTPUT"];
|
||||
var stream = fs.createWriteStream(file, { flags: "a" });
|
||||
|
||||
for (const [name, value] of Object.entries(process.env)) {
|
||||
try {
|
||||
stream.write(`${name}<<EEEOOOFFF\n${value}\nEEEOOOFFF\n`); // << syntax accommodates multiline strings.
|
||||
} catch (err) {
|
||||
console.log(`error: failed to set output for ${name}: ${err.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
stream.end();
|
||||
41
.github/actions/setup-tools/action.yml
vendored
Normal file
41
.github/actions/setup-tools/action.yml
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
name: Setup Tools
|
||||
description: Installs all tools (Go, Node, Python, .NET, Java, Pulumi, etc.) using mise
|
||||
|
||||
inputs:
|
||||
cache:
|
||||
description: Enable caching
|
||||
required: false
|
||||
default: "false"
|
||||
github_token:
|
||||
description: GitHub token
|
||||
required: true
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Setup mise
|
||||
uses: jdx/mise-action@146a28175021df8ca24f8ee1828cc2a60f980bd5 # v3
|
||||
env:
|
||||
MISE_FETCH_REMOTE_VERSIONS_TIMEOUT: 30s
|
||||
with:
|
||||
version: 2025.11.6
|
||||
cache_save: ${{ inputs.cache }}
|
||||
github_token: ${{ inputs.github_token }}
|
||||
|
||||
- name: Setup Go Cache
|
||||
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
|
||||
with:
|
||||
cache: ${{ inputs.cache }}
|
||||
cache-dependency-path: |
|
||||
provider/*.sum
|
||||
upstream/*.sum
|
||||
sdk/go/*.sum
|
||||
sdk/*.sum
|
||||
*.sum
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
|
||||
with:
|
||||
# we don't set node-version because we install with mise.
|
||||
# this step is needed to setup npm auth
|
||||
registry-url: https://registry.npmjs.org
|
||||
511
.github/workflows/build.yml
vendored
511
.github/workflows/build.yml
vendored
@@ -1,6 +1,6 @@
|
||||
# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt
|
||||
|
||||
name: build
|
||||
name: main # For consistency with bridged providers.
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
@@ -15,43 +15,20 @@ on:
|
||||
- "**"
|
||||
workflow_dispatch: {}
|
||||
env:
|
||||
AZURE_SIGNING_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
|
||||
AZURE_SIGNING_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
|
||||
AZURE_SIGNING_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
|
||||
AZURE_SIGNING_KEY_VAULT_URI: ${{ secrets.AZURE_SIGNING_KEY_VAULT_URI }}
|
||||
SKIP_SIGNING: ${{ secrets.AZURE_SIGNING_CLIENT_ID == '' &&
|
||||
secrets.AZURE_SIGNING_CLIENT_SECRET == '' && secrets.AZURE_SIGNING_TENANT_ID
|
||||
== '' && secrets.AZURE_SIGNING_KEY_VAULT_URI == '' }}
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
PROVIDER: docker-build
|
||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
||||
PYPI_USERNAME: __token__
|
||||
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
||||
TRAVIS_OS_NAME: linux
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
||||
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
||||
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
||||
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
||||
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
||||
GOVERSION: "1.21.x"
|
||||
NODEVERSION: "20.x"
|
||||
PYTHONVERSION: "3.11.8"
|
||||
DOTNETVERSION: "8.0.x"
|
||||
JAVAVERSION: "11"
|
||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||
AWS_REGION: us-west-2
|
||||
AZURE_LOCATION: westus
|
||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||
@@ -60,31 +37,40 @@ env:
|
||||
GOOGLE_REGION: us-central1
|
||||
GOOGLE_ZONE: us-central1-a
|
||||
PULUMI_API: https://api.pulumi-staging.io
|
||||
|
||||
jobs:
|
||||
prerequisites:
|
||||
runs-on: ubuntu-latest
|
||||
name: prerequisites
|
||||
permissions:
|
||||
id-token: write # For ESC secrets.
|
||||
pull-requests: write # For schema check comment.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
cache: 'true'
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Install Schema Tools
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
@@ -97,13 +83,15 @@ jobs:
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Check Schema is Valid
|
||||
run: >-
|
||||
echo 'SCHEMA_CHANGES<<EOF' >> $GITHUB_ENV
|
||||
{
|
||||
echo 'SCHEMA_CHANGES<<EOF';
|
||||
|
||||
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV
|
||||
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json;
|
||||
|
||||
echo 'EOF' >> $GITHUB_ENV
|
||||
echo 'EOF';
|
||||
} >> "$GITHUB_ENV"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
- if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
|
||||
name: Comment on PR with Details of Schema Check
|
||||
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||
@@ -128,74 +116,42 @@ jobs:
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/dotnet/*.*.csproj
|
||||
sdk/dotnet/version.txt
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
- name: Commit ${{ matrix.language }} SDK changes for Renovate
|
||||
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||
contains(github.actor, 'renovate') && github.event_name ==
|
||||
'pull_request'
|
||||
shell: bash
|
||||
run: >
|
||||
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
||||
|
||||
git config --global user.email "bot@pulumi.com"
|
||||
|
||||
git config --global user.name "pulumi-bot"
|
||||
|
||||
# Stash local changes and check out the PR's branch directly.
|
||||
|
||||
git stash
|
||||
|
||||
git fetch
|
||||
|
||||
git checkout "origin/$HEAD_REF"
|
||||
|
||||
|
||||
# Apply and add our changes, but don't commit any files we expect to
|
||||
|
||||
# always change due to versioning.
|
||||
|
||||
git stash pop
|
||||
|
||||
git add sdk
|
||||
|
||||
git reset sdk/python/*/pulumi-plugin.json sdk/python/pyproject.toml sdk/dotnet/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/pulumi-plugin.json sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json
|
||||
|
||||
git commit -m 'Commit ${{ matrix.language }} SDK for Renovate'
|
||||
|
||||
|
||||
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||
|
||||
# workflow. https://github.com/orgs/community/discussions/25702
|
||||
|
||||
git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||
env:
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
sdk/java/build.gradle
|
||||
- run: git status --porcelain
|
||||
- name: Tar provider binaries
|
||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
||||
pulumi-gen-${{ env.PROVIDER}}
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin/provider.tar.gz
|
||||
- name: Test Provider Library
|
||||
run: make test_provider
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@ad3126e916f78f00edff4ed0317cf185271ccc2d # v5.4.2
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
ARM_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.ARM_CLIENT_SECRET }}
|
||||
DIGITALOCEAN_TOKEN: ${{ steps.esc-secrets.outputs.DIGITALOCEAN_TOKEN }}
|
||||
DOCKER_HUB_PASSWORD: ${{ steps.esc-secrets.outputs.DOCKER_HUB_PASSWORD }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ steps.esc-secrets.outputs.CODECOV_TOKEN }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure in building provider prerequisites
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
build_sdks:
|
||||
needs: prerequisites
|
||||
runs-on: pulumi-ubuntu-8core
|
||||
@@ -209,61 +165,36 @@ jobs:
|
||||
- go
|
||||
- java
|
||||
name: build_sdks
|
||||
permissions:
|
||||
pull-requests: write # For Renovate SDK updates.
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download provider
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
- name: UnTar provider binaries
|
||||
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
github.workspace}}/bin
|
||||
- name: Restore Binary Permissions
|
||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||
-exec chmod +x {} \;
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Download Provider Binary
|
||||
uses: ./.github/actions/download-provider
|
||||
- name: Generate SDK
|
||||
run: make generate_${{ matrix.language }}
|
||||
- name: Build SDK
|
||||
@@ -274,67 +205,65 @@ jobs:
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/dotnet/*.*.csproj
|
||||
sdk/dotnet/version.txt
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
- name: Commit ${{ matrix.language }} SDK changes for Renovate
|
||||
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||
contains(github.actor, 'renovate') && github.event_name ==
|
||||
'pull_request'
|
||||
shell: bash
|
||||
run: >
|
||||
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
||||
|
||||
git config --global user.email "bot@pulumi.com"
|
||||
|
||||
git config --global user.name "pulumi-bot"
|
||||
|
||||
# Stash local changes and check out the PR's branch directly.
|
||||
|
||||
git stash
|
||||
|
||||
git fetch
|
||||
|
||||
git checkout "origin/$HEAD_REF"
|
||||
|
||||
|
||||
# Apply and add our changes, but don't commit any files we expect to
|
||||
|
||||
# always change due to versioning.
|
||||
|
||||
git stash pop
|
||||
|
||||
git add sdk
|
||||
|
||||
git reset sdk/python/*/pulumi-plugin.json sdk/python/pyproject.toml sdk/dotnet/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/pulumi-plugin.json sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json
|
||||
|
||||
git commit -m 'Commit ${{ matrix.language }} SDK for Renovate'
|
||||
|
||||
|
||||
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||
|
||||
# workflow. https://github.com/orgs/community/discussions/25702
|
||||
|
||||
git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||
env:
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
sdk/java/build.gradle
|
||||
- run: git status --porcelain
|
||||
- name: Tar SDK folder
|
||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
||||
retention-days: 30
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure while building SDKs
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
|
||||
tag_release_if_labeled_needs_release:
|
||||
name: Tag release if labeled as needs-release
|
||||
needs: publish
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- name: check if this commit needs release
|
||||
if: ${{ env.RELEASE_BOT_ENDPOINT != '' }}
|
||||
uses: pulumi/action-release-by-pr-label@main
|
||||
with:
|
||||
command: "release-if-needed"
|
||||
repo: ${{ github.repository }}
|
||||
commit: ${{ github.sha }}
|
||||
slack_channel: C02MGR8JVST
|
||||
env:
|
||||
RELEASE_BOT_ENDPOINT: ${{ steps.esc-secrets.outputs.RELEASE_BOT_ENDPOINT }}
|
||||
RELEASE_BOT_KEY: ${{ steps.esc-secrets.outputs.RELEASE_BOT_KEY }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
test:
|
||||
runs-on: pulumi-ubuntu-8core
|
||||
needs:
|
||||
@@ -352,74 +281,41 @@ jobs:
|
||||
name: test
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
id-token: write # For ESC secrets and Pulumi access token OIDC.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download provider
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
- name: UnTar provider binaries
|
||||
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
github.workspace}}/bin
|
||||
- name: Restore Binary Permissions
|
||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||
-exec chmod +x {} \;
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Download Provider Binary
|
||||
uses: ./.github/actions/download-provider
|
||||
- name: Download SDK
|
||||
if: ${{ matrix.language != 'yaml' }}
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: ./.github/actions/download-sdk
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
- name: UnTar SDK folder
|
||||
if: ${{ matrix.language != 'yaml' }}
|
||||
run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{
|
||||
github.workspace}}/sdk/${{ matrix.language}}
|
||||
language: ${{ matrix.language }}
|
||||
- name: Update path
|
||||
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
|
||||
run: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH"
|
||||
- name: Install Node dependencies
|
||||
run: yarn global add typescript
|
||||
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
||||
@@ -438,13 +334,13 @@ jobs:
|
||||
requested-token-type: urn:pulumi:token-type:access_token:organization
|
||||
export-environment-variables: false
|
||||
- name: Export AWS Credentials
|
||||
uses: pulumi/esc-action@efb0bc8946938f0dfbfa00e829196ec95f0d0ea7 # v1.4.0
|
||||
uses: pulumi/esc-action@6cf9520e68354d86f81c455e8d43eabd58f5c9f5 # v1.5.0
|
||||
env:
|
||||
PULUMI_ACCESS_TOKEN: ${{ steps.generate_pulumi_token.outputs.pulumi-access-token }}
|
||||
with:
|
||||
environment: logins/pulumi-ci
|
||||
- name: Authenticate to Google Cloud
|
||||
uses: google-github-actions/auth@ba79af03959ebeac9769e648f473a284504d9193 # v2.1.10
|
||||
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
|
||||
with:
|
||||
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
||||
}}/locations/global/workloadIdentityPools/${{
|
||||
@@ -452,7 +348,7 @@ jobs:
|
||||
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
||||
- name: Setup gcloud auth
|
||||
uses: google-github-actions/setup-gcloud@77e7a554d41e2ee56fc945c52dfd3f33d12def9a # v2.1.4
|
||||
uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1
|
||||
with:
|
||||
install_components: gke-gcloud-auth-plugin
|
||||
- name: Install gotestfmt
|
||||
@@ -465,32 +361,49 @@ jobs:
|
||||
set -euo pipefail
|
||||
|
||||
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure in SDK tests
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
needs: test
|
||||
name: publish
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clear GitHub Actions Ubuntu runner disk space
|
||||
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
|
||||
with:
|
||||
@@ -500,82 +413,78 @@ jobs:
|
||||
haskell: true
|
||||
swap-storage: true
|
||||
large-packages: false
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Configure AWS Credentials
|
||||
uses: aws-actions/configure-aws-credentials@f24d7193d98baebaeacc7e2227925dd47cc267f5 # v4.2.0
|
||||
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-access-key-id: ${{ steps.esc-secrets.outputs.AWS_ACCESS_KEY_ID }}
|
||||
aws-region: us-east-2
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
aws-secret-access-key: ${{ steps.esc-secrets.outputs.AWS_SECRET_ACCESS_KEY }}
|
||||
role-duration-seconds: 7200
|
||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||
role-external-id: upload-pulumi-release
|
||||
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
||||
role-to-assume: ${{ steps.esc-secrets.outputs.AWS_UPLOAD_ROLE_ARN }}
|
||||
- name: Run GoReleaser
|
||||
uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
|
||||
env:
|
||||
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
||||
AZURE_SIGNING_CLIENT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID }}
|
||||
AZURE_SIGNING_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET }}
|
||||
AZURE_SIGNING_TENANT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID }}
|
||||
AZURE_SIGNING_KEY_VAULT_URI: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI }}
|
||||
SKIP_SIGNING: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET == '' && steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI == '' }}
|
||||
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
with:
|
||||
args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s
|
||||
version: latest
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure in publishing binaries
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
publish_sdk:
|
||||
runs-on: ubuntu-latest
|
||||
needs: publish
|
||||
name: publish_sdk
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- run: echo "ci-scripts" >> .git/info/exclude
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Download python SDK
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: python-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -583,7 +492,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
|
||||
${{github.workspace}}/sdk/python
|
||||
- name: Download dotnet SDK
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: dotnet-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -591,7 +500,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
|
||||
${{github.workspace}}/sdk/dotnet
|
||||
- name: Download nodejs SDK
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: nodejs-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -603,38 +512,46 @@ jobs:
|
||||
- name: Publish SDKs
|
||||
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NUGET_PUBLISH_KEY: ${{ steps.esc-secrets.outputs.NUGET_PUBLISH_KEY }}
|
||||
NODE_AUTH_TOKEN: ${{ steps.esc-secrets.outputs.NPM_TOKEN }}
|
||||
PYPI_PUBLISH_ARTIFACTS: all
|
||||
PYPI_USERNAME: __token__
|
||||
PYPI_PASSWORD: ${{ steps.esc-secrets.outputs.PYPI_API_TOKEN }}
|
||||
SIGNING_KEY_ID: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY_ID }}
|
||||
SIGNING_KEY: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_PASSWORD }}
|
||||
PUBLISH_REPO_USERNAME: ${{ steps.esc-secrets.outputs.OSSRH_USERNAME }}
|
||||
PUBLISH_REPO_PASSWORD: ${{ steps.esc-secrets.outputs.OSSRH_PASSWORD }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure in publishing SDK
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
persist-credentials: false
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Disarm go:embed directives to enable linters that compile source code
|
||||
run: git grep -l 'go:embed' -- provider | xargs --no-run-if-empty sed -i
|
||||
's/go:embed/ goembed/g'
|
||||
- name: golangci-lint provider pkg
|
||||
uses: golangci/golangci-lint-action@55c2c1448f86e01eaae002a5a3a9624417608d84 # v6.5.2
|
||||
with:
|
||||
version: ${{ env.GOLANGCI_LINT_VERSION }}
|
||||
args: -c ../.golangci.yml
|
||||
working-directory: provider
|
||||
install-mode: none # Handled by mise.
|
||||
working-directory: .
|
||||
name: lint
|
||||
if: github.event_name == 'repository_dispatch' ||
|
||||
github.event.pull_request.head.repo.full_name == github.repository
|
||||
|
||||
72
.github/workflows/command-dispatch.yml
vendored
72
.github/workflows/command-dispatch.yml
vendored
@@ -1,42 +1,11 @@
|
||||
# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt
|
||||
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
|
||||
|
||||
name: command-dispatch
|
||||
on:
|
||||
issue_comment:
|
||||
types:
|
||||
- created
|
||||
- edited
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
PROVIDER: docker-build
|
||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
||||
PYPI_USERNAME: __token__
|
||||
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
||||
TRAVIS_OS_NAME: linux
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
||||
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
||||
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
||||
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
||||
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
||||
GOVERSION: "1.21.x"
|
||||
NODEVERSION: "20.x"
|
||||
PYTHONVERSION: "3.11.8"
|
||||
DOTNETVERSION: "8.0.x"
|
||||
JAVAVERSION: "11"
|
||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||
AWS_REGION: us-west-2
|
||||
AZURE_LOCATION: westus
|
||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||
@@ -45,21 +14,42 @@ env:
|
||||
GOOGLE_REGION: us-central1
|
||||
GOOGLE_ZONE: us-central1-a
|
||||
PULUMI_API: https://api.pulumi-staging.io
|
||||
PULUMI_PULUMI_ENABLE_JOURNALING: "true"
|
||||
|
||||
jobs:
|
||||
command-dispatch-for-testing:
|
||||
runs-on: ubuntu-latest
|
||||
name: command-dispatch-for-testing
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
- uses: peter-evans/slash-command-dispatch@13bc09769d122a64f75aa5037256f6f2d78be8c4 # v4.0.0
|
||||
persist-credentials: false
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- uses: peter-evans/slash-command-dispatch@5c11dc7efead556e3bdabf664302212f79eb26fa # v5
|
||||
with:
|
||||
token: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
reaction-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
commands: run-acceptance-tests
|
||||
permission: write
|
||||
commands: |
|
||||
run-acceptance-tests
|
||||
release
|
||||
issue-type: pull-request
|
||||
permission: write
|
||||
reaction-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
repository: pulumi/pulumi-docker-build
|
||||
if: ${{ github.event.issue.pull_request }}
|
||||
token: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
name: command-dispatch
|
||||
on:
|
||||
issue_comment:
|
||||
types:
|
||||
- created
|
||||
- edited
|
||||
|
||||
42
.github/workflows/comment-on-stale-issues.yml
vendored
Normal file
42
.github/workflows/comment-on-stale-issues.yml
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
name: "Comment on stale issues"
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "46 4 * * *" # run once per day
|
||||
|
||||
jobs:
|
||||
cleanup:
|
||||
runs-on: ubuntu-latest
|
||||
name: Stale issue job
|
||||
steps:
|
||||
- uses: aws-actions/stale-issue-cleanup@5650b49bcd757a078f6ca06c373d7807b773f9bc # v7.1.0
|
||||
with:
|
||||
issue-types: issues # only look at issues (ignore pull-requests)
|
||||
|
||||
# Setting messages to an empty string causes the automation to skip that category
|
||||
ancient-issue-message: "Unfortunately, it looks like this issue hasn't seen any updates in a while. If you're still experiencing this issue, could you leave a quick comment to let us know so we can prioritize it?"
|
||||
ancient-pr-message: ""
|
||||
stale-issue-message: ""
|
||||
stale-pr-message: ""
|
||||
|
||||
# These labels are required
|
||||
stale-issue-label: awaiting-feedback # somewhat confusingly, this is also used for when labeling "ancient" issues
|
||||
exempt-issue-labels: kind/enhancement,kind/task,kind/epic,kind/engineering, awaiting-upstream # only run on kind/bug for now, ignore awaiting-upstream too.
|
||||
stale-pr-label: no-pr-activity # unused because we aren't processing PRs
|
||||
exempt-pr-labels: awaiting-approval # unused because we aren't processing PRs
|
||||
response-requested-label: response-requested # unused because we don't set a "stale-issue-message" above
|
||||
|
||||
# Issue timing
|
||||
days-before-close: 10000 # this action lacks the option not to close, so just set this indefinitly far in the future
|
||||
days-before-ancient: 180 # 6 months
|
||||
|
||||
# If you don't want to mark a issue as being ancient based on a
|
||||
# threshold of "upvotes", you can set this here. An "upvote" is
|
||||
# the total number of +1, heart, hooray, and rocket reactions
|
||||
# on an issue.
|
||||
minimum-upvotes-to-exempt: 2
|
||||
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
loglevel: DEBUG
|
||||
# Set dry-run to true to not perform label or close actions.
|
||||
dry-run: true
|
||||
43
.github/workflows/community-moderation.yml
vendored
Normal file
43
.github/workflows/community-moderation.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
|
||||
|
||||
jobs:
|
||||
warn_codegen:
|
||||
name: warn_codegen
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
persist-credentials: false
|
||||
- id: schema_changed
|
||||
name: Check for diff in schema
|
||||
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
|
||||
with:
|
||||
filters: "changed: 'provider/cmd/**/schema.json'"
|
||||
- id: sdk_changed
|
||||
if: steps.schema_changed.outputs.changed == 'false'
|
||||
name: Check for diff in sdk/**
|
||||
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
|
||||
with:
|
||||
filters: "changed: 'sdk/**'"
|
||||
- if: steps.sdk_changed.outputs.changed == 'true' &&
|
||||
github.event.pull_request.head.repo.full_name != github.repository
|
||||
name: Send codegen warning as comment on PR
|
||||
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||
with:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
message: >
|
||||
Hello and thank you for your pull request! :heart: :sparkles:
|
||||
|
||||
It looks like you're directly modifying files in the language SDKs, many of which are autogenerated.
|
||||
|
||||
Be sure any files you're editing do not begin with a code generation warning.
|
||||
|
||||
For generated files, you will need to make changes in `resources.go` instead, and [generate the code](https://github.com/pulumi/${{ github.event.repository.name }}/blob/master/CONTRIBUTING.md#committing-generated-code).
|
||||
name: warn-codegen
|
||||
on:
|
||||
pull_request_target:
|
||||
branches:
|
||||
- main
|
||||
types:
|
||||
- opened
|
||||
25
.github/workflows/export-repo-secrets.yml
vendored
Normal file
25
.github/workflows/export-repo-secrets.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
permissions: write-all # Equivalent to default permissions plus id-token: write
|
||||
name: Export secrets to ESC
|
||||
on: [workflow_dispatch]
|
||||
jobs:
|
||||
export-to-esc:
|
||||
runs-on: ubuntu-latest
|
||||
name: export GitHub secrets to ESC
|
||||
steps:
|
||||
- name: Generate a GitHub token
|
||||
id: generate-token
|
||||
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2
|
||||
with:
|
||||
app-id: 1256780 # Export Secrets GitHub App
|
||||
private-key: ${{ secrets.EXPORT_SECRETS_PRIVATE_KEY }}
|
||||
- name: Export secrets to ESC
|
||||
uses: pulumi/esc-export-secrets-action@9d6485759b6adff2538ae91f1b77cc96265c9dad # v1
|
||||
with:
|
||||
organization: pulumi
|
||||
org-environment: imports/github-secrets
|
||||
exclude-secrets: EXPORT_SECRETS_PRIVATE_KEY
|
||||
github-token: ${{ steps.generate-token.outputs.token }}
|
||||
oidc-auth: true
|
||||
oidc-requested-token-type: urn:pulumi:token-type:access_token:organization
|
||||
env:
|
||||
GITHUB_SECRETS: ${{ toJSON(secrets) }}
|
||||
520
.github/workflows/prerelease.yml
vendored
520
.github/workflows/prerelease.yml
vendored
@@ -6,43 +6,20 @@ on:
|
||||
tags:
|
||||
- v*.*.*-**
|
||||
env:
|
||||
AZURE_SIGNING_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
|
||||
AZURE_SIGNING_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
|
||||
AZURE_SIGNING_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
|
||||
AZURE_SIGNING_KEY_VAULT_URI: ${{ secrets.AZURE_SIGNING_KEY_VAULT_URI }}
|
||||
SKIP_SIGNING: ${{ secrets.AZURE_SIGNING_CLIENT_ID == '' &&
|
||||
secrets.AZURE_SIGNING_CLIENT_SECRET == '' && secrets.AZURE_SIGNING_TENANT_ID
|
||||
== '' && secrets.AZURE_SIGNING_KEY_VAULT_URI == '' }}
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
PROVIDER: docker-build
|
||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
||||
PYPI_USERNAME: __token__
|
||||
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
||||
TRAVIS_OS_NAME: linux
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
||||
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
||||
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
||||
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
||||
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
||||
GOVERSION: "1.21.x"
|
||||
NODEVERSION: "20.x"
|
||||
PYTHONVERSION: "3.11.8"
|
||||
DOTNETVERSION: "8.0.x"
|
||||
JAVAVERSION: "11"
|
||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||
AWS_REGION: us-west-2
|
||||
AZURE_LOCATION: westus
|
||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||
@@ -52,31 +29,37 @@ env:
|
||||
GOOGLE_ZONE: us-central1-a
|
||||
PULUMI_API: https://api.pulumi-staging.io
|
||||
IS_PRERELEASE: true
|
||||
|
||||
jobs:
|
||||
prerequisites:
|
||||
runs-on: ubuntu-latest
|
||||
name: prerequisites
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
cache: 'true'
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Install Schema Tools
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
@@ -89,13 +72,15 @@ jobs:
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Check Schema is Valid
|
||||
run: >-
|
||||
echo 'SCHEMA_CHANGES<<EOF' >> $GITHUB_ENV
|
||||
{
|
||||
echo 'SCHEMA_CHANGES<<EOF';
|
||||
|
||||
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV
|
||||
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json;
|
||||
|
||||
echo 'EOF' >> $GITHUB_ENV
|
||||
echo 'EOF';
|
||||
} >> "$GITHUB_ENV"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
- if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
|
||||
name: Comment on PR with Details of Schema Check
|
||||
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||
@@ -120,74 +105,42 @@ jobs:
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/dotnet/*.*.csproj
|
||||
sdk/dotnet/version.txt
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
- name: Commit ${{ matrix.language }} SDK changes for Renovate
|
||||
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||
contains(github.actor, 'renovate') && github.event_name ==
|
||||
'pull_request'
|
||||
shell: bash
|
||||
run: >
|
||||
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
||||
|
||||
git config --global user.email "bot@pulumi.com"
|
||||
|
||||
git config --global user.name "pulumi-bot"
|
||||
|
||||
# Stash local changes and check out the PR's branch directly.
|
||||
|
||||
git stash
|
||||
|
||||
git fetch
|
||||
|
||||
git checkout "origin/$HEAD_REF"
|
||||
|
||||
|
||||
# Apply and add our changes, but don't commit any files we expect to
|
||||
|
||||
# always change due to versioning.
|
||||
|
||||
git stash pop
|
||||
|
||||
git add sdk
|
||||
|
||||
git reset sdk/python/*/pulumi-plugin.json sdk/python/pyproject.toml sdk/dotnet/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/pulumi-plugin.json sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json
|
||||
|
||||
git commit -m 'Commit ${{ matrix.language }} SDK for Renovate'
|
||||
|
||||
|
||||
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||
|
||||
# workflow. https://github.com/orgs/community/discussions/25702
|
||||
|
||||
git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||
env:
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
sdk/java/build.gradle
|
||||
- run: git status --porcelain
|
||||
- name: Tar provider binaries
|
||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
||||
pulumi-gen-${{ env.PROVIDER}}
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin/provider.tar.gz
|
||||
- name: Test Provider Library
|
||||
run: make test_provider
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@ad3126e916f78f00edff4ed0317cf185271ccc2d # v5.4.2
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
ARM_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.ARM_CLIENT_SECRET }}
|
||||
DIGITALOCEAN_TOKEN: ${{ steps.esc-secrets.outputs.DIGITALOCEAN_TOKEN }}
|
||||
DOCKER_HUB_PASSWORD: ${{ steps.esc-secrets.outputs.DOCKER_HUB_PASSWORD }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ steps.esc-secrets.outputs.CODECOV_TOKEN }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure in building provider prerequisites
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
build_sdks:
|
||||
needs: prerequisites
|
||||
runs-on: pulumi-ubuntu-8core
|
||||
@@ -201,61 +154,36 @@ jobs:
|
||||
- go
|
||||
- java
|
||||
name: build_sdks
|
||||
permissions:
|
||||
pull-requests: write # For Renovate SDK updates.
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download provider
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
- name: UnTar provider binaries
|
||||
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
github.workspace}}/bin
|
||||
- name: Restore Binary Permissions
|
||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||
-exec chmod +x {} \;
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Download Provider Binary
|
||||
uses: ./.github/actions/download-provider
|
||||
- name: Generate SDK
|
||||
run: make generate_${{ matrix.language }}
|
||||
- name: Build SDK
|
||||
@@ -266,66 +194,29 @@ jobs:
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/dotnet/*.*.csproj
|
||||
sdk/dotnet/version.txt
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
- name: Commit ${{ matrix.language }} SDK changes for Renovate
|
||||
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||
contains(github.actor, 'renovate') && github.event_name ==
|
||||
'pull_request'
|
||||
shell: bash
|
||||
run: >
|
||||
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
||||
|
||||
git config --global user.email "bot@pulumi.com"
|
||||
|
||||
git config --global user.name "pulumi-bot"
|
||||
|
||||
# Stash local changes and check out the PR's branch directly.
|
||||
|
||||
git stash
|
||||
|
||||
git fetch
|
||||
|
||||
git checkout "origin/$HEAD_REF"
|
||||
|
||||
|
||||
# Apply and add our changes, but don't commit any files we expect to
|
||||
|
||||
# always change due to versioning.
|
||||
|
||||
git stash pop
|
||||
|
||||
git add sdk
|
||||
|
||||
git reset sdk/python/*/pulumi-plugin.json sdk/python/pyproject.toml sdk/dotnet/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/pulumi-plugin.json sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json
|
||||
|
||||
git commit -m 'Commit ${{ matrix.language }} SDK for Renovate'
|
||||
|
||||
|
||||
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||
|
||||
# workflow. https://github.com/orgs/community/discussions/25702
|
||||
|
||||
git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||
env:
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
sdk/java/build.gradle
|
||||
- run: git status --porcelain
|
||||
- name: Tar SDK folder
|
||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure while building SDKs
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
test:
|
||||
runs-on: pulumi-ubuntu-8core
|
||||
needs:
|
||||
@@ -343,74 +234,41 @@ jobs:
|
||||
name: test
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
id-token: write # For ESC secrets and Pulumi access token OIDC.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download provider
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
- name: UnTar provider binaries
|
||||
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
github.workspace}}/bin
|
||||
- name: Restore Binary Permissions
|
||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||
-exec chmod +x {} \;
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Download Provider Binary
|
||||
uses: ./.github/actions/download-provider
|
||||
- name: Download SDK
|
||||
if: ${{ matrix.language != 'yaml' }}
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: ./.github/actions/download-sdk
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
- name: UnTar SDK folder
|
||||
if: ${{ matrix.language != 'yaml' }}
|
||||
run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{
|
||||
github.workspace}}/sdk/${{ matrix.language}}
|
||||
language: ${{ matrix.language }}
|
||||
- name: Update path
|
||||
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
|
||||
run: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH"
|
||||
- name: Install Node dependencies
|
||||
run: yarn global add typescript
|
||||
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
||||
@@ -429,13 +287,13 @@ jobs:
|
||||
requested-token-type: urn:pulumi:token-type:access_token:organization
|
||||
export-environment-variables: false
|
||||
- name: Export AWS Credentials
|
||||
uses: pulumi/esc-action@efb0bc8946938f0dfbfa00e829196ec95f0d0ea7 # v1.4.0
|
||||
uses: pulumi/esc-action@6cf9520e68354d86f81c455e8d43eabd58f5c9f5 # v1.5.0
|
||||
env:
|
||||
PULUMI_ACCESS_TOKEN: ${{ steps.generate_pulumi_token.outputs.pulumi-access-token }}
|
||||
with:
|
||||
environment: logins/pulumi-ci
|
||||
- name: Authenticate to Google Cloud
|
||||
uses: google-github-actions/auth@ba79af03959ebeac9769e648f473a284504d9193 # v2.1.10
|
||||
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
|
||||
with:
|
||||
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
||||
}}/locations/global/workloadIdentityPools/${{
|
||||
@@ -443,7 +301,7 @@ jobs:
|
||||
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
||||
- name: Setup gcloud auth
|
||||
uses: google-github-actions/setup-gcloud@77e7a554d41e2ee56fc945c52dfd3f33d12def9a # v2.1.4
|
||||
uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1
|
||||
with:
|
||||
install_components: gke-gcloud-auth-plugin
|
||||
- name: Install gotestfmt
|
||||
@@ -456,32 +314,49 @@ jobs:
|
||||
set -euo pipefail
|
||||
|
||||
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure in SDK tests
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
needs: test
|
||||
name: publish
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clear GitHub Actions Ubuntu runner disk space
|
||||
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
|
||||
with:
|
||||
@@ -491,82 +366,78 @@ jobs:
|
||||
haskell: true
|
||||
swap-storage: true
|
||||
large-packages: false
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Configure AWS Credentials
|
||||
uses: aws-actions/configure-aws-credentials@f24d7193d98baebaeacc7e2227925dd47cc267f5 # v4.2.0
|
||||
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-access-key-id: ${{ steps.esc-secrets.outputs.AWS_ACCESS_KEY_ID }}
|
||||
aws-region: us-east-2
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
aws-secret-access-key: ${{ steps.esc-secrets.outputs.AWS_SECRET_ACCESS_KEY }}
|
||||
role-duration-seconds: 7200
|
||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||
role-external-id: upload-pulumi-release
|
||||
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
||||
role-to-assume: ${{ steps.esc-secrets.outputs.AWS_UPLOAD_ROLE_ARN }}
|
||||
- name: Run GoReleaser
|
||||
uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
|
||||
env:
|
||||
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
||||
AZURE_SIGNING_CLIENT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID }}
|
||||
AZURE_SIGNING_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET }}
|
||||
AZURE_SIGNING_TENANT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID }}
|
||||
AZURE_SIGNING_KEY_VAULT_URI: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI }}
|
||||
SKIP_SIGNING: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET == '' && steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI == '' }}
|
||||
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
with:
|
||||
args: -p 3 -f .goreleaser.prerelease.yml --clean --skip=validate --timeout 60m0s
|
||||
version: latest
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure in publishing binaries
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
publish_sdk:
|
||||
runs-on: ubuntu-latest
|
||||
needs: publish
|
||||
name: publish_sdk
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- run: echo "ci-scripts" >> .git/info/exclude
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Download python SDK
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: python-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -574,7 +445,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
|
||||
${{github.workspace}}/sdk/python
|
||||
- name: Download dotnet SDK
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: dotnet-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -582,7 +453,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
|
||||
${{github.workspace}}/sdk/dotnet
|
||||
- name: Download nodejs SDK
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: nodejs-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -594,83 +465,92 @@ jobs:
|
||||
- name: Publish SDKs
|
||||
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NUGET_PUBLISH_KEY: ${{ steps.esc-secrets.outputs.NUGET_PUBLISH_KEY }}
|
||||
NODE_AUTH_TOKEN: ${{ steps.esc-secrets.outputs.NPM_TOKEN }}
|
||||
PYPI_PUBLISH_ARTIFACTS: all
|
||||
PYPI_USERNAME: __token__
|
||||
PYPI_PASSWORD: ${{ steps.esc-secrets.outputs.PYPI_API_TOKEN }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure in publishing SDK
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
publish_java_sdk:
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
needs: publish
|
||||
name: publish_java_sdk
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Download java SDK
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: java-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
- name: Uncompress java SDK
|
||||
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
||||
${{github.workspace}}/sdk/java
|
||||
- name: Setup Gradle
|
||||
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Publish Java SDK
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
run: gradle -p ./sdk/java publishToSonatype closeAndReleaseSonatypeStagingRepository
|
||||
env:
|
||||
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
||||
with:
|
||||
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
||||
build-root-directory: ./sdk/java
|
||||
gradle-version: 7.4.1
|
||||
SIGNING_KEY_ID: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY_ID }}
|
||||
SIGNING_KEY: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_PASSWORD }}
|
||||
PUBLISH_REPO_PASSWORD: ${{ steps.esc-secrets.outputs.OSSRH_PASSWORD }}
|
||||
PUBLISH_REPO_USERNAME: ${{ steps.esc-secrets.outputs.OSSRH_USERNAME }}
|
||||
publish_go_sdk:
|
||||
runs-on: ubuntu-latest
|
||||
name: publish-go-sdk
|
||||
needs: publish_sdk
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Download go SDK
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: go-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
|
||||
42
.github/workflows/pull-request.yml
vendored
42
.github/workflows/pull-request.yml
vendored
@@ -3,52 +3,14 @@
|
||||
name: pull-request
|
||||
on:
|
||||
pull_request_target: {}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
PROVIDER: docker-build
|
||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
||||
PYPI_USERNAME: __token__
|
||||
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
||||
TRAVIS_OS_NAME: linux
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
||||
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
||||
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
||||
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
||||
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
||||
GOVERSION: "1.21.x"
|
||||
NODEVERSION: "20.x"
|
||||
PYTHONVERSION: "3.11.8"
|
||||
DOTNETVERSION: "8.0.x"
|
||||
JAVAVERSION: "11"
|
||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||
AWS_REGION: us-west-2
|
||||
AZURE_LOCATION: westus
|
||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
||||
GOOGLE_PROJECT_NUMBER: "895284651812"
|
||||
GOOGLE_REGION: us-central1
|
||||
GOOGLE_ZONE: us-central1-a
|
||||
PULUMI_API: https://api.pulumi-staging.io
|
||||
|
||||
jobs:
|
||||
comment-on-pr:
|
||||
runs-on: ubuntu-latest
|
||||
name: comment-on-pr
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
- name: Comment PR
|
||||
|
||||
543
.github/workflows/release.yml
vendored
543
.github/workflows/release.yml
vendored
@@ -7,43 +7,20 @@ on:
|
||||
- v*.*.*
|
||||
- "!v*.*.*-**"
|
||||
env:
|
||||
AZURE_SIGNING_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
|
||||
AZURE_SIGNING_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
|
||||
AZURE_SIGNING_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
|
||||
AZURE_SIGNING_KEY_VAULT_URI: ${{ secrets.AZURE_SIGNING_KEY_VAULT_URI }}
|
||||
SKIP_SIGNING: ${{ secrets.AZURE_SIGNING_CLIENT_ID == '' &&
|
||||
secrets.AZURE_SIGNING_CLIENT_SECRET == '' && secrets.AZURE_SIGNING_TENANT_ID
|
||||
== '' && secrets.AZURE_SIGNING_KEY_VAULT_URI == '' }}
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
PROVIDER: docker-build
|
||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
||||
PYPI_USERNAME: __token__
|
||||
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
||||
TRAVIS_OS_NAME: linux
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
||||
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
||||
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
||||
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
||||
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
||||
GOVERSION: "1.21.x"
|
||||
NODEVERSION: "20.x"
|
||||
PYTHONVERSION: "3.11.8"
|
||||
DOTNETVERSION: "8.0.x"
|
||||
JAVAVERSION: "11"
|
||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||
AWS_REGION: us-west-2
|
||||
AZURE_LOCATION: westus
|
||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||
@@ -52,31 +29,40 @@ env:
|
||||
GOOGLE_REGION: us-central1
|
||||
GOOGLE_ZONE: us-central1-a
|
||||
PULUMI_API: https://api.pulumi-staging.io
|
||||
|
||||
jobs:
|
||||
prerequisites:
|
||||
runs-on: ubuntu-latest
|
||||
name: prerequisites
|
||||
permissions:
|
||||
id-token: write # For ESC secrets.
|
||||
pull-requests: write # For schema check comment.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
cache: 'true'
|
||||
github_token: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Install Schema Tools
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
@@ -89,13 +75,15 @@ jobs:
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Check Schema is Valid
|
||||
run: >-
|
||||
echo 'SCHEMA_CHANGES<<EOF' >> $GITHUB_ENV
|
||||
{
|
||||
echo 'SCHEMA_CHANGES<<EOF';
|
||||
|
||||
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV
|
||||
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json;
|
||||
|
||||
echo 'EOF' >> $GITHUB_ENV
|
||||
echo 'EOF';
|
||||
} >> "$GITHUB_ENV"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
- if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
|
||||
name: Comment on PR with Details of Schema Check
|
||||
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||
@@ -120,74 +108,42 @@ jobs:
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/dotnet/*.*.csproj
|
||||
sdk/dotnet/version.txt
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
- name: Commit ${{ matrix.language }} SDK changes for Renovate
|
||||
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||
contains(github.actor, 'renovate') && github.event_name ==
|
||||
'pull_request'
|
||||
shell: bash
|
||||
run: >
|
||||
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
||||
|
||||
git config --global user.email "bot@pulumi.com"
|
||||
|
||||
git config --global user.name "pulumi-bot"
|
||||
|
||||
# Stash local changes and check out the PR's branch directly.
|
||||
|
||||
git stash
|
||||
|
||||
git fetch
|
||||
|
||||
git checkout "origin/$HEAD_REF"
|
||||
|
||||
|
||||
# Apply and add our changes, but don't commit any files we expect to
|
||||
|
||||
# always change due to versioning.
|
||||
|
||||
git stash pop
|
||||
|
||||
git add sdk
|
||||
|
||||
git reset sdk/python/*/pulumi-plugin.json sdk/python/pyproject.toml sdk/dotnet/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/pulumi-plugin.json sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json
|
||||
|
||||
git commit -m 'Commit ${{ matrix.language }} SDK for Renovate'
|
||||
|
||||
|
||||
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||
|
||||
# workflow. https://github.com/orgs/community/discussions/25702
|
||||
|
||||
git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||
env:
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
sdk/java/build.gradle
|
||||
- run: git status --porcelain
|
||||
- name: Tar provider binaries
|
||||
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
||||
pulumi-gen-${{ env.PROVIDER}}
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin/provider.tar.gz
|
||||
- name: Test Provider Library
|
||||
run: make test_provider
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@ad3126e916f78f00edff4ed0317cf185271ccc2d # v5.4.2
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
ARM_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.ARM_CLIENT_SECRET }}
|
||||
DIGITALOCEAN_TOKEN: ${{ steps.esc-secrets.outputs.DIGITALOCEAN_TOKEN }}
|
||||
DOCKER_HUB_PASSWORD: ${{ steps.esc-secrets.outputs.DOCKER_HUB_PASSWORD }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ steps.esc-secrets.outputs.CODECOV_TOKEN }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure in building provider prerequisites
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
build_sdks:
|
||||
needs: prerequisites
|
||||
runs-on: pulumi-ubuntu-8core
|
||||
@@ -201,61 +157,36 @@ jobs:
|
||||
- go
|
||||
- java
|
||||
name: build_sdks
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download provider
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
- name: UnTar provider binaries
|
||||
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
github.workspace}}/bin
|
||||
- name: Restore Binary Permissions
|
||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||
-exec chmod +x {} \;
|
||||
github_token: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
- name: Download Provider Binary
|
||||
uses: ./.github/actions/download-provider
|
||||
- name: Generate SDK
|
||||
run: make generate_${{ matrix.language }}
|
||||
- name: Build SDK
|
||||
@@ -266,66 +197,29 @@ jobs:
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/dotnet/*.*.csproj
|
||||
sdk/dotnet/version.txt
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
- name: Commit ${{ matrix.language }} SDK changes for Renovate
|
||||
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||
contains(github.actor, 'renovate') && github.event_name ==
|
||||
'pull_request'
|
||||
shell: bash
|
||||
run: >
|
||||
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
||||
|
||||
git config --global user.email "bot@pulumi.com"
|
||||
|
||||
git config --global user.name "pulumi-bot"
|
||||
|
||||
# Stash local changes and check out the PR's branch directly.
|
||||
|
||||
git stash
|
||||
|
||||
git fetch
|
||||
|
||||
git checkout "origin/$HEAD_REF"
|
||||
|
||||
|
||||
# Apply and add our changes, but don't commit any files we expect to
|
||||
|
||||
# always change due to versioning.
|
||||
|
||||
git stash pop
|
||||
|
||||
git add sdk
|
||||
|
||||
git reset sdk/python/*/pulumi-plugin.json sdk/python/pyproject.toml sdk/dotnet/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/pulumi-plugin.json sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json
|
||||
|
||||
git commit -m 'Commit ${{ matrix.language }} SDK for Renovate'
|
||||
|
||||
|
||||
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||
|
||||
# workflow. https://github.com/orgs/community/discussions/25702
|
||||
|
||||
git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||
env:
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
sdk/java/build.gradle
|
||||
- run: git status --porcelain
|
||||
- name: Tar SDK folder
|
||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure while building SDKs
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
test:
|
||||
runs-on: pulumi-ubuntu-8core
|
||||
needs:
|
||||
@@ -343,74 +237,41 @@ jobs:
|
||||
name: test
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Download provider
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
- name: UnTar provider binaries
|
||||
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
||||
github.workspace}}/bin
|
||||
- name: Restore Binary Permissions
|
||||
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
||||
-exec chmod +x {} \;
|
||||
github_token: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
- name: Download Provider Binary
|
||||
uses: ./.github/actions/download-provider
|
||||
- name: Download SDK
|
||||
if: ${{ matrix.language != 'yaml' }}
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: ./.github/actions/download-sdk
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
- name: UnTar SDK folder
|
||||
if: ${{ matrix.language != 'yaml' }}
|
||||
run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{
|
||||
github.workspace}}/sdk/${{ matrix.language}}
|
||||
language: ${{ matrix.language }}
|
||||
- name: Update path
|
||||
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
|
||||
run: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH"
|
||||
- name: Install Node dependencies
|
||||
run: yarn global add typescript
|
||||
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
||||
@@ -429,13 +290,13 @@ jobs:
|
||||
requested-token-type: urn:pulumi:token-type:access_token:organization
|
||||
export-environment-variables: false
|
||||
- name: Export AWS Credentials
|
||||
uses: pulumi/esc-action@efb0bc8946938f0dfbfa00e829196ec95f0d0ea7 # v1.4.0
|
||||
uses: pulumi/esc-action@6cf9520e68354d86f81c455e8d43eabd58f5c9f5 # v1.5.0
|
||||
env:
|
||||
PULUMI_ACCESS_TOKEN: ${{ steps.generate_pulumi_token.outputs.pulumi-access-token }}
|
||||
with:
|
||||
environment: logins/pulumi-ci
|
||||
- name: Authenticate to Google Cloud
|
||||
uses: google-github-actions/auth@ba79af03959ebeac9769e648f473a284504d9193 # v2.1.10
|
||||
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
|
||||
with:
|
||||
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
||||
}}/locations/global/workloadIdentityPools/${{
|
||||
@@ -443,7 +304,7 @@ jobs:
|
||||
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
||||
- name: Setup gcloud auth
|
||||
uses: google-github-actions/setup-gcloud@77e7a554d41e2ee56fc945c52dfd3f33d12def9a # v2.1.4
|
||||
uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1
|
||||
with:
|
||||
install_components: gke-gcloud-auth-plugin
|
||||
- name: Install gotestfmt
|
||||
@@ -456,32 +317,49 @@ jobs:
|
||||
set -euo pipefail
|
||||
|
||||
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
|
||||
env:
|
||||
GTIHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure in SDK tests
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
needs: test
|
||||
name: publish
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
github_token: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
- name: Clear GitHub Actions Ubuntu runner disk space
|
||||
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
|
||||
with:
|
||||
@@ -491,82 +369,78 @@ jobs:
|
||||
haskell: true
|
||||
swap-storage: true
|
||||
large-packages: false
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Configure AWS Credentials
|
||||
uses: aws-actions/configure-aws-credentials@f24d7193d98baebaeacc7e2227925dd47cc267f5 # v4.2.0
|
||||
uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-access-key-id: ${{ steps.esc-secrets.outputs.AWS_ACCESS_KEY_ID }}
|
||||
aws-region: us-east-2
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
aws-secret-access-key: ${{ steps.esc-secrets.outputs.AWS_SECRET_ACCESS_KEY }}
|
||||
role-duration-seconds: 7200
|
||||
role-session-name: ${{ env.PROVIDER }}@githubActions
|
||||
role-external-id: upload-pulumi-release
|
||||
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
|
||||
role-to-assume: ${{ steps.esc-secrets.outputs.AWS_UPLOAD_ROLE_ARN }}
|
||||
- name: Run GoReleaser
|
||||
uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
|
||||
env:
|
||||
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
|
||||
AZURE_SIGNING_CLIENT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID }}
|
||||
AZURE_SIGNING_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET }}
|
||||
AZURE_SIGNING_TENANT_ID: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID }}
|
||||
AZURE_SIGNING_KEY_VAULT_URI: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI }}
|
||||
SKIP_SIGNING: ${{ steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_CLIENT_SECRET == '' && steps.esc-secrets.outputs.AZURE_SIGNING_TENANT_ID == '' && steps.esc-secrets.outputs.AZURE_SIGNING_KEY_VAULT_URI == '' }}
|
||||
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
with:
|
||||
args: -p 3 release --clean --timeout 60m0s
|
||||
version: latest
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure in publishing binaries
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
publish_sdk:
|
||||
runs-on: ubuntu-latest
|
||||
needs: publish
|
||||
name: publish_sdks
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Checkout Scripts Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
path: ci-scripts
|
||||
repository: pulumi/scripts
|
||||
- run: echo "ci-scripts" >> .git/info/exclude
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
github_token: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
- name: Download python SDK
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: python-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -574,7 +448,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/python.tar.gz -C
|
||||
${{github.workspace}}/sdk/python
|
||||
- name: Download dotnet SDK
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: dotnet-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -582,7 +456,7 @@ jobs:
|
||||
run: tar -zxf ${{github.workspace}}/sdk/dotnet.tar.gz -C
|
||||
${{github.workspace}}/sdk/dotnet
|
||||
- name: Download nodejs SDK
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: nodejs-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -594,83 +468,92 @@ jobs:
|
||||
- name: Publish SDKs
|
||||
run: ./ci-scripts/ci/publish-tfgen-package ${{ github.workspace }}
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NUGET_PUBLISH_KEY: ${{ steps.esc-secrets.outputs.NUGET_PUBLISH_KEY }}
|
||||
NODE_AUTH_TOKEN: ${{ steps.esc-secrets.outputs.NPM_TOKEN }}
|
||||
PYPI_PUBLISH_ARTIFACTS: all
|
||||
PYPI_USERNAME: __token__
|
||||
PYPI_PASSWORD: ${{ steps.esc-secrets.outputs.PYPI_API_TOKEN }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure in publishing SDK
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
publish_java_sdk:
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
needs: publish
|
||||
name: publish_java_sdk
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
github_token: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
- name: Download java SDK
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: java-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
- name: Uncompress java SDK
|
||||
run: tar -zxf ${{github.workspace}}/sdk/java.tar.gz -C
|
||||
${{github.workspace}}/sdk/java
|
||||
- name: Setup Gradle
|
||||
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
- name: Publish Java SDK
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
run: gradle -p ./sdk/java publishToSonatype closeAndReleaseSonatypeStagingRepository
|
||||
env:
|
||||
PACKAGE_VERSION: ${{ env.PROVIDER_VERSION }}
|
||||
with:
|
||||
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository
|
||||
build-root-directory: ./sdk/java
|
||||
gradle-version: 7.4.1
|
||||
SIGNING_KEY_ID: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY_ID }}
|
||||
SIGNING_KEY: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ steps.esc-secrets.outputs.JAVA_SIGNING_PASSWORD }}
|
||||
PUBLISH_REPO_PASSWORD: ${{ steps.esc-secrets.outputs.OSSRH_PASSWORD }}
|
||||
PUBLISH_REPO_USERNAME: ${{ steps.esc-secrets.outputs.OSSRH_USERNAME }}
|
||||
publish_go_sdk:
|
||||
runs-on: ubuntu-latest
|
||||
name: publish-go-sdk
|
||||
needs: publish_sdk
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Download go SDK
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: go-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -690,14 +573,30 @@ jobs:
|
||||
dispatch_docs_build:
|
||||
runs-on: ubuntu-latest
|
||||
needs: publish_go_sdk
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Dispatch Event
|
||||
run: pulumictl create docs-build pulumi-${{ env.PROVIDER }}
|
||||
${GITHUB_REF#refs/tags/}
|
||||
"${GITHUB_REF#refs/tags/}"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
name: dispatch_docs_build
|
||||
|
||||
54
.github/workflows/release_command.yml
vendored
Normal file
54
.github/workflows/release_command.yml
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
|
||||
|
||||
name: release-command
|
||||
on:
|
||||
repository_dispatch:
|
||||
types:
|
||||
- release-command
|
||||
jobs:
|
||||
should_release:
|
||||
name: Should release PR
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
persist-credentials: false
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- name: Should release PR
|
||||
uses: pulumi/action-release-by-pr-label@main
|
||||
with:
|
||||
command: "should-release"
|
||||
repo: ${{ github.repository }}
|
||||
pr: ${{ github.event.client_payload.pull_request.number }}
|
||||
version: ${{ github.event.client_payload.slash_command.args.all }}
|
||||
slack_channel: ${{ steps.esc-secrets.outputs.RELEASE_OPS_STAGING_SLACK_CHANNEL }}
|
||||
env:
|
||||
RELEASE_BOT_ENDPOINT: ${{ steps.esc-secrets.outputs.RELEASE_BOT_ENDPOINT }}
|
||||
RELEASE_BOT_KEY: ${{ steps.esc-secrets.outputs.RELEASE_BOT_KEY }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- if: failure()
|
||||
name: Notify failure
|
||||
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
|
||||
issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
|
||||
body: |
|
||||
"release command failed: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
|
||||
- if: success()
|
||||
name: Notify success
|
||||
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
|
||||
comment-id: ${{ github.event.client_payload.github.payload.comment.id }}
|
||||
reaction-type: hooray
|
||||
333
.github/workflows/run-acceptance-tests.yml
vendored
333
.github/workflows/run-acceptance-tests.yml
vendored
@@ -6,38 +6,24 @@ on:
|
||||
types:
|
||||
- run-acceptance-tests-command
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- CHANGELOG.md
|
||||
workflow_dispatch: {}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
PROVIDER: docker-build
|
||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
||||
PYPI_USERNAME: __token__
|
||||
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
||||
TRAVIS_OS_NAME: linux
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
||||
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
||||
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
||||
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
||||
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
||||
GOVERSION: "1.21.x"
|
||||
NODEVERSION: "20.x"
|
||||
PYTHONVERSION: "3.11.8"
|
||||
DOTNETVERSION: "8.0.x"
|
||||
JAVAVERSION: "11"
|
||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||
AWS_REGION: us-west-2
|
||||
AZURE_LOCATION: westus
|
||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||
@@ -46,51 +32,66 @@ env:
|
||||
GOOGLE_REGION: us-central1
|
||||
GOOGLE_ZONE: us-central1-a
|
||||
PULUMI_API: https://api.pulumi-staging.io
|
||||
PULUMI_PULUMI_ENABLE_JOURNALING: "true"
|
||||
PR_COMMIT_SHA: ${{ github.event.client_payload.pull_request.head.sha }}
|
||||
jobs:
|
||||
comment-notification:
|
||||
if: github.event_name == 'repository_dispatch'
|
||||
runs-on: ubuntu-latest
|
||||
name: comment-notification
|
||||
steps:
|
||||
- name: Create URL to the run output
|
||||
id: vars
|
||||
run: echo
|
||||
run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID
|
||||
>> "$GITHUB_OUTPUT"
|
||||
- name: Update with Result
|
||||
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
|
||||
with:
|
||||
token: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
|
||||
issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
|
||||
body: "Please view the PR build: ${{ steps.vars.outputs.run-url }}"
|
||||
if: github.event_name == 'repository_dispatch'
|
||||
prerequisites:
|
||||
runs-on: ubuntu-latest
|
||||
name: prerequisites
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
persist-credentials: false
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- name: Create URL to the run output
|
||||
id: vars
|
||||
run: echo
|
||||
"run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"
|
||||
>> "$GITHUB_OUTPUT"
|
||||
- name: Update with Result
|
||||
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
|
||||
issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
|
||||
body: "Please view the PR build: ${{ steps.vars.outputs.run-url }}"
|
||||
prerequisites:
|
||||
runs-on: ubuntu-latest
|
||||
name: prerequisites
|
||||
permissions:
|
||||
id-token: write # For ESC secrets.
|
||||
pull-requests: write # For schema check comment.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
persist-credentials: false
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
cache: 'true'
|
||||
github_token: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Install Schema Tools
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
@@ -103,13 +104,15 @@ jobs:
|
||||
- if: github.event_name == 'pull_request'
|
||||
name: Check Schema is Valid
|
||||
run: >-
|
||||
echo 'SCHEMA_CHANGES<<EOF' >> $GITHUB_ENV
|
||||
{
|
||||
echo 'SCHEMA_CHANGES<<EOF';
|
||||
|
||||
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV
|
||||
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json;
|
||||
|
||||
echo 'EOF' >> $GITHUB_ENV
|
||||
echo 'EOF';
|
||||
} >> "$GITHUB_ENV"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
- if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
|
||||
name: Comment on PR with Details of Schema Check
|
||||
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
||||
@@ -134,12 +137,18 @@ jobs:
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/dotnet/*.*.csproj
|
||||
sdk/dotnet/version.txt
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
- name: Commit ${{ matrix.language }} SDK changes for Renovate
|
||||
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||
sdk/java/build.gradle
|
||||
# This worktree check is a safeguard against someone forgetting to
|
||||
# re-build and commit locally, but we handle that commit automatically in
|
||||
# the case of dependency bumps.
|
||||
continue-on-error: ${{ contains(github.actor, 'renovate') }}
|
||||
- name: Commit SDK changes for Renovate
|
||||
if: steps.worktreeClean.outcome == 'failure' &&
|
||||
contains(github.actor, 'renovate') && github.event_name ==
|
||||
'pull_request'
|
||||
shell: bash
|
||||
@@ -167,16 +176,23 @@ jobs:
|
||||
|
||||
git add sdk
|
||||
|
||||
git reset sdk/python/*/pulumi-plugin.json sdk/python/pyproject.toml sdk/dotnet/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/pulumi-plugin.json sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json
|
||||
git reset sdk/python/*/pulumi-plugin.json \
|
||||
sdk/python/pyproject.toml \
|
||||
sdk/dotnet/pulumi-plugin.json \
|
||||
sdk/dotnet/*.*.csproj \
|
||||
sdk/dotnet/version.txt \
|
||||
sdk/go/*/pulumi-plugin.json \
|
||||
sdk/go/*/internal/pulumiUtilities.go \
|
||||
sdk/nodejs/package.json
|
||||
|
||||
git commit -m 'Commit ${{ matrix.language }} SDK for Renovate'
|
||||
git commit -m 'Commit SDK for Renovate'
|
||||
|
||||
|
||||
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||
|
||||
# workflow. https://github.com/orgs/community/discussions/25702
|
||||
|
||||
git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||
env:
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
- run: git status --porcelain
|
||||
@@ -185,23 +201,30 @@ jobs:
|
||||
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
||||
pulumi-gen-${{ env.PROVIDER}}
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin/provider.tar.gz
|
||||
- name: Test Provider Library
|
||||
run: make test_provider
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@ad3126e916f78f00edff4ed0317cf185271ccc2d # v5.4.2
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
ARM_CLIENT_SECRET: ${{ steps.esc-secrets.outputs.ARM_CLIENT_SECRET }}
|
||||
DIGITALOCEAN_TOKEN: ${{ steps.esc-secrets.outputs.DIGITALOCEAN_TOKEN }}
|
||||
DOCKER_HUB_PASSWORD: ${{ steps.esc-secrets.outputs.DOCKER_HUB_PASSWORD }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ steps.esc-secrets.outputs.CODECOV_TOKEN }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure in building provider prerequisites
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
if: github.event_name == 'repository_dispatch' ||
|
||||
github.event.pull_request.head.repo.full_name == github.repository
|
||||
build_sdks:
|
||||
@@ -217,54 +240,38 @@ jobs:
|
||||
- go
|
||||
- java
|
||||
name: build_sdks
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write # For ESC secrets.
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
persist-credentials: false
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
github_token: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
- name: Download provider
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
@@ -284,12 +291,15 @@ jobs:
|
||||
with:
|
||||
allowed-changes: |-
|
||||
sdk/**/pulumi-plugin.json
|
||||
sdk/dotnet/Pulumi.*.csproj
|
||||
sdk/dotnet/*.*.csproj
|
||||
sdk/dotnet/version.txt
|
||||
sdk/go/**/pulumiUtilities.go
|
||||
sdk/nodejs/package.json
|
||||
sdk/python/pyproject.toml
|
||||
- name: Commit ${{ matrix.language }} SDK changes for Renovate
|
||||
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
||||
sdk/java/build.gradle
|
||||
continue-on-error: ${{ contains(github.actor, 'renovate') }}
|
||||
- name: Commit SDK changes for Renovate
|
||||
if: steps.worktreeClean.outcome == 'failure' &&
|
||||
contains(github.actor, 'renovate') && github.event_name ==
|
||||
'pull_request'
|
||||
shell: bash
|
||||
@@ -317,34 +327,42 @@ jobs:
|
||||
|
||||
git add sdk
|
||||
|
||||
git reset sdk/python/*/pulumi-plugin.json sdk/python/pyproject.toml sdk/dotnet/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/pulumi-plugin.json sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json
|
||||
|
||||
git commit -m 'Commit ${{ matrix.language }} SDK for Renovate'
|
||||
git reset sdk/python/*/pulumi-plugin.json \
|
||||
sdk/python/pyproject.toml \
|
||||
sdk/dotnet/pulumi-plugin.json \
|
||||
sdk/dotnet/*.*.csproj \
|
||||
sdk/dotnet/version.txt \
|
||||
sdk/go/*/pulumi-plugin.json \
|
||||
sdk/go/*/internal/pulumiUtilities.go \
|
||||
sdk/nodejs/package.json
|
||||
|
||||
git commit -m 'Commit SDK for Renovate'
|
||||
|
||||
# Push with pulumi-bot credentials to trigger a re-run of the
|
||||
|
||||
# workflow. https://github.com/orgs/community/discussions/25702
|
||||
|
||||
git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||
git push https://pulumi-bot:${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
||||
env:
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
- run: git status --porcelain
|
||||
- name: Tar SDK folder
|
||||
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
||||
retention-days: 30
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure while building SDKs
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
if: github.event_name == 'repository_dispatch' ||
|
||||
github.event.pull_request.head.repo.full_name == github.repository
|
||||
test:
|
||||
@@ -367,52 +385,33 @@ jobs:
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
persist-credentials: false
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- id: version
|
||||
name: Set Provider Version
|
||||
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
||||
uses: pulumi/provider-version-action@3a647064cf4697c7c6352b9a1d9e554450cbe957 # v1.6.1
|
||||
with:
|
||||
set-env: PROVIDER_VERSION
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
||||
with:
|
||||
java-version: ${{ env.JAVAVERSION }}
|
||||
distribution: temurin
|
||||
cache: gradle
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
||||
with:
|
||||
gradle-version: "7.6"
|
||||
github_token: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
- name: Download provider
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
||||
path: ${{ github.workspace }}/bin
|
||||
@@ -424,7 +423,7 @@ jobs:
|
||||
-exec chmod +x {} \;
|
||||
- name: Download SDK
|
||||
if: ${{ matrix.language != 'yaml' }}
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: ${{ matrix.language }}-sdk.tar.gz
|
||||
path: ${{ github.workspace}}/sdk/
|
||||
@@ -433,7 +432,7 @@ jobs:
|
||||
run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{
|
||||
github.workspace}}/sdk/${{ matrix.language}}
|
||||
- name: Update path
|
||||
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
|
||||
run: echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH"
|
||||
- name: Install Node dependencies
|
||||
run: yarn global add typescript
|
||||
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
||||
@@ -452,13 +451,13 @@ jobs:
|
||||
requested-token-type: urn:pulumi:token-type:access_token:organization
|
||||
export-environment-variables: false
|
||||
- name: Export AWS Credentials
|
||||
uses: pulumi/esc-action@efb0bc8946938f0dfbfa00e829196ec95f0d0ea7 # v1.4.0
|
||||
uses: pulumi/esc-action@6cf9520e68354d86f81c455e8d43eabd58f5c9f5 # v1.5.0
|
||||
env:
|
||||
PULUMI_ACCESS_TOKEN: ${{ steps.generate_pulumi_token.outputs.pulumi-access-token }}
|
||||
with:
|
||||
environment: logins/pulumi-ci
|
||||
- name: Authenticate to Google Cloud
|
||||
uses: google-github-actions/auth@ba79af03959ebeac9769e648f473a284504d9193 # v2.1.10
|
||||
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
|
||||
with:
|
||||
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
||||
}}/locations/global/workloadIdentityPools/${{
|
||||
@@ -466,7 +465,7 @@ jobs:
|
||||
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
||||
- name: Setup gcloud auth
|
||||
uses: google-github-actions/setup-gcloud@77e7a554d41e2ee56fc945c52dfd3f33d12def9a # v2.1.4
|
||||
uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1
|
||||
with:
|
||||
install_components: gke-gcloud-auth-plugin
|
||||
- name: Install gotestfmt
|
||||
@@ -479,21 +478,40 @@ jobs:
|
||||
set -euo pipefail
|
||||
|
||||
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- if: failure() && github.event_name == 'push'
|
||||
name: Notify Slack
|
||||
uses: 8398a7/action-slack@1750b5085f3ec60384090fb7c52965ef822e869e # v3.18.0
|
||||
uses: 8398a7/action-slack@77eaa4f1c608a7d68b38af4e3f739dcd8cba273e # v3.19.0
|
||||
with:
|
||||
author_name: Failure in SDK tests
|
||||
fields: repo,commit,author,action
|
||||
status: ${{ job.status }}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }}
|
||||
if: github.event_name == 'repository_dispatch' ||
|
||||
github.event.pull_request.head.repo.full_name == github.repository
|
||||
sentinel:
|
||||
runs-on: ubuntu-latest
|
||||
name: sentinel
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
persist-credentials: false
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- name: Mark workflow as successful
|
||||
uses: guibranco/github-status-action-v2@0849440ec82c5fa69b2377725b9b7852a3977e76 # v1.1.13
|
||||
uses: guibranco/github-status-action-v2@631f55ea0251f0fb284525ad86c30e9f7a8dd284 # v1.1.14
|
||||
with:
|
||||
authToken: ${{ secrets.GITHUB_TOKEN }}
|
||||
context: Sentinel
|
||||
@@ -502,6 +520,7 @@ jobs:
|
||||
sha: ${{ github.event.pull_request.head.sha || github.sha }}
|
||||
permissions:
|
||||
statuses: write
|
||||
id-token: write # For ESC secrets.
|
||||
if: github.event_name == 'repository_dispatch' ||
|
||||
github.event.pull_request.head.repo.full_name == github.repository
|
||||
needs:
|
||||
@@ -512,25 +531,23 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
persist-credentials: false
|
||||
ref: ${{ env.PR_COMMIT_SHA }}
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Disarm go:embed directives to enable linters that compile source code
|
||||
run: git grep -l 'go:embed' -- provider | xargs --no-run-if-empty sed -i
|
||||
's/go:embed/ goembed/g'
|
||||
- name: golangci-lint provider pkg
|
||||
uses: golangci/golangci-lint-action@55c2c1448f86e01eaae002a5a3a9624417608d84 # v6.5.2
|
||||
with:
|
||||
version: ${{ env.GOLANGCI_LINT_VERSION }}
|
||||
args: -c ../.golangci.yml
|
||||
working-directory: provider
|
||||
install-mode: none # Handled by mise.
|
||||
working-directory: .
|
||||
name: lint
|
||||
if: github.event_name == 'repository_dispatch' ||
|
||||
github.event.pull_request.head.repo.full_name == github.repository
|
||||
|
||||
63
.github/workflows/weekly-pulumi-update.yml
vendored
63
.github/workflows/weekly-pulumi-update.yml
vendored
@@ -8,34 +8,19 @@ on:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
PROVIDER: docker-build
|
||||
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
||||
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
||||
PYPI_USERNAME: __token__
|
||||
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
||||
TRAVIS_OS_NAME: linux
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
||||
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
||||
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
||||
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
||||
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
||||
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
||||
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
||||
GOVERSION: "1.21.x"
|
||||
NODEVERSION: "20.x"
|
||||
PYTHONVERSION: "3.11.8"
|
||||
DOTNETVERSION: "8.0.x"
|
||||
JAVAVERSION: "11"
|
||||
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
||||
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
||||
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
||||
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
||||
AWS_REGION: us-west-2
|
||||
AZURE_LOCATION: westus
|
||||
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
||||
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
||||
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
||||
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
||||
@@ -44,38 +29,30 @@ env:
|
||||
GOOGLE_REGION: us-central1
|
||||
GOOGLE_ZONE: us-central1-a
|
||||
PULUMI_API: https://api.pulumi-staging.io
|
||||
PULUMI_PULUMI_ENABLE_JOURNALING: "true"
|
||||
|
||||
jobs:
|
||||
weekly-pulumi-update:
|
||||
runs-on: ubuntu-latest
|
||||
permissions: write-all
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
with:
|
||||
lfs: true
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
||||
lfs: true
|
||||
- env:
|
||||
ESC_ACTION_ENVIRONMENT: github-secrets/${{ github.repository_owner }}-${{ github.event.repository.name }}
|
||||
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: "false"
|
||||
ESC_ACTION_OIDC_AUTH: "true"
|
||||
ESC_ACTION_OIDC_ORGANIZATION: pulumi
|
||||
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization
|
||||
id: esc-secrets
|
||||
name: Fetch secrets from ESC
|
||||
uses: pulumi/esc-action@9eb774255b1a4afb7855678ae8d4a77359da0d9b
|
||||
- name: Setup Tools
|
||||
uses: ./.github/actions/setup-tools
|
||||
with:
|
||||
go-version: ${{ env.GOVERSION }}
|
||||
cache-dependency-path: "**/*.sum"
|
||||
- name: Install pulumictl
|
||||
uses: jaxxstorm/action-install-gh-release@6096f2a2bbfee498ced520b6922ac2c06e990ed2 # v2.1.0
|
||||
with:
|
||||
repo: pulumi/pulumictl
|
||||
- name: Install Pulumi CLI
|
||||
uses: pulumi/actions@df5a93ad715135263c732ba288301bd044c383c0 # v6.3.0
|
||||
- name: Setup DotNet
|
||||
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNETVERSION }}
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ env.NODEVERSION }}
|
||||
registry-url: https://registry.npmjs.org
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
||||
with:
|
||||
python-version: ${{ env.PYTHONVERSION }}
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Update Pulumi/Pulumi
|
||||
id: gomod
|
||||
run: >-
|
||||
@@ -85,7 +62,7 @@ jobs:
|
||||
|
||||
git checkout -b update-pulumi/${{ github.run_id }}-${{ github.run_number }}
|
||||
|
||||
for MODFILE in $(find . -name go.mod); do pushd $(dirname $MODFILE); go get github.com/pulumi/pulumi/pkg/v3 github.com/pulumi/pulumi/sdk/v3; go mod tidy; popd; done
|
||||
find . -name go.mod -execdir sh -c 'go get github.com/pulumi/pulumi/pkg/v3 github.com/pulumi/pulumi/sdk/v3; go mod tidy' \;
|
||||
|
||||
gh repo view pulumi/pulumi --json latestRelease --jq .latestRelease.tagName | sed 's/^v//' > .pulumi.version
|
||||
|
||||
@@ -132,7 +109,7 @@ jobs:
|
||||
|
||||
# See https://github.com/cli/cli/issues/6485#issuecomment-2560935183 for --head workaround
|
||||
|
||||
gh pr create -t "$msg" -b "$msg" --head $(git branch --show-current)
|
||||
gh pr create -t "$msg" -b "$msg" --head "$(git branch --show-current)"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }}
|
||||
name: weekly-pulumi-update
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt
|
||||
|
||||
project_name: pulumi-docker-build
|
||||
builds:
|
||||
- id: build-provider
|
||||
|
||||
@@ -1 +1 @@
|
||||
3.169.0
|
||||
3.192.0
|
||||
|
||||
20
CHANGELOG.md
20
CHANGELOG.md
@@ -1,5 +1,25 @@
|
||||
## Unreleased
|
||||
|
||||
## Changed
|
||||
|
||||
- Arguments `CacheFromGitHubActions.URL` and `CacheFromGitHubActions.Token` have been removed. If the previous behaviour is desired, set the `ACTIONS_CACHE_URL` and `ACTIONS_RUNTIME_TOKEN` environment variables. (https://github.com/pulumi/pulumi-docker-build/issues/75)
|
||||
|
||||
## 0.0.14 (2025-09-30)
|
||||
|
||||
### Fixed
|
||||
|
||||
- A warning is no longer emitted for the reserved `__internal` key. (https://github.com/pulumi/pulumi-docker-build/issues/579)
|
||||
|
||||
## 0.0.13 (2025-08-27)
|
||||
|
||||
### Changed
|
||||
|
||||
- Docker Build Cloud and `exec` errors are more helpful. (https://github.com/pulumi/pulumi-docker-build/issues/549)
|
||||
|
||||
### Fixed
|
||||
|
||||
- The provider is no longer replaced on version changes. (https://github.com/pulumi/pulumi-docker-build/issues/581)
|
||||
|
||||
## 0.0.12 (2025-05-16)
|
||||
|
||||
### Changed
|
||||
|
||||
57
Makefile
57
Makefile
@@ -17,8 +17,9 @@ WORKING_DIR := $(shell pwd)
|
||||
EXAMPLES_DIR := ${WORKING_DIR}/examples/yaml
|
||||
TESTPARALLELISM := 4
|
||||
|
||||
PULUMI := bin/pulumi
|
||||
GOGLANGCILINT := bin/golangci-lint
|
||||
PULUMI := pulumi
|
||||
GOGLANGCILINT := golangci-lint
|
||||
GOTEST := go test
|
||||
|
||||
# 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
|
||||
@@ -46,10 +47,10 @@ provider_debug::
|
||||
(cd provider && go build -o $(WORKING_DIR)/bin/${PROVIDER} -gcflags="all=-N -l" -ldflags "-X ${PROJECT}/${VERSION_PATH}=${VERSION_GENERIC}" $(PROJECT)/${PROVIDER_PATH}/cmd/$(PROVIDER))
|
||||
|
||||
test_provider:: # Required by CI
|
||||
go test -short -v -coverprofile="coverage.txt" -coverpkg=./provider/... -timeout 2h -parallel ${TESTPARALLELISM} ./provider/...
|
||||
${GOTEST} -short -v -coverprofile="coverage.txt" -coverpkg=./provider/... -timeout 2h -parallel ${TESTPARALLELISM} ./provider/...
|
||||
|
||||
test_examples: install_nodejs_sdk install_dotnet_sdk
|
||||
go test -short -v -cover -tags=all -timeout 2h -parallel ${TESTPARALLELISM} ./examples/...
|
||||
${GOTEST} -short -v -cover -tags=all -timeout 2h -parallel ${TESTPARALLELISM} ./examples/...
|
||||
|
||||
test_all:: test_provider test_examples
|
||||
|
||||
@@ -63,38 +64,26 @@ examples/yaml:
|
||||
rm -rf ${WORKING_DIR}/examples/yaml/app
|
||||
cp -r ${WORKING_DIR}/examples/app ${WORKING_DIR}/examples/yaml/app
|
||||
|
||||
examples/go: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
examples/go: bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
$(call example,go)
|
||||
@git checkout examples/go/go.mod
|
||||
|
||||
examples/nodejs: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
examples/nodejs: bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
$(call example,nodejs)
|
||||
@git checkout examples/nodejs/package.json
|
||||
|
||||
examples/python: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
examples/python: bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
$(call example,python)
|
||||
@git checkout examples/python/requirements.txt
|
||||
|
||||
examples/dotnet: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
examples/dotnet: bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
$(call example,dotnet)
|
||||
@git checkout examples/dotnet/provider-docker-build.csproj
|
||||
|
||||
examples/java: ${PULUMI} bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
examples/java: bin/${PROVIDER} ${WORKING_DIR}/examples/yaml/Pulumi.yaml
|
||||
$(call example,java)
|
||||
@git checkout examples/java/pom.xml
|
||||
|
||||
${PULUMI}: go.sum
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi/pkg/v3/cmd/pulumi
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi-java/pkg/cmd/pulumi-language-java
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/pulumi/pulumi-yaml/cmd/pulumi-converter-yaml
|
||||
|
||||
${GOGLANGCILINT}: go.sum
|
||||
GOBIN=${WORKING_DIR}/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@8b37f14
|
||||
|
||||
define pulumi_login
|
||||
export PULUMI_CONFIG_PASSPHRASE=asdfqwerty1234; \
|
||||
pulumi login --local;
|
||||
@@ -102,7 +91,7 @@ endef
|
||||
|
||||
define example
|
||||
rm -rf ${WORKING_DIR}/examples/$(1)
|
||||
$(PULUMI) convert \
|
||||
pulumi convert \
|
||||
--cwd ${WORKING_DIR}/examples/yaml \
|
||||
--logtostderr \
|
||||
--generate-only \
|
||||
@@ -140,7 +129,7 @@ build:: provider sdk/dotnet sdk/go sdk/nodejs sdk/python sdk/java ${SCHEMA_PATH}
|
||||
only_build:: build
|
||||
|
||||
.PHONY: lint
|
||||
lint: ${GOGLANGCILINT}
|
||||
lint:
|
||||
${GOGLANGCILINT} run --fix -c .golangci.yml
|
||||
|
||||
install:: install_nodejs_sdk install_dotnet_sdk
|
||||
@@ -187,7 +176,7 @@ generate_dotnet: sdk/dotnet # Required by CI
|
||||
build_dotnet: # Required by CI
|
||||
|
||||
${SCHEMA_PATH}: bin/${PROVIDER}
|
||||
pulumi package get-schema bin/${PROVIDER} | jq 'del(.version)' > $(SCHEMA_PATH)
|
||||
pulumi package get-schema ./bin/${PROVIDER} | jq 'del(.version)' > $(SCHEMA_PATH)
|
||||
|
||||
bin/${PROVIDER}: $(shell find ./provider -name '*.go') go.mod
|
||||
(cd provider && go build -o ../bin/${PROVIDER} -ldflags "-X ${PROJECT}/${VERSION_PATH}=${VERSION_GENERIC}" $(PROJECT)/${PROVIDER_PATH}/cmd/$(PROVIDER))
|
||||
@@ -205,9 +194,9 @@ sdk: sdk/python sdk/nodejs sdk/java sdk/python sdk/go sdk/dotnet
|
||||
.PHONY: sdk/*
|
||||
|
||||
sdk/python: TMPDIR := $(shell mktemp -d)
|
||||
sdk/python: $(PULUMI) bin/${PROVIDER}
|
||||
sdk/python: bin/${PROVIDER}
|
||||
rm -rf sdk/python
|
||||
$(PULUMI) package gen-sdk bin/$(PROVIDER) --language python -o ${TMPDIR}
|
||||
$(PULUMI) package gen-sdk ./bin/$(PROVIDER) --language python -o ${TMPDIR}
|
||||
cp README.md ${TMPDIR}/python/
|
||||
cd ${TMPDIR}/python/ && \
|
||||
rm -rf ./bin/ ../python.bin/ && cp -R . ../python.bin && mv ../python.bin ./bin && \
|
||||
@@ -218,9 +207,9 @@ sdk/python: $(PULUMI) bin/${PROVIDER}
|
||||
mv -f ${TMPDIR}/python ${WORKING_DIR}/sdk/.
|
||||
|
||||
sdk/nodejs: TMPDIR := $(shell mktemp -d)
|
||||
sdk/nodejs: $(PULUMI) bin/${PROVIDER}
|
||||
sdk/nodejs: bin/${PROVIDER}
|
||||
rm -rf sdk/nodejs
|
||||
$(PULUMI) package gen-sdk bin/$(PROVIDER) --language nodejs -o ${TMPDIR}
|
||||
$(PULUMI) package gen-sdk ./bin/$(PROVIDER) --language nodejs -o ${TMPDIR}
|
||||
cp README.md LICENSE ${TMPDIR}/nodejs
|
||||
cd ${TMPDIR}/nodejs/ && \
|
||||
yarn install && \
|
||||
@@ -230,9 +219,9 @@ sdk/nodejs: $(PULUMI) bin/${PROVIDER}
|
||||
|
||||
sdk/go: TMPDIR := $(shell mktemp -d)
|
||||
sdk/go: PATH := "$(WORKING_DIR)/bin:$(PATH)"
|
||||
sdk/go: $(PULUMI) bin/${PROVIDER}
|
||||
sdk/go: bin/${PROVIDER}
|
||||
rm -rf sdk/go
|
||||
PATH=$(PATH) $(PULUMI) package gen-sdk bin/$(PROVIDER) --language go -o ${TMPDIR}
|
||||
PATH=$(PATH) $(PULUMI) package gen-sdk ./bin/$(PROVIDER) --language go -o ${TMPDIR}
|
||||
cp go.mod ${TMPDIR}/go/dockerbuild/go.mod
|
||||
cd ${TMPDIR}/go/dockerbuild && \
|
||||
go mod edit -module=github.com/pulumi/pulumi-${PACK}/${PACKDIR}/go/dockerbuild && \
|
||||
@@ -240,9 +229,9 @@ sdk/go: $(PULUMI) bin/${PROVIDER}
|
||||
mv -f ${TMPDIR}/go ${WORKING_DIR}/sdk/go
|
||||
|
||||
sdk/dotnet: TMPDIR := $(shell mktemp -d)
|
||||
sdk/dotnet: $(PULUMI) bin/${PROVIDER}
|
||||
sdk/dotnet: bin/${PROVIDER}
|
||||
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/ && \
|
||||
echo "$(VERSION_GENERIC)" > version.txt && \
|
||||
dotnet build
|
||||
@@ -250,9 +239,9 @@ sdk/dotnet: $(PULUMI) bin/${PROVIDER}
|
||||
|
||||
sdk/java: PACKAGE_VERSION := $(shell pulumictl convert-version --language generic -v "$(VERSION_GENERIC)")
|
||||
sdk/java: TMPDIR := $(shell mktemp -d)
|
||||
sdk/java: $(PULUMI) bin/${PROVIDER}
|
||||
sdk/java: bin/${PROVIDER}
|
||||
rm -rf sdk/java
|
||||
$(PULUMI) package gen-sdk --language java bin/${PROVIDER} -o ${TMPDIR}
|
||||
$(PULUMI) package gen-sdk --language java ./bin/${PROVIDER} -o ${TMPDIR}
|
||||
cd ${TMPDIR}/java/ && gradle --console=plain build
|
||||
mv -f ${TMPDIR}/java ${WORKING_DIR}/sdk/.
|
||||
|
||||
|
||||
428
docs/_index.md
Normal file
428
docs/_index.md
Normal file
@@ -0,0 +1,428 @@
|
||||
---
|
||||
title: Docker Build
|
||||
meta_desc: Provides an overview of the Docker Build Provider for Pulumi.
|
||||
layout: package
|
||||
---
|
||||
|
||||
The Docker Build provider leverages [buildx and BuildKit](https://docs.docker.com/build/architecture/) to build modern Docker images with Pulumi.
|
||||
|
||||
Not to be confused with the earlier
|
||||
[Docker](../docker) provider, which is still
|
||||
appropriate for managing resources unrelated to building images.
|
||||
|
||||
| Provider | Use cases |
|
||||
| ---------------- | ----------------------------------------------------------------------- |
|
||||
| `@pulumi/docker-build` | Anything related to building images with `docker build`. |
|
||||
| `@pulumi/docker` | Everything else -- including running containers and creating networks. |
|
||||
|
||||
## Example
|
||||
|
||||
If your Pulumi program has a directory called `app` alongside it, containing a
|
||||
file named "Dockerfile" (which can be as simple as `FROM alpine` for the
|
||||
purpose of example), then the code below shows how to build a multi-platform
|
||||
image, publish it to a remote AWS ECR registry, and use an [inline
|
||||
cache](https://docs.docker.com/build/cache/backends/inline/) to speed up
|
||||
subsequent builds.
|
||||
|
||||
{{< chooser language "typescript,python,csharp,go,yaml,java" / >}}
|
||||
|
||||
{{% choosable language typescript %}}
|
||||
|
||||
```typescript
|
||||
import * as aws from "@pulumi/aws";
|
||||
import * as docker_build from "@pulumi/docker-build";
|
||||
|
||||
// Create an ECR repository for pushing.
|
||||
const ecrRepository = new aws.ecr.Repository("ecr-repository", {});
|
||||
|
||||
// Grab auth credentials for ECR.
|
||||
const authToken = aws.ecr.getAuthorizationTokenOutput({
|
||||
registryId: ecrRepository.registryId,
|
||||
});
|
||||
|
||||
// Build and push an image to ECR with inline caching.
|
||||
const myImage = new docker_build.Image("my-image", {
|
||||
// Tag our image with our ECR repository's address.
|
||||
tags: [pulumi.interpolate`${ecrRepository.repositoryUrl}:latest`],
|
||||
context: {
|
||||
location: "./app",
|
||||
},
|
||||
// Use the pushed image as a cache source.
|
||||
cacheFrom: [{
|
||||
registry: {
|
||||
ref: pulumi.interpolate`${ecrRepository.repositoryUrl}:latest`,
|
||||
},
|
||||
}],
|
||||
// Include an inline cache with our pushed image.
|
||||
cacheTo: [{
|
||||
inline: {},
|
||||
}],
|
||||
// Build a multi-platform image manifest for ARM and AMD.
|
||||
platforms: [
|
||||
"linux/amd64",
|
||||
"linux/arm64",
|
||||
],
|
||||
// Push the final result to ECR.
|
||||
push: true,
|
||||
// Provide our ECR credentials.
|
||||
registries: [{
|
||||
address: ecrRepository.repositoryUrl,
|
||||
password: authToken.password,
|
||||
username: authToken.userName,
|
||||
}],
|
||||
});
|
||||
|
||||
// Export a ref for the pushed images so we can deploy it.
|
||||
export const ref = myImage.ref;
|
||||
```
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
{{% choosable language python %}}
|
||||
|
||||
```python
|
||||
import pulumi
|
||||
import pulumi_aws as aws
|
||||
import pulumi_docker_build as docker_build
|
||||
|
||||
# Create an ECR repository for pushing.
|
||||
ecr_repository = aws.ecr.Repository("ecr-repository")
|
||||
|
||||
# Grab auth credentials for ECR.
|
||||
auth_token = aws.ecr.get_authorization_token_output(registry_id=ecr_repository.registry_id)
|
||||
|
||||
# Build and push an image to ECR with inline caching.
|
||||
my_image = docker_build.Image("my-image",
|
||||
# Tag our image with our ECR repository's address.
|
||||
tags=[ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:latest")],
|
||||
context=docker_build.BuildContextArgs(
|
||||
location="./app",
|
||||
),
|
||||
# Use the pushed image as a cache source.
|
||||
cache_from=[docker_build.CacheFromArgs(
|
||||
registry=docker_build.CacheFromRegistryArgs(
|
||||
ref=ecr_repository.repository_url.apply(lambda repository_url: f"{repository_url}:latest"),
|
||||
),
|
||||
)],
|
||||
# Include an inline cache with our pushed image.
|
||||
cache_to=[docker_build.CacheToArgs(
|
||||
inline=docker_build.CacheToInlineArgs(),
|
||||
)],
|
||||
# Build a multi-platform image manifest for ARM and AMD.
|
||||
platforms=[
|
||||
docker_build.Platform.LINUX_AMD64,
|
||||
docker_build.Platform.LINUX_ARM64,
|
||||
],
|
||||
# Push the final result to ECR.
|
||||
push=True,
|
||||
# Provide our ECR credentials.
|
||||
registries=[docker_build.RegistryArgs(
|
||||
address=ecr_repository.repository_url,
|
||||
password=auth_token.password,
|
||||
username=auth_token.user_name,
|
||||
)],
|
||||
)
|
||||
|
||||
# Export a ref for the pushed images so we can deploy it.
|
||||
pulumi.export("ref", my_image.ref)
|
||||
```
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
|
||||
```csharp
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Pulumi;
|
||||
using Aws = Pulumi.Aws;
|
||||
using DockerBuild = Pulumi.DockerBuild;
|
||||
|
||||
return await Deployment.RunAsync(() =>
|
||||
{
|
||||
// Create an ECR repository for pushing.
|
||||
var ecrRepository = new Aws.Ecr.Repository("ecr-repository");
|
||||
|
||||
// Grab auth credentials for ECR.
|
||||
var authToken = Aws.Ecr.GetAuthorizationToken.Invoke(new()
|
||||
{
|
||||
RegistryId = ecrRepository.RegistryId,
|
||||
});
|
||||
|
||||
// Build and push an image to ECR with inline caching.
|
||||
var myImage = new DockerBuild.Image("my-image", new()
|
||||
{
|
||||
// Tag our image with our ECR repository's address.
|
||||
Tags = new[]
|
||||
{
|
||||
ecrRepository.RepositoryUrl.Apply(repositoryUrl => $"{repositoryUrl}:latest"),
|
||||
},
|
||||
Context = new DockerBuild.Inputs.BuildContextArgs
|
||||
{
|
||||
Location = "./app",
|
||||
},
|
||||
// Use the pushed image as a cache source.
|
||||
CacheFrom = new[]
|
||||
{
|
||||
new DockerBuild.Inputs.CacheFromArgs
|
||||
{
|
||||
Registry = new DockerBuild.Inputs.CacheFromRegistryArgs
|
||||
{
|
||||
Ref = ecrRepository.RepositoryUrl.Apply(repositoryUrl => $"{repositoryUrl}:latest"),
|
||||
},
|
||||
},
|
||||
},
|
||||
// Include an inline cache with our pushed image.
|
||||
CacheTo = new[]
|
||||
{
|
||||
new DockerBuild.Inputs.CacheToArgs
|
||||
{
|
||||
Inline = null,
|
||||
},
|
||||
},
|
||||
// Build a multi-platform image manifest for ARM and AMD.
|
||||
Platforms = new[]
|
||||
{
|
||||
DockerBuild.Platform.Linux_amd64,
|
||||
DockerBuild.Platform.Linux_arm64,
|
||||
},
|
||||
// Push the final result to ECR.
|
||||
Push = true,
|
||||
// Provide our ECR credentials.
|
||||
Registries = new[]
|
||||
{
|
||||
new DockerBuild.Inputs.RegistryArgs
|
||||
{
|
||||
Address = ecrRepository.RepositoryUrl,
|
||||
Password = authToken.Apply(getAuthorizationTokenResult => getAuthorizationTokenResult.Password),
|
||||
Username = authToken.Apply(getAuthorizationTokenResult => getAuthorizationTokenResult.UserName),
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
// Export a ref for the pushed images so we can deploy it.
|
||||
return new Dictionary<string, object?>
|
||||
{
|
||||
["ref"] = myImage.Ref,
|
||||
};
|
||||
});
|
||||
|
||||
```
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
{{% choosable language go %}}
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
|
||||
"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
)
|
||||
|
||||
func main() {
|
||||
pulumi.Run(func(ctx *pulumi.Context) error {
|
||||
// Create an ECR repository for pushing.
|
||||
ecrRepository, err := ecr.NewRepository(ctx, "ecr-repository", nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Grab auth credentials for ECR.
|
||||
authToken := ecr.GetAuthorizationTokenOutput(ctx, ecr.GetAuthorizationTokenOutputArgs{
|
||||
RegistryId: ecrRepository.RegistryId,
|
||||
}, nil)
|
||||
|
||||
// Build and push an image to ECR with inline caching.
|
||||
myImage, err := dockerbuild.NewImage(ctx, "my-image", &dockerbuild.ImageArgs{
|
||||
// Tag our image with our ECR repository's address.
|
||||
Tags: pulumi.StringArray{
|
||||
ecrRepository.RepositoryUrl.ApplyT(func(repositoryUrl string) (string, error) {
|
||||
return fmt.Sprintf("%v:latest", repositoryUrl), nil
|
||||
}).(pulumi.StringOutput),
|
||||
},
|
||||
Context: &dockerbuild.BuildContextArgs{
|
||||
Location: pulumi.String("./app"),
|
||||
},
|
||||
// Use the pushed image as a cache source.
|
||||
CacheFrom: dockerbuild.CacheFromArray{
|
||||
&dockerbuild.CacheFromArgs{
|
||||
Registry: &dockerbuild.CacheFromRegistryArgs{
|
||||
Ref: ecrRepository.RepositoryUrl.ApplyT(func(repositoryUrl string) (string, error) {
|
||||
return fmt.Sprintf("%v:latest", repositoryUrl), nil
|
||||
}).(pulumi.StringOutput),
|
||||
},
|
||||
},
|
||||
},
|
||||
// Include an inline cache with our pushed image.
|
||||
CacheTo: dockerbuild.CacheToArray{
|
||||
&dockerbuild.CacheToArgs{
|
||||
Inline: nil,
|
||||
},
|
||||
},
|
||||
// Build a multi-platform image manifest for ARM and AMD.
|
||||
Platforms: dockerbuild.PlatformArray{
|
||||
dockerbuild.Platform_Linux_amd64,
|
||||
dockerbuild.Platform_Linux_arm64,
|
||||
},
|
||||
// Push the final result to ECR.
|
||||
Push: pulumi.Bool(true),
|
||||
// Provide our ECR credentials.
|
||||
Registries: dockerbuild.RegistryArray{
|
||||
&dockerbuild.RegistryArgs{
|
||||
Address: ecrRepository.RepositoryUrl,
|
||||
Password: authToken.ApplyT(func(authToken ecr.GetAuthorizationTokenResult) (*string, error) {
|
||||
return &authToken.Password, nil
|
||||
}).(pulumi.StringPtrOutput),
|
||||
Username: authToken.ApplyT(func(authToken ecr.GetAuthorizationTokenResult) (*string, error) {
|
||||
return &authToken.UserName, nil
|
||||
}).(pulumi.StringPtrOutput),
|
||||
},
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Export a ref for the pushed images so we can deploy it.
|
||||
ctx.Export("ref", myImage.Ref)
|
||||
return nil
|
||||
})
|
||||
}
|
||||
```
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
{{% choosable language yaml %}}
|
||||
|
||||
```yaml
|
||||
description: Push to AWS ECR with caching
|
||||
name: ecr
|
||||
outputs:
|
||||
ref: ${my-image.ref}
|
||||
resources:
|
||||
# Create an ECR repository for pushing.
|
||||
ecr-repository:
|
||||
type: aws:ecr:Repository
|
||||
|
||||
# Build and push an image to ECR with inline caching.
|
||||
my-image:
|
||||
type: docker-build:Image
|
||||
properties:
|
||||
# Tag our image with our ECR repository's address.
|
||||
tags:
|
||||
- ${ecr-repository.repositoryUrl}:latest
|
||||
context:
|
||||
location: ./app
|
||||
# Use the pushed image as a cache source.
|
||||
cacheFrom:
|
||||
- registry:
|
||||
ref: ${ecr-repository.repositoryUrl}:latest
|
||||
# Include an inline cache with our pushed image.
|
||||
cacheTo:
|
||||
- inline: {}
|
||||
# Build a multi-platform image manifest for ARM and AMD.
|
||||
platforms:
|
||||
- linux/amd64
|
||||
- linux/arm64
|
||||
# Push the final result to ECR.
|
||||
push: true
|
||||
# Provide our ECR credentials.
|
||||
registries:
|
||||
- address: ${ecr-repository.repositoryUrl}
|
||||
password: ${auth-token.password}
|
||||
username: ${auth-token.userName}
|
||||
|
||||
runtime: yaml
|
||||
variables:
|
||||
auth-token:
|
||||
# Grab auth credentials for ECR.
|
||||
fn::aws:ecr:getAuthorizationToken:
|
||||
registryId: ${ecr-repository.registryId}
|
||||
```
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
{{% choosable language java %}}
|
||||
|
||||
```java
|
||||
package myapp;
|
||||
|
||||
import com.pulumi.Context;
|
||||
import com.pulumi.Pulumi;
|
||||
import com.pulumi.core.Output;
|
||||
import com.pulumi.aws.ecr.Repository;
|
||||
import com.pulumi.aws.ecr.EcrFunctions;
|
||||
import com.pulumi.aws.ecr.inputs.GetAuthorizationTokenArgs;
|
||||
import com.pulumi.dockerbuild.Image;
|
||||
import com.pulumi.dockerbuild.ImageArgs;
|
||||
import com.pulumi.dockerbuild.inputs.CacheFromArgs;
|
||||
import com.pulumi.dockerbuild.inputs.CacheFromRegistryArgs;
|
||||
import com.pulumi.dockerbuild.inputs.CacheToArgs;
|
||||
import com.pulumi.dockerbuild.inputs.CacheToInlineArgs;
|
||||
import com.pulumi.dockerbuild.inputs.BuildContextArgs;
|
||||
import com.pulumi.dockerbuild.inputs.RegistryArgs;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
import java.io.File;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
|
||||
public class App {
|
||||
public static void main(String[] args) {
|
||||
Pulumi.run(App::stack);
|
||||
}
|
||||
|
||||
public static void stack(Context ctx) {
|
||||
// Create an ECR repository for pushing.
|
||||
var ecrRepository = new Repository("ecrRepository");
|
||||
|
||||
// Grab auth credentials for ECR.
|
||||
final var authToken = EcrFunctions.getAuthorizationToken(GetAuthorizationTokenArgs.builder()
|
||||
.registryId(ecrRepository.registryId())
|
||||
.build());
|
||||
|
||||
// Build and push an image to ECR with inline caching.
|
||||
var myImage = new Image("myImage", ImageArgs.builder()
|
||||
// Tag our image with our ECR repository's address.
|
||||
.tags(ecrRepository.repositoryUrl().applyValue(repositoryUrl -> String.format("%s:latest", repositoryUrl)))
|
||||
.context(BuildContextArgs.builder()
|
||||
.location("./app")
|
||||
.build())
|
||||
// Use the pushed image as a cache source.
|
||||
.cacheFrom(CacheFromArgs.builder()
|
||||
.registry(CacheFromRegistryArgs.builder()
|
||||
.ref(ecrRepository.repositoryUrl().applyValue(repositoryUrl -> String.format("%s:latest", repositoryUrl)))
|
||||
.build())
|
||||
.build())
|
||||
// Include an inline cache with our pushed image.
|
||||
.cacheTo(CacheToArgs.builder()
|
||||
.inline()
|
||||
.build())
|
||||
// Build a multi-platform image manifest for ARM and AMD.
|
||||
.platforms(
|
||||
"linux/amd64",
|
||||
"linux/arm64")
|
||||
// Push the final result to ECR.
|
||||
.push(true)
|
||||
// Provide our ECR credentials.
|
||||
.registries(RegistryArgs.builder()
|
||||
.address(ecrRepository.repositoryUrl())
|
||||
.password(authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult).applyValue(authToken -> authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult.password())))
|
||||
.username(authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult).applyValue(authToken -> authToken.applyValue(getAuthorizationTokenResult -> getAuthorizationTokenResult.userName())))
|
||||
.build())
|
||||
.build());
|
||||
|
||||
ctx.export("ref", myImage.ref());
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
{{< /chooser >}}
|
||||
33
docs/installation-configuration.md
Normal file
33
docs/installation-configuration.md
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: Docker-Build Installation & Configuration
|
||||
meta_desc: Provides an overview on how to configure the Pulumi Docker-Build Provider.
|
||||
layout: package
|
||||
---
|
||||
|
||||
The Pulumi Docker-build provider builds modern Docker images with [buildx](https://docs.docker.com/reference/cli/docker/buildx/) and [BuildKit](https://docs.docker.com/build/buildkit/).
|
||||
|
||||
## Installation
|
||||
|
||||
The Docker-Build provider is available as a package in all Pulumi languages:
|
||||
|
||||
* JavaScript/TypeScript: [`@pulumi/docker-build`](https://www.npmjs.com/package/@pulumi/docker-build)
|
||||
* Python: [`pulumi-docker-build`](https://pypi.org/project/pulumi-docker-build/)
|
||||
* Go: [`github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild`](https://github.com/pulumi/pulumi-docker-build)
|
||||
* .NET: [`Pulumi.DockerBuild`](https://www.nuget.org/packages/Pulumi.DockerBuild)
|
||||
* Java: [`com.pulumi/docker-build`](https://central.sonatype.com/artifact/com.pulumi/docker-build)
|
||||
|
||||
## Configuring The Provider
|
||||
|
||||
### Host
|
||||
|
||||
The `DOCKER_HOST` environment variable can be used to specify a custom build daemon's location.
|
||||
|
||||
```bash
|
||||
$ export DOCKER_HOST=tcp://127.0.0.1:2376/
|
||||
```
|
||||
|
||||
This can also be specified in your stack's configuration:
|
||||
|
||||
```bash
|
||||
$ pulumi config set docker-build:host tcp://127.0.0.1:2376/
|
||||
```
|
||||
@@ -1,40 +1,40 @@
|
||||
module provider-docker-build
|
||||
|
||||
go 1.23.1
|
||||
go 1.24.1
|
||||
|
||||
toolchain go1.24.2
|
||||
toolchain go1.24.5
|
||||
|
||||
require (
|
||||
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.11
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.165.0
|
||||
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.12
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.192.0
|
||||
)
|
||||
|
||||
require (
|
||||
dario.cat/mergo v1.0.1 // indirect
|
||||
github.com/BurntSushi/toml v1.4.0 // indirect
|
||||
github.com/BurntSushi/toml v1.5.0 // indirect
|
||||
github.com/Microsoft/go-winio v0.6.2 // indirect
|
||||
github.com/ProtonMail/go-crypto v1.1.6 // indirect
|
||||
github.com/ProtonMail/go-crypto v1.2.0 // indirect
|
||||
github.com/agext/levenshtein v1.2.3 // indirect
|
||||
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
|
||||
github.com/atotto/clipboard v0.1.4 // indirect
|
||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
||||
github.com/blang/semver v3.5.1+incompatible // indirect
|
||||
github.com/charmbracelet/bubbles v0.20.0 // indirect
|
||||
github.com/charmbracelet/bubbles v0.21.0 // indirect
|
||||
github.com/charmbracelet/bubbletea v1.3.4 // indirect
|
||||
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
|
||||
github.com/charmbracelet/colorprofile v0.3.0 // indirect
|
||||
github.com/charmbracelet/lipgloss v1.1.0 // indirect
|
||||
github.com/charmbracelet/x/ansi v0.8.0 // indirect
|
||||
github.com/charmbracelet/x/cellbuf v0.0.13 // indirect
|
||||
github.com/charmbracelet/x/term v0.2.1 // indirect
|
||||
github.com/cheggaaa/pb v1.0.29 // indirect
|
||||
github.com/cloudflare/circl v1.6.0 // indirect
|
||||
github.com/cloudflare/circl v1.6.1 // indirect
|
||||
github.com/cyphar/filepath-securejoin v0.4.1 // indirect
|
||||
github.com/djherbis/times v1.6.0 // indirect
|
||||
github.com/emirpasic/gods v1.18.1 // indirect
|
||||
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
|
||||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
||||
github.com/go-git/go-billy/v5 v5.6.2 // indirect
|
||||
github.com/go-git/go-git/v5 v5.14.0 // indirect
|
||||
github.com/go-git/go-git/v5 v5.16.0 // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
github.com/golang/glog v1.2.4 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
|
||||
@@ -58,11 +58,12 @@ require (
|
||||
github.com/opentracing/basictracer-go v1.1.0 // indirect
|
||||
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
||||
github.com/pgavlin/fx v0.1.6 // indirect
|
||||
github.com/pgavlin/fx/v2 v2.0.3 // indirect
|
||||
github.com/pjbgf/sha1cd v0.3.2 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/pkg/term v1.1.0 // indirect
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
||||
github.com/pulumi/esc v0.13.0 // indirect
|
||||
github.com/pulumi/esc v0.20.0 // indirect
|
||||
github.com/rivo/uniseg v0.4.7 // indirect
|
||||
github.com/rogpeppe/go-internal v1.14.1 // indirect
|
||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
||||
@@ -78,19 +79,20 @@ require (
|
||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
||||
github.com/zclconf/go-cty v1.16.2 // indirect
|
||||
go.opentelemetry.io/otel/sdk v1.36.0 // indirect
|
||||
go.uber.org/atomic v1.11.0 // indirect
|
||||
golang.org/x/crypto v0.36.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect
|
||||
golang.org/x/mod v0.24.0 // indirect
|
||||
golang.org/x/net v0.37.0 // indirect
|
||||
golang.org/x/sync v0.12.0 // indirect
|
||||
golang.org/x/sys v0.31.0 // indirect
|
||||
golang.org/x/term v0.30.0 // indirect
|
||||
golang.org/x/text v0.23.0 // indirect
|
||||
golang.org/x/tools v0.31.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250313205543-e70fdf4c4cb4 // indirect
|
||||
google.golang.org/grpc v1.71.0 // indirect
|
||||
google.golang.org/protobuf v1.36.5 // indirect
|
||||
golang.org/x/crypto v0.45.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 // indirect
|
||||
golang.org/x/mod v0.29.0 // indirect
|
||||
golang.org/x/net v0.47.0 // indirect
|
||||
golang.org/x/sync v0.18.0 // indirect
|
||||
golang.org/x/sys v0.38.0 // indirect
|
||||
golang.org/x/term v0.37.0 // indirect
|
||||
golang.org/x/text v0.31.0 // indirect
|
||||
golang.org/x/tools v0.38.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 // indirect
|
||||
google.golang.org/grpc v1.72.1 // indirect
|
||||
google.golang.org/protobuf v1.36.6 // indirect
|
||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
lukechampine.com/frand v1.5.1 // indirect
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
|
||||
dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
|
||||
github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0=
|
||||
github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
|
||||
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
|
||||
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
|
||||
github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM=
|
||||
github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=
|
||||
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
||||
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
|
||||
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
|
||||
github.com/ProtonMail/go-crypto v1.1.6 h1:ZcV+Ropw6Qn0AX9brlQLAUXfqLBc7Bl+f/DmNxpLfdw=
|
||||
github.com/ProtonMail/go-crypto v1.1.6/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
|
||||
github.com/ProtonMail/go-crypto v1.2.0 h1:+PhXXn4SPGd+qk76TlEePBfOfivE0zkWFenhGhFLzWs=
|
||||
github.com/ProtonMail/go-crypto v1.2.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE=
|
||||
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
|
||||
github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
|
||||
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
|
||||
@@ -23,12 +23,12 @@ github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiE
|
||||
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
|
||||
github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
|
||||
github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
|
||||
github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE=
|
||||
github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU=
|
||||
github.com/charmbracelet/bubbles v0.21.0 h1:9TdC97SdRVg/1aaXNVWfFH3nnLAwOXr8Fn6u6mfQdFs=
|
||||
github.com/charmbracelet/bubbles v0.21.0/go.mod h1:HF+v6QUR4HkEpz62dx7ym2xc71/KBHg+zKwJtMw+qtg=
|
||||
github.com/charmbracelet/bubbletea v1.3.4 h1:kCg7B+jSCFPLYRA52SDZjr51kG/fMUEoPoZrkaDHyoI=
|
||||
github.com/charmbracelet/bubbletea v1.3.4/go.mod h1:dtcUCyCGEX3g9tosuYiut3MXgY/Jsv9nKVdibKKRRXo=
|
||||
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs=
|
||||
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk=
|
||||
github.com/charmbracelet/colorprofile v0.3.0 h1:KtLh9uuu1RCt+Hml4s6Hz+kB1PfV3wi++1h5ia65yKQ=
|
||||
github.com/charmbracelet/colorprofile v0.3.0/go.mod h1:oHJ340RS2nmG1zRGPmhJKJ/jf4FPNNk0P39/wBPA1G0=
|
||||
github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
|
||||
github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
|
||||
github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
|
||||
@@ -39,8 +39,8 @@ github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQ
|
||||
github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
|
||||
github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo=
|
||||
github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30=
|
||||
github.com/cloudflare/circl v1.6.0 h1:cr5JKic4HI+LkINy2lg3W2jF8sHCVTBncJr5gIIq7qk=
|
||||
github.com/cloudflare/circl v1.6.0/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs=
|
||||
github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0=
|
||||
github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
|
||||
github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s=
|
||||
github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI=
|
||||
@@ -69,8 +69,8 @@ github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UN
|
||||
github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU=
|
||||
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
|
||||
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
|
||||
github.com/go-git/go-git/v5 v5.14.0 h1:/MD3lCrGjCen5WfEAzKg00MJJffKhC8gzS80ycmCi60=
|
||||
github.com/go-git/go-git/v5 v5.14.0/go.mod h1:Z5Xhoia5PcWA3NF8vRLURn9E5FRhSl7dGj9ItW3Wk5k=
|
||||
github.com/go-git/go-git/v5 v5.16.0 h1:k3kuOEpkc0DeY7xlL6NaaNg39xdgQbtH5mwCafHO9AQ=
|
||||
github.com/go-git/go-git/v5 v5.16.0/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8=
|
||||
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
|
||||
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
|
||||
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
||||
@@ -146,6 +146,8 @@ github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+
|
||||
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
|
||||
github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU=
|
||||
github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M=
|
||||
github.com/pgavlin/fx/v2 v2.0.3 h1:ZBVklTFjxcWvBVPE+ti5qwnmTIQ0Gq6nuj3J5RKDtKk=
|
||||
github.com/pgavlin/fx/v2 v2.0.3/go.mod h1:Cvnwqq0BopdHUJ7CU50h1XPeKrF4ZwdFj1nJLXbAjCE=
|
||||
github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4=
|
||||
github.com/pjbgf/sha1cd v0.3.2/go.mod h1:zQWigSxVmsHEZow5qaLtPYxpcKMMQpa09ixqBxuCS6A=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
@@ -157,12 +159,12 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0=
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
|
||||
github.com/pulumi/esc v0.13.0 h1:O2MPR2koScaQ2fXwyer8Q3Dd7z+DCnaDfsgNl5mVNMk=
|
||||
github.com/pulumi/esc v0.13.0/go.mod h1:IIQo6W6Uzajt6f1RW4QvNxIRDlbK3TNQysnrwBHNo3U=
|
||||
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.11 h1:16T7aYBGcMs7oMGcRHzRO9ETHit0xVYgPRBkaFu6T3M=
|
||||
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.11/go.mod h1:Uxxd/MM83Wys2lfpbfqvY8KUmnbU9mePbxbwEda/+SM=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.165.0 h1:cglplKZOJDpqH8wa/2J250G9az/sE9eKp9fS2bC+vi8=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.165.0/go.mod h1:GAaHrdv3kWJHbzkFFFflGbTBQXUYu6SF1ZCo+O9jo44=
|
||||
github.com/pulumi/esc v0.20.0 h1:LZn4sjAsI76x10ZuZXXyh2ExGcP7AHmjOzCi/p3/fpQ=
|
||||
github.com/pulumi/esc v0.20.0/go.mod h1:h1VjdedI0K84MhMzaR9ZKbEpU6SfZMOZF4ZrVgQyNLY=
|
||||
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.12 h1:uzmw+0iic764m0Yvh4I/jRV1x3q49dVh5Ctq9RllsQ8=
|
||||
github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.12/go.mod h1:6zFMe786NvFDO03BVJwdw1R/Yms4F6vAU49iBHo8zbQ=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.192.0 h1:sfHuR3P02wSbV3xdSMEQ0+uC/HzlMz0YfKrVAXy1hSQ=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.192.0/go.mod h1:aV0+c5xpSYccWKmOjTZS9liYCqh7+peu3cQgSXu7CJw=
|
||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
|
||||
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
||||
@@ -210,45 +212,45 @@ github.com/zclconf/go-cty v1.16.2 h1:LAJSwc3v81IRBZyUVQDUdZ7hs3SYs9jv0eZJDWHD/70
|
||||
github.com/zclconf/go-cty v1.16.2/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
|
||||
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
|
||||
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
|
||||
go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ=
|
||||
go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y=
|
||||
go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ=
|
||||
go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE=
|
||||
go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY=
|
||||
go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg=
|
||||
go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg=
|
||||
go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E=
|
||||
go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE=
|
||||
go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs=
|
||||
go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs=
|
||||
go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w=
|
||||
go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k=
|
||||
go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE=
|
||||
go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w=
|
||||
go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
|
||||
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
|
||||
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
|
||||
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
|
||||
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw=
|
||||
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM=
|
||||
golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
|
||||
golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
|
||||
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 h1:R9PFI6EUdfVKgwKjZef7QIwGcBKu86OEFpJ9nUEP2l4=
|
||||
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792/go.mod h1:A+z0yzpGtvnG90cToK5n2tu8UJVP2XUATh+r+sfOOOc=
|
||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
|
||||
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
|
||||
golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA=
|
||||
golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
|
||||
golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
|
||||
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
|
||||
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
|
||||
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
||||
golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
|
||||
golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
@@ -264,34 +266,34 @@ golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBc
|
||||
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
|
||||
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
|
||||
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
|
||||
golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
|
||||
golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
|
||||
golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
|
||||
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
|
||||
golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
|
||||
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU=
|
||||
golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ=
|
||||
golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ=
|
||||
golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250313205543-e70fdf4c4cb4 h1:iK2jbkWL86DXjEx0qiHcRE9dE4/Ahua5k6V8OWFb//c=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250313205543-e70fdf4c4cb4/go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I=
|
||||
google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg=
|
||||
google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec=
|
||||
google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=
|
||||
google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 h1:cJfm9zPbe1e873mHJzmQ1nwVEeRDU/T1wXDK2kUSU34=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
|
||||
google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA=
|
||||
google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM=
|
||||
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
|
||||
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"typescript": "^4.0.0",
|
||||
"@pulumi/pulumi": "3.165.0"
|
||||
"@pulumi/pulumi": "3.210.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -181,8 +181,9 @@ func TestConfig(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
test := integration.ProgramTestOptions{
|
||||
Dir: path.Join(cwd, "tests", "config"),
|
||||
Dependencies: []string{"@pulumi/docker-build"},
|
||||
Dir: path.Join(cwd, "tests", "config"),
|
||||
Dependencies: []string{"@pulumi/docker-build"},
|
||||
SkipEmptyPreviewUpdate: true,
|
||||
}
|
||||
|
||||
integration.ProgramTest(t, &test)
|
||||
|
||||
@@ -4,6 +4,6 @@
|
||||
"@types/node": "^20.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pulumi/pulumi": "3.165.0"
|
||||
"@pulumi/pulumi": "3.210.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -369,10 +369,10 @@
|
||||
resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
|
||||
integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==
|
||||
|
||||
"@pulumi/pulumi@3.165.0":
|
||||
version "3.165.0"
|
||||
resolved "https://registry.yarnpkg.com/@pulumi/pulumi/-/pulumi-3.165.0.tgz#6063567f0e8d999d76930b7d06db3e701942bd95"
|
||||
integrity sha512-9W7/vqOxzcUf00j3wblolkeLjC6+rbvb/hTqyVmrd86ByzLsZ0e6WZ2Bo/IPElqzw+r0SEDi+Sk451QEaO1ESg==
|
||||
"@pulumi/pulumi@3.210.0":
|
||||
version "3.210.0"
|
||||
resolved "https://registry.yarnpkg.com/@pulumi/pulumi/-/pulumi-3.210.0.tgz#c5d59ebaded83f5baf571e0c5c1b6a766fc694ea"
|
||||
integrity sha512-ZMe4oH8nFNi3Tig1U8mTEuqrjTyEz0aVkn+DvvjcBPvM7WzZSdB6xR9MiRK/ZUi0G5O+H7fx2gEEeq1vYcM5Jg==
|
||||
dependencies:
|
||||
"@grpc/grpc-js" "^1.10.1"
|
||||
"@logdna/tail-file" "^2.0.6"
|
||||
@@ -389,18 +389,18 @@
|
||||
"@types/tmp" "^0.2.6"
|
||||
execa "^5.1.0"
|
||||
fdir "^6.1.1"
|
||||
google-protobuf "^3.5.0"
|
||||
google-protobuf "^3.21.4"
|
||||
got "^11.8.6"
|
||||
ini "^2.0.0"
|
||||
js-yaml "^3.14.0"
|
||||
js-yaml "^3.14.2"
|
||||
minimist "^1.2.6"
|
||||
normalize-package-data "^6.0.0"
|
||||
package-directory "^8.1.0"
|
||||
picomatch "^3.0.1"
|
||||
pkg-dir "^7.0.0"
|
||||
require-from-string "^2.0.1"
|
||||
semver "^7.5.2"
|
||||
source-map-support "^0.5.6"
|
||||
tmp "^0.2.1"
|
||||
tmp "^0.2.4"
|
||||
upath "^1.1.0"
|
||||
|
||||
"@sigstore/bundle@^2.3.2":
|
||||
@@ -819,13 +819,10 @@ fdir@^6.1.1:
|
||||
resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.2.0.tgz#9120f438d566ef3e808ca37864d9dd18e1a4f9b5"
|
||||
integrity sha512-9XaWcDl0riOX5j2kYfy0kKdg7skw3IY6kA4LFT8Tk2yF9UdrADUy8D6AJuBLtf7ISm/MksumwAHE3WVbMRyCLw==
|
||||
|
||||
find-up@^6.3.0:
|
||||
version "6.3.0"
|
||||
resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790"
|
||||
integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==
|
||||
dependencies:
|
||||
locate-path "^7.1.0"
|
||||
path-exists "^5.0.0"
|
||||
find-up-simple@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/find-up-simple/-/find-up-simple-1.0.1.tgz#18fb90ad49e45252c4d7fca56baade04fa3fca1e"
|
||||
integrity sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==
|
||||
|
||||
foreground-child@^3.1.0:
|
||||
version "3.3.0"
|
||||
@@ -883,7 +880,7 @@ glob@^10.2.2, glob@^10.3.10:
|
||||
package-json-from-dist "^1.0.0"
|
||||
path-scurry "^1.11.1"
|
||||
|
||||
google-protobuf@^3.5.0:
|
||||
google-protobuf@^3.21.4:
|
||||
version "3.21.4"
|
||||
resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.4.tgz#2f933e8b6e5e9f8edde66b7be0024b68f77da6c9"
|
||||
integrity sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==
|
||||
@@ -1051,10 +1048,10 @@ jackspeak@^3.1.2:
|
||||
optionalDependencies:
|
||||
"@pkgjs/parseargs" "^0.11.0"
|
||||
|
||||
js-yaml@^3.14.0:
|
||||
version "3.14.1"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
|
||||
integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
|
||||
js-yaml@^3.14.2:
|
||||
version "3.14.2"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.2.tgz#77485ce1dd7f33c061fd1b16ecea23b55fcb04b0"
|
||||
integrity sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==
|
||||
dependencies:
|
||||
argparse "^1.0.7"
|
||||
esprima "^4.0.0"
|
||||
@@ -1101,13 +1098,6 @@ keyv@^4.0.0:
|
||||
dependencies:
|
||||
json-buffer "3.0.1"
|
||||
|
||||
locate-path@^7.1.0:
|
||||
version "7.2.0"
|
||||
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a"
|
||||
integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==
|
||||
dependencies:
|
||||
p-locate "^6.0.0"
|
||||
|
||||
lodash.camelcase@^4.3.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
|
||||
@@ -1385,20 +1375,6 @@ p-cancelable@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf"
|
||||
integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==
|
||||
|
||||
p-limit@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644"
|
||||
integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==
|
||||
dependencies:
|
||||
yocto-queue "^1.0.0"
|
||||
|
||||
p-locate@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f"
|
||||
integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==
|
||||
dependencies:
|
||||
p-limit "^4.0.0"
|
||||
|
||||
p-map@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
|
||||
@@ -1406,6 +1382,13 @@ p-map@^4.0.0:
|
||||
dependencies:
|
||||
aggregate-error "^3.0.0"
|
||||
|
||||
package-directory@^8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/package-directory/-/package-directory-8.1.0.tgz#75737f33380df04490de8cacb47d682116661401"
|
||||
integrity sha512-qHKRW0pw3lYdZMQVkjDBqh8HlamH/LCww2PH7OWEp4Qrt3SFeYMNpnJrQzlSnGrDD5zGR51XqBh7FnNCdVNEHA==
|
||||
dependencies:
|
||||
find-up-simple "^1.0.0"
|
||||
|
||||
package-json-from-dist@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00"
|
||||
@@ -1443,11 +1426,6 @@ parse-conflict-json@^3.0.0:
|
||||
just-diff "^6.0.0"
|
||||
just-diff-apply "^5.2.0"
|
||||
|
||||
path-exists@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7"
|
||||
integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==
|
||||
|
||||
path-key@^3.0.0, path-key@^3.1.0:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
|
||||
@@ -1471,13 +1449,6 @@ picomatch@^3.0.1:
|
||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-3.0.1.tgz#817033161def55ec9638567a2f3bbc876b3e7516"
|
||||
integrity sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==
|
||||
|
||||
pkg-dir@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11"
|
||||
integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==
|
||||
dependencies:
|
||||
find-up "^6.3.0"
|
||||
|
||||
postcss-selector-parser@^6.0.10:
|
||||
version "6.1.1"
|
||||
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz#5be94b277b8955904476a2400260002ce6c56e38"
|
||||
@@ -1805,10 +1776,10 @@ tar@^6.1.11, tar@^6.2.1:
|
||||
mkdirp "^1.0.3"
|
||||
yallist "^4.0.0"
|
||||
|
||||
tmp@^0.2.1:
|
||||
version "0.2.3"
|
||||
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae"
|
||||
integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==
|
||||
tmp@^0.2.4:
|
||||
version "0.2.5"
|
||||
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.5.tgz#b06bcd23f0f3c8357b426891726d16015abfd8f8"
|
||||
integrity sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==
|
||||
|
||||
treeverse@^3.0.0:
|
||||
version "3.0.0"
|
||||
@@ -1957,8 +1928,3 @@ yargs@^17.7.2:
|
||||
string-width "^4.2.3"
|
||||
y18n "^5.0.5"
|
||||
yargs-parser "^21.1.1"
|
||||
|
||||
yocto-queue@^1.0.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.1.1.tgz#fef65ce3ac9f8a32ceac5a634f74e17e5b232110"
|
||||
integrity sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==
|
||||
|
||||
@@ -4,6 +4,6 @@
|
||||
"@types/node": "^20.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pulumi/pulumi": "3.165.0"
|
||||
"@pulumi/pulumi": "3.210.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"typescript": "^4.0.0",
|
||||
"@pulumi/pulumi": "3.165.0"
|
||||
"@pulumi/pulumi": "3.210.0"
|
||||
}
|
||||
}
|
||||
|
||||
89
go.mod
89
go.mod
@@ -15,27 +15,27 @@ require (
|
||||
github.com/muesli/reflow v0.3.0
|
||||
github.com/otiai10/copy v1.14.0
|
||||
github.com/pulumi/providertest v0.3.1
|
||||
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.0.0-20250515194217-855e3e4c894c
|
||||
github.com/pulumi/pulumi-go-provider v1.0.0-rc.2
|
||||
github.com/pulumi/pulumi-java/pkg v1.11.0
|
||||
github.com/pulumi/pulumi-yaml v1.17.0
|
||||
github.com/pulumi/pulumi/pkg/v3 v3.169.0
|
||||
github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20250508095305-a4bdc94d01aa
|
||||
github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20250508095305-a4bdc94d01aa
|
||||
github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20250508095305-a4bdc94d01aa
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.169.0
|
||||
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.0.0-20250806132441-44ca9a522cef
|
||||
github.com/pulumi/pulumi-go-provider v1.1.2
|
||||
github.com/pulumi/pulumi-java/pkg v1.16.0
|
||||
github.com/pulumi/pulumi-yaml v1.21.2
|
||||
github.com/pulumi/pulumi/pkg/v3 v3.192.0
|
||||
github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20250806165243-bee5e4fa4815
|
||||
github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20250806165243-bee5e4fa4815
|
||||
github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20250806165243-bee5e4fa4815
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.192.0
|
||||
github.com/regclient/regclient v0.7.1
|
||||
github.com/sirupsen/logrus v1.9.3
|
||||
github.com/spf13/afero v1.14.0
|
||||
github.com/stretchr/testify v1.10.0
|
||||
github.com/tonistiigi/fsutil v0.0.0-20250113203817-b14e27f4135a
|
||||
github.com/tonistiigi/go-csvvalue v0.0.0-20240710180619-ddb21b71c0b4
|
||||
go.opentelemetry.io/otel/metric v1.35.0
|
||||
go.opentelemetry.io/otel/sdk v1.35.0
|
||||
go.opentelemetry.io/otel/trace v1.35.0
|
||||
go.opentelemetry.io/otel/metric v1.36.0
|
||||
go.opentelemetry.io/otel/sdk v1.36.0
|
||||
go.opentelemetry.io/otel/trace v1.36.0
|
||||
go.uber.org/mock v0.5.2
|
||||
golang.org/x/crypto v0.38.0
|
||||
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0
|
||||
golang.org/x/crypto v0.45.0
|
||||
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792
|
||||
google.golang.org/protobuf v1.36.6
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
)
|
||||
@@ -58,8 +58,8 @@ require (
|
||||
github.com/Antonboom/errname v0.1.13 // indirect
|
||||
github.com/Antonboom/nilnil v0.1.9 // indirect
|
||||
github.com/Antonboom/testifylint v1.3.1 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.16.0 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.17.0 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.2 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0 // indirect
|
||||
github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1 // indirect
|
||||
@@ -67,7 +67,7 @@ require (
|
||||
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect
|
||||
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
|
||||
github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect
|
||||
github.com/AzureAD/microsoft-authentication-library-for-go v1.3.2 // indirect
|
||||
github.com/AzureAD/microsoft-authentication-library-for-go v1.3.3 // indirect
|
||||
github.com/BurntSushi/toml v1.5.0 // indirect
|
||||
github.com/Crocmagnon/fatcontext v0.2.2 // indirect
|
||||
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect
|
||||
@@ -122,6 +122,7 @@ require (
|
||||
github.com/ccojocar/zxcvbn-go v1.0.2 // indirect
|
||||
github.com/cenkalti/backoff/v3 v3.2.2 // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
|
||||
github.com/cenkalti/backoff/v5 v5.0.2 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
||||
github.com/charithe/durationcheck v0.0.10 // indirect
|
||||
github.com/charmbracelet/bubbles v0.21.0 // indirect
|
||||
@@ -139,7 +140,7 @@ require (
|
||||
github.com/compose-spec/compose-go/v2 v2.4.8 // indirect
|
||||
github.com/containerd/console v1.0.4 // indirect
|
||||
github.com/containerd/containerd/api v1.8.0 // indirect
|
||||
github.com/containerd/containerd/v2 v2.0.3 // indirect
|
||||
github.com/containerd/containerd/v2 v2.0.7 // indirect
|
||||
github.com/containerd/continuity v0.4.5 // indirect
|
||||
github.com/containerd/errdefs v1.0.0 // indirect
|
||||
github.com/containerd/errdefs/pkg v0.3.0 // indirect
|
||||
@@ -197,7 +198,7 @@ require (
|
||||
github.com/go-toolsmith/astp v1.1.0 // indirect
|
||||
github.com/go-toolsmith/strparse v1.1.0 // indirect
|
||||
github.com/go-toolsmith/typep v1.1.0 // indirect
|
||||
github.com/go-viper/mapstructure/v2 v2.0.0 // indirect
|
||||
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
|
||||
github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect
|
||||
github.com/gobwas/glob v0.2.3 // indirect
|
||||
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
||||
@@ -234,7 +235,7 @@ require (
|
||||
github.com/gostaticanalysis/comment v1.4.2 // indirect
|
||||
github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect
|
||||
github.com/gostaticanalysis/nilerr v0.1.1 // indirect
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 // indirect
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect
|
||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
||||
@@ -280,6 +281,7 @@ require (
|
||||
github.com/ldez/gomoddirectives v0.2.4 // indirect
|
||||
github.com/ldez/tagliatelle v0.5.0 // indirect
|
||||
github.com/leonklingele/grouper v1.1.2 // indirect
|
||||
github.com/lib/pq v1.10.9 // indirect
|
||||
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
|
||||
github.com/lufeee/execinquery v1.2.1 // indirect
|
||||
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
|
||||
@@ -306,7 +308,7 @@ require (
|
||||
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
||||
github.com/moby/docker-image-spec v1.3.1 // indirect
|
||||
github.com/moby/locker v1.0.1 // indirect
|
||||
github.com/moby/moby v26.1.5+incompatible // indirect
|
||||
github.com/moby/moby v28.3.3+incompatible // indirect
|
||||
github.com/moby/spdystream v0.4.0 // indirect
|
||||
github.com/moby/sys/mountinfo v0.7.2 // indirect
|
||||
github.com/moby/sys/sequential v0.6.0 // indirect
|
||||
@@ -337,9 +339,10 @@ require (
|
||||
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
||||
github.com/pelletier/go-toml v1.9.5 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
|
||||
github.com/petar-dambovaliev/aho-corasick v0.0.0-20230725210150-fb29fc3c913e // indirect
|
||||
github.com/pgavlin/aho-corasick v0.5.1 // indirect
|
||||
github.com/pgavlin/diff v0.0.0-20230503175810-113847418e2e // indirect
|
||||
github.com/pgavlin/fx v0.1.6 // indirect
|
||||
github.com/pgavlin/fx/v2 v2.0.3 // indirect
|
||||
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect
|
||||
github.com/pgavlin/text v0.0.0-20240821195002-b51d0990e284 // indirect
|
||||
github.com/pjbgf/sha1cd v0.3.2 // indirect
|
||||
@@ -355,7 +358,7 @@ require (
|
||||
github.com/prometheus/common v0.55.0 // indirect
|
||||
github.com/prometheus/procfs v0.15.1 // indirect
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
||||
github.com/pulumi/esc v0.13.0 // indirect
|
||||
github.com/pulumi/esc v0.20.0 // indirect
|
||||
github.com/pulumi/inflector v0.2.1 // indirect
|
||||
github.com/quasilyte/go-ruleguard v0.4.2 // indirect
|
||||
github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect
|
||||
@@ -416,7 +419,7 @@ require (
|
||||
github.com/tonistiigi/vt100 v0.0.0-20240514184818-90bafcd6abab // indirect
|
||||
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
|
||||
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
|
||||
github.com/ulikunitz/xz v0.5.12 // indirect
|
||||
github.com/ulikunitz/xz v0.5.15 // indirect
|
||||
github.com/ultraware/funlen v0.1.0 // indirect
|
||||
github.com/ultraware/whitespace v0.1.1 // indirect
|
||||
github.com/uudashr/gocognit v1.1.2 // indirect
|
||||
@@ -430,10 +433,10 @@ require (
|
||||
github.com/yagipy/maintidx v1.0.0 // indirect
|
||||
github.com/yeya24/promlinter v0.3.0 // indirect
|
||||
github.com/ykadowak/zerologlint v0.1.5 // indirect
|
||||
github.com/yuin/goldmark v1.5.2 // indirect
|
||||
github.com/yuin/goldmark v1.7.13 // indirect
|
||||
github.com/yuin/goldmark-emoji v1.0.1 // indirect
|
||||
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
||||
github.com/zclconf/go-cty v1.16.2 // indirect
|
||||
github.com/zclconf/go-cty v1.16.3 // indirect
|
||||
gitlab.com/bosi/decorder v0.4.2 // indirect
|
||||
go-simpler.org/musttag v0.12.2 // indirect
|
||||
go-simpler.org/sloglint v0.7.1 // indirect
|
||||
@@ -442,14 +445,14 @@ require (
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.56.0 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect
|
||||
go.opentelemetry.io/otel v1.35.0 // indirect
|
||||
go.opentelemetry.io/otel v1.36.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.36.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.36.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect
|
||||
go.opentelemetry.io/proto/otlp v1.5.0 // indirect
|
||||
go.opentelemetry.io/proto/otlp v1.6.0 // indirect
|
||||
go.pennock.tech/tabular v1.1.3 // indirect
|
||||
go.uber.org/atomic v1.11.0 // indirect
|
||||
go.uber.org/automaxprocs v1.6.0 // indirect
|
||||
@@ -458,21 +461,23 @@ require (
|
||||
gocloud.dev v0.37.0 // indirect
|
||||
gocloud.dev/secrets/hashivault v0.37.0 // indirect
|
||||
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f // indirect
|
||||
golang.org/x/mod v0.24.0 // indirect
|
||||
golang.org/x/net v0.40.0 // indirect
|
||||
golang.org/x/oauth2 v0.25.0 // indirect
|
||||
golang.org/x/sync v0.14.0 // indirect
|
||||
golang.org/x/sys v0.33.0 // indirect
|
||||
golang.org/x/term v0.32.0 // indirect
|
||||
golang.org/x/text v0.25.0 // indirect
|
||||
golang.org/x/time v0.6.0 // indirect
|
||||
golang.org/x/tools v0.32.0 // indirect
|
||||
golang.org/x/mod v0.29.0 // indirect
|
||||
golang.org/x/net v0.47.0 // indirect
|
||||
golang.org/x/oauth2 v0.30.0 // indirect
|
||||
golang.org/x/sync v0.18.0 // indirect
|
||||
golang.org/x/sys v0.38.0 // indirect
|
||||
golang.org/x/term v0.37.0 // indirect
|
||||
golang.org/x/text v0.31.0 // indirect
|
||||
golang.org/x/time v0.12.0 // indirect
|
||||
golang.org/x/tools v0.38.0 // indirect
|
||||
golang.org/x/tools/go/expect v0.1.1-deprecated // indirect
|
||||
golang.org/x/tools/godoc v0.1.0-deprecated // indirect
|
||||
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
|
||||
google.golang.org/api v0.169.0 // indirect
|
||||
google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e // indirect
|
||||
google.golang.org/grpc v1.71.1 // indirect
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 // indirect
|
||||
google.golang.org/grpc v1.72.1 // indirect
|
||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
|
||||
|
||||
189
go.sum
189
go.sum
@@ -35,12 +35,12 @@ github.com/Antonboom/nilnil v0.1.9 h1:eKFMejSxPSA9eLSensFmjW2XTgTwJMjZ8hUHtV4s/S
|
||||
github.com/Antonboom/nilnil v0.1.9/go.mod h1:iGe2rYwCq5/Me1khrysB4nwI7swQvjclR8/YRPl5ihQ=
|
||||
github.com/Antonboom/testifylint v1.3.1 h1:Uam4q1Q+2b6H7gvk9RQFw6jyVDdpzIirFOOrbs14eG4=
|
||||
github.com/Antonboom/testifylint v1.3.1/go.mod h1:NV0hTlteCkViPW9mSR4wEMfwp+Hs1T3dY60bkvSfhpM=
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.16.0 h1:JZg6HRh6W6U4OLl6lk7BZ7BLisIzM9dG1R50zUk9C/M=
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.16.0/go.mod h1:YL1xnZ6QejvQHWJrX/AvhFl4WW4rqHVoKspWNVwFk0M=
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0 h1:B/dfvscEQtew9dVuoxqxrUKKv8Ih2f55PydknDamU+g=
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0/go.mod h1:fiPSssYvltE08HJchL04dOy+RD4hgrjph0cwGGMntdI=
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.0 h1:+m0M/LFxN43KvULkDNfdXOgrjtg6UYJPFBJyuEcRCAw=
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.0/go.mod h1:PwOyop78lveYMRs6oCxjiVyBdyCgIYH6XHIVZO9/SFQ=
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.17.0 h1:g0EZJwz7xkXQiZAI5xi9f3WWFYBlX1CPTrR+NDToRkQ=
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.17.0/go.mod h1:XCW7KnZet0Opnr7HccfUw1PLc4CjHqpcaxW8DHklNkQ=
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.2 h1:F0gBpfdPLGsw+nsgk6aqqkZS1jiixa5WwFe3fk/T3Ys=
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.2/go.mod h1:SqINnQ9lVVdRlyC8cd1lCI0SdX4n2paeABd2K8ggfnE=
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2 h1:yz1bePFlP5Vws5+8ez6T3HWXPmwOK7Yvq8QxDBD3SKY=
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2/go.mod h1:Pa9ZNPuoNu/GztvBSKk9J1cDJW6vk/n0zLtV4mgd8N8=
|
||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xPBn1663uRv2t2q/ESv9seY=
|
||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0/go.mod h1:iZDifYGJTIgIIkYRNWPENUnqx6bJ2xnSDFI2tjwZNuY=
|
||||
github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0 h1:m/sWOGCREuSBqg2htVQTBY8nOZpyajYztF0vUvSZTuM=
|
||||
@@ -59,8 +59,8 @@ github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+X
|
||||
github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE=
|
||||
github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM=
|
||||
github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE=
|
||||
github.com/AzureAD/microsoft-authentication-library-for-go v1.3.2 h1:kYRSnvJju5gYVyhkij+RTJ/VR6QIUaCfWeaFm2ycsjQ=
|
||||
github.com/AzureAD/microsoft-authentication-library-for-go v1.3.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI=
|
||||
github.com/AzureAD/microsoft-authentication-library-for-go v1.3.3 h1:H5xDQaE3XowWfhZRUpnfC+rGZMEVoSiji+b+/HFAPU4=
|
||||
github.com/AzureAD/microsoft-authentication-library-for-go v1.3.3/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
|
||||
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
|
||||
@@ -202,6 +202,8 @@ github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTx
|
||||
github.com/cenkalti/backoff/v3 v3.2.2/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs=
|
||||
github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
|
||||
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
|
||||
github.com/cenkalti/backoff/v5 v5.0.2 h1:rIfFVxEf1QsI7E1ZHfp/B4DF/6QBAUhmgkxc0H7Zss8=
|
||||
github.com/cenkalti/backoff/v5 v5.0.2/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw=
|
||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
|
||||
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
||||
@@ -243,8 +245,8 @@ github.com/containerd/console v1.0.4 h1:F2g4+oChYvBTsASRTz8NP6iIAi97J3TtSAsLbIFn
|
||||
github.com/containerd/console v1.0.4/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk=
|
||||
github.com/containerd/containerd/api v1.8.0 h1:hVTNJKR8fMc/2Tiw60ZRijntNMd1U+JVMyTRdsD2bS0=
|
||||
github.com/containerd/containerd/api v1.8.0/go.mod h1:dFv4lt6S20wTu/hMcP4350RL87qPWLVa/OHOwmmdnYc=
|
||||
github.com/containerd/containerd/v2 v2.0.3 h1:zBKgwgZsuu+LPCMzCLgA4sC4MiZzZ59ZT31XkmiISQM=
|
||||
github.com/containerd/containerd/v2 v2.0.3/go.mod h1:5j9QUUaV/cy9ZeAx4S+8n9ffpf+iYnEj4jiExgcbuLY=
|
||||
github.com/containerd/containerd/v2 v2.0.7 h1:55JsNhqP/L7VZOijyfq6Qn0O8Oeff0UizfRuP+2pc90=
|
||||
github.com/containerd/containerd/v2 v2.0.7/go.mod h1:su8B0Z1NFQMEIztOIbHwy7xtznbCms/kFlfsxIcQrZ8=
|
||||
github.com/containerd/continuity v0.4.5 h1:ZRoN1sXq9u7V6QoHMcVWGhOwDFqZ4B9i5H6un1Wh0x4=
|
||||
github.com/containerd/continuity v0.4.5/go.mod h1:/lNJvtJKUQStBzpVQ1+rasXO1LAWtUQssk28EZvJ3nE=
|
||||
github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI=
|
||||
@@ -422,8 +424,8 @@ github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQi
|
||||
github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ=
|
||||
github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus=
|
||||
github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig=
|
||||
github.com/go-viper/mapstructure/v2 v2.0.0 h1:dhn8MZ1gZ0mzeodTG3jt5Vj/o87xZKuNAprG2mQfMfc=
|
||||
github.com/go-viper/mapstructure/v2 v2.0.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
|
||||
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
|
||||
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
|
||||
github.com/go-xmlfmt/xmlfmt v1.1.2 h1:Nea7b4icn8s57fTx1M5AI4qQT5HEM3rVUO8MuE6g80U=
|
||||
github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM=
|
||||
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
|
||||
@@ -540,8 +542,8 @@ github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW
|
||||
github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M=
|
||||
github.com/gostaticanalysis/testutil v0.4.0 h1:nhdCmubdmDF6VEatUNjgUZBJKWRqugoISdUv3PPQgHY=
|
||||
github.com/gostaticanalysis/testutil v0.4.0/go.mod h1:bLIoPefWXrRi/ssLFWX1dx7Repi5x3CuviD3dgAZaBU=
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 h1:VNqngBF40hVlDloBruUehVYC3ArSgIyScOAyMRqBxRg=
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1/go.mod h1:RBRO7fro65R6tjKzYgLAFo0t1QEXY1Dp+i/bvpRiqiQ=
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo=
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI=
|
||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
|
||||
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw=
|
||||
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
@@ -665,6 +667,8 @@ github.com/ldez/tagliatelle v0.5.0 h1:epgfuYt9v0CG3fms0pEgIMNPuFf/LpPIfjk4kyqSio
|
||||
github.com/ldez/tagliatelle v0.5.0/go.mod h1:rj1HmWiL1MiKQuOONhd09iySTEkUuE/8+5jtPYz9xa4=
|
||||
github.com/leonklingele/grouper v1.1.2 h1:o1ARBDLOmmasUaNDesWqWCIFH3u7hoFlM84YrjT3mIY=
|
||||
github.com/leonklingele/grouper v1.1.2/go.mod h1:6D0M/HVkhs2yRKRFZUoGjeDy7EZTfFBE9gl4kjmIGkA=
|
||||
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
|
||||
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||
github.com/liquidgecka/testlib v0.0.0-20180123051607-561e6b271c63 h1:E1gsAMD4TysLS1Vt2CGR1EK/RtNPIT7YkiVOy9PS1IM=
|
||||
github.com/liquidgecka/testlib v0.0.0-20180123051607-561e6b271c63/go.mod h1:vwMPvLIhXhkJaBfsk/6l+eDuiQaIVHC0b6eCvUVBsB0=
|
||||
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
|
||||
@@ -736,8 +740,8 @@ github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3N
|
||||
github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo=
|
||||
github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg=
|
||||
github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc=
|
||||
github.com/moby/moby v26.1.5+incompatible h1:O/XM3Qzmd6WzbeqAp2hbKu3ugujrsGnrla/yvELtgls=
|
||||
github.com/moby/moby v26.1.5+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc=
|
||||
github.com/moby/moby v28.3.3+incompatible h1:nzkZIIn9bQP9S553kNmJ+U8PBhdS2ciFWphV2vX/Zp4=
|
||||
github.com/moby/moby v28.3.3+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc=
|
||||
github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk=
|
||||
github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc=
|
||||
github.com/moby/spdystream v0.4.0 h1:Vy79D6mHeJJjiPdFEL2yku1kl0chZpJfZcPpb16BRl8=
|
||||
@@ -779,6 +783,8 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8m
|
||||
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
|
||||
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus=
|
||||
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
|
||||
github.com/mxschmitt/golang-combinations v1.0.0 h1:NFoO7CSP8MUcFlHpe1YdewKwMa15dgDbaqkVLC5DUPI=
|
||||
github.com/mxschmitt/golang-combinations v1.0.0/go.mod h1:RbMhWvfCelHR6WROvT2bVfxJvZHoEvBj71SKe+H0MYU=
|
||||
github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U=
|
||||
github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE=
|
||||
github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0A=
|
||||
@@ -829,12 +835,14 @@ github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3v
|
||||
github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
|
||||
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
|
||||
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
|
||||
github.com/petar-dambovaliev/aho-corasick v0.0.0-20230725210150-fb29fc3c913e h1:POJco99aNgosh92lGqmx7L1ei+kCymivB/419SD15PQ=
|
||||
github.com/petar-dambovaliev/aho-corasick v0.0.0-20230725210150-fb29fc3c913e/go.mod h1:EHPiTAKtiFmrMldLUNswFwfZ2eJIYBHktdaUTZxYWRw=
|
||||
github.com/pgavlin/aho-corasick v0.5.1 h1:ujv4DzpWK8G+MhoPAKYAir7znMHtcRQLDVa0cwFRvHw=
|
||||
github.com/pgavlin/aho-corasick v0.5.1/go.mod h1:UyKgVsAp5Un59BCpzrpFkPyETFMn1tGjdbRYvoq0l2g=
|
||||
github.com/pgavlin/diff v0.0.0-20230503175810-113847418e2e h1:Or25BtWLCyWKjnLyuMDrQsc6VcCs1V2AiKdOnxHEeEk=
|
||||
github.com/pgavlin/diff v0.0.0-20230503175810-113847418e2e/go.mod h1:WGwlmuPAiQTGQUjxyAfP7j4JgbgiFvFpI/qRtsQtS/4=
|
||||
github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU=
|
||||
github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M=
|
||||
github.com/pgavlin/fx/v2 v2.0.3 h1:ZBVklTFjxcWvBVPE+ti5qwnmTIQ0Gq6nuj3J5RKDtKk=
|
||||
github.com/pgavlin/fx/v2 v2.0.3/go.mod h1:Cvnwqq0BopdHUJ7CU50h1XPeKrF4ZwdFj1nJLXbAjCE=
|
||||
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 h1:LoCV5cscNVWyK5ChN/uCoIFJz8jZD63VQiGJIRgr6uo=
|
||||
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386/go.mod h1:MRxHTJrf9FhdfNQ8Hdeh9gmHevC9RJE/fu8M3JIGjoE=
|
||||
github.com/pgavlin/text v0.0.0-20240821195002-b51d0990e284 h1:qpLdAFg3kyV/mEsuMPBgLzFo3xRpKBdOff8m0up9eAs=
|
||||
@@ -880,30 +888,30 @@ github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0leargg
|
||||
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0=
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
|
||||
github.com/pulumi/esc v0.13.0 h1:O2MPR2koScaQ2fXwyer8Q3Dd7z+DCnaDfsgNl5mVNMk=
|
||||
github.com/pulumi/esc v0.13.0/go.mod h1:IIQo6W6Uzajt6f1RW4QvNxIRDlbK3TNQysnrwBHNo3U=
|
||||
github.com/pulumi/esc v0.20.0 h1:LZn4sjAsI76x10ZuZXXyh2ExGcP7AHmjOzCi/p3/fpQ=
|
||||
github.com/pulumi/esc v0.20.0/go.mod h1:h1VjdedI0K84MhMzaR9ZKbEpU6SfZMOZF4ZrVgQyNLY=
|
||||
github.com/pulumi/inflector v0.2.1 h1:bqyiish3tq//vLeLiEstSFE5K7RNjy/ce47ed4QATu8=
|
||||
github.com/pulumi/inflector v0.2.1/go.mod h1:HUFCjcPTz96YtTuUlwG3i3EZG4WlniBvR9bd+iJxCUY=
|
||||
github.com/pulumi/providertest v0.3.1 h1:vlftr7TZlObh81mL88IhhF0/9ZbLrZZos4NAvR4HUUw=
|
||||
github.com/pulumi/providertest v0.3.1/go.mod h1:fFHUP4/9DRyYnHWiRnwcynMtM/a7hHR/QcJfcuZKO3A=
|
||||
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.0.0-20250515194217-855e3e4c894c h1:UTPnj4E06/n+T6ffEevqvS2f+zKLdRBeM81aQwhwNlE=
|
||||
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.0.0-20250515194217-855e3e4c894c/go.mod h1:4XmrdCzJ36AigIW8B0HWjkjfgmY2DZTLqv4BQal3hSg=
|
||||
github.com/pulumi/pulumi-go-provider v1.0.0-rc.2 h1:Fkv+MVGOE4XBwZ7M3Tp4vVWu3YE6w1pCod0vmMkukm0=
|
||||
github.com/pulumi/pulumi-go-provider v1.0.0-rc.2/go.mod h1:84yaWdhVcyPG+Vq3HfcDPPeGsNEMIQCD+S1WsymEw9A=
|
||||
github.com/pulumi/pulumi-java/pkg v1.11.0 h1:M8C7CKxwBSE/c5RcoGF0sAUSFZywjd7CjmTRQh8nvNk=
|
||||
github.com/pulumi/pulumi-java/pkg v1.11.0/go.mod h1:zoQdTjj488DhUx8dNed6SW1fJnAE4GwGLBVDRpsQVE8=
|
||||
github.com/pulumi/pulumi-yaml v1.17.0 h1:ebzggygqBcQrtmdBUqi28B1L/fAyHCFVIt0dS5re8Oc=
|
||||
github.com/pulumi/pulumi-yaml v1.17.0/go.mod h1:4cpS4ITkIAXgVedTZB3JY/DnZu9XSh+RhrKB5WlB/fs=
|
||||
github.com/pulumi/pulumi/pkg/v3 v3.169.0 h1:q1f36HRYhXEKZVe3b0SQGKJjl+9llCHzAztn+aiidtE=
|
||||
github.com/pulumi/pulumi/pkg/v3 v3.169.0/go.mod h1:ofgvwLttErApwvvvvmx40VhxEoNl34q0XVSraK40RqQ=
|
||||
github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20250508095305-a4bdc94d01aa h1:b0CMni/Q621ChYaTe6FMHXYfrcH1FzAXjUsOsUO24nc=
|
||||
github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20250508095305-a4bdc94d01aa/go.mod h1:5Vs9hUjv9+R4K97UUul5KjFIpUi0AmZdVZVE+Yl0UoY=
|
||||
github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20250508095305-a4bdc94d01aa h1:RB9e9Gc4PMyX+IRdfR7VipRQeBdc3K93ROrnbmHS6V0=
|
||||
github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20250508095305-a4bdc94d01aa/go.mod h1:5lah9DjodVv9BURtk2ykbJams7TclP+Xr7h+NK4B0gQ=
|
||||
github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20250508095305-a4bdc94d01aa h1:3eGefORCsSeUrIYe9GIklycGRoKsKAGq3dfg1RYb3nM=
|
||||
github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20250508095305-a4bdc94d01aa/go.mod h1:6LYkwLXNHz68cnVIgdsthaUaxZZDIJp1Ag0RyUnPNek=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.169.0 h1:bgz1fp2rl28khSXgF4FaRQiB9wh3lSKWtzUOGalf+x4=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.169.0/go.mod h1:Qhe4dOjqedyLr47kGGnG6ULIbzaPTlmjAvPqNQ1Ollo=
|
||||
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.0.0-20250806132441-44ca9a522cef h1:cxRa9R9To6OYKacIG2Em6zcM7BDNr6joC43uiV1lSVY=
|
||||
github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3 v3.0.0-20250806132441-44ca9a522cef/go.mod h1:VLcnE1lj92EfRi7CRMzdPkQ9OQvrlg2upJM1lBZzNmg=
|
||||
github.com/pulumi/pulumi-go-provider v1.1.2 h1:NUQDXaftBDFTPMBPwxo8FhJUX0ymkv6a1XiXTnCDpvg=
|
||||
github.com/pulumi/pulumi-go-provider v1.1.2/go.mod h1:3lNIuxT/BArFyiKrVfv+UT7gMMtplss7V69KuBZ4zIk=
|
||||
github.com/pulumi/pulumi-java/pkg v1.16.0 h1:8KCiIXWv2uxfIks0SdgOezyXg4HZIoPfHID9eMg4nuM=
|
||||
github.com/pulumi/pulumi-java/pkg v1.16.0/go.mod h1:VeMZ1s9LfXBypao4A1tRF3EB7fYnYZ1LwImyg6FBX0c=
|
||||
github.com/pulumi/pulumi-yaml v1.21.2 h1:czqC5AazinfX6Bj0nqAAQ6x/Cr8/3oUz3HUjJg6tJ4o=
|
||||
github.com/pulumi/pulumi-yaml v1.21.2/go.mod h1:KOqDnuJksfIq8belFVFN3IEI4r0NgW69M0QPSj54On4=
|
||||
github.com/pulumi/pulumi/pkg/v3 v3.192.0 h1:gZRMPaNpW+VN3ng3h9r8De8wI0keWC9fIP0rcUDatMA=
|
||||
github.com/pulumi/pulumi/pkg/v3 v3.192.0/go.mod h1:+Zp3EzjzGW4PlcW8oITZgeOfFzIVbLWvHtUVixvGQcs=
|
||||
github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20250806165243-bee5e4fa4815 h1:tipGG4aEPejP424igQYxJ6TOtWVtZJa0z679oIv00ho=
|
||||
github.com/pulumi/pulumi/sdk/go/pulumi-language-go/v3 v3.0.0-20250806165243-bee5e4fa4815/go.mod h1:V2MMs29cFeGBdZyFKxNqTGVfBgDLhIOGfrXOxheieuI=
|
||||
github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20250806165243-bee5e4fa4815 h1:+QJTFK7UcOFTYCg3XaSTrRZHWJ6Hqza8w9oADa4pPcM=
|
||||
github.com/pulumi/pulumi/sdk/nodejs/cmd/pulumi-language-nodejs/v3 v3.0.0-20250806165243-bee5e4fa4815/go.mod h1:0kA9b5LsaXLEKQzo0o9UUsHtZkACthHYLyBVUDUVMxc=
|
||||
github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20250806165243-bee5e4fa4815 h1:bkvtySMos0ij3fWZWZaU5sVrvGvU0dZCusoxpgEtX6I=
|
||||
github.com/pulumi/pulumi/sdk/python/cmd/pulumi-language-python/v3 v3.0.0-20250806165243-bee5e4fa4815/go.mod h1:SJtr0N/XFyelI7M7U0UbJXr15pgEdSmpN40cglTsRTA=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.192.0 h1:sfHuR3P02wSbV3xdSMEQ0+uC/HzlMz0YfKrVAXy1hSQ=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.192.0/go.mod h1:aV0+c5xpSYccWKmOjTZS9liYCqh7+peu3cQgSXu7CJw=
|
||||
github.com/quasilyte/go-ruleguard v0.4.2 h1:htXcXDK6/rO12kiTHKfHuqR4kr3Y4M0J0rOL6CH/BYs=
|
||||
github.com/quasilyte/go-ruleguard v0.4.2/go.mod h1:GJLgqsLeo4qgavUoL8JeGFNS7qcisx3awV/w9eWTmNI=
|
||||
github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE=
|
||||
@@ -914,8 +922,8 @@ github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 h1:TCg2WBOl
|
||||
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0=
|
||||
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs=
|
||||
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ=
|
||||
github.com/redis/go-redis/v9 v9.6.1 h1:HHDteefn6ZkTtY5fGUE8tj8uy85AHk6zP7CpzIAM0y4=
|
||||
github.com/redis/go-redis/v9 v9.6.1/go.mod h1:0C0c6ycQsdpVNQpxb1njEQIqkx5UcsM8FJCQLgE9+RA=
|
||||
github.com/redis/go-redis/v9 v9.7.0 h1:HhLSs+B6O021gwzl+locl0zEDnyNkxMtf/Z3NNBMa9E=
|
||||
github.com/redis/go-redis/v9 v9.7.0/go.mod h1:f6zhXITC7JUJIlPEiBOTXxJgPLdZcA93GewI7inzyWw=
|
||||
github.com/regclient/regclient v0.7.1 h1:qEsJrTmZd98fZKjueAbrZCSNGU+ifnr6xjlSAs3WOPs=
|
||||
github.com/regclient/regclient v0.7.1/go.mod h1:+w/BFtJuw0h0nzIw/z2+1FuA2/dVXBzDq4rYmziJpMc=
|
||||
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||
@@ -1075,8 +1083,8 @@ github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaO
|
||||
github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
|
||||
github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg=
|
||||
github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=
|
||||
github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc=
|
||||
github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
|
||||
github.com/ulikunitz/xz v0.5.15 h1:9DNdB5s+SgV3bQ2ApL10xRc35ck0DuIX/isZvIk+ubY=
|
||||
github.com/ulikunitz/xz v0.5.15/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
|
||||
github.com/ultraware/funlen v0.1.0 h1:BuqclbkY6pO+cvxoq7OsktIXZpgBSkYTQtmwhAK81vI=
|
||||
github.com/ultraware/funlen v0.1.0/go.mod h1:XJqmOQja6DpxarLj6Jj1U7JuoS8PvL4nEqDaQhy22p4=
|
||||
github.com/ultraware/whitespace v0.1.1 h1:bTPOGejYFulW3PkcrqkeQwOd6NKOOXvmGD9bo/Gk8VQ=
|
||||
@@ -1114,15 +1122,16 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec
|
||||
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
|
||||
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
|
||||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||
github.com/yuin/goldmark v1.5.2 h1:ALmeCk/px5FSm1MAcFBAsVKZjDuMVj8Tm7FFIlMJnqU=
|
||||
github.com/yuin/goldmark v1.5.2/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||
github.com/yuin/goldmark v1.7.13 h1:GPddIs617DnBLFFVJFgpo1aBfe/4xcvMc3SB5t/D0pA=
|
||||
github.com/yuin/goldmark v1.7.13/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg=
|
||||
github.com/yuin/goldmark-emoji v1.0.1 h1:ctuWEyzGBwiucEqxzwe0SOYDXPAucOrE9NQC18Wa1os=
|
||||
github.com/yuin/goldmark-emoji v1.0.1/go.mod h1:2w1E6FEWLcDQkoTE+7HU6QF1F6SLlNGjRIBbIZQFqkQ=
|
||||
github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
|
||||
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
|
||||
github.com/zclconf/go-cty v1.4.0/go.mod h1:nHzOclRkoj++EU9ZjSrZvRG0BXIWt8c7loYc0qXAFGQ=
|
||||
github.com/zclconf/go-cty v1.16.2 h1:LAJSwc3v81IRBZyUVQDUdZ7hs3SYs9jv0eZJDWHD/70=
|
||||
github.com/zclconf/go-cty v1.16.2/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
|
||||
github.com/zclconf/go-cty v1.16.3 h1:osr++gw2T61A8KVYHoQiFbFd1Lh3JOCXc/jFLJXKTxk=
|
||||
github.com/zclconf/go-cty v1.16.3/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
|
||||
github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940 h1:4r45xpDWB6ZMSMNJFMOjqrGHynW3DIBuR2H9j0ug+Mo=
|
||||
github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940/go.mod h1:CmBdvvj3nqzfzJ6nTCIwDTPZ56aVGvDrmztiO5g3qrM=
|
||||
gitlab.com/bosi/decorder v0.4.2 h1:qbQaV3zgwnBZ4zPMhGLW4KZe7A7NwxEhJx39R3shffo=
|
||||
@@ -1143,30 +1152,30 @@ go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.56.0/go.mod h1:3qi2EEwMgB4xnKgPLqsDP3j9qxnHDZeHsnAxfjQqTko=
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s=
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM=
|
||||
go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ=
|
||||
go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y=
|
||||
go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg=
|
||||
go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0 h1:FZ6ei8GFW7kyPYdxJaV2rgI6M+4tvZzhYsQ2wgyVC08=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.31.0/go.mod h1:MdEu/mC6j3D+tTEfvI15b5Ci2Fn7NneJ71YMoiS3tpI=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0 h1:ZsXq73BERAiNuuFXYqP4MR5hBrjXfMGSO+Cx7qoOZiM=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0/go.mod h1:hg1zaDMpyZJuUzjFxFsRYBoccE86tM9Uf4IqNMUxvrY=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0 h1:1fTNlAIJZGWLP5FVu0fikVry1IsiUnXjf7QFvoNN3Xw=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0/go.mod h1:zjPK58DtkqQFn+YUMbx0M2XV3QgKU0gS9LeGohREyK4=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.36.0 h1:dNzwXjZKpMpE2JhmO+9HsPl42NIXFIFSUSSs0fiqra0=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.36.0/go.mod h1:90PoxvaEB5n6AOdZvi+yWJQoE95U8Dhhw2bSyRqnTD0=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.36.0 h1:JgtbA0xkWHnTmYk7YusopJFX6uleBmAuZ8n05NEh8nQ=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.36.0/go.mod h1:179AK5aar5R3eS9FucPy6rggvU0g52cvKId8pv4+v0c=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4=
|
||||
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 h1:UGZ1QwZWY67Z6BmckTU+9Rxn04m2bD3gD6Mk0OIOCPk=
|
||||
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0/go.mod h1:fcwWuDuaObkkChiDlhEpSq9+X1C0omv+s5mBtToAQ64=
|
||||
go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M=
|
||||
go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE=
|
||||
go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY=
|
||||
go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg=
|
||||
go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE=
|
||||
go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs=
|
||||
go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs=
|
||||
go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w=
|
||||
go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs=
|
||||
go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc=
|
||||
go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4=
|
||||
go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4=
|
||||
go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w=
|
||||
go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
|
||||
go.opentelemetry.io/proto/otlp v1.6.0 h1:jQjP+AQyTf+Fe7OKj/MfkDrmK4MNVtw2NpXsf9fefDI=
|
||||
go.opentelemetry.io/proto/otlp v1.6.0/go.mod h1:cicgGehlFuNdgZkcALOCh3VE6K/u2tAjzlRhDwmVpZc=
|
||||
go.pennock.tech/tabular v1.1.3 h1:JYN3TdVkTjOWdZz2FwKcW7f69vRhPl4NAQqJ8RZAsmY=
|
||||
go.pennock.tech/tabular v1.1.3/go.mod h1:UzyxF5itNqTCS1ZGXfwDwbFgYj/lS+e67Fid68QOYZ0=
|
||||
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
|
||||
@@ -1196,11 +1205,11 @@ golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw
|
||||
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
|
||||
golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
|
||||
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
|
||||
golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
|
||||
golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
|
||||
golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
|
||||
golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
|
||||
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
|
||||
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 h1:R9PFI6EUdfVKgwKjZef7QIwGcBKu86OEFpJ9nUEP2l4=
|
||||
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792/go.mod h1:A+z0yzpGtvnG90cToK5n2tu8UJVP2XUATh+r+sfOOOc=
|
||||
golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
|
||||
golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
|
||||
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f h1:phY1HzDcf18Aq9A8KkmRtY9WvOFIxN8wgfvy6Zm1DV8=
|
||||
@@ -1222,8 +1231,8 @@ golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
|
||||
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
|
||||
golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA=
|
||||
golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w=
|
||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
@@ -1250,11 +1259,11 @@ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
||||
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
|
||||
golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
|
||||
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
|
||||
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
|
||||
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
|
||||
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70=
|
||||
golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
|
||||
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
|
||||
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
@@ -1267,8 +1276,8 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ
|
||||
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
||||
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
|
||||
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
||||
golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
|
||||
golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
@@ -1311,8 +1320,8 @@ golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
|
||||
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
|
||||
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
||||
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.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
@@ -1323,8 +1332,8 @@ golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
|
||||
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
|
||||
golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
|
||||
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
|
||||
golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
|
||||
golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
|
||||
golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
|
||||
golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
@@ -1336,10 +1345,10 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
|
||||
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
|
||||
golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U=
|
||||
golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
|
||||
golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
|
||||
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
|
||||
golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
|
||||
golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
|
||||
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-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
@@ -1373,8 +1382,14 @@ golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k=
|
||||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
|
||||
golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps=
|
||||
golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
|
||||
golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
|
||||
golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ=
|
||||
golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs=
|
||||
golang.org/x/tools/go/expect v0.1.1-deprecated h1:jpBZDwmgPhXsKZC6WhL20P4b/wmnpsEAGHaNy0n/rJM=
|
||||
golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY=
|
||||
golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM=
|
||||
golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated/go.mod h1:RVAQXBGNv1ib0J382/DPCRS/BPnsGebyM1Gj5VSDpG8=
|
||||
golang.org/x/tools/godoc v0.1.0-deprecated h1:o+aZ1BOj6Hsx/GBdJO/s815sqftjSnrZZwyYTHODvtk=
|
||||
golang.org/x/tools/godoc v0.1.0-deprecated/go.mod h1:qM63CriJ961IHWmnWa9CjZnBndniPt4a3CK0PVB9bIg=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
@@ -1390,17 +1405,17 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98
|
||||
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
|
||||
google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 h1:ImUcDPHjTrAqNhlOkSocDLfG9rrNHH7w7uoKWPaWZ8s=
|
||||
google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7/go.mod h1:/3XmxOjePkvmKrHuBy4zNFw7IzxJXtAgdpXi8Ll990U=
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 h1:GVIKPyP/kLIyVOgOnTwFOrvQaQUzOzGMCxgFUOEmm24=
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422/go.mod h1:b6h1vNKhxaSoEI+5jc3PJUCustfli/mRab7295pY7rw=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e h1:ztQaXfzEXTmCBvbtWYRhJxW+0iJcz2qXfd38/e9l7bA=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 h1:Kog3KlB4xevJlAcbbbzPfRG0+X9fdoGM+UBRKVz6Wr0=
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237/go.mod h1:ezi0AVyMKDWy5xAncvjLWH7UcLBB5n7y2fQ8MzjJcto=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 h1:cJfm9zPbe1e873mHJzmQ1nwVEeRDU/T1wXDK2kUSU34=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
|
||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
|
||||
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
|
||||
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
||||
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
|
||||
google.golang.org/grpc v1.71.1 h1:ffsFWr7ygTUscGPI0KKK6TLrGz0476KUvvsbqWK0rPI=
|
||||
google.golang.org/grpc v1.71.1/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec=
|
||||
google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA=
|
||||
google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM=
|
||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||
|
||||
@@ -155,32 +155,12 @@
|
||||
]
|
||||
},
|
||||
"docker-build:index:CacheFromGitHubActions": {
|
||||
"description": "Recommended for use with GitHub Actions workflows.\n\nAn action like `crazy-max/ghaction-github-runtime` is recommended to expose\nappropriate credentials to your GitHub workflow.",
|
||||
"properties": {
|
||||
"scope": {
|
||||
"type": "string",
|
||||
"description": "The scope to use for cache keys. Defaults to `buildkit`.\n\nThis should be set if building and caching multiple images in one\nworkflow, otherwise caches will overwrite each other.",
|
||||
"default": "buildkit"
|
||||
},
|
||||
"token": {
|
||||
"type": "string",
|
||||
"description": "The GitHub Actions token to use. This is not a personal access tokens\nand is typically generated automatically as part of each job.\n\nDefaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like\n`crazy-max/ghaction-github-runtime` is recommended to expose this\nenvironment variable to your jobs.",
|
||||
"default": "",
|
||||
"defaultInfo": {
|
||||
"environment": [
|
||||
"ACTIONS_RUNTIME_TOKEN"
|
||||
]
|
||||
},
|
||||
"secret": true
|
||||
},
|
||||
"url": {
|
||||
"type": "string",
|
||||
"description": "The cache server URL to use for artifacts.\n\nDefaults to `$ACTIONS_CACHE_URL`, although a separate action like\n`crazy-max/ghaction-github-runtime` is recommended to expose this\nenvironment variable to your jobs.",
|
||||
"default": "",
|
||||
"defaultInfo": {
|
||||
"environment": [
|
||||
"ACTIONS_CACHE_URL"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
@@ -370,6 +350,7 @@
|
||||
]
|
||||
},
|
||||
"docker-build:index:CacheToGitHubActions": {
|
||||
"description": "Recommended for use with GitHub Actions workflows.\n\nAn action like `crazy-max/ghaction-github-runtime` is recommended to expose\nappropriate credentials to your GitHub workflow.",
|
||||
"properties": {
|
||||
"ignoreError": {
|
||||
"type": "boolean",
|
||||
@@ -385,27 +366,6 @@
|
||||
"type": "string",
|
||||
"description": "The scope to use for cache keys. Defaults to `buildkit`.\n\nThis should be set if building and caching multiple images in one\nworkflow, otherwise caches will overwrite each other.",
|
||||
"default": "buildkit"
|
||||
},
|
||||
"token": {
|
||||
"type": "string",
|
||||
"description": "The GitHub Actions token to use. This is not a personal access tokens\nand is typically generated automatically as part of each job.\n\nDefaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like\n`crazy-max/ghaction-github-runtime` is recommended to expose this\nenvironment variable to your jobs.",
|
||||
"default": "",
|
||||
"defaultInfo": {
|
||||
"environment": [
|
||||
"ACTIONS_RUNTIME_TOKEN"
|
||||
]
|
||||
},
|
||||
"secret": true
|
||||
},
|
||||
"url": {
|
||||
"type": "string",
|
||||
"description": "The cache server URL to use for artifacts.\n\nDefaults to `$ACTIONS_CACHE_URL`, although a separate action like\n`crazy-max/ghaction-github-runtime` is recommended to expose this\nenvironment variable to your jobs.",
|
||||
"default": "",
|
||||
"defaultInfo": {
|
||||
"environment": [
|
||||
"ACTIONS_CACHE_URL"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
|
||||
@@ -17,6 +17,7 @@ package internal
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
controllerapi "github.com/docker/buildx/controller/pb"
|
||||
@@ -148,33 +149,20 @@ func (c CacheWithOCI) String() string {
|
||||
|
||||
// CacheFromGitHubActions pulls cache manifests from the GitHub actions cache.
|
||||
type CacheFromGitHubActions struct {
|
||||
URL string `pulumi:"url,optional"`
|
||||
Token string `pulumi:"token,optional" provider:"secret"`
|
||||
Scope string `pulumi:"scope,optional"`
|
||||
}
|
||||
|
||||
// Annotate sets docstrings on CacheFromGitHubActions.
|
||||
func (c *CacheFromGitHubActions) Annotate(a infer.Annotator) {
|
||||
a.SetDefault(&c.URL, "", "ACTIONS_CACHE_URL")
|
||||
a.SetDefault(&c.Token, "", "ACTIONS_RUNTIME_TOKEN")
|
||||
a.Describe(&c, dedent(`
|
||||
Recommended for use with GitHub Actions workflows.
|
||||
|
||||
An action like "crazy-max/ghaction-github-runtime" is recommended to expose
|
||||
appropriate credentials to your GitHub workflow.
|
||||
`))
|
||||
|
||||
a.SetDefault(&c.Scope, "buildkit")
|
||||
|
||||
a.Describe(&c.URL, dedent(`
|
||||
The cache server URL to use for artifacts.
|
||||
|
||||
Defaults to "$ACTIONS_CACHE_URL", although a separate action like
|
||||
"crazy-max/ghaction-github-runtime" is recommended to expose this
|
||||
environment variable to your jobs.
|
||||
`))
|
||||
a.Describe(&c.Token, dedent(`
|
||||
The GitHub Actions token to use. This is not a personal access tokens
|
||||
and is typically generated automatically as part of each job.
|
||||
|
||||
Defaults to "$ACTIONS_RUNTIME_TOKEN", although a separate action like
|
||||
"crazy-max/ghaction-github-runtime" is recommended to expose this
|
||||
environment variable to your jobs.
|
||||
|
||||
`))
|
||||
a.Describe(&c.Scope, dedent(`
|
||||
The scope to use for cache keys. Defaults to "buildkit".
|
||||
|
||||
@@ -191,11 +179,12 @@ func (c *CacheFromGitHubActions) String() string {
|
||||
if c.Scope != "" {
|
||||
parts = append(parts, "scope="+c.Scope)
|
||||
}
|
||||
if c.Token != "" {
|
||||
parts = append(parts, "token="+c.Token)
|
||||
// Preserving backwards compatibility with the old behaviour.
|
||||
if token := os.Getenv("ACTIONS_RUNTIME_TOKEN"); token != "" {
|
||||
parts = append(parts, "token="+token)
|
||||
}
|
||||
if c.URL != "" {
|
||||
parts = append(parts, "url="+c.URL)
|
||||
if url := os.Getenv("ACTIONS_CACHE_URL"); url != "" {
|
||||
parts = append(parts, "url="+url)
|
||||
}
|
||||
return strings.Join(parts, ",")
|
||||
}
|
||||
|
||||
@@ -24,14 +24,15 @@ import (
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
)
|
||||
|
||||
//nolint:paralleltest // We don't call t.Parallel here to prevent environment corruption.
|
||||
func TestCacheString(t *testing.T) {
|
||||
t.Parallel()
|
||||
gzip := Gzip
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
given fmt.Stringer
|
||||
want string
|
||||
name string
|
||||
arrange func(t *testing.T)
|
||||
given fmt.Stringer
|
||||
want string
|
||||
}{
|
||||
{
|
||||
name: "s3",
|
||||
@@ -55,7 +56,37 @@ func TestCacheString(t *testing.T) {
|
||||
{
|
||||
name: "gha",
|
||||
given: CacheTo{GHA: &CacheToGitHubActions{}},
|
||||
want: "type=gha",
|
||||
arrange: func(t *testing.T) {
|
||||
t.Setenv("ACTIONS_CACHE_URL", "")
|
||||
t.Setenv("ACTIONS_RUNTIME_TOKEN", "")
|
||||
},
|
||||
want: "type=gha",
|
||||
},
|
||||
{
|
||||
name: "gha-default-envs",
|
||||
arrange: func(t *testing.T) {
|
||||
t.Setenv("ACTIONS_CACHE_URL", "https://example.com")
|
||||
t.Setenv("ACTIONS_RUNTIME_TOKEN", "token")
|
||||
},
|
||||
given: CacheTo{GHA: &CacheToGitHubActions{
|
||||
CacheFromGitHubActions: CacheFromGitHubActions{
|
||||
Scope: "scope",
|
||||
},
|
||||
}},
|
||||
want: "type=gha,scope=scope,token=token,url=https://example.com",
|
||||
},
|
||||
{
|
||||
name: "gha-with-scope",
|
||||
arrange: func(t *testing.T) {
|
||||
t.Setenv("ACTIONS_CACHE_URL", "")
|
||||
t.Setenv("ACTIONS_RUNTIME_TOKEN", "")
|
||||
},
|
||||
given: CacheTo{GHA: &CacheToGitHubActions{
|
||||
CacheFromGitHubActions: CacheFromGitHubActions{
|
||||
Scope: "scope",
|
||||
},
|
||||
}},
|
||||
want: "type=gha,scope=scope",
|
||||
},
|
||||
{
|
||||
name: "from-local",
|
||||
@@ -121,9 +152,12 @@ func TestCacheString(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
//nolint:paralleltest // We don't call t.Parallel here to prevent environment corruption.
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
if tt.arrange != nil {
|
||||
tt.arrange(t)
|
||||
}
|
||||
|
||||
actual := tt.given.String()
|
||||
assert.Equal(t, tt.want, actual)
|
||||
|
||||
@@ -1,191 +0,0 @@
|
||||
// Copyright 2024, Pulumi Corporation.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package deprecated
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
|
||||
"github.com/pulumi/pulumi/pkg/v3/codegen/schema"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin"
|
||||
)
|
||||
|
||||
// ConfigEncoding handles unmarshaling legacy JSON provider config.
|
||||
type ConfigEncoding struct {
|
||||
schema schema.ConfigSpec
|
||||
}
|
||||
|
||||
// New constructs a new config encoder for the provided spec.
|
||||
func New(s schema.ConfigSpec) *ConfigEncoding {
|
||||
return &ConfigEncoding{schema: s}
|
||||
}
|
||||
|
||||
func (*ConfigEncoding) tryUnwrapSecret(encoded any) (any, bool) {
|
||||
m, ok := encoded.(map[string]any)
|
||||
if !ok {
|
||||
return nil, false
|
||||
}
|
||||
sig, ok := m["4dabf18193072939515e22adb298388d"]
|
||||
if !ok {
|
||||
return nil, false
|
||||
}
|
||||
ss, ok := sig.(string)
|
||||
if !ok {
|
||||
return nil, false
|
||||
}
|
||||
if ss != "1b47061264138c4ac30d75fd1eb44270" {
|
||||
return nil, false
|
||||
}
|
||||
value, ok := m["value"]
|
||||
return value, ok
|
||||
}
|
||||
|
||||
func (enc *ConfigEncoding) convertStringToPropertyValue(s string, prop schema.PropertySpec) (
|
||||
resource.PropertyValue, error,
|
||||
) {
|
||||
// If the schema expects a string, we can just return this as-is.
|
||||
if prop.Type == "string" {
|
||||
return resource.NewStringProperty(s), nil
|
||||
}
|
||||
|
||||
// Otherwise, we will attempt to deserialize the input string as JSON and convert the result into a Pulumi
|
||||
// property. If the input string is empty, we will return an appropriate zero value.
|
||||
if s == "" {
|
||||
return enc.zeroValue(prop.Type), nil
|
||||
}
|
||||
|
||||
var jsonValue interface{}
|
||||
if err := json.Unmarshal([]byte(s), &jsonValue); err != nil {
|
||||
return resource.PropertyValue{}, err
|
||||
}
|
||||
|
||||
opts := enc.unmarshalOpts()
|
||||
|
||||
// Instead of using resource.NewPropertyValue, specialize it to detect nested json-encoded secrets.
|
||||
var replv func(encoded any) (resource.PropertyValue, bool)
|
||||
replv = func(encoded any) (resource.PropertyValue, bool) {
|
||||
encodedSecret, isSecret := enc.tryUnwrapSecret(encoded)
|
||||
if !isSecret {
|
||||
return resource.NewNullProperty(), false
|
||||
}
|
||||
|
||||
v := resource.NewPropertyValueRepl(encodedSecret, nil, replv)
|
||||
if opts.KeepSecrets {
|
||||
v = resource.MakeSecret(v)
|
||||
}
|
||||
|
||||
return v, true
|
||||
}
|
||||
|
||||
return resource.NewPropertyValueRepl(jsonValue, nil, replv), nil
|
||||
}
|
||||
|
||||
func (*ConfigEncoding) zeroValue(typ string) resource.PropertyValue {
|
||||
switch typ {
|
||||
case "boolean":
|
||||
return resource.NewPropertyValue(false)
|
||||
case "integer", "number":
|
||||
return resource.NewPropertyValue(0)
|
||||
case "array":
|
||||
return resource.NewPropertyValue([]interface{}{})
|
||||
default:
|
||||
return resource.NewPropertyValue(map[string]interface{}{})
|
||||
}
|
||||
}
|
||||
|
||||
func (enc *ConfigEncoding) unmarshalOpts() plugin.MarshalOptions {
|
||||
return plugin.MarshalOptions{
|
||||
Label: "config",
|
||||
KeepUnknowns: true,
|
||||
KeepSecrets: true,
|
||||
SkipNulls: true,
|
||||
RejectAssets: true,
|
||||
}
|
||||
}
|
||||
|
||||
// Like plugin.UnmarshalPropertyValue but overrides string parsing with convertStringToPropertyValue.
|
||||
func (enc *ConfigEncoding) unmarshalPropertyValue(key resource.PropertyKey,
|
||||
pv resource.PropertyValue,
|
||||
) (resource.PropertyValue, error) {
|
||||
opts := enc.unmarshalOpts()
|
||||
|
||||
prop, ok := enc.schema.Variables[string(key)]
|
||||
|
||||
// Only apply JSON-encoded recognition for known fields.
|
||||
if !ok {
|
||||
return pv, nil
|
||||
}
|
||||
|
||||
var (
|
||||
jsonString string
|
||||
jsonStringDetected, jsonStringSecret bool
|
||||
)
|
||||
|
||||
if pv.IsString() {
|
||||
jsonString = pv.StringValue()
|
||||
jsonStringDetected = true
|
||||
}
|
||||
|
||||
if opts.KeepSecrets && pv.IsSecret() && pv.SecretValue().Element.IsString() {
|
||||
jsonString = pv.SecretValue().Element.StringValue()
|
||||
jsonStringDetected = true
|
||||
jsonStringSecret = true
|
||||
}
|
||||
|
||||
if jsonStringDetected {
|
||||
v, err := enc.convertStringToPropertyValue(jsonString, prop)
|
||||
if err != nil {
|
||||
return resource.PropertyValue{}, fmt.Errorf("error unmarshalling property %q: %w", key, err)
|
||||
}
|
||||
if jsonStringSecret {
|
||||
return resource.MakeSecret(v), nil
|
||||
}
|
||||
return v, nil
|
||||
}
|
||||
|
||||
// Computed sentinels are coming in as always having an empty string, but the encoding coerces them to a zero
|
||||
// value of the appropriate type.
|
||||
if pv.IsComputed() {
|
||||
el := pv.V.(resource.Computed).Element
|
||||
if el.IsString() && el.StringValue() == "" {
|
||||
res := resource.MakeComputed(enc.zeroValue(prop.Type))
|
||||
return res, nil
|
||||
}
|
||||
}
|
||||
|
||||
return pv, nil
|
||||
}
|
||||
|
||||
// UnmarshalProperties is copied from plugin.UnmarshalProperties substituting plugin.UnmarshalPropertyValue.
|
||||
func (enc *ConfigEncoding) UnmarshalProperties(
|
||||
props resource.PropertyMap,
|
||||
) (resource.PropertyMap, error) {
|
||||
result := make(resource.PropertyMap)
|
||||
|
||||
// First sort the keys so we enumerate them in order (in case errors happen, we want determinism).
|
||||
keys := props.StableKeys()
|
||||
|
||||
// And now unmarshal every field it into the map.
|
||||
for _, key := range keys {
|
||||
v, err := enc.unmarshalPropertyValue(key, props[key])
|
||||
if err != nil {
|
||||
return resource.PropertyMap{}, err
|
||||
}
|
||||
result[key] = v
|
||||
}
|
||||
|
||||
return result, nil
|
||||
}
|
||||
@@ -1,265 +0,0 @@
|
||||
// Copyright 2024, Pulumi Corporation.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package deprecated
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/pulumi/pulumi/pkg/v3/codegen/schema"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
|
||||
)
|
||||
|
||||
func TestConfigEncoding(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
type testCase struct {
|
||||
ty schema.TypeSpec
|
||||
given resource.PropertyValue
|
||||
want resource.PropertyValue
|
||||
}
|
||||
|
||||
knownKey := "mykey"
|
||||
|
||||
makeEnc := func(typ schema.TypeSpec) *ConfigEncoding {
|
||||
return New(
|
||||
schema.ConfigSpec{
|
||||
Variables: map[string]schema.PropertySpec{
|
||||
knownKey: {
|
||||
TypeSpec: typ,
|
||||
},
|
||||
},
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
checkUnmarshal := func(t *testing.T, tc testCase) {
|
||||
enc := makeEnc(tc.ty)
|
||||
key := resource.PropertyKey(knownKey)
|
||||
|
||||
actual, err := enc.unmarshalPropertyValue(key, tc.given)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, tc.want, actual)
|
||||
}
|
||||
|
||||
turnaroundTestCases := []testCase{
|
||||
{
|
||||
schema.TypeSpec{Type: "boolean"},
|
||||
resource.NewPropertyValue(`true`),
|
||||
resource.NewBoolProperty(true),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "boolean"},
|
||||
resource.NewPropertyValue(`false`),
|
||||
resource.NewBoolProperty(false),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "integer"},
|
||||
resource.NewPropertyValue(`0`),
|
||||
resource.NewNumberProperty(0),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "integer"},
|
||||
resource.NewPropertyValue(`42`),
|
||||
resource.NewNumberProperty(42),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "number"},
|
||||
resource.NewPropertyValue(`0`),
|
||||
resource.NewNumberProperty(0.0),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "number"},
|
||||
resource.NewPropertyValue(`42.5`),
|
||||
resource.NewNumberProperty(42.5),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "string"},
|
||||
resource.NewStringProperty(""),
|
||||
resource.NewStringProperty(""),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "string"},
|
||||
resource.NewStringProperty("hello"),
|
||||
resource.NewStringProperty("hello"),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "array"},
|
||||
resource.NewPropertyValue(`[]`),
|
||||
resource.NewArrayProperty([]resource.PropertyValue{}),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "array"},
|
||||
resource.NewPropertyValue(`["hello","there"]`),
|
||||
resource.NewArrayProperty([]resource.PropertyValue{
|
||||
resource.NewStringProperty("hello"),
|
||||
resource.NewStringProperty("there"),
|
||||
}),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "object"},
|
||||
resource.NewPropertyValue(`{}`),
|
||||
resource.NewObjectProperty(resource.PropertyMap{}),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "object"},
|
||||
resource.NewPropertyValue(`{"key":"value"}`),
|
||||
resource.NewObjectProperty(resource.PropertyMap{
|
||||
"key": resource.NewStringProperty("value"),
|
||||
}),
|
||||
},
|
||||
}
|
||||
|
||||
t.Run("turnaround", func(t *testing.T) {
|
||||
for i, tc := range turnaroundTestCases {
|
||||
t.Run(strconv.Itoa(i), func(t *testing.T) {
|
||||
t.Parallel()
|
||||
checkUnmarshal(t, tc)
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("zero_values", func(t *testing.T) {
|
||||
// Historically the encoding was able to convert empty strings into type-appropriate zero values.
|
||||
cases := []testCase{
|
||||
{
|
||||
schema.TypeSpec{Type: "boolean"},
|
||||
resource.NewPropertyValue(""),
|
||||
resource.NewBoolProperty(false),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "number"},
|
||||
resource.NewPropertyValue(""),
|
||||
resource.NewNumberProperty(0.),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "integer"},
|
||||
resource.NewPropertyValue(""),
|
||||
resource.NewNumberProperty(0),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "string"},
|
||||
resource.NewPropertyValue(""),
|
||||
resource.NewStringProperty(""),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "object"},
|
||||
resource.NewPropertyValue(""),
|
||||
resource.NewObjectProperty(make(resource.PropertyMap)),
|
||||
},
|
||||
{
|
||||
schema.TypeSpec{Type: "array"},
|
||||
resource.NewPropertyValue(""),
|
||||
resource.NewArrayProperty([]resource.PropertyValue{}),
|
||||
},
|
||||
}
|
||||
for _, tc := range cases {
|
||||
t.Run(fmt.Sprintf("%v", tc.ty), func(t *testing.T) {
|
||||
t.Parallel()
|
||||
checkUnmarshal(t, tc)
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("computed", func(t *testing.T) {
|
||||
unk := resource.MakeComputed(resource.NewStringProperty(""))
|
||||
|
||||
for i, tc := range turnaroundTestCases {
|
||||
t.Run(strconv.Itoa(i), func(t *testing.T) {
|
||||
t.Parallel()
|
||||
// Unknown sentinel unmarshals to a Computed with a type-appropriate zero value.
|
||||
checkUnmarshal(t, testCase{
|
||||
ty: tc.ty,
|
||||
given: unk,
|
||||
want: resource.MakeComputed(makeEnc(tc.ty).zeroValue(tc.ty.Type)),
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("secret", func(t *testing.T) {
|
||||
// Unmarshalling happens with KeepSecrets=false, replacing them with the underlying values. This case
|
||||
// does not need to be tested.
|
||||
//
|
||||
// Marhalling however supports sending secrets back to the engine, intending to mark values as secret
|
||||
// that happen on paths that are declared as secret in the schema. Due to the limitation of the
|
||||
// JSON-in-proto-encoding, secrets are communicated imprecisely as an approximation: if any nested
|
||||
// element of a property is secret, the entire property is marshalled as secret.
|
||||
|
||||
var secretCases []testCase
|
||||
|
||||
for _, tc := range turnaroundTestCases {
|
||||
secretCases = append(secretCases, testCase{
|
||||
ty: tc.ty,
|
||||
given: resource.MakeSecret(tc.given),
|
||||
want: resource.MakeSecret(tc.want),
|
||||
})
|
||||
}
|
||||
|
||||
for i, tc := range secretCases {
|
||||
t.Run(strconv.Itoa(i), func(t *testing.T) {
|
||||
t.Parallel()
|
||||
checkUnmarshal(t, tc)
|
||||
})
|
||||
}
|
||||
|
||||
t.Run("nested secrets", func(t *testing.T) {
|
||||
checkUnmarshal(t, testCase{
|
||||
schema.TypeSpec{Type: "object"},
|
||||
resource.MakeSecret(resource.NewPropertyValue(`{"key":"val"}`)),
|
||||
resource.MakeSecret(resource.NewObjectProperty(resource.PropertyMap{
|
||||
"key": resource.NewStringProperty("val"),
|
||||
})),
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
regressUnmarshalTestCases := []testCase{
|
||||
{
|
||||
schema.TypeSpec{Type: "array"},
|
||||
resource.NewPropertyValue(`
|
||||
[
|
||||
{
|
||||
"address": "somewhere.org",
|
||||
"password": {
|
||||
"4dabf18193072939515e22adb298388d": "1b47061264138c4ac30d75fd1eb44270",
|
||||
"value": "some-password"
|
||||
},
|
||||
"username": "some-user"
|
||||
}
|
||||
]`),
|
||||
resource.NewArrayProperty([]resource.PropertyValue{
|
||||
resource.NewObjectProperty(resource.PropertyMap{
|
||||
"address": resource.NewStringProperty("somewhere.org"),
|
||||
"password": resource.MakeSecret(resource.NewStringProperty("some-password")),
|
||||
"username": resource.NewStringProperty("some-user"),
|
||||
}),
|
||||
}),
|
||||
},
|
||||
}
|
||||
|
||||
t.Run("regress-unmarshal", func(t *testing.T) {
|
||||
for i, tc := range regressUnmarshalTestCases {
|
||||
t.Run(strconv.Itoa(i), func(t *testing.T) {
|
||||
t.Parallel()
|
||||
checkUnmarshal(t, tc)
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
// Copyright 2024, Pulumi Corporation.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// Package deprecated vendors config parsing from pulumi-terraform-bridge.
|
||||
//
|
||||
// Originally taken from here:
|
||||
// https://github.com/pulumi/pulumi-terraform-bridge/blob/90733a0c7/pkg/tfbridge/config_encoding.go
|
||||
package deprecated
|
||||
@@ -16,8 +16,10 @@ package internal
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
@@ -93,6 +95,19 @@ func (h *host) builderFor(ctx context.Context, build Build) (*cachedBuilder, err
|
||||
builder.WithContextPathHash(contextPathHash),
|
||||
builder.WithStore(txn),
|
||||
)
|
||||
if err != nil && build.ShouldExec() && strings.HasPrefix(opts.Builder, "cloud-") {
|
||||
//nolint:revive // Human-readable.
|
||||
err = errors.Join(err,
|
||||
errors.New("Make sure you're logged in to Docker (`docker login`) if you're trying to use a cloud builder."),
|
||||
errors.New("Make sure you have the correct buildx plugin installed (https://github.com/docker/buildx-desktop)."),
|
||||
)
|
||||
}
|
||||
if err != nil && build.ShouldExec() {
|
||||
//nolint:revive // Human-readable.
|
||||
err = errors.Join(err, errors.New(
|
||||
"Make sure your buildx plugin is executable (`docker buildx version`)"),
|
||||
)
|
||||
}
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("new builder: %w", err)
|
||||
}
|
||||
@@ -159,6 +174,12 @@ func (h *host) builderFor(ctx context.Context, build Build) (*cachedBuilder, err
|
||||
// drivers that are unknown to us.
|
||||
nodes, err := b.LoadNodes(ctx, builder.WithData())
|
||||
if err != nil && !build.ShouldExec() {
|
||||
if strings.Contains(err.Error(), "failed to find driver") {
|
||||
//nolint:revive // Human-readable.
|
||||
err = errors.Join(err, errors.New(
|
||||
"Use `exec: true` if you're trying to use Docker Build Cloud or other custom drivers.",
|
||||
))
|
||||
}
|
||||
return nil, fmt.Errorf("loading nodes: %w", err)
|
||||
}
|
||||
// Attempt to determine our builder's buildkit version.
|
||||
|
||||
@@ -917,8 +917,10 @@ func TestValidateImageArgs(t *testing.T) {
|
||||
{
|
||||
name: "gha environment",
|
||||
envs: map[string]string{
|
||||
"ACTIONS_CACHE_URL": "test-cache-url",
|
||||
"ACTIONS_RUNTIME_TOKEN": "test-runtime-token",
|
||||
"ACTIONS_CACHE_URL": "test-cache-url",
|
||||
"ACTIONS_RUNTIME_TOKEN": "test-runtime-token",
|
||||
"ACTIONS_RESULTS_URL": "test-results-url",
|
||||
"ACTIONS_CACHE_SERVICE_V2": "true",
|
||||
},
|
||||
args: ImageArgs{
|
||||
Context: &BuildContext{Context: Context{Location: "testdata/noop"}},
|
||||
@@ -930,15 +932,17 @@ func TestValidateImageArgs(t *testing.T) {
|
||||
wantCacheFrom: &pb.CacheOptionsEntry{
|
||||
Type: "gha",
|
||||
Attrs: map[string]string{
|
||||
"token": "test-runtime-token",
|
||||
"url": "test-cache-url",
|
||||
"token": "test-runtime-token",
|
||||
"url": "test-cache-url",
|
||||
"url_v2": "test-results-url",
|
||||
},
|
||||
},
|
||||
wantCacheTo: &pb.CacheOptionsEntry{
|
||||
Type: "gha",
|
||||
Attrs: map[string]string{
|
||||
"token": "test-runtime-token",
|
||||
"url": "test-cache-url",
|
||||
"token": "test-runtime-token",
|
||||
"url": "test-cache-url",
|
||||
"url_v2": "test-results-url",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
23
renovate.json5
Normal file
23
renovate.json5
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
|
||||
extends: [
|
||||
'github>pulumi/renovate-config//default.json5',
|
||||
],
|
||||
packageRules: [
|
||||
{
|
||||
matchDatasources: [
|
||||
'go',
|
||||
],
|
||||
matchPackageNames: [
|
||||
'github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/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',
|
||||
],
|
||||
matchUpdateTypes: [
|
||||
'pin',
|
||||
'digest',
|
||||
],
|
||||
},
|
||||
],
|
||||
}
|
||||
55
scripts/get-versions.sh
Executable file
55
scripts/get-versions.sh
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# This script can be simplified to use go when https://github.com/jdx/mise/discussions/6374 is fixed
|
||||
# e.g. go list -m -f '{{.GoVersion}}'
|
||||
|
||||
module_path="github.com/pulumi/pulumi/pkg/v3"
|
||||
go_mod_path="."
|
||||
gomod="go.mod"
|
||||
|
||||
if [[ "$go_mod_path" != "" && "$go_mod_path" != "." ]]; then
|
||||
gomod="$go_mod_path/$gomod"
|
||||
fi
|
||||
|
||||
if [[ ! -f "$gomod" ]]; then
|
||||
echo "missing $gomod" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
raw_version=$(awk -v module="$module_path" '
|
||||
$1 == module || $2 == module {
|
||||
for (i = 1; i <= NF; i++) {
|
||||
if ($i ~ /^v[0-9]/) {
|
||||
sub(/^v/, "", $i)
|
||||
print $i
|
||||
exit
|
||||
}
|
||||
}
|
||||
}
|
||||
' "$gomod")
|
||||
|
||||
if [[ -z "${raw_version:-}" ]]; then
|
||||
echo "failed to determine Pulumi version from $gomod" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "PULUMI_VERSION_MISE=$raw_version"
|
||||
export PULUMI_VERSION_MISE=$raw_version
|
||||
|
||||
# Prefer the toolchain directive if present, otherwise fall back to the `go` version line
|
||||
go_toolchain=$(awk '/^toolchain[[:space:]]+go[0-9]/{ print $2; exit }' "$gomod")
|
||||
|
||||
if [[ -n "${go_toolchain:-}" ]]; then
|
||||
go_version=${go_toolchain#go}
|
||||
else
|
||||
go_version=$(awk '/^go[[:space:]]+[0-9]/{ print $2; exit }' "$gomod")
|
||||
fi
|
||||
|
||||
if [[ -z "${go_version:-}" ]]; then
|
||||
echo "failed to determine Go version from $gomod" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "GO_VERSION_MISE=$go_version"
|
||||
export GO_VERSION_MISE=$go_version
|
||||
39
sdk/dotnet/Inputs/CacheFromGitHubActionsArgs.cs
generated
39
sdk/dotnet/Inputs/CacheFromGitHubActionsArgs.cs
generated
@@ -10,6 +10,12 @@ using Pulumi.Serialization;
|
||||
namespace Pulumi.DockerBuild.Inputs
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Recommended for use with GitHub Actions workflows.
|
||||
///
|
||||
/// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
/// appropriate credentials to your GitHub workflow.
|
||||
/// </summary>
|
||||
public sealed class CacheFromGitHubActionsArgs : global::Pulumi.ResourceArgs
|
||||
{
|
||||
/// <summary>
|
||||
@@ -21,42 +27,9 @@ namespace Pulumi.DockerBuild.Inputs
|
||||
[Input("scope")]
|
||||
public Input<string>? Scope { get; set; }
|
||||
|
||||
[Input("token")]
|
||||
private Input<string>? _token;
|
||||
|
||||
/// <summary>
|
||||
/// The GitHub Actions token to use. This is not a personal access tokens
|
||||
/// and is typically generated automatically as part of each job.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
public Input<string>? Token
|
||||
{
|
||||
get => _token;
|
||||
set
|
||||
{
|
||||
var emptySecret = Output.CreateSecret(0);
|
||||
_token = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The cache server URL to use for artifacts.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
[Input("url")]
|
||||
public Input<string>? Url { get; set; }
|
||||
|
||||
public CacheFromGitHubActionsArgs()
|
||||
{
|
||||
Scope = "buildkit";
|
||||
Token = Utilities.GetEnv("ACTIONS_RUNTIME_TOKEN") ?? "";
|
||||
Url = Utilities.GetEnv("ACTIONS_CACHE_URL") ?? "";
|
||||
}
|
||||
public static new CacheFromGitHubActionsArgs Empty => new CacheFromGitHubActionsArgs();
|
||||
}
|
||||
|
||||
39
sdk/dotnet/Inputs/CacheToGitHubActionsArgs.cs
generated
39
sdk/dotnet/Inputs/CacheToGitHubActionsArgs.cs
generated
@@ -10,6 +10,12 @@ using Pulumi.Serialization;
|
||||
namespace Pulumi.DockerBuild.Inputs
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Recommended for use with GitHub Actions workflows.
|
||||
///
|
||||
/// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
/// appropriate credentials to your GitHub workflow.
|
||||
/// </summary>
|
||||
public sealed class CacheToGitHubActionsArgs : global::Pulumi.ResourceArgs
|
||||
{
|
||||
/// <summary>
|
||||
@@ -33,44 +39,11 @@ namespace Pulumi.DockerBuild.Inputs
|
||||
[Input("scope")]
|
||||
public Input<string>? Scope { get; set; }
|
||||
|
||||
[Input("token")]
|
||||
private Input<string>? _token;
|
||||
|
||||
/// <summary>
|
||||
/// The GitHub Actions token to use. This is not a personal access tokens
|
||||
/// and is typically generated automatically as part of each job.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
public Input<string>? Token
|
||||
{
|
||||
get => _token;
|
||||
set
|
||||
{
|
||||
var emptySecret = Output.CreateSecret(0);
|
||||
_token = Output.Tuple<Input<string>?, int>(value, emptySecret).Apply(t => t.Item1);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The cache server URL to use for artifacts.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
[Input("url")]
|
||||
public Input<string>? Url { get; set; }
|
||||
|
||||
public CacheToGitHubActionsArgs()
|
||||
{
|
||||
IgnoreError = false;
|
||||
Mode = Pulumi.DockerBuild.CacheMode.Min;
|
||||
Scope = "buildkit";
|
||||
Token = Utilities.GetEnv("ACTIONS_RUNTIME_TOKEN") ?? "";
|
||||
Url = Utilities.GetEnv("ACTIONS_CACHE_URL") ?? "";
|
||||
}
|
||||
public static new CacheToGitHubActionsArgs Empty => new CacheToGitHubActionsArgs();
|
||||
}
|
||||
|
||||
32
sdk/dotnet/Outputs/CacheFromGitHubActions.cs
generated
32
sdk/dotnet/Outputs/CacheFromGitHubActions.cs
generated
@@ -10,6 +10,12 @@ using Pulumi.Serialization;
|
||||
namespace Pulumi.DockerBuild.Outputs
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Recommended for use with GitHub Actions workflows.
|
||||
///
|
||||
/// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
/// appropriate credentials to your GitHub workflow.
|
||||
/// </summary>
|
||||
[OutputType]
|
||||
public sealed class CacheFromGitHubActions
|
||||
{
|
||||
@@ -20,35 +26,11 @@ namespace Pulumi.DockerBuild.Outputs
|
||||
/// workflow, otherwise caches will overwrite each other.
|
||||
/// </summary>
|
||||
public readonly string? Scope;
|
||||
/// <summary>
|
||||
/// The GitHub Actions token to use. This is not a personal access tokens
|
||||
/// and is typically generated automatically as part of each job.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
public readonly string? Token;
|
||||
/// <summary>
|
||||
/// The cache server URL to use for artifacts.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
public readonly string? Url;
|
||||
|
||||
[OutputConstructor]
|
||||
private CacheFromGitHubActions(
|
||||
string? scope,
|
||||
|
||||
string? token,
|
||||
|
||||
string? url)
|
||||
private CacheFromGitHubActions(string? scope)
|
||||
{
|
||||
Scope = scope;
|
||||
Token = token;
|
||||
Url = url;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
31
sdk/dotnet/Outputs/CacheToGitHubActions.cs
generated
31
sdk/dotnet/Outputs/CacheToGitHubActions.cs
generated
@@ -10,6 +10,12 @@ using Pulumi.Serialization;
|
||||
namespace Pulumi.DockerBuild.Outputs
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Recommended for use with GitHub Actions workflows.
|
||||
///
|
||||
/// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
/// appropriate credentials to your GitHub workflow.
|
||||
/// </summary>
|
||||
[OutputType]
|
||||
public sealed class CacheToGitHubActions
|
||||
{
|
||||
@@ -28,23 +34,6 @@ namespace Pulumi.DockerBuild.Outputs
|
||||
/// workflow, otherwise caches will overwrite each other.
|
||||
/// </summary>
|
||||
public readonly string? Scope;
|
||||
/// <summary>
|
||||
/// The GitHub Actions token to use. This is not a personal access tokens
|
||||
/// and is typically generated automatically as part of each job.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
public readonly string? Token;
|
||||
/// <summary>
|
||||
/// The cache server URL to use for artifacts.
|
||||
///
|
||||
/// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
/// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
/// environment variable to your jobs.
|
||||
/// </summary>
|
||||
public readonly string? Url;
|
||||
|
||||
[OutputConstructor]
|
||||
private CacheToGitHubActions(
|
||||
@@ -52,17 +41,11 @@ namespace Pulumi.DockerBuild.Outputs
|
||||
|
||||
Pulumi.DockerBuild.CacheMode? mode,
|
||||
|
||||
string? scope,
|
||||
|
||||
string? token,
|
||||
|
||||
string? url)
|
||||
string? scope)
|
||||
{
|
||||
IgnoreError = ignoreError;
|
||||
Mode = mode;
|
||||
Scope = scope;
|
||||
Token = token;
|
||||
Url = url;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
32
sdk/go/dockerbuild/go.mod
generated
32
sdk/go/dockerbuild/go.mod
generated
@@ -4,7 +4,7 @@ go 1.24.1
|
||||
|
||||
require (
|
||||
github.com/blang/semver v3.5.1+incompatible
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.169.0
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.192.0
|
||||
)
|
||||
|
||||
require (
|
||||
@@ -58,12 +58,13 @@ require (
|
||||
github.com/opentracing/basictracer-go v1.1.0 // indirect
|
||||
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
||||
github.com/pgavlin/fx v0.1.6 // indirect
|
||||
github.com/pgavlin/fx/v2 v2.0.3 // indirect
|
||||
github.com/pjbgf/sha1cd v0.3.2 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/pkg/term v1.1.0 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect
|
||||
github.com/pulumi/esc v0.13.0 // indirect
|
||||
github.com/pulumi/esc v0.20.0 // indirect
|
||||
github.com/rivo/uniseg v0.4.7 // indirect
|
||||
github.com/rogpeppe/go-internal v1.14.1 // indirect
|
||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
|
||||
@@ -79,21 +80,20 @@ require (
|
||||
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
|
||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
||||
github.com/zclconf/go-cty v1.16.2 // indirect
|
||||
go.opentelemetry.io/otel v1.35.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk v1.35.0 // indirect
|
||||
github.com/zclconf/go-cty v1.16.3 // indirect
|
||||
go.opentelemetry.io/otel/sdk v1.36.0 // indirect
|
||||
go.uber.org/atomic v1.11.0 // indirect
|
||||
golang.org/x/crypto v0.38.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect
|
||||
golang.org/x/mod v0.24.0 // indirect
|
||||
golang.org/x/net v0.40.0 // indirect
|
||||
golang.org/x/sync v0.14.0 // indirect
|
||||
golang.org/x/sys v0.33.0 // indirect
|
||||
golang.org/x/term v0.32.0 // indirect
|
||||
golang.org/x/text v0.25.0 // indirect
|
||||
golang.org/x/tools v0.32.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e // indirect
|
||||
google.golang.org/grpc v1.71.1 // indirect
|
||||
golang.org/x/crypto v0.45.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 // indirect
|
||||
golang.org/x/mod v0.29.0 // indirect
|
||||
golang.org/x/net v0.47.0 // indirect
|
||||
golang.org/x/sync v0.18.0 // indirect
|
||||
golang.org/x/sys v0.38.0 // indirect
|
||||
golang.org/x/term v0.37.0 // indirect
|
||||
golang.org/x/text v0.31.0 // indirect
|
||||
golang.org/x/tools v0.38.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 // indirect
|
||||
google.golang.org/grpc v1.72.1 // indirect
|
||||
google.golang.org/protobuf v1.36.6 // indirect
|
||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
|
||||
74
sdk/go/dockerbuild/go.sum
generated
74
sdk/go/dockerbuild/go.sum
generated
@@ -148,6 +148,8 @@ github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+
|
||||
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
|
||||
github.com/pgavlin/fx v0.1.6 h1:r9jEg69DhNoCd3Xh0+5mIbdbS3PqWrVWujkY76MFRTU=
|
||||
github.com/pgavlin/fx v0.1.6/go.mod h1:KWZJ6fqBBSh8GxHYqwYCf3rYE7Gp2p0N8tJp8xv9u9M=
|
||||
github.com/pgavlin/fx/v2 v2.0.3 h1:ZBVklTFjxcWvBVPE+ti5qwnmTIQ0Gq6nuj3J5RKDtKk=
|
||||
github.com/pgavlin/fx/v2 v2.0.3/go.mod h1:Cvnwqq0BopdHUJ7CU50h1XPeKrF4ZwdFj1nJLXbAjCE=
|
||||
github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4=
|
||||
github.com/pjbgf/sha1cd v0.3.2/go.mod h1:zQWigSxVmsHEZow5qaLtPYxpcKMMQpa09ixqBxuCS6A=
|
||||
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
|
||||
@@ -160,10 +162,10 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435cARxCW6q9gc0S/Yxz7Mkd38pOb0=
|
||||
github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE=
|
||||
github.com/pulumi/esc v0.13.0 h1:O2MPR2koScaQ2fXwyer8Q3Dd7z+DCnaDfsgNl5mVNMk=
|
||||
github.com/pulumi/esc v0.13.0/go.mod h1:IIQo6W6Uzajt6f1RW4QvNxIRDlbK3TNQysnrwBHNo3U=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.169.0 h1:bgz1fp2rl28khSXgF4FaRQiB9wh3lSKWtzUOGalf+x4=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.169.0/go.mod h1:Qhe4dOjqedyLr47kGGnG6ULIbzaPTlmjAvPqNQ1Ollo=
|
||||
github.com/pulumi/esc v0.20.0 h1:LZn4sjAsI76x10ZuZXXyh2ExGcP7AHmjOzCi/p3/fpQ=
|
||||
github.com/pulumi/esc v0.20.0/go.mod h1:h1VjdedI0K84MhMzaR9ZKbEpU6SfZMOZF4ZrVgQyNLY=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.192.0 h1:sfHuR3P02wSbV3xdSMEQ0+uC/HzlMz0YfKrVAXy1hSQ=
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.192.0/go.mod h1:aV0+c5xpSYccWKmOjTZS9liYCqh7+peu3cQgSXu7CJw=
|
||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
|
||||
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
||||
@@ -208,49 +210,49 @@ github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavM
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
|
||||
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/zclconf/go-cty v1.16.2 h1:LAJSwc3v81IRBZyUVQDUdZ7hs3SYs9jv0eZJDWHD/70=
|
||||
github.com/zclconf/go-cty v1.16.2/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
|
||||
github.com/zclconf/go-cty v1.16.3 h1:osr++gw2T61A8KVYHoQiFbFd1Lh3JOCXc/jFLJXKTxk=
|
||||
github.com/zclconf/go-cty v1.16.3/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
|
||||
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
|
||||
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
|
||||
go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ=
|
||||
go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y=
|
||||
go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M=
|
||||
go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE=
|
||||
go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY=
|
||||
go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg=
|
||||
go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg=
|
||||
go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E=
|
||||
go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE=
|
||||
go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs=
|
||||
go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs=
|
||||
go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w=
|
||||
go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs=
|
||||
go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc=
|
||||
go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w=
|
||||
go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
|
||||
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
|
||||
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
|
||||
golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
|
||||
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
|
||||
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
|
||||
golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
|
||||
golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
|
||||
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 h1:R9PFI6EUdfVKgwKjZef7QIwGcBKu86OEFpJ9nUEP2l4=
|
||||
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792/go.mod h1:A+z0yzpGtvnG90cToK5n2tu8UJVP2XUATh+r+sfOOOc=
|
||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
|
||||
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
|
||||
golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA=
|
||||
golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
|
||||
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
|
||||
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
|
||||
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
|
||||
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
||||
golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
|
||||
golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
@@ -266,32 +268,32 @@ golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBc
|
||||
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
|
||||
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
|
||||
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
|
||||
golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
|
||||
golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
|
||||
golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
|
||||
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
|
||||
golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
|
||||
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
|
||||
golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
|
||||
golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ=
|
||||
golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e h1:ztQaXfzEXTmCBvbtWYRhJxW+0iJcz2qXfd38/e9l7bA=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250414145226-207652e42e2e/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
|
||||
google.golang.org/grpc v1.71.1 h1:ffsFWr7ygTUscGPI0KKK6TLrGz0476KUvvsbqWK0rPI=
|
||||
google.golang.org/grpc v1.71.1/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 h1:cJfm9zPbe1e873mHJzmQ1nwVEeRDU/T1wXDK2kUSU34=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
|
||||
google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA=
|
||||
google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM=
|
||||
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
|
||||
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
|
||||
216
sdk/go/dockerbuild/pulumiTypes.go
generated
216
sdk/go/dockerbuild/pulumiTypes.go
generated
@@ -834,25 +834,16 @@ func (o CacheFromAzureBlobPtrOutput) SecretAccessKey() pulumi.StringPtrOutput {
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// Recommended for use with GitHub Actions workflows.
|
||||
//
|
||||
// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
// appropriate credentials to your GitHub workflow.
|
||||
type CacheFromGitHubActions struct {
|
||||
// The scope to use for cache keys. Defaults to `buildkit`.
|
||||
//
|
||||
// This should be set if building and caching multiple images in one
|
||||
// workflow, otherwise caches will overwrite each other.
|
||||
Scope *string `pulumi:"scope"`
|
||||
// The GitHub Actions token to use. This is not a personal access tokens
|
||||
// and is typically generated automatically as part of each job.
|
||||
//
|
||||
// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Token *string `pulumi:"token"`
|
||||
// The cache server URL to use for artifacts.
|
||||
//
|
||||
// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Url *string `pulumi:"url"`
|
||||
}
|
||||
|
||||
// Defaults sets the appropriate defaults for CacheFromGitHubActions
|
||||
@@ -865,18 +856,6 @@ func (val *CacheFromGitHubActions) Defaults() *CacheFromGitHubActions {
|
||||
scope_ := "buildkit"
|
||||
tmp.Scope = &scope_
|
||||
}
|
||||
if tmp.Token == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_TOKEN"); d != nil {
|
||||
token_ := d.(string)
|
||||
tmp.Token = &token_
|
||||
}
|
||||
}
|
||||
if tmp.Url == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
||||
url_ := d.(string)
|
||||
tmp.Url = &url_
|
||||
}
|
||||
}
|
||||
return &tmp
|
||||
}
|
||||
|
||||
@@ -891,25 +870,16 @@ type CacheFromGitHubActionsInput interface {
|
||||
ToCacheFromGitHubActionsOutputWithContext(context.Context) CacheFromGitHubActionsOutput
|
||||
}
|
||||
|
||||
// Recommended for use with GitHub Actions workflows.
|
||||
//
|
||||
// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
// appropriate credentials to your GitHub workflow.
|
||||
type CacheFromGitHubActionsArgs struct {
|
||||
// The scope to use for cache keys. Defaults to `buildkit`.
|
||||
//
|
||||
// This should be set if building and caching multiple images in one
|
||||
// workflow, otherwise caches will overwrite each other.
|
||||
Scope pulumi.StringPtrInput `pulumi:"scope"`
|
||||
// The GitHub Actions token to use. This is not a personal access tokens
|
||||
// and is typically generated automatically as part of each job.
|
||||
//
|
||||
// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Token pulumi.StringPtrInput `pulumi:"token"`
|
||||
// The cache server URL to use for artifacts.
|
||||
//
|
||||
// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Url pulumi.StringPtrInput `pulumi:"url"`
|
||||
}
|
||||
|
||||
// Defaults sets the appropriate defaults for CacheFromGitHubActionsArgs
|
||||
@@ -921,16 +891,6 @@ func (val *CacheFromGitHubActionsArgs) Defaults() *CacheFromGitHubActionsArgs {
|
||||
if tmp.Scope == nil {
|
||||
tmp.Scope = pulumi.StringPtr("buildkit")
|
||||
}
|
||||
if tmp.Token == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_TOKEN"); d != nil {
|
||||
tmp.Token = pulumi.StringPtr(d.(string))
|
||||
}
|
||||
}
|
||||
if tmp.Url == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
||||
tmp.Url = pulumi.StringPtr(d.(string))
|
||||
}
|
||||
}
|
||||
return &tmp
|
||||
}
|
||||
func (CacheFromGitHubActionsArgs) ElementType() reflect.Type {
|
||||
@@ -998,6 +958,10 @@ func (i *cacheFromGitHubActionsPtrType) ToOutput(ctx context.Context) pulumix.Ou
|
||||
}
|
||||
}
|
||||
|
||||
// Recommended for use with GitHub Actions workflows.
|
||||
//
|
||||
// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
// appropriate credentials to your GitHub workflow.
|
||||
type CacheFromGitHubActionsOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (CacheFromGitHubActionsOutput) ElementType() reflect.Type {
|
||||
@@ -1036,25 +1000,6 @@ func (o CacheFromGitHubActionsOutput) Scope() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v CacheFromGitHubActions) *string { return v.Scope }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// The GitHub Actions token to use. This is not a personal access tokens
|
||||
// and is typically generated automatically as part of each job.
|
||||
//
|
||||
// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
func (o CacheFromGitHubActionsOutput) Token() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v CacheFromGitHubActions) *string { return v.Token }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// The cache server URL to use for artifacts.
|
||||
//
|
||||
// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
func (o CacheFromGitHubActionsOutput) Url() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v CacheFromGitHubActions) *string { return v.Url }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
type CacheFromGitHubActionsPtrOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (CacheFromGitHubActionsPtrOutput) ElementType() reflect.Type {
|
||||
@@ -1098,35 +1043,6 @@ func (o CacheFromGitHubActionsPtrOutput) Scope() pulumi.StringPtrOutput {
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// The GitHub Actions token to use. This is not a personal access tokens
|
||||
// and is typically generated automatically as part of each job.
|
||||
//
|
||||
// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
func (o CacheFromGitHubActionsPtrOutput) Token() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *CacheFromGitHubActions) *string {
|
||||
if v == nil {
|
||||
return nil
|
||||
}
|
||||
return v.Token
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// The cache server URL to use for artifacts.
|
||||
//
|
||||
// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
func (o CacheFromGitHubActionsPtrOutput) Url() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *CacheFromGitHubActions) *string {
|
||||
if v == nil {
|
||||
return nil
|
||||
}
|
||||
return v.Url
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
type CacheFromLocal struct {
|
||||
// Digest of manifest to import.
|
||||
Digest *string `pulumi:"digest"`
|
||||
@@ -2361,6 +2277,10 @@ func (o CacheToAzureBlobPtrOutput) SecretAccessKey() pulumi.StringPtrOutput {
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// Recommended for use with GitHub Actions workflows.
|
||||
//
|
||||
// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
// appropriate credentials to your GitHub workflow.
|
||||
type CacheToGitHubActions struct {
|
||||
// Ignore errors caused by failed cache exports.
|
||||
IgnoreError *bool `pulumi:"ignoreError"`
|
||||
@@ -2371,19 +2291,6 @@ type CacheToGitHubActions struct {
|
||||
// This should be set if building and caching multiple images in one
|
||||
// workflow, otherwise caches will overwrite each other.
|
||||
Scope *string `pulumi:"scope"`
|
||||
// The GitHub Actions token to use. This is not a personal access tokens
|
||||
// and is typically generated automatically as part of each job.
|
||||
//
|
||||
// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Token *string `pulumi:"token"`
|
||||
// The cache server URL to use for artifacts.
|
||||
//
|
||||
// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Url *string `pulumi:"url"`
|
||||
}
|
||||
|
||||
// Defaults sets the appropriate defaults for CacheToGitHubActions
|
||||
@@ -2404,18 +2311,6 @@ func (val *CacheToGitHubActions) Defaults() *CacheToGitHubActions {
|
||||
scope_ := "buildkit"
|
||||
tmp.Scope = &scope_
|
||||
}
|
||||
if tmp.Token == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_TOKEN"); d != nil {
|
||||
token_ := d.(string)
|
||||
tmp.Token = &token_
|
||||
}
|
||||
}
|
||||
if tmp.Url == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
||||
url_ := d.(string)
|
||||
tmp.Url = &url_
|
||||
}
|
||||
}
|
||||
return &tmp
|
||||
}
|
||||
|
||||
@@ -2430,6 +2325,10 @@ type CacheToGitHubActionsInput interface {
|
||||
ToCacheToGitHubActionsOutputWithContext(context.Context) CacheToGitHubActionsOutput
|
||||
}
|
||||
|
||||
// Recommended for use with GitHub Actions workflows.
|
||||
//
|
||||
// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
// appropriate credentials to your GitHub workflow.
|
||||
type CacheToGitHubActionsArgs struct {
|
||||
// Ignore errors caused by failed cache exports.
|
||||
IgnoreError pulumi.BoolPtrInput `pulumi:"ignoreError"`
|
||||
@@ -2440,19 +2339,6 @@ type CacheToGitHubActionsArgs struct {
|
||||
// This should be set if building and caching multiple images in one
|
||||
// workflow, otherwise caches will overwrite each other.
|
||||
Scope pulumi.StringPtrInput `pulumi:"scope"`
|
||||
// The GitHub Actions token to use. This is not a personal access tokens
|
||||
// and is typically generated automatically as part of each job.
|
||||
//
|
||||
// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Token pulumi.StringPtrInput `pulumi:"token"`
|
||||
// The cache server URL to use for artifacts.
|
||||
//
|
||||
// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Url pulumi.StringPtrInput `pulumi:"url"`
|
||||
}
|
||||
|
||||
// Defaults sets the appropriate defaults for CacheToGitHubActionsArgs
|
||||
@@ -2470,16 +2356,6 @@ func (val *CacheToGitHubActionsArgs) Defaults() *CacheToGitHubActionsArgs {
|
||||
if tmp.Scope == nil {
|
||||
tmp.Scope = pulumi.StringPtr("buildkit")
|
||||
}
|
||||
if tmp.Token == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_TOKEN"); d != nil {
|
||||
tmp.Token = pulumi.StringPtr(d.(string))
|
||||
}
|
||||
}
|
||||
if tmp.Url == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
||||
tmp.Url = pulumi.StringPtr(d.(string))
|
||||
}
|
||||
}
|
||||
return &tmp
|
||||
}
|
||||
func (CacheToGitHubActionsArgs) ElementType() reflect.Type {
|
||||
@@ -2547,6 +2423,10 @@ func (i *cacheToGitHubActionsPtrType) ToOutput(ctx context.Context) pulumix.Outp
|
||||
}
|
||||
}
|
||||
|
||||
// Recommended for use with GitHub Actions workflows.
|
||||
//
|
||||
// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
// appropriate credentials to your GitHub workflow.
|
||||
type CacheToGitHubActionsOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (CacheToGitHubActionsOutput) ElementType() reflect.Type {
|
||||
@@ -2595,25 +2475,6 @@ func (o CacheToGitHubActionsOutput) Scope() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v CacheToGitHubActions) *string { return v.Scope }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// The GitHub Actions token to use. This is not a personal access tokens
|
||||
// and is typically generated automatically as part of each job.
|
||||
//
|
||||
// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
func (o CacheToGitHubActionsOutput) Token() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v CacheToGitHubActions) *string { return v.Token }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// The cache server URL to use for artifacts.
|
||||
//
|
||||
// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
func (o CacheToGitHubActionsOutput) Url() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v CacheToGitHubActions) *string { return v.Url }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
type CacheToGitHubActionsPtrOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (CacheToGitHubActionsPtrOutput) ElementType() reflect.Type {
|
||||
@@ -2677,35 +2538,6 @@ func (o CacheToGitHubActionsPtrOutput) Scope() pulumi.StringPtrOutput {
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// The GitHub Actions token to use. This is not a personal access tokens
|
||||
// and is typically generated automatically as part of each job.
|
||||
//
|
||||
// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
func (o CacheToGitHubActionsPtrOutput) Token() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *CacheToGitHubActions) *string {
|
||||
if v == nil {
|
||||
return nil
|
||||
}
|
||||
return v.Token
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// The cache server URL to use for artifacts.
|
||||
//
|
||||
// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
func (o CacheToGitHubActionsPtrOutput) Url() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *CacheToGitHubActions) *string {
|
||||
if v == nil {
|
||||
return nil
|
||||
}
|
||||
return v.Url
|
||||
}).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// Include an inline cache with the exported image.
|
||||
type CacheToInline struct {
|
||||
}
|
||||
|
||||
158
sdk/go/dockerbuild/x/pulumiTypes.go
generated
158
sdk/go/dockerbuild/x/pulumiTypes.go
generated
@@ -393,25 +393,16 @@ func (o CacheFromAzureBlobOutput) SecretAccessKey() pulumix.Output[*string] {
|
||||
return pulumix.Apply[CacheFromAzureBlob](o, func(v CacheFromAzureBlob) *string { return v.SecretAccessKey })
|
||||
}
|
||||
|
||||
// Recommended for use with GitHub Actions workflows.
|
||||
//
|
||||
// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
// appropriate credentials to your GitHub workflow.
|
||||
type CacheFromGitHubActions struct {
|
||||
// The scope to use for cache keys. Defaults to `buildkit`.
|
||||
//
|
||||
// This should be set if building and caching multiple images in one
|
||||
// workflow, otherwise caches will overwrite each other.
|
||||
Scope *string `pulumi:"scope"`
|
||||
// The GitHub Actions token to use. This is not a personal access tokens
|
||||
// and is typically generated automatically as part of each job.
|
||||
//
|
||||
// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Token *string `pulumi:"token"`
|
||||
// The cache server URL to use for artifacts.
|
||||
//
|
||||
// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Url *string `pulumi:"url"`
|
||||
}
|
||||
|
||||
// Defaults sets the appropriate defaults for CacheFromGitHubActions
|
||||
@@ -424,40 +415,19 @@ func (val *CacheFromGitHubActions) Defaults() *CacheFromGitHubActions {
|
||||
scope_ := "buildkit"
|
||||
tmp.Scope = &scope_
|
||||
}
|
||||
if tmp.Token == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_TOKEN"); d != nil {
|
||||
token_ := d.(string)
|
||||
tmp.Token = &token_
|
||||
}
|
||||
}
|
||||
if tmp.Url == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
||||
url_ := d.(string)
|
||||
tmp.Url = &url_
|
||||
}
|
||||
}
|
||||
return &tmp
|
||||
}
|
||||
|
||||
// Recommended for use with GitHub Actions workflows.
|
||||
//
|
||||
// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
// appropriate credentials to your GitHub workflow.
|
||||
type CacheFromGitHubActionsArgs struct {
|
||||
// The scope to use for cache keys. Defaults to `buildkit`.
|
||||
//
|
||||
// This should be set if building and caching multiple images in one
|
||||
// workflow, otherwise caches will overwrite each other.
|
||||
Scope pulumix.Input[*string] `pulumi:"scope"`
|
||||
// The GitHub Actions token to use. This is not a personal access tokens
|
||||
// and is typically generated automatically as part of each job.
|
||||
//
|
||||
// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Token pulumix.Input[*string] `pulumi:"token"`
|
||||
// The cache server URL to use for artifacts.
|
||||
//
|
||||
// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Url pulumix.Input[*string] `pulumi:"url"`
|
||||
}
|
||||
|
||||
// Defaults sets the appropriate defaults for CacheFromGitHubActionsArgs
|
||||
@@ -469,16 +439,6 @@ func (val *CacheFromGitHubActionsArgs) Defaults() *CacheFromGitHubActionsArgs {
|
||||
if tmp.Scope == nil {
|
||||
tmp.Scope = pulumix.Ptr("buildkit")
|
||||
}
|
||||
if tmp.Token == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_TOKEN"); d != nil {
|
||||
tmp.Token = pulumix.Ptr(d.(string))
|
||||
}
|
||||
}
|
||||
if tmp.Url == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
||||
tmp.Url = pulumix.Ptr(d.(string))
|
||||
}
|
||||
}
|
||||
return &tmp
|
||||
}
|
||||
func (CacheFromGitHubActionsArgs) ElementType() reflect.Type {
|
||||
@@ -497,6 +457,10 @@ func (i *CacheFromGitHubActionsArgs) ToOutput(ctx context.Context) pulumix.Outpu
|
||||
return pulumix.Val(i)
|
||||
}
|
||||
|
||||
// Recommended for use with GitHub Actions workflows.
|
||||
//
|
||||
// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
// appropriate credentials to your GitHub workflow.
|
||||
type CacheFromGitHubActionsOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (CacheFromGitHubActionsOutput) ElementType() reflect.Type {
|
||||
@@ -525,25 +489,6 @@ func (o CacheFromGitHubActionsOutput) Scope() pulumix.Output[*string] {
|
||||
return pulumix.Apply[CacheFromGitHubActions](o, func(v CacheFromGitHubActions) *string { return v.Scope })
|
||||
}
|
||||
|
||||
// The GitHub Actions token to use. This is not a personal access tokens
|
||||
// and is typically generated automatically as part of each job.
|
||||
//
|
||||
// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
func (o CacheFromGitHubActionsOutput) Token() pulumix.Output[*string] {
|
||||
return pulumix.Apply[CacheFromGitHubActions](o, func(v CacheFromGitHubActions) *string { return v.Token })
|
||||
}
|
||||
|
||||
// The cache server URL to use for artifacts.
|
||||
//
|
||||
// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
func (o CacheFromGitHubActionsOutput) Url() pulumix.Output[*string] {
|
||||
return pulumix.Apply[CacheFromGitHubActions](o, func(v CacheFromGitHubActions) *string { return v.Url })
|
||||
}
|
||||
|
||||
type CacheFromLocal struct {
|
||||
// Digest of manifest to import.
|
||||
Digest *string `pulumi:"digest"`
|
||||
@@ -1134,6 +1079,10 @@ func (o CacheToAzureBlobOutput) SecretAccessKey() pulumix.Output[*string] {
|
||||
return pulumix.Apply[CacheToAzureBlob](o, func(v CacheToAzureBlob) *string { return v.SecretAccessKey })
|
||||
}
|
||||
|
||||
// Recommended for use with GitHub Actions workflows.
|
||||
//
|
||||
// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
// appropriate credentials to your GitHub workflow.
|
||||
type CacheToGitHubActions struct {
|
||||
// Ignore errors caused by failed cache exports.
|
||||
IgnoreError *bool `pulumi:"ignoreError"`
|
||||
@@ -1144,19 +1093,6 @@ type CacheToGitHubActions struct {
|
||||
// This should be set if building and caching multiple images in one
|
||||
// workflow, otherwise caches will overwrite each other.
|
||||
Scope *string `pulumi:"scope"`
|
||||
// The GitHub Actions token to use. This is not a personal access tokens
|
||||
// and is typically generated automatically as part of each job.
|
||||
//
|
||||
// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Token *string `pulumi:"token"`
|
||||
// The cache server URL to use for artifacts.
|
||||
//
|
||||
// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Url *string `pulumi:"url"`
|
||||
}
|
||||
|
||||
// Defaults sets the appropriate defaults for CacheToGitHubActions
|
||||
@@ -1177,21 +1113,13 @@ func (val *CacheToGitHubActions) Defaults() *CacheToGitHubActions {
|
||||
scope_ := "buildkit"
|
||||
tmp.Scope = &scope_
|
||||
}
|
||||
if tmp.Token == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_TOKEN"); d != nil {
|
||||
token_ := d.(string)
|
||||
tmp.Token = &token_
|
||||
}
|
||||
}
|
||||
if tmp.Url == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
||||
url_ := d.(string)
|
||||
tmp.Url = &url_
|
||||
}
|
||||
}
|
||||
return &tmp
|
||||
}
|
||||
|
||||
// Recommended for use with GitHub Actions workflows.
|
||||
//
|
||||
// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
// appropriate credentials to your GitHub workflow.
|
||||
type CacheToGitHubActionsArgs struct {
|
||||
// Ignore errors caused by failed cache exports.
|
||||
IgnoreError pulumix.Input[*bool] `pulumi:"ignoreError"`
|
||||
@@ -1202,19 +1130,6 @@ type CacheToGitHubActionsArgs struct {
|
||||
// This should be set if building and caching multiple images in one
|
||||
// workflow, otherwise caches will overwrite each other.
|
||||
Scope pulumix.Input[*string] `pulumi:"scope"`
|
||||
// The GitHub Actions token to use. This is not a personal access tokens
|
||||
// and is typically generated automatically as part of each job.
|
||||
//
|
||||
// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Token pulumix.Input[*string] `pulumi:"token"`
|
||||
// The cache server URL to use for artifacts.
|
||||
//
|
||||
// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
Url pulumix.Input[*string] `pulumi:"url"`
|
||||
}
|
||||
|
||||
// Defaults sets the appropriate defaults for CacheToGitHubActionsArgs
|
||||
@@ -1232,16 +1147,6 @@ func (val *CacheToGitHubActionsArgs) Defaults() *CacheToGitHubActionsArgs {
|
||||
if tmp.Scope == nil {
|
||||
tmp.Scope = pulumix.Ptr("buildkit")
|
||||
}
|
||||
if tmp.Token == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_RUNTIME_TOKEN"); d != nil {
|
||||
tmp.Token = pulumix.Ptr(d.(string))
|
||||
}
|
||||
}
|
||||
if tmp.Url == nil {
|
||||
if d := internal.GetEnvOrDefault("", nil, "ACTIONS_CACHE_URL"); d != nil {
|
||||
tmp.Url = pulumix.Ptr(d.(string))
|
||||
}
|
||||
}
|
||||
return &tmp
|
||||
}
|
||||
func (CacheToGitHubActionsArgs) ElementType() reflect.Type {
|
||||
@@ -1260,6 +1165,10 @@ func (i *CacheToGitHubActionsArgs) ToOutput(ctx context.Context) pulumix.Output[
|
||||
return pulumix.Val(i)
|
||||
}
|
||||
|
||||
// Recommended for use with GitHub Actions workflows.
|
||||
//
|
||||
// An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
// appropriate credentials to your GitHub workflow.
|
||||
type CacheToGitHubActionsOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (CacheToGitHubActionsOutput) ElementType() reflect.Type {
|
||||
@@ -1298,25 +1207,6 @@ func (o CacheToGitHubActionsOutput) Scope() pulumix.Output[*string] {
|
||||
return pulumix.Apply[CacheToGitHubActions](o, func(v CacheToGitHubActions) *string { return v.Scope })
|
||||
}
|
||||
|
||||
// The GitHub Actions token to use. This is not a personal access tokens
|
||||
// and is typically generated automatically as part of each job.
|
||||
//
|
||||
// Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
func (o CacheToGitHubActionsOutput) Token() pulumix.Output[*string] {
|
||||
return pulumix.Apply[CacheToGitHubActions](o, func(v CacheToGitHubActions) *string { return v.Token })
|
||||
}
|
||||
|
||||
// The cache server URL to use for artifacts.
|
||||
//
|
||||
// Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
// `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
// environment variable to your jobs.
|
||||
func (o CacheToGitHubActionsOutput) Url() pulumix.Output[*string] {
|
||||
return pulumix.Apply[CacheToGitHubActions](o, func(v CacheToGitHubActions) *string { return v.Url })
|
||||
}
|
||||
|
||||
// Include an inline cache with the exported image.
|
||||
type CacheToInline struct {
|
||||
}
|
||||
|
||||
@@ -12,6 +12,13 @@ import java.util.Optional;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
|
||||
/**
|
||||
* Recommended for use with GitHub Actions workflows.
|
||||
*
|
||||
* An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
* appropriate credentials to your GitHub workflow.
|
||||
*
|
||||
*/
|
||||
public final class CacheFromGitHubActionsArgs extends com.pulumi.resources.ResourceArgs {
|
||||
|
||||
public static final CacheFromGitHubActionsArgs Empty = new CacheFromGitHubActionsArgs();
|
||||
@@ -37,60 +44,10 @@ public final class CacheFromGitHubActionsArgs extends com.pulumi.resources.Resou
|
||||
return Optional.ofNullable(this.scope);
|
||||
}
|
||||
|
||||
/**
|
||||
* The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
@Import(name="token")
|
||||
private @Nullable Output<String> token;
|
||||
|
||||
/**
|
||||
* @return The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
public Optional<Output<String>> token() {
|
||||
return Optional.ofNullable(this.token);
|
||||
}
|
||||
|
||||
/**
|
||||
* The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
@Import(name="url")
|
||||
private @Nullable Output<String> url;
|
||||
|
||||
/**
|
||||
* @return The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
public Optional<Output<String>> url() {
|
||||
return Optional.ofNullable(this.url);
|
||||
}
|
||||
|
||||
private CacheFromGitHubActionsArgs() {}
|
||||
|
||||
private CacheFromGitHubActionsArgs(CacheFromGitHubActionsArgs $) {
|
||||
this.scope = $.scope;
|
||||
this.token = $.token;
|
||||
this.url = $.url;
|
||||
}
|
||||
|
||||
public static Builder builder() {
|
||||
@@ -138,70 +95,8 @@ public final class CacheFromGitHubActionsArgs extends com.pulumi.resources.Resou
|
||||
return scope(Output.of(scope));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param token The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
* @return builder
|
||||
*
|
||||
*/
|
||||
public Builder token(@Nullable Output<String> token) {
|
||||
$.token = token;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param token The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
* @return builder
|
||||
*
|
||||
*/
|
||||
public Builder token(String token) {
|
||||
return token(Output.of(token));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param url The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
* @return builder
|
||||
*
|
||||
*/
|
||||
public Builder url(@Nullable Output<String> url) {
|
||||
$.url = url;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param url The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
* @return builder
|
||||
*
|
||||
*/
|
||||
public Builder url(String url) {
|
||||
return url(Output.of(url));
|
||||
}
|
||||
|
||||
public CacheFromGitHubActionsArgs build() {
|
||||
$.scope = Codegen.stringProp("scope").output().arg($.scope).def("buildkit").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();
|
||||
return $;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,13 @@ import java.util.Optional;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
|
||||
/**
|
||||
* Recommended for use with GitHub Actions workflows.
|
||||
*
|
||||
* An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
* appropriate credentials to your GitHub workflow.
|
||||
*
|
||||
*/
|
||||
public final class CacheToGitHubActionsArgs extends com.pulumi.resources.ResourceArgs {
|
||||
|
||||
public static final CacheToGitHubActionsArgs Empty = new CacheToGitHubActionsArgs();
|
||||
@@ -69,62 +76,12 @@ public final class CacheToGitHubActionsArgs extends com.pulumi.resources.Resourc
|
||||
return Optional.ofNullable(this.scope);
|
||||
}
|
||||
|
||||
/**
|
||||
* The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
@Import(name="token")
|
||||
private @Nullable Output<String> token;
|
||||
|
||||
/**
|
||||
* @return The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
public Optional<Output<String>> token() {
|
||||
return Optional.ofNullable(this.token);
|
||||
}
|
||||
|
||||
/**
|
||||
* The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
@Import(name="url")
|
||||
private @Nullable Output<String> url;
|
||||
|
||||
/**
|
||||
* @return The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
public Optional<Output<String>> url() {
|
||||
return Optional.ofNullable(this.url);
|
||||
}
|
||||
|
||||
private CacheToGitHubActionsArgs() {}
|
||||
|
||||
private CacheToGitHubActionsArgs(CacheToGitHubActionsArgs $) {
|
||||
this.ignoreError = $.ignoreError;
|
||||
this.mode = $.mode;
|
||||
this.scope = $.scope;
|
||||
this.token = $.token;
|
||||
this.url = $.url;
|
||||
}
|
||||
|
||||
public static Builder builder() {
|
||||
@@ -214,72 +171,10 @@ public final class CacheToGitHubActionsArgs extends com.pulumi.resources.Resourc
|
||||
return scope(Output.of(scope));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param token The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
* @return builder
|
||||
*
|
||||
*/
|
||||
public Builder token(@Nullable Output<String> token) {
|
||||
$.token = token;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param token The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
* @return builder
|
||||
*
|
||||
*/
|
||||
public Builder token(String token) {
|
||||
return token(Output.of(token));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param url The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
* @return builder
|
||||
*
|
||||
*/
|
||||
public Builder url(@Nullable Output<String> url) {
|
||||
$.url = url;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param url The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
* @return builder
|
||||
*
|
||||
*/
|
||||
public Builder url(String url) {
|
||||
return url(Output.of(url));
|
||||
}
|
||||
|
||||
public CacheToGitHubActionsArgs build() {
|
||||
$.ignoreError = Codegen.booleanProp("ignoreError").output().arg($.ignoreError).def(false).getNullable();
|
||||
$.mode = Codegen.objectProp("mode", CacheMode.class).output().arg($.mode).def(CacheMode.Min).getNullable();
|
||||
$.scope = Codegen.stringProp("scope").output().arg($.scope).def("buildkit").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();
|
||||
return $;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,25 +19,6 @@ public final class CacheFromGitHubActions {
|
||||
*
|
||||
*/
|
||||
private @Nullable String scope;
|
||||
/**
|
||||
* @return The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
private @Nullable String token;
|
||||
/**
|
||||
* @return The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
private @Nullable String url;
|
||||
|
||||
private CacheFromGitHubActions() {}
|
||||
/**
|
||||
@@ -50,29 +31,6 @@ public final class CacheFromGitHubActions {
|
||||
public Optional<String> scope() {
|
||||
return Optional.ofNullable(this.scope);
|
||||
}
|
||||
/**
|
||||
* @return The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
public Optional<String> token() {
|
||||
return Optional.ofNullable(this.token);
|
||||
}
|
||||
/**
|
||||
* @return The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
public Optional<String> url() {
|
||||
return Optional.ofNullable(this.url);
|
||||
}
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
@@ -84,14 +42,10 @@ public final class CacheFromGitHubActions {
|
||||
@CustomType.Builder
|
||||
public static final class Builder {
|
||||
private @Nullable String scope;
|
||||
private @Nullable String token;
|
||||
private @Nullable String url;
|
||||
public Builder() {}
|
||||
public Builder(CacheFromGitHubActions defaults) {
|
||||
Objects.requireNonNull(defaults);
|
||||
this.scope = defaults.scope;
|
||||
this.token = defaults.token;
|
||||
this.url = defaults.url;
|
||||
}
|
||||
|
||||
@CustomType.Setter
|
||||
@@ -100,23 +54,9 @@ public final class CacheFromGitHubActions {
|
||||
this.scope = scope;
|
||||
return this;
|
||||
}
|
||||
@CustomType.Setter
|
||||
public Builder token(@Nullable String token) {
|
||||
|
||||
this.token = token;
|
||||
return this;
|
||||
}
|
||||
@CustomType.Setter
|
||||
public Builder url(@Nullable String url) {
|
||||
|
||||
this.url = url;
|
||||
return this;
|
||||
}
|
||||
public CacheFromGitHubActions build() {
|
||||
final var _resultValue = new CacheFromGitHubActions();
|
||||
_resultValue.scope = scope;
|
||||
_resultValue.token = token;
|
||||
_resultValue.url = url;
|
||||
return _resultValue;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,25 +31,6 @@ public final class CacheToGitHubActions {
|
||||
*
|
||||
*/
|
||||
private @Nullable String scope;
|
||||
/**
|
||||
* @return The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
private @Nullable String token;
|
||||
/**
|
||||
* @return The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
private @Nullable String url;
|
||||
|
||||
private CacheToGitHubActions() {}
|
||||
/**
|
||||
@@ -76,29 +57,6 @@ public final class CacheToGitHubActions {
|
||||
public Optional<String> scope() {
|
||||
return Optional.ofNullable(this.scope);
|
||||
}
|
||||
/**
|
||||
* @return The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
public Optional<String> token() {
|
||||
return Optional.ofNullable(this.token);
|
||||
}
|
||||
/**
|
||||
* @return The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*
|
||||
*/
|
||||
public Optional<String> url() {
|
||||
return Optional.ofNullable(this.url);
|
||||
}
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
@@ -112,16 +70,12 @@ public final class CacheToGitHubActions {
|
||||
private @Nullable Boolean ignoreError;
|
||||
private @Nullable CacheMode mode;
|
||||
private @Nullable String scope;
|
||||
private @Nullable String token;
|
||||
private @Nullable String url;
|
||||
public Builder() {}
|
||||
public Builder(CacheToGitHubActions defaults) {
|
||||
Objects.requireNonNull(defaults);
|
||||
this.ignoreError = defaults.ignoreError;
|
||||
this.mode = defaults.mode;
|
||||
this.scope = defaults.scope;
|
||||
this.token = defaults.token;
|
||||
this.url = defaults.url;
|
||||
}
|
||||
|
||||
@CustomType.Setter
|
||||
@@ -142,25 +96,11 @@ public final class CacheToGitHubActions {
|
||||
this.scope = scope;
|
||||
return this;
|
||||
}
|
||||
@CustomType.Setter
|
||||
public Builder token(@Nullable String token) {
|
||||
|
||||
this.token = token;
|
||||
return this;
|
||||
}
|
||||
@CustomType.Setter
|
||||
public Builder url(@Nullable String url) {
|
||||
|
||||
this.url = url;
|
||||
return this;
|
||||
}
|
||||
public CacheToGitHubActions build() {
|
||||
final var _resultValue = new CacheToGitHubActions();
|
||||
_resultValue.ignoreError = ignoreError;
|
||||
_resultValue.mode = mode;
|
||||
_resultValue.scope = scope;
|
||||
_resultValue.token = token;
|
||||
_resultValue.url = url;
|
||||
return _resultValue;
|
||||
}
|
||||
}
|
||||
|
||||
96
sdk/nodejs/image.ts
generated
96
sdk/nodejs/image.ts
generated
@@ -501,7 +501,7 @@ export class Image extends pulumi.CustomResource {
|
||||
*
|
||||
* Equivalent to Docker's `--add-host` flag.
|
||||
*/
|
||||
public readonly addHosts!: pulumi.Output<string[] | undefined>;
|
||||
declare public readonly addHosts: pulumi.Output<string[] | undefined>;
|
||||
/**
|
||||
* `ARG` names and values to set during the build.
|
||||
*
|
||||
@@ -513,7 +513,7 @@ export class Image extends pulumi.CustomResource {
|
||||
*
|
||||
* Equivalent to Docker's `--build-arg` flag.
|
||||
*/
|
||||
public readonly buildArgs!: pulumi.Output<{[key: string]: string} | undefined>;
|
||||
declare public readonly buildArgs: pulumi.Output<{[key: string]: string} | undefined>;
|
||||
/**
|
||||
* Setting this to `false` will always skip image builds during previews,
|
||||
* and setting it to `true` will always build images during previews.
|
||||
@@ -527,35 +527,35 @@ export class Image extends pulumi.CustomResource {
|
||||
* Defaults to `true` as a safeguard against broken images merging as part
|
||||
* of CI pipelines.
|
||||
*/
|
||||
public readonly buildOnPreview!: pulumi.Output<boolean | undefined>;
|
||||
declare public readonly buildOnPreview: pulumi.Output<boolean | undefined>;
|
||||
/**
|
||||
* Builder configuration.
|
||||
*/
|
||||
public readonly builder!: pulumi.Output<outputs.BuilderConfig | undefined>;
|
||||
declare public readonly builder: pulumi.Output<outputs.BuilderConfig | undefined>;
|
||||
/**
|
||||
* Cache export configuration.
|
||||
*
|
||||
* Equivalent to Docker's `--cache-from` flag.
|
||||
*/
|
||||
public readonly cacheFrom!: pulumi.Output<outputs.CacheFrom[] | undefined>;
|
||||
declare public readonly cacheFrom: pulumi.Output<outputs.CacheFrom[] | undefined>;
|
||||
/**
|
||||
* Cache import configuration.
|
||||
*
|
||||
* Equivalent to Docker's `--cache-to` flag.
|
||||
*/
|
||||
public readonly cacheTo!: pulumi.Output<outputs.CacheTo[] | undefined>;
|
||||
declare public readonly cacheTo: pulumi.Output<outputs.CacheTo[] | undefined>;
|
||||
/**
|
||||
* Build context settings. Defaults to the current directory.
|
||||
*
|
||||
* Equivalent to Docker's `PATH | URL | -` positional argument.
|
||||
*/
|
||||
public readonly context!: pulumi.Output<outputs.BuildContext | undefined>;
|
||||
declare public readonly context: pulumi.Output<outputs.BuildContext | undefined>;
|
||||
/**
|
||||
* A preliminary hash of the image's build context.
|
||||
*
|
||||
* Pulumi uses this to determine if an image _may_ need to be re-built.
|
||||
*/
|
||||
public /*out*/ readonly contextHash!: pulumi.Output<string>;
|
||||
declare public /*out*/ readonly contextHash: pulumi.Output<string>;
|
||||
/**
|
||||
* A SHA256 digest of the image if it was exported to a registry or
|
||||
* elsewhere.
|
||||
@@ -565,13 +565,13 @@ export class Image extends pulumi.CustomResource {
|
||||
* Registry images can be referenced precisely as `<tag>@<digest>`. The
|
||||
* `ref` output provides one such reference as a convenience.
|
||||
*/
|
||||
public /*out*/ readonly digest!: pulumi.Output<string>;
|
||||
declare public /*out*/ readonly digest: pulumi.Output<string>;
|
||||
/**
|
||||
* Dockerfile settings.
|
||||
*
|
||||
* Equivalent to Docker's `--file` flag.
|
||||
*/
|
||||
public readonly dockerfile!: pulumi.Output<outputs.Dockerfile | undefined>;
|
||||
declare public readonly dockerfile: pulumi.Output<outputs.Dockerfile | undefined>;
|
||||
/**
|
||||
* Use `exec` mode to build this image.
|
||||
*
|
||||
@@ -594,7 +594,7 @@ export class Image extends pulumi.CustomResource {
|
||||
* are temporarily written to disk in order to provide them to the
|
||||
* `docker-buildx` binary.
|
||||
*/
|
||||
public readonly exec!: pulumi.Output<boolean | undefined>;
|
||||
declare public readonly exec: pulumi.Output<boolean | undefined>;
|
||||
/**
|
||||
* Controls where images are persisted after building.
|
||||
*
|
||||
@@ -606,13 +606,13 @@ export class Image extends pulumi.CustomResource {
|
||||
*
|
||||
* Equivalent to Docker's `--output` flag.
|
||||
*/
|
||||
public readonly exports!: pulumi.Output<outputs.Export[] | undefined>;
|
||||
declare public readonly exports: pulumi.Output<outputs.Export[] | undefined>;
|
||||
/**
|
||||
* Attach arbitrary key/value metadata to the image.
|
||||
*
|
||||
* Equivalent to Docker's `--label` flag.
|
||||
*/
|
||||
public readonly labels!: pulumi.Output<{[key: string]: string} | undefined>;
|
||||
declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>;
|
||||
/**
|
||||
* When `true` the build will automatically include a `docker` export.
|
||||
*
|
||||
@@ -620,7 +620,7 @@ export class Image extends pulumi.CustomResource {
|
||||
*
|
||||
* Equivalent to Docker's `--load` flag.
|
||||
*/
|
||||
public readonly load!: pulumi.Output<boolean | undefined>;
|
||||
declare public readonly load: pulumi.Output<boolean | undefined>;
|
||||
/**
|
||||
* Set the network mode for `RUN` instructions. Defaults to `default`.
|
||||
*
|
||||
@@ -628,25 +628,25 @@ export class Image extends pulumi.CustomResource {
|
||||
*
|
||||
* Equivalent to Docker's `--network` flag.
|
||||
*/
|
||||
public readonly network!: pulumi.Output<enums.NetworkMode | undefined>;
|
||||
declare public readonly network: pulumi.Output<enums.NetworkMode | undefined>;
|
||||
/**
|
||||
* Do not import cache manifests when building the image.
|
||||
*
|
||||
* Equivalent to Docker's `--no-cache` flag.
|
||||
*/
|
||||
public readonly noCache!: pulumi.Output<boolean | undefined>;
|
||||
declare public readonly noCache: pulumi.Output<boolean | undefined>;
|
||||
/**
|
||||
* Set target platform(s) for the build. Defaults to the host's platform.
|
||||
*
|
||||
* Equivalent to Docker's `--platform` flag.
|
||||
*/
|
||||
public readonly platforms!: pulumi.Output<enums.Platform[] | undefined>;
|
||||
declare public readonly platforms: pulumi.Output<enums.Platform[] | undefined>;
|
||||
/**
|
||||
* Always pull referenced images.
|
||||
*
|
||||
* Equivalent to Docker's `--pull` flag.
|
||||
*/
|
||||
public readonly pull!: pulumi.Output<boolean | undefined>;
|
||||
declare public readonly pull: pulumi.Output<boolean | undefined>;
|
||||
/**
|
||||
* When `true` the build will automatically include a `registry` export.
|
||||
*
|
||||
@@ -654,7 +654,7 @@ export class Image extends pulumi.CustomResource {
|
||||
*
|
||||
* Equivalent to Docker's `--push` flag.
|
||||
*/
|
||||
public readonly push!: pulumi.Output<boolean>;
|
||||
declare public readonly push: pulumi.Output<boolean>;
|
||||
/**
|
||||
* If the image was pushed to any registries then this will contain a
|
||||
* single fully-qualified tag including the build's digest.
|
||||
@@ -671,7 +671,7 @@ export class Image extends pulumi.CustomResource {
|
||||
* For more control over tags consumed by downstream resources you should
|
||||
* use the `digest` output.
|
||||
*/
|
||||
public /*out*/ readonly ref!: pulumi.Output<string>;
|
||||
declare public /*out*/ readonly ref: pulumi.Output<string>;
|
||||
/**
|
||||
* Registry credentials. Required if reading or exporting to private
|
||||
* repositories.
|
||||
@@ -681,7 +681,7 @@ export class Image extends pulumi.CustomResource {
|
||||
*
|
||||
* Similar to `docker login`.
|
||||
*/
|
||||
public readonly registries!: pulumi.Output<outputs.Registry[] | undefined>;
|
||||
declare public readonly registries: pulumi.Output<outputs.Registry[] | undefined>;
|
||||
/**
|
||||
* A mapping of secret names to their corresponding values.
|
||||
*
|
||||
@@ -693,13 +693,13 @@ export class Image extends pulumi.CustomResource {
|
||||
*
|
||||
* Similar to Docker's `--secret` flag.
|
||||
*/
|
||||
public readonly secrets!: pulumi.Output<{[key: string]: string} | undefined>;
|
||||
declare public readonly secrets: pulumi.Output<{[key: string]: string} | undefined>;
|
||||
/**
|
||||
* SSH agent socket or keys to expose to the build.
|
||||
*
|
||||
* Equivalent to Docker's `--ssh` flag.
|
||||
*/
|
||||
public readonly ssh!: pulumi.Output<outputs.SSH[] | undefined>;
|
||||
declare public readonly ssh: pulumi.Output<outputs.SSH[] | undefined>;
|
||||
/**
|
||||
* Name and optionally a tag (format: `name:tag`).
|
||||
*
|
||||
@@ -708,7 +708,7 @@ export class Image extends pulumi.CustomResource {
|
||||
*
|
||||
* Equivalent to Docker's `--tag` flag.
|
||||
*/
|
||||
public readonly tags!: pulumi.Output<string[] | undefined>;
|
||||
declare public readonly tags: pulumi.Output<string[] | undefined>;
|
||||
/**
|
||||
* Set the target build stage(s) to build.
|
||||
*
|
||||
@@ -716,7 +716,7 @@ export class Image extends pulumi.CustomResource {
|
||||
*
|
||||
* Equivalent to Docker's `--target` flag.
|
||||
*/
|
||||
public readonly target!: pulumi.Output<string | undefined>;
|
||||
declare public readonly target: pulumi.Output<string | undefined>;
|
||||
|
||||
/**
|
||||
* Create a Image resource with the given unique name, arguments, and options.
|
||||
@@ -729,31 +729,31 @@ export class Image extends pulumi.CustomResource {
|
||||
let resourceInputs: pulumi.Inputs = {};
|
||||
opts = opts || {};
|
||||
if (!opts.id) {
|
||||
if ((!args || args.push === undefined) && !opts.urn) {
|
||||
if (args?.push === undefined && !opts.urn) {
|
||||
throw new Error("Missing required property 'push'");
|
||||
}
|
||||
resourceInputs["addHosts"] = args ? args.addHosts : undefined;
|
||||
resourceInputs["buildArgs"] = args ? args.buildArgs : undefined;
|
||||
resourceInputs["buildOnPreview"] = (args ? args.buildOnPreview : undefined) ?? true;
|
||||
resourceInputs["builder"] = args ? args.builder : undefined;
|
||||
resourceInputs["cacheFrom"] = args ? args.cacheFrom : undefined;
|
||||
resourceInputs["cacheTo"] = args ? args.cacheTo : undefined;
|
||||
resourceInputs["context"] = args ? args.context : undefined;
|
||||
resourceInputs["dockerfile"] = args ? args.dockerfile : undefined;
|
||||
resourceInputs["exec"] = args ? args.exec : undefined;
|
||||
resourceInputs["exports"] = args ? args.exports : undefined;
|
||||
resourceInputs["labels"] = args ? args.labels : undefined;
|
||||
resourceInputs["load"] = args ? args.load : undefined;
|
||||
resourceInputs["network"] = (args ? args.network : undefined) ?? "default";
|
||||
resourceInputs["noCache"] = args ? args.noCache : undefined;
|
||||
resourceInputs["platforms"] = args ? args.platforms : undefined;
|
||||
resourceInputs["pull"] = args ? args.pull : undefined;
|
||||
resourceInputs["push"] = args ? args.push : undefined;
|
||||
resourceInputs["registries"] = args ? args.registries : undefined;
|
||||
resourceInputs["secrets"] = args ? args.secrets : undefined;
|
||||
resourceInputs["ssh"] = args ? args.ssh : undefined;
|
||||
resourceInputs["tags"] = args ? args.tags : undefined;
|
||||
resourceInputs["target"] = args ? args.target : undefined;
|
||||
resourceInputs["addHosts"] = args?.addHosts;
|
||||
resourceInputs["buildArgs"] = args?.buildArgs;
|
||||
resourceInputs["buildOnPreview"] = (args?.buildOnPreview) ?? true;
|
||||
resourceInputs["builder"] = args?.builder;
|
||||
resourceInputs["cacheFrom"] = args?.cacheFrom;
|
||||
resourceInputs["cacheTo"] = args?.cacheTo;
|
||||
resourceInputs["context"] = args?.context;
|
||||
resourceInputs["dockerfile"] = args?.dockerfile;
|
||||
resourceInputs["exec"] = args?.exec;
|
||||
resourceInputs["exports"] = args?.exports;
|
||||
resourceInputs["labels"] = args?.labels;
|
||||
resourceInputs["load"] = args?.load;
|
||||
resourceInputs["network"] = (args?.network) ?? "default";
|
||||
resourceInputs["noCache"] = args?.noCache;
|
||||
resourceInputs["platforms"] = args?.platforms;
|
||||
resourceInputs["pull"] = args?.pull;
|
||||
resourceInputs["push"] = args?.push;
|
||||
resourceInputs["registries"] = args?.registries;
|
||||
resourceInputs["secrets"] = args?.secrets;
|
||||
resourceInputs["ssh"] = args?.ssh;
|
||||
resourceInputs["tags"] = args?.tags;
|
||||
resourceInputs["target"] = args?.target;
|
||||
resourceInputs["contextHash"] = undefined /*out*/;
|
||||
resourceInputs["digest"] = undefined /*out*/;
|
||||
resourceInputs["ref"] = undefined /*out*/;
|
||||
|
||||
22
sdk/nodejs/index_.ts
generated
22
sdk/nodejs/index_.ts
generated
@@ -113,27 +113,27 @@ export class Index extends pulumi.CustomResource {
|
||||
*
|
||||
* Defaults to `true`.
|
||||
*/
|
||||
public readonly push!: pulumi.Output<boolean | undefined>;
|
||||
declare public readonly push: pulumi.Output<boolean | undefined>;
|
||||
/**
|
||||
* The pushed tag with digest.
|
||||
*
|
||||
* Identical to the tag if the index was not pushed.
|
||||
*/
|
||||
public /*out*/ readonly ref!: pulumi.Output<string>;
|
||||
declare public /*out*/ readonly ref: pulumi.Output<string>;
|
||||
/**
|
||||
* Authentication for the registry where the tagged index will be pushed.
|
||||
*
|
||||
* Credentials can also be included with the provider's configuration.
|
||||
*/
|
||||
public readonly registry!: pulumi.Output<outputs.Registry | undefined>;
|
||||
declare public readonly registry: pulumi.Output<outputs.Registry | undefined>;
|
||||
/**
|
||||
* Existing images to include in the index.
|
||||
*/
|
||||
public readonly sources!: pulumi.Output<string[]>;
|
||||
declare public readonly sources: pulumi.Output<string[]>;
|
||||
/**
|
||||
* The tag to apply to the index.
|
||||
*/
|
||||
public readonly tag!: pulumi.Output<string>;
|
||||
declare public readonly tag: pulumi.Output<string>;
|
||||
|
||||
/**
|
||||
* Create a Index resource with the given unique name, arguments, and options.
|
||||
@@ -146,16 +146,16 @@ export class Index extends pulumi.CustomResource {
|
||||
let resourceInputs: pulumi.Inputs = {};
|
||||
opts = opts || {};
|
||||
if (!opts.id) {
|
||||
if ((!args || args.sources === undefined) && !opts.urn) {
|
||||
if (args?.sources === undefined && !opts.urn) {
|
||||
throw new Error("Missing required property 'sources'");
|
||||
}
|
||||
if ((!args || args.tag === undefined) && !opts.urn) {
|
||||
if (args?.tag === undefined && !opts.urn) {
|
||||
throw new Error("Missing required property 'tag'");
|
||||
}
|
||||
resourceInputs["push"] = (args ? args.push : undefined) ?? true;
|
||||
resourceInputs["registry"] = args ? args.registry : undefined;
|
||||
resourceInputs["sources"] = args ? args.sources : undefined;
|
||||
resourceInputs["tag"] = args ? args.tag : undefined;
|
||||
resourceInputs["push"] = (args?.push) ?? true;
|
||||
resourceInputs["registry"] = args?.registry;
|
||||
resourceInputs["sources"] = args?.sources;
|
||||
resourceInputs["tag"] = args?.tag;
|
||||
resourceInputs["ref"] = undefined /*out*/;
|
||||
} else {
|
||||
resourceInputs["push"] = undefined /*out*/;
|
||||
|
||||
6
sdk/nodejs/provider.ts
generated
6
sdk/nodejs/provider.ts
generated
@@ -25,7 +25,7 @@ export class Provider extends pulumi.ProviderResource {
|
||||
/**
|
||||
* The build daemon's address.
|
||||
*/
|
||||
public readonly host!: pulumi.Output<string | undefined>;
|
||||
declare public readonly host: pulumi.Output<string | undefined>;
|
||||
|
||||
/**
|
||||
* Create a Provider resource with the given unique name, arguments, and options.
|
||||
@@ -38,8 +38,8 @@ export class Provider extends pulumi.ProviderResource {
|
||||
let resourceInputs: pulumi.Inputs = {};
|
||||
opts = opts || {};
|
||||
{
|
||||
resourceInputs["host"] = (args ? args.host : undefined) ?? (utilities.getEnv("DOCKER_HOST") || "");
|
||||
resourceInputs["registries"] = pulumi.output(args ? args.registries : undefined).apply(JSON.stringify);
|
||||
resourceInputs["host"] = (args?.host) ?? (utilities.getEnv("DOCKER_HOST") || "");
|
||||
resourceInputs["registries"] = pulumi.output(args?.registries).apply(JSON.stringify);
|
||||
}
|
||||
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
||||
super(Provider.__pulumiType, name, resourceInputs, opts);
|
||||
|
||||
2
sdk/nodejs/tsconfig.json
generated
2
sdk/nodejs/tsconfig.json
generated
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"outDir": "bin",
|
||||
"target": "es2016",
|
||||
"target": "ES2020",
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
"declaration": true,
|
||||
|
||||
50
sdk/nodejs/types/input.ts
generated
50
sdk/nodejs/types/input.ts
generated
@@ -104,6 +104,12 @@ export interface CacheFromAzureBlobArgs {
|
||||
secretAccessKey?: pulumi.Input<string>;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recommended for use with GitHub Actions workflows.
|
||||
*
|
||||
* An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
* appropriate credentials to your GitHub workflow.
|
||||
*/
|
||||
export interface CacheFromGitHubActionsArgs {
|
||||
/**
|
||||
* The scope to use for cache keys. Defaults to `buildkit`.
|
||||
@@ -112,23 +118,6 @@ export interface CacheFromGitHubActionsArgs {
|
||||
* workflow, otherwise caches will overwrite each other.
|
||||
*/
|
||||
scope?: pulumi.Input<string>;
|
||||
/**
|
||||
* The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*/
|
||||
token?: pulumi.Input<string>;
|
||||
/**
|
||||
* The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*/
|
||||
url?: pulumi.Input<string>;
|
||||
}
|
||||
/**
|
||||
* cacheFromGitHubActionsArgsProvideDefaults sets the appropriate defaults for CacheFromGitHubActionsArgs
|
||||
@@ -137,8 +126,6 @@ export function cacheFromGitHubActionsArgsProvideDefaults(val: CacheFromGitHubAc
|
||||
return {
|
||||
...val,
|
||||
scope: (val.scope) ?? "buildkit",
|
||||
token: (val.token) ?? (utilities.getEnv("ACTIONS_RUNTIME_TOKEN") || ""),
|
||||
url: (val.url) ?? (utilities.getEnv("ACTIONS_CACHE_URL") || ""),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -303,6 +290,12 @@ export function cacheToAzureBlobArgsProvideDefaults(val: CacheToAzureBlobArgs):
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Recommended for use with GitHub Actions workflows.
|
||||
*
|
||||
* An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
* appropriate credentials to your GitHub workflow.
|
||||
*/
|
||||
export interface CacheToGitHubActionsArgs {
|
||||
/**
|
||||
* Ignore errors caused by failed cache exports.
|
||||
@@ -319,23 +312,6 @@ export interface CacheToGitHubActionsArgs {
|
||||
* workflow, otherwise caches will overwrite each other.
|
||||
*/
|
||||
scope?: pulumi.Input<string>;
|
||||
/**
|
||||
* The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*/
|
||||
token?: pulumi.Input<string>;
|
||||
/**
|
||||
* The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*/
|
||||
url?: pulumi.Input<string>;
|
||||
}
|
||||
/**
|
||||
* cacheToGitHubActionsArgsProvideDefaults sets the appropriate defaults for CacheToGitHubActionsArgs
|
||||
@@ -346,8 +322,6 @@ export function cacheToGitHubActionsArgsProvideDefaults(val: CacheToGitHubAction
|
||||
ignoreError: (val.ignoreError) ?? false,
|
||||
mode: (val.mode) ?? "min",
|
||||
scope: (val.scope) ?? "buildkit",
|
||||
token: (val.token) ?? (utilities.getEnv("ACTIONS_RUNTIME_TOKEN") || ""),
|
||||
url: (val.url) ?? (utilities.getEnv("ACTIONS_CACHE_URL") || ""),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
50
sdk/nodejs/types/output.ts
generated
50
sdk/nodejs/types/output.ts
generated
@@ -104,6 +104,12 @@ export interface CacheFromAzureBlob {
|
||||
secretAccessKey?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recommended for use with GitHub Actions workflows.
|
||||
*
|
||||
* An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
* appropriate credentials to your GitHub workflow.
|
||||
*/
|
||||
export interface CacheFromGitHubActions {
|
||||
/**
|
||||
* The scope to use for cache keys. Defaults to `buildkit`.
|
||||
@@ -112,23 +118,6 @@ export interface CacheFromGitHubActions {
|
||||
* workflow, otherwise caches will overwrite each other.
|
||||
*/
|
||||
scope?: string;
|
||||
/**
|
||||
* The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*/
|
||||
token?: string;
|
||||
/**
|
||||
* The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*/
|
||||
url?: string;
|
||||
}
|
||||
/**
|
||||
* cacheFromGitHubActionsProvideDefaults sets the appropriate defaults for CacheFromGitHubActions
|
||||
@@ -137,8 +126,6 @@ export function cacheFromGitHubActionsProvideDefaults(val: CacheFromGitHubAction
|
||||
return {
|
||||
...val,
|
||||
scope: (val.scope) ?? "buildkit",
|
||||
token: (val.token) ?? (utilities.getEnv("ACTIONS_RUNTIME_TOKEN") || ""),
|
||||
url: (val.url) ?? (utilities.getEnv("ACTIONS_CACHE_URL") || ""),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -303,6 +290,12 @@ export function cacheToAzureBlobProvideDefaults(val: CacheToAzureBlob): CacheToA
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Recommended for use with GitHub Actions workflows.
|
||||
*
|
||||
* An action like `crazy-max/ghaction-github-runtime` is recommended to expose
|
||||
* appropriate credentials to your GitHub workflow.
|
||||
*/
|
||||
export interface CacheToGitHubActions {
|
||||
/**
|
||||
* Ignore errors caused by failed cache exports.
|
||||
@@ -319,23 +312,6 @@ export interface CacheToGitHubActions {
|
||||
* workflow, otherwise caches will overwrite each other.
|
||||
*/
|
||||
scope?: string;
|
||||
/**
|
||||
* The GitHub Actions token to use. This is not a personal access tokens
|
||||
* and is typically generated automatically as part of each job.
|
||||
*
|
||||
* Defaults to `$ACTIONS_RUNTIME_TOKEN`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*/
|
||||
token?: string;
|
||||
/**
|
||||
* The cache server URL to use for artifacts.
|
||||
*
|
||||
* Defaults to `$ACTIONS_CACHE_URL`, although a separate action like
|
||||
* `crazy-max/ghaction-github-runtime` is recommended to expose this
|
||||
* environment variable to your jobs.
|
||||
*/
|
||||
url?: string;
|
||||
}
|
||||
/**
|
||||
* cacheToGitHubActionsProvideDefaults sets the appropriate defaults for CacheToGitHubActions
|
||||
@@ -346,8 +322,6 @@ export function cacheToGitHubActionsProvideDefaults(val: CacheToGitHubActions):
|
||||
ignoreError: (val.ignoreError) ?? false,
|
||||
mode: (val.mode) ?? "min",
|
||||
scope: (val.scope) ?? "buildkit",
|
||||
token: (val.token) ?? (utilities.getEnv("ACTIONS_RUNTIME_TOKEN") || ""),
|
||||
url: (val.url) ?? (utilities.getEnv("ACTIONS_CACHE_URL") || ""),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
1
sdk/nodejs/utilities.ts
generated
1
sdk/nodejs/utilities.ts
generated
@@ -68,6 +68,7 @@ export function lazyLoad(exports: any, props: string[], loadModule: any) {
|
||||
}
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
export async function callAsync<T>(
|
||||
tok: string,
|
||||
props: pulumi.Inputs,
|
||||
|
||||
2
sdk/python/pulumi_docker_build/__init__.py
generated
2
sdk/python/pulumi_docker_build/__init__.py
generated
@@ -2,7 +2,7 @@
|
||||
# *** WARNING: this file was generated by pulumi-language-python. ***
|
||||
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
import builtins
|
||||
import builtins as _builtins
|
||||
from . import _utilities
|
||||
import typing
|
||||
# Export this package's modules as members:
|
||||
|
||||
10
sdk/python/pulumi_docker_build/_enums.py
generated
10
sdk/python/pulumi_docker_build/_enums.py
generated
@@ -2,7 +2,7 @@
|
||||
# *** WARNING: this file was generated by pulumi-language-python. ***
|
||||
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
import builtins
|
||||
import builtins as _builtins
|
||||
import pulumi
|
||||
from enum import Enum
|
||||
|
||||
@@ -15,7 +15,7 @@ __all__ = [
|
||||
|
||||
|
||||
@pulumi.type_token("docker-build:index:CacheMode")
|
||||
class CacheMode(builtins.str, Enum):
|
||||
class CacheMode(_builtins.str, Enum):
|
||||
MIN = "min"
|
||||
"""
|
||||
Only layers that are exported into the resulting image are cached.
|
||||
@@ -27,7 +27,7 @@ class CacheMode(builtins.str, Enum):
|
||||
|
||||
|
||||
@pulumi.type_token("docker-build:index:CompressionType")
|
||||
class CompressionType(builtins.str, Enum):
|
||||
class CompressionType(_builtins.str, Enum):
|
||||
GZIP = "gzip"
|
||||
"""
|
||||
Use `gzip` for compression.
|
||||
@@ -43,7 +43,7 @@ class CompressionType(builtins.str, Enum):
|
||||
|
||||
|
||||
@pulumi.type_token("docker-build:index:NetworkMode")
|
||||
class NetworkMode(builtins.str, Enum):
|
||||
class NetworkMode(_builtins.str, Enum):
|
||||
DEFAULT = "default"
|
||||
"""
|
||||
The default sandbox network mode.
|
||||
@@ -59,7 +59,7 @@ class NetworkMode(builtins.str, Enum):
|
||||
|
||||
|
||||
@pulumi.type_token("docker-build:index:Platform")
|
||||
class Platform(builtins.str, Enum):
|
||||
class Platform(_builtins.str, Enum):
|
||||
DARWIN_386 = "darwin/386"
|
||||
DARWIN_AMD64 = "darwin/amd64"
|
||||
DARWIN_ARM = "darwin/arm"
|
||||
|
||||
1425
sdk/python/pulumi_docker_build/_inputs.py
generated
1425
sdk/python/pulumi_docker_build/_inputs.py
generated
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
||||
# *** WARNING: this file was generated by pulumi-language-python. ***
|
||||
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
import builtins
|
||||
import builtins as _builtins
|
||||
import sys
|
||||
from .vars import _ExportableConfig
|
||||
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
# *** WARNING: this file was generated by pulumi-language-python. ***
|
||||
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
import builtins
|
||||
import copy
|
||||
import builtins as _builtins
|
||||
import warnings
|
||||
import sys
|
||||
import pulumi
|
||||
|
||||
7
sdk/python/pulumi_docker_build/config/vars.py
generated
7
sdk/python/pulumi_docker_build/config/vars.py
generated
@@ -2,8 +2,7 @@
|
||||
# *** WARNING: this file was generated by pulumi-language-python. ***
|
||||
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
import builtins
|
||||
import copy
|
||||
import builtins as _builtins
|
||||
import warnings
|
||||
import sys
|
||||
import pulumi
|
||||
@@ -22,14 +21,14 @@ __config__ = pulumi.Config('docker-build')
|
||||
|
||||
|
||||
class _ExportableConfig(types.ModuleType):
|
||||
@property
|
||||
@_builtins.property
|
||||
def host(self) -> str:
|
||||
"""
|
||||
The build daemon's address.
|
||||
"""
|
||||
return __config__.get('host') or (_utilities.get_env('DOCKER_HOST') or '')
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
def registries(self) -> Optional[str]:
|
||||
return __config__.get('registries')
|
||||
|
||||
|
||||
295
sdk/python/pulumi_docker_build/image.py
generated
295
sdk/python/pulumi_docker_build/image.py
generated
@@ -2,8 +2,7 @@
|
||||
# *** WARNING: this file was generated by pulumi-language-python. ***
|
||||
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
import builtins
|
||||
import copy
|
||||
import builtins as _builtins
|
||||
import warnings
|
||||
import sys
|
||||
import pulumi
|
||||
@@ -23,39 +22,39 @@ __all__ = ['ImageArgs', 'Image']
|
||||
@pulumi.input_type
|
||||
class ImageArgs:
|
||||
def __init__(__self__, *,
|
||||
push: pulumi.Input[builtins.bool],
|
||||
add_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
||||
build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
|
||||
build_on_preview: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
push: pulumi.Input[_builtins.bool],
|
||||
add_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
||||
build_on_preview: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
builder: Optional[pulumi.Input['BuilderConfigArgs']] = None,
|
||||
cache_from: Optional[pulumi.Input[Sequence[pulumi.Input['CacheFromArgs']]]] = None,
|
||||
cache_to: Optional[pulumi.Input[Sequence[pulumi.Input['CacheToArgs']]]] = None,
|
||||
context: Optional[pulumi.Input['BuildContextArgs']] = None,
|
||||
dockerfile: Optional[pulumi.Input['DockerfileArgs']] = None,
|
||||
exec_: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
exec_: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
exports: Optional[pulumi.Input[Sequence[pulumi.Input['ExportArgs']]]] = None,
|
||||
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
|
||||
load: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
||||
load: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
network: Optional[pulumi.Input['NetworkMode']] = None,
|
||||
no_cache: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
no_cache: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
platforms: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]] = None,
|
||||
pull: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
pull: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
registries: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]] = None,
|
||||
secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
|
||||
secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
||||
ssh: Optional[pulumi.Input[Sequence[pulumi.Input['SSHArgs']]]] = None,
|
||||
tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
||||
target: Optional[pulumi.Input[builtins.str]] = None):
|
||||
tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
target: Optional[pulumi.Input[_builtins.str]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Image resource.
|
||||
:param pulumi.Input[builtins.bool] push: When `true` the build will automatically include a `registry` export.
|
||||
:param pulumi.Input[_builtins.bool] push: When `true` the build will automatically include a `registry` export.
|
||||
|
||||
Defaults to `false`.
|
||||
|
||||
Equivalent to Docker's `--push` flag.
|
||||
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] add_hosts: Custom `host:ip` mappings to use during the build.
|
||||
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] add_hosts: Custom `host:ip` mappings to use during the build.
|
||||
|
||||
Equivalent to Docker's `--add-host` flag.
|
||||
:param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] build_args: `ARG` names and values to set during the build.
|
||||
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] build_args: `ARG` names and values to set during the build.
|
||||
|
||||
These variables are accessed like environment variables inside `RUN`
|
||||
instructions.
|
||||
@@ -64,7 +63,7 @@ class ImageArgs:
|
||||
if these arguments are sensitive.
|
||||
|
||||
Equivalent to Docker's `--build-arg` flag.
|
||||
:param pulumi.Input[builtins.bool] build_on_preview: Setting this to `false` will always skip image builds during previews,
|
||||
:param pulumi.Input[_builtins.bool] build_on_preview: Setting this to `false` will always skip image builds during previews,
|
||||
and setting it to `true` will always build images during previews.
|
||||
|
||||
Images built during previews are never exported to registries, however
|
||||
@@ -88,7 +87,7 @@ class ImageArgs:
|
||||
:param pulumi.Input['DockerfileArgs'] dockerfile: Dockerfile settings.
|
||||
|
||||
Equivalent to Docker's `--file` flag.
|
||||
:param pulumi.Input[builtins.bool] exec_: Use `exec` mode to build this image.
|
||||
:param pulumi.Input[_builtins.bool] exec_: Use `exec` mode to build this image.
|
||||
|
||||
By default the provider embeds a v25 Docker client with v0.12 buildx
|
||||
support. This helps ensure consistent behavior across environments and
|
||||
@@ -117,10 +116,10 @@ class ImageArgs:
|
||||
0.13 or later.
|
||||
|
||||
Equivalent to Docker's `--output` flag.
|
||||
:param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Attach arbitrary key/value metadata to the image.
|
||||
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Attach arbitrary key/value metadata to the image.
|
||||
|
||||
Equivalent to Docker's `--label` flag.
|
||||
:param pulumi.Input[builtins.bool] load: When `true` the build will automatically include a `docker` export.
|
||||
:param pulumi.Input[_builtins.bool] load: When `true` the build will automatically include a `docker` export.
|
||||
|
||||
Defaults to `false`.
|
||||
|
||||
@@ -130,13 +129,13 @@ class ImageArgs:
|
||||
For custom networks, configure your builder with `--driver-opt network=...`.
|
||||
|
||||
Equivalent to Docker's `--network` flag.
|
||||
:param pulumi.Input[builtins.bool] no_cache: Do not import cache manifests when building the image.
|
||||
:param pulumi.Input[_builtins.bool] no_cache: Do not import cache manifests when building the image.
|
||||
|
||||
Equivalent to Docker's `--no-cache` flag.
|
||||
:param pulumi.Input[Sequence[pulumi.Input['Platform']]] platforms: Set target platform(s) for the build. Defaults to the host's platform.
|
||||
|
||||
Equivalent to Docker's `--platform` flag.
|
||||
:param pulumi.Input[builtins.bool] pull: Always pull referenced images.
|
||||
:param pulumi.Input[_builtins.bool] pull: Always pull referenced images.
|
||||
|
||||
Equivalent to Docker's `--pull` flag.
|
||||
:param pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]] registries: Registry credentials. Required if reading or exporting to private
|
||||
@@ -146,7 +145,7 @@ class ImageArgs:
|
||||
credentials on the host.
|
||||
|
||||
Similar to `docker login`.
|
||||
:param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] secrets: A mapping of secret names to their corresponding values.
|
||||
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] secrets: A mapping of secret names to their corresponding values.
|
||||
|
||||
Unlike the Docker CLI, these can be passed by value and do not need to
|
||||
exist on-disk or in environment variables.
|
||||
@@ -158,13 +157,13 @@ class ImageArgs:
|
||||
:param pulumi.Input[Sequence[pulumi.Input['SSHArgs']]] ssh: SSH agent socket or keys to expose to the build.
|
||||
|
||||
Equivalent to Docker's `--ssh` flag.
|
||||
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: Name and optionally a tag (format: `name:tag`).
|
||||
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Name and optionally a tag (format: `name:tag`).
|
||||
|
||||
If exporting to a registry, the name should include the fully qualified
|
||||
registry address (e.g. `docker.io/pulumi/pulumi:latest`).
|
||||
|
||||
Equivalent to Docker's `--tag` flag.
|
||||
:param pulumi.Input[builtins.str] target: Set the target build stage(s) to build.
|
||||
:param pulumi.Input[_builtins.str] target: Set the target build stage(s) to build.
|
||||
|
||||
If not specified all targets will be built by default.
|
||||
|
||||
@@ -218,9 +217,9 @@ class ImageArgs:
|
||||
if target is not None:
|
||||
pulumi.set(__self__, "target", target)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def push(self) -> pulumi.Input[builtins.bool]:
|
||||
def push(self) -> pulumi.Input[_builtins.bool]:
|
||||
"""
|
||||
When `true` the build will automatically include a `registry` export.
|
||||
|
||||
@@ -231,12 +230,12 @@ class ImageArgs:
|
||||
return pulumi.get(self, "push")
|
||||
|
||||
@push.setter
|
||||
def push(self, value: pulumi.Input[builtins.bool]):
|
||||
def push(self, value: pulumi.Input[_builtins.bool]):
|
||||
pulumi.set(self, "push", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="addHosts")
|
||||
def add_hosts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
|
||||
def add_hosts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
||||
"""
|
||||
Custom `host:ip` mappings to use during the build.
|
||||
|
||||
@@ -245,12 +244,12 @@ class ImageArgs:
|
||||
return pulumi.get(self, "add_hosts")
|
||||
|
||||
@add_hosts.setter
|
||||
def add_hosts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
|
||||
def add_hosts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
||||
pulumi.set(self, "add_hosts", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="buildArgs")
|
||||
def build_args(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
|
||||
def build_args(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
||||
"""
|
||||
`ARG` names and values to set during the build.
|
||||
|
||||
@@ -265,12 +264,12 @@ class ImageArgs:
|
||||
return pulumi.get(self, "build_args")
|
||||
|
||||
@build_args.setter
|
||||
def build_args(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
|
||||
def build_args(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
||||
pulumi.set(self, "build_args", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="buildOnPreview")
|
||||
def build_on_preview(self) -> Optional[pulumi.Input[builtins.bool]]:
|
||||
def build_on_preview(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
"""
|
||||
Setting this to `false` will always skip image builds during previews,
|
||||
and setting it to `true` will always build images during previews.
|
||||
@@ -287,10 +286,10 @@ class ImageArgs:
|
||||
return pulumi.get(self, "build_on_preview")
|
||||
|
||||
@build_on_preview.setter
|
||||
def build_on_preview(self, value: Optional[pulumi.Input[builtins.bool]]):
|
||||
def build_on_preview(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
||||
pulumi.set(self, "build_on_preview", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def builder(self) -> Optional[pulumi.Input['BuilderConfigArgs']]:
|
||||
"""
|
||||
@@ -302,7 +301,7 @@ class ImageArgs:
|
||||
def builder(self, value: Optional[pulumi.Input['BuilderConfigArgs']]):
|
||||
pulumi.set(self, "builder", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="cacheFrom")
|
||||
def cache_from(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CacheFromArgs']]]]:
|
||||
"""
|
||||
@@ -316,7 +315,7 @@ class ImageArgs:
|
||||
def cache_from(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CacheFromArgs']]]]):
|
||||
pulumi.set(self, "cache_from", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="cacheTo")
|
||||
def cache_to(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CacheToArgs']]]]:
|
||||
"""
|
||||
@@ -330,7 +329,7 @@ class ImageArgs:
|
||||
def cache_to(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CacheToArgs']]]]):
|
||||
pulumi.set(self, "cache_to", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def context(self) -> Optional[pulumi.Input['BuildContextArgs']]:
|
||||
"""
|
||||
@@ -344,7 +343,7 @@ class ImageArgs:
|
||||
def context(self, value: Optional[pulumi.Input['BuildContextArgs']]):
|
||||
pulumi.set(self, "context", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def dockerfile(self) -> Optional[pulumi.Input['DockerfileArgs']]:
|
||||
"""
|
||||
@@ -358,9 +357,9 @@ class ImageArgs:
|
||||
def dockerfile(self, value: Optional[pulumi.Input['DockerfileArgs']]):
|
||||
pulumi.set(self, "dockerfile", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="exec")
|
||||
def exec_(self) -> Optional[pulumi.Input[builtins.bool]]:
|
||||
def exec_(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
"""
|
||||
Use `exec` mode to build this image.
|
||||
|
||||
@@ -386,10 +385,10 @@ class ImageArgs:
|
||||
return pulumi.get(self, "exec_")
|
||||
|
||||
@exec_.setter
|
||||
def exec_(self, value: Optional[pulumi.Input[builtins.bool]]):
|
||||
def exec_(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
||||
pulumi.set(self, "exec_", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def exports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExportArgs']]]]:
|
||||
"""
|
||||
@@ -409,9 +408,9 @@ class ImageArgs:
|
||||
def exports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExportArgs']]]]):
|
||||
pulumi.set(self, "exports", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
|
||||
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
||||
"""
|
||||
Attach arbitrary key/value metadata to the image.
|
||||
|
||||
@@ -420,12 +419,12 @@ class ImageArgs:
|
||||
return pulumi.get(self, "labels")
|
||||
|
||||
@labels.setter
|
||||
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
|
||||
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
||||
pulumi.set(self, "labels", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def load(self) -> Optional[pulumi.Input[builtins.bool]]:
|
||||
def load(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
"""
|
||||
When `true` the build will automatically include a `docker` export.
|
||||
|
||||
@@ -436,10 +435,10 @@ class ImageArgs:
|
||||
return pulumi.get(self, "load")
|
||||
|
||||
@load.setter
|
||||
def load(self, value: Optional[pulumi.Input[builtins.bool]]):
|
||||
def load(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
||||
pulumi.set(self, "load", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def network(self) -> Optional[pulumi.Input['NetworkMode']]:
|
||||
"""
|
||||
@@ -455,9 +454,9 @@ class ImageArgs:
|
||||
def network(self, value: Optional[pulumi.Input['NetworkMode']]):
|
||||
pulumi.set(self, "network", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="noCache")
|
||||
def no_cache(self) -> Optional[pulumi.Input[builtins.bool]]:
|
||||
def no_cache(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
"""
|
||||
Do not import cache manifests when building the image.
|
||||
|
||||
@@ -466,10 +465,10 @@ class ImageArgs:
|
||||
return pulumi.get(self, "no_cache")
|
||||
|
||||
@no_cache.setter
|
||||
def no_cache(self, value: Optional[pulumi.Input[builtins.bool]]):
|
||||
def no_cache(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
||||
pulumi.set(self, "no_cache", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def platforms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]]:
|
||||
"""
|
||||
@@ -483,9 +482,9 @@ class ImageArgs:
|
||||
def platforms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]]):
|
||||
pulumi.set(self, "platforms", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def pull(self) -> Optional[pulumi.Input[builtins.bool]]:
|
||||
def pull(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
"""
|
||||
Always pull referenced images.
|
||||
|
||||
@@ -494,10 +493,10 @@ class ImageArgs:
|
||||
return pulumi.get(self, "pull")
|
||||
|
||||
@pull.setter
|
||||
def pull(self, value: Optional[pulumi.Input[builtins.bool]]):
|
||||
def pull(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
||||
pulumi.set(self, "pull", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def registries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]]:
|
||||
"""
|
||||
@@ -515,9 +514,9 @@ class ImageArgs:
|
||||
def registries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]]):
|
||||
pulumi.set(self, "registries", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def secrets(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
|
||||
def secrets(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
||||
"""
|
||||
A mapping of secret names to their corresponding values.
|
||||
|
||||
@@ -532,10 +531,10 @@ class ImageArgs:
|
||||
return pulumi.get(self, "secrets")
|
||||
|
||||
@secrets.setter
|
||||
def secrets(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
|
||||
def secrets(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
||||
pulumi.set(self, "secrets", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def ssh(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SSHArgs']]]]:
|
||||
"""
|
||||
@@ -549,9 +548,9 @@ class ImageArgs:
|
||||
def ssh(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SSHArgs']]]]):
|
||||
pulumi.set(self, "ssh", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
|
||||
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
||||
"""
|
||||
Name and optionally a tag (format: `name:tag`).
|
||||
|
||||
@@ -563,12 +562,12 @@ class ImageArgs:
|
||||
return pulumi.get(self, "tags")
|
||||
|
||||
@tags.setter
|
||||
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
|
||||
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
||||
pulumi.set(self, "tags", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def target(self) -> Optional[pulumi.Input[builtins.str]]:
|
||||
def target(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
"""
|
||||
Set the target build stage(s) to build.
|
||||
|
||||
@@ -579,7 +578,7 @@ class ImageArgs:
|
||||
return pulumi.get(self, "target")
|
||||
|
||||
@target.setter
|
||||
def target(self, value: Optional[pulumi.Input[builtins.str]]):
|
||||
def target(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
pulumi.set(self, "target", value)
|
||||
|
||||
|
||||
@@ -589,28 +588,28 @@ class Image(pulumi.CustomResource):
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
add_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
||||
build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
|
||||
build_on_preview: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
add_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
||||
build_on_preview: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
builder: Optional[pulumi.Input[Union['BuilderConfigArgs', 'BuilderConfigArgsDict']]] = None,
|
||||
cache_from: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheFromArgs', 'CacheFromArgsDict']]]]] = None,
|
||||
cache_to: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheToArgs', 'CacheToArgsDict']]]]] = None,
|
||||
context: Optional[pulumi.Input[Union['BuildContextArgs', 'BuildContextArgsDict']]] = None,
|
||||
dockerfile: Optional[pulumi.Input[Union['DockerfileArgs', 'DockerfileArgsDict']]] = None,
|
||||
exec_: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
exec_: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
exports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExportArgs', 'ExportArgsDict']]]]] = None,
|
||||
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
|
||||
load: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
||||
load: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
network: Optional[pulumi.Input['NetworkMode']] = None,
|
||||
no_cache: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
no_cache: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
platforms: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]] = None,
|
||||
pull: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
push: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
pull: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
push: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
|
||||
secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
|
||||
secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
||||
ssh: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SSHArgs', 'SSHArgsDict']]]]] = None,
|
||||
tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
||||
target: Optional[pulumi.Input[builtins.str]] = None,
|
||||
tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
target: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
A Docker image built using buildx -- Docker's interface to the improved
|
||||
@@ -921,10 +920,10 @@ class Image(pulumi.CustomResource):
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] add_hosts: Custom `host:ip` mappings to use during the build.
|
||||
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] add_hosts: Custom `host:ip` mappings to use during the build.
|
||||
|
||||
Equivalent to Docker's `--add-host` flag.
|
||||
:param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] build_args: `ARG` names and values to set during the build.
|
||||
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] build_args: `ARG` names and values to set during the build.
|
||||
|
||||
These variables are accessed like environment variables inside `RUN`
|
||||
instructions.
|
||||
@@ -933,7 +932,7 @@ class Image(pulumi.CustomResource):
|
||||
if these arguments are sensitive.
|
||||
|
||||
Equivalent to Docker's `--build-arg` flag.
|
||||
:param pulumi.Input[builtins.bool] build_on_preview: Setting this to `false` will always skip image builds during previews,
|
||||
:param pulumi.Input[_builtins.bool] build_on_preview: Setting this to `false` will always skip image builds during previews,
|
||||
and setting it to `true` will always build images during previews.
|
||||
|
||||
Images built during previews are never exported to registries, however
|
||||
@@ -957,7 +956,7 @@ class Image(pulumi.CustomResource):
|
||||
:param pulumi.Input[Union['DockerfileArgs', 'DockerfileArgsDict']] dockerfile: Dockerfile settings.
|
||||
|
||||
Equivalent to Docker's `--file` flag.
|
||||
:param pulumi.Input[builtins.bool] exec_: Use `exec` mode to build this image.
|
||||
:param pulumi.Input[_builtins.bool] exec_: Use `exec` mode to build this image.
|
||||
|
||||
By default the provider embeds a v25 Docker client with v0.12 buildx
|
||||
support. This helps ensure consistent behavior across environments and
|
||||
@@ -986,10 +985,10 @@ class Image(pulumi.CustomResource):
|
||||
0.13 or later.
|
||||
|
||||
Equivalent to Docker's `--output` flag.
|
||||
:param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Attach arbitrary key/value metadata to the image.
|
||||
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Attach arbitrary key/value metadata to the image.
|
||||
|
||||
Equivalent to Docker's `--label` flag.
|
||||
:param pulumi.Input[builtins.bool] load: When `true` the build will automatically include a `docker` export.
|
||||
:param pulumi.Input[_builtins.bool] load: When `true` the build will automatically include a `docker` export.
|
||||
|
||||
Defaults to `false`.
|
||||
|
||||
@@ -999,16 +998,16 @@ class Image(pulumi.CustomResource):
|
||||
For custom networks, configure your builder with `--driver-opt network=...`.
|
||||
|
||||
Equivalent to Docker's `--network` flag.
|
||||
:param pulumi.Input[builtins.bool] no_cache: Do not import cache manifests when building the image.
|
||||
:param pulumi.Input[_builtins.bool] no_cache: Do not import cache manifests when building the image.
|
||||
|
||||
Equivalent to Docker's `--no-cache` flag.
|
||||
:param pulumi.Input[Sequence[pulumi.Input['Platform']]] platforms: Set target platform(s) for the build. Defaults to the host's platform.
|
||||
|
||||
Equivalent to Docker's `--platform` flag.
|
||||
:param pulumi.Input[builtins.bool] pull: Always pull referenced images.
|
||||
:param pulumi.Input[_builtins.bool] pull: Always pull referenced images.
|
||||
|
||||
Equivalent to Docker's `--pull` flag.
|
||||
:param pulumi.Input[builtins.bool] push: When `true` the build will automatically include a `registry` export.
|
||||
:param pulumi.Input[_builtins.bool] push: When `true` the build will automatically include a `registry` export.
|
||||
|
||||
Defaults to `false`.
|
||||
|
||||
@@ -1020,7 +1019,7 @@ class Image(pulumi.CustomResource):
|
||||
credentials on the host.
|
||||
|
||||
Similar to `docker login`.
|
||||
:param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] secrets: A mapping of secret names to their corresponding values.
|
||||
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] secrets: A mapping of secret names to their corresponding values.
|
||||
|
||||
Unlike the Docker CLI, these can be passed by value and do not need to
|
||||
exist on-disk or in environment variables.
|
||||
@@ -1032,13 +1031,13 @@ class Image(pulumi.CustomResource):
|
||||
:param pulumi.Input[Sequence[pulumi.Input[Union['SSHArgs', 'SSHArgsDict']]]] ssh: SSH agent socket or keys to expose to the build.
|
||||
|
||||
Equivalent to Docker's `--ssh` flag.
|
||||
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: Name and optionally a tag (format: `name:tag`).
|
||||
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Name and optionally a tag (format: `name:tag`).
|
||||
|
||||
If exporting to a registry, the name should include the fully qualified
|
||||
registry address (e.g. `docker.io/pulumi/pulumi:latest`).
|
||||
|
||||
Equivalent to Docker's `--tag` flag.
|
||||
:param pulumi.Input[builtins.str] target: Set the target build stage(s) to build.
|
||||
:param pulumi.Input[_builtins.str] target: Set the target build stage(s) to build.
|
||||
|
||||
If not specified all targets will be built by default.
|
||||
|
||||
@@ -1372,28 +1371,28 @@ class Image(pulumi.CustomResource):
|
||||
def _internal_init(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
add_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
||||
build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
|
||||
build_on_preview: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
add_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
build_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
||||
build_on_preview: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
builder: Optional[pulumi.Input[Union['BuilderConfigArgs', 'BuilderConfigArgsDict']]] = None,
|
||||
cache_from: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheFromArgs', 'CacheFromArgsDict']]]]] = None,
|
||||
cache_to: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CacheToArgs', 'CacheToArgsDict']]]]] = None,
|
||||
context: Optional[pulumi.Input[Union['BuildContextArgs', 'BuildContextArgsDict']]] = None,
|
||||
dockerfile: Optional[pulumi.Input[Union['DockerfileArgs', 'DockerfileArgsDict']]] = None,
|
||||
exec_: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
exec_: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
exports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ExportArgs', 'ExportArgsDict']]]]] = None,
|
||||
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
|
||||
load: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
||||
load: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
network: Optional[pulumi.Input['NetworkMode']] = None,
|
||||
no_cache: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
no_cache: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
platforms: Optional[pulumi.Input[Sequence[pulumi.Input['Platform']]]] = None,
|
||||
pull: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
push: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
pull: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
push: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
|
||||
secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
|
||||
secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
||||
ssh: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SSHArgs', 'SSHArgsDict']]]]] = None,
|
||||
tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
||||
target: Optional[pulumi.Input[builtins.str]] = None,
|
||||
tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
target: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
||||
if not isinstance(opts, pulumi.ResourceOptions):
|
||||
@@ -1483,9 +1482,9 @@ class Image(pulumi.CustomResource):
|
||||
__props__.__dict__["target"] = None
|
||||
return Image(resource_name, opts=opts, __props__=__props__)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="addHosts")
|
||||
def add_hosts(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
|
||||
def add_hosts(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
||||
"""
|
||||
Custom `host:ip` mappings to use during the build.
|
||||
|
||||
@@ -1493,9 +1492,9 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "add_hosts")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="buildArgs")
|
||||
def build_args(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]:
|
||||
def build_args(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
|
||||
"""
|
||||
`ARG` names and values to set during the build.
|
||||
|
||||
@@ -1509,9 +1508,9 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "build_args")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="buildOnPreview")
|
||||
def build_on_preview(self) -> pulumi.Output[Optional[builtins.bool]]:
|
||||
def build_on_preview(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Setting this to `false` will always skip image builds during previews,
|
||||
and setting it to `true` will always build images during previews.
|
||||
@@ -1527,7 +1526,7 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "build_on_preview")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def builder(self) -> pulumi.Output[Optional['outputs.BuilderConfig']]:
|
||||
"""
|
||||
@@ -1535,7 +1534,7 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "builder")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="cacheFrom")
|
||||
def cache_from(self) -> pulumi.Output[Optional[Sequence['outputs.CacheFrom']]]:
|
||||
"""
|
||||
@@ -1545,7 +1544,7 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "cache_from")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="cacheTo")
|
||||
def cache_to(self) -> pulumi.Output[Optional[Sequence['outputs.CacheTo']]]:
|
||||
"""
|
||||
@@ -1555,7 +1554,7 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "cache_to")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def context(self) -> pulumi.Output[Optional['outputs.BuildContext']]:
|
||||
"""
|
||||
@@ -1565,9 +1564,9 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "context")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="contextHash")
|
||||
def context_hash(self) -> pulumi.Output[builtins.str]:
|
||||
def context_hash(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
A preliminary hash of the image's build context.
|
||||
|
||||
@@ -1575,9 +1574,9 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "context_hash")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def digest(self) -> pulumi.Output[builtins.str]:
|
||||
def digest(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
A SHA256 digest of the image if it was exported to a registry or
|
||||
elsewhere.
|
||||
@@ -1589,7 +1588,7 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "digest")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def dockerfile(self) -> pulumi.Output[Optional['outputs.Dockerfile']]:
|
||||
"""
|
||||
@@ -1599,9 +1598,9 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "dockerfile")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="exec")
|
||||
def exec_(self) -> pulumi.Output[Optional[builtins.bool]]:
|
||||
def exec_(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Use `exec` mode to build this image.
|
||||
|
||||
@@ -1626,7 +1625,7 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "exec_")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def exports(self) -> pulumi.Output[Optional[Sequence['outputs.Export']]]:
|
||||
"""
|
||||
@@ -1642,9 +1641,9 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "exports")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def labels(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]:
|
||||
def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
|
||||
"""
|
||||
Attach arbitrary key/value metadata to the image.
|
||||
|
||||
@@ -1652,9 +1651,9 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "labels")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def load(self) -> pulumi.Output[Optional[builtins.bool]]:
|
||||
def load(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
||||
"""
|
||||
When `true` the build will automatically include a `docker` export.
|
||||
|
||||
@@ -1664,7 +1663,7 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "load")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def network(self) -> pulumi.Output[Optional['NetworkMode']]:
|
||||
"""
|
||||
@@ -1676,9 +1675,9 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "network")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter(name="noCache")
|
||||
def no_cache(self) -> pulumi.Output[Optional[builtins.bool]]:
|
||||
def no_cache(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Do not import cache manifests when building the image.
|
||||
|
||||
@@ -1686,7 +1685,7 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "no_cache")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def platforms(self) -> pulumi.Output[Optional[Sequence['Platform']]]:
|
||||
"""
|
||||
@@ -1696,9 +1695,9 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "platforms")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def pull(self) -> pulumi.Output[Optional[builtins.bool]]:
|
||||
def pull(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
||||
"""
|
||||
Always pull referenced images.
|
||||
|
||||
@@ -1706,9 +1705,9 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "pull")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def push(self) -> pulumi.Output[builtins.bool]:
|
||||
def push(self) -> pulumi.Output[_builtins.bool]:
|
||||
"""
|
||||
When `true` the build will automatically include a `registry` export.
|
||||
|
||||
@@ -1718,9 +1717,9 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "push")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def ref(self) -> pulumi.Output[builtins.str]:
|
||||
def ref(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
If the image was pushed to any registries then this will contain a
|
||||
single fully-qualified tag including the build's digest.
|
||||
@@ -1739,7 +1738,7 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "ref")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def registries(self) -> pulumi.Output[Optional[Sequence['outputs.Registry']]]:
|
||||
"""
|
||||
@@ -1753,9 +1752,9 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "registries")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def secrets(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]:
|
||||
def secrets(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
|
||||
"""
|
||||
A mapping of secret names to their corresponding values.
|
||||
|
||||
@@ -1769,7 +1768,7 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "secrets")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def ssh(self) -> pulumi.Output[Optional[Sequence['outputs.SSH']]]:
|
||||
"""
|
||||
@@ -1779,9 +1778,9 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "ssh")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def tags(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
|
||||
def tags(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
||||
"""
|
||||
Name and optionally a tag (format: `name:tag`).
|
||||
|
||||
@@ -1792,9 +1791,9 @@ class Image(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "tags")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def target(self) -> pulumi.Output[Optional[builtins.str]]:
|
||||
def target(self) -> pulumi.Output[Optional[_builtins.str]]:
|
||||
"""
|
||||
Set the target build stage(s) to build.
|
||||
|
||||
|
||||
71
sdk/python/pulumi_docker_build/index.py
generated
71
sdk/python/pulumi_docker_build/index.py
generated
@@ -2,8 +2,7 @@
|
||||
# *** WARNING: this file was generated by pulumi-language-python. ***
|
||||
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
import builtins
|
||||
import copy
|
||||
import builtins as _builtins
|
||||
import warnings
|
||||
import sys
|
||||
import pulumi
|
||||
@@ -22,15 +21,15 @@ __all__ = ['IndexArgs', 'Index']
|
||||
@pulumi.input_type
|
||||
class IndexArgs:
|
||||
def __init__(__self__, *,
|
||||
sources: pulumi.Input[Sequence[pulumi.Input[builtins.str]]],
|
||||
tag: pulumi.Input[builtins.str],
|
||||
push: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
sources: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
|
||||
tag: pulumi.Input[_builtins.str],
|
||||
push: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
registry: Optional[pulumi.Input['RegistryArgs']] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Index resource.
|
||||
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] sources: Existing images to include in the index.
|
||||
:param pulumi.Input[builtins.str] tag: The tag to apply to the index.
|
||||
:param pulumi.Input[builtins.bool] push: If true, push the index to the target registry.
|
||||
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] sources: Existing images to include in the index.
|
||||
:param pulumi.Input[_builtins.str] tag: The tag to apply to the index.
|
||||
:param pulumi.Input[_builtins.bool] push: If true, push the index to the target registry.
|
||||
|
||||
Defaults to `true`.
|
||||
:param pulumi.Input['RegistryArgs'] registry: Authentication for the registry where the tagged index will be pushed.
|
||||
@@ -46,33 +45,33 @@ class IndexArgs:
|
||||
if registry is not None:
|
||||
pulumi.set(__self__, "registry", registry)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def sources(self) -> pulumi.Input[Sequence[pulumi.Input[builtins.str]]]:
|
||||
def sources(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
|
||||
"""
|
||||
Existing images to include in the index.
|
||||
"""
|
||||
return pulumi.get(self, "sources")
|
||||
|
||||
@sources.setter
|
||||
def sources(self, value: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]):
|
||||
def sources(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
|
||||
pulumi.set(self, "sources", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def tag(self) -> pulumi.Input[builtins.str]:
|
||||
def tag(self) -> pulumi.Input[_builtins.str]:
|
||||
"""
|
||||
The tag to apply to the index.
|
||||
"""
|
||||
return pulumi.get(self, "tag")
|
||||
|
||||
@tag.setter
|
||||
def tag(self, value: pulumi.Input[builtins.str]):
|
||||
def tag(self, value: pulumi.Input[_builtins.str]):
|
||||
pulumi.set(self, "tag", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def push(self) -> Optional[pulumi.Input[builtins.bool]]:
|
||||
def push(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
||||
"""
|
||||
If true, push the index to the target registry.
|
||||
|
||||
@@ -81,10 +80,10 @@ class IndexArgs:
|
||||
return pulumi.get(self, "push")
|
||||
|
||||
@push.setter
|
||||
def push(self, value: Optional[pulumi.Input[builtins.bool]]):
|
||||
def push(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
||||
pulumi.set(self, "push", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def registry(self) -> Optional[pulumi.Input['RegistryArgs']]:
|
||||
"""
|
||||
@@ -105,10 +104,10 @@ class Index(pulumi.CustomResource):
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
push: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
push: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
registry: Optional[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]] = None,
|
||||
sources: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
||||
tag: Optional[pulumi.Input[builtins.str]] = None,
|
||||
sources: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
tag: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
A wrapper around `docker buildx imagetools create` to create an index
|
||||
@@ -182,14 +181,14 @@ class Index(pulumi.CustomResource):
|
||||
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
:param pulumi.Input[builtins.bool] push: If true, push the index to the target registry.
|
||||
:param pulumi.Input[_builtins.bool] push: If true, push the index to the target registry.
|
||||
|
||||
Defaults to `true`.
|
||||
:param pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']] registry: Authentication for the registry where the tagged index will be pushed.
|
||||
|
||||
Credentials can also be included with the provider's configuration.
|
||||
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] sources: Existing images to include in the index.
|
||||
:param pulumi.Input[builtins.str] tag: The tag to apply to the index.
|
||||
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] sources: Existing images to include in the index.
|
||||
:param pulumi.Input[_builtins.str] tag: The tag to apply to the index.
|
||||
"""
|
||||
...
|
||||
@overload
|
||||
@@ -282,10 +281,10 @@ class Index(pulumi.CustomResource):
|
||||
def _internal_init(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
push: Optional[pulumi.Input[builtins.bool]] = None,
|
||||
push: Optional[pulumi.Input[_builtins.bool]] = None,
|
||||
registry: Optional[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]] = None,
|
||||
sources: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
||||
tag: Optional[pulumi.Input[builtins.str]] = None,
|
||||
sources: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
||||
tag: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
__props__=None):
|
||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
||||
if not isinstance(opts, pulumi.ResourceOptions):
|
||||
@@ -335,9 +334,9 @@ class Index(pulumi.CustomResource):
|
||||
__props__.__dict__["tag"] = None
|
||||
return Index(resource_name, opts=opts, __props__=__props__)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def push(self) -> pulumi.Output[Optional[builtins.bool]]:
|
||||
def push(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
||||
"""
|
||||
If true, push the index to the target registry.
|
||||
|
||||
@@ -345,9 +344,9 @@ class Index(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "push")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def ref(self) -> pulumi.Output[builtins.str]:
|
||||
def ref(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
The pushed tag with digest.
|
||||
|
||||
@@ -355,7 +354,7 @@ class Index(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "ref")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def registry(self) -> pulumi.Output[Optional['outputs.Registry']]:
|
||||
"""
|
||||
@@ -365,17 +364,17 @@ class Index(pulumi.CustomResource):
|
||||
"""
|
||||
return pulumi.get(self, "registry")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def sources(self) -> pulumi.Output[Sequence[builtins.str]]:
|
||||
def sources(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
||||
"""
|
||||
Existing images to include in the index.
|
||||
"""
|
||||
return pulumi.get(self, "sources")
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def tag(self) -> pulumi.Output[builtins.str]:
|
||||
def tag(self) -> pulumi.Output[_builtins.str]:
|
||||
"""
|
||||
The tag to apply to the index.
|
||||
"""
|
||||
|
||||
975
sdk/python/pulumi_docker_build/outputs.py
generated
975
sdk/python/pulumi_docker_build/outputs.py
generated
File diff suppressed because it is too large
Load Diff
25
sdk/python/pulumi_docker_build/provider.py
generated
25
sdk/python/pulumi_docker_build/provider.py
generated
@@ -2,8 +2,7 @@
|
||||
# *** WARNING: this file was generated by pulumi-language-python. ***
|
||||
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
import builtins
|
||||
import copy
|
||||
import builtins as _builtins
|
||||
import warnings
|
||||
import sys
|
||||
import pulumi
|
||||
@@ -21,11 +20,11 @@ __all__ = ['ProviderArgs', 'Provider']
|
||||
@pulumi.input_type
|
||||
class ProviderArgs:
|
||||
def __init__(__self__, *,
|
||||
host: Optional[pulumi.Input[builtins.str]] = None,
|
||||
host: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registries: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]] = None):
|
||||
"""
|
||||
The set of arguments for constructing a Provider resource.
|
||||
:param pulumi.Input[builtins.str] host: The build daemon's address.
|
||||
:param pulumi.Input[_builtins.str] host: The build daemon's address.
|
||||
"""
|
||||
if host is None:
|
||||
host = (_utilities.get_env('DOCKER_HOST') or '')
|
||||
@@ -34,19 +33,19 @@ class ProviderArgs:
|
||||
if registries is not None:
|
||||
pulumi.set(__self__, "registries", registries)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def host(self) -> Optional[pulumi.Input[builtins.str]]:
|
||||
def host(self) -> Optional[pulumi.Input[_builtins.str]]:
|
||||
"""
|
||||
The build daemon's address.
|
||||
"""
|
||||
return pulumi.get(self, "host")
|
||||
|
||||
@host.setter
|
||||
def host(self, value: Optional[pulumi.Input[builtins.str]]):
|
||||
def host(self, value: Optional[pulumi.Input[_builtins.str]]):
|
||||
pulumi.set(self, "host", value)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def registries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryArgs']]]]:
|
||||
return pulumi.get(self, "registries")
|
||||
@@ -62,14 +61,14 @@ class Provider(pulumi.ProviderResource):
|
||||
def __init__(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
host: Optional[pulumi.Input[builtins.str]] = None,
|
||||
host: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
|
||||
__props__=None):
|
||||
"""
|
||||
Create a Docker-build resource with the given unique name, props, and options.
|
||||
:param str resource_name: The name of the resource.
|
||||
:param pulumi.ResourceOptions opts: Options for the resource.
|
||||
:param pulumi.Input[builtins.str] host: The build daemon's address.
|
||||
:param pulumi.Input[_builtins.str] host: The build daemon's address.
|
||||
"""
|
||||
...
|
||||
@overload
|
||||
@@ -94,7 +93,7 @@ class Provider(pulumi.ProviderResource):
|
||||
def _internal_init(__self__,
|
||||
resource_name: str,
|
||||
opts: Optional[pulumi.ResourceOptions] = None,
|
||||
host: Optional[pulumi.Input[builtins.str]] = None,
|
||||
host: Optional[pulumi.Input[_builtins.str]] = None,
|
||||
registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryArgs', 'RegistryArgsDict']]]]] = None,
|
||||
__props__=None):
|
||||
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
||||
@@ -115,9 +114,9 @@ class Provider(pulumi.ProviderResource):
|
||||
__props__,
|
||||
opts)
|
||||
|
||||
@property
|
||||
@_builtins.property
|
||||
@pulumi.getter
|
||||
def host(self) -> pulumi.Output[Optional[builtins.str]]:
|
||||
def host(self) -> pulumi.Output[Optional[_builtins.str]]:
|
||||
"""
|
||||
The build daemon's address.
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user