Ошибка Pulumi при использовании входа в систему Service Principal с информацией о подключении в конфигурации Pulumi

Я использую GitHub Actions для запуска pulumi-pr.yml

Я хочу иметь возможность развертывать в разных подписках на основе стека.

Я создал принцип службы рекламы az и поместил информацию в конфигурацию Pulumi, используя следующее:

pulumi config set azure:clientId <clientID>
pulumi config set azure:clientSecret <clientSecret> --secret
pulumi config set azure:tenantId <tenantID>
pulumi config set azure:subscriptionId <subscriptionId>

При запуске действия GitHub я получаю следующую ошибку:

error: building auth config: obtain subscription() from Azure CLI: Error parsing json result from the Azure CLI: Error waiting for the Azure CLI: exit status 1

Вот весь ямл:

name: Pulumi Preview

on:
  pull_request:
    branches:
      - main
  workflow_dispatch:

jobs:
  preview:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 1
      - name: Install Pulumi CLI
        uses: pulumi/action-install-pulumi-cli@v1
      - uses: pulumi/actions@v3
        with:
          command: preview
          stack-name: trinsic/Cramer
          work-dir: infrastructure/Source/Trinsic.Okapi
        env:
          PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}

person Steven T. Cramer    schedule 21.05.2021    source источник
comment
Передайте секреты переменным среды, как токен доступа Pulumi   -  person Tomislav Markovski    schedule 22.05.2021
comment
@TomislavMarkovski Если мы передаем секреты переменным окружения, то какой смысл устанавливать их в конфиге Pulumi?   -  person Steven T. Cramer    schedule 25.05.2021
comment
Гибкость? Переменные env влияют на всю вашу систему, в то время как config можно запускать для каждого процесса оболочки или файла конфигурации.   -  person Tomislav Markovski    schedule 25.05.2021


Ответы (1)


Следующий файл конфигурации стека (например, Pulumi.dev.yaml) и файлы рабочего процесса действий github должны работать.

Файл конфигурации (на основе https://www.pulumi.com/docs/intro/cloud-providers/azure/setup/#service-principal-authentication)

config:
  azure-native:clientId:
    secure: AAABAJ....BDFDSFSD
  azure-native:clientSecret:
    secure: AAABABebOGe5....BDSFDS
  azure-native:location: CentralUS
  azure-native:subscriptionId:
    secure: AAABAEgNKrTHhf....SFDFSDFSD
  azure-native:tenantId:
    secure: AAABAIoNQ...GDEFSFDSfs

И такой файл рабочего процесса:

name: Update:Windows - Config Vars - Manual Trigger

on:
  workflow_dispatch:
    branches:
      - main
jobs:
  up:
    name: Update
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: 14.x
      - run: npm install
      - uses: pulumi/actions@v3
        with:
          command: update
          stack-name: dev
        env:
          PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
person Mitch G    schedule 22.06.2021