From fcd7a081ed4d12ac0f59f25f40436a2ccf95efd8 Mon Sep 17 00:00:00 2001 From: Ryan Johnson <43426700+ryanjohnsontv@users.noreply.github.com> Date: Mon, 6 Jan 2025 12:50:41 -0600 Subject: [PATCH] Release 1.31.x (#6) * Release 1.31.x * Calculate version when building * Undo version logic change --- .github/dependabot.yml | 5 + .github/workflows/build.yml | 6 +- .github/workflows/docker-build.yml | 2 +- .github/workflows/pr-build.yml | 2 +- gradle.properties | 2 +- package.json | 4 +- packages/amazon/CHANGELOG.md | 32 + packages/amazon/package.json | 4 +- .../serverGroupCommandBuilder.service.ts | 3 + packages/app/CHANGELOG.md | 40 ++ packages/app/package.json | 24 +- packages/appengine/CHANGELOG.md | 32 + packages/appengine/package.json | 4 +- packages/azure/CHANGELOG.md | 32 + packages/azure/package.json | 4 +- packages/cloudfoundry/CHANGELOG.md | 32 + packages/cloudfoundry/package.json | 4 +- packages/cloudrun/CHANGELOG.md | 43 ++ packages/cloudrun/package.json | 4 +- packages/cloudrun/src/cloudrun.module.ts | 1 + packages/cloudrun/src/help/cloudrun.help.ts | 34 +- .../wizard/basicSettings.component.html | 1 + ...eAllocationConfigurationRow.component.html | 18 + ...ageAllocationConfigurationRow.component.ts | 37 +- .../src/loadBalancer/details/details.html | 3 + .../loadBalancer/loadBalancerTransformer.ts | 2 +- .../cloudrun/src/manifest/ManifestSource.ts | 4 + packages/cloudrun/src/manifest/index.ts | 2 + .../cloudrun/src/manifest/manifest.service.ts | 89 +++ .../manifestCommandBuilder.service.ts | 116 +++ .../src/manifest/wizard/BasicSettings.tsx | 57 ++ .../deployManifest/DeployStageConfig.tsx | 73 ++ .../stages/deployManifest/DeployStageForm.tsx | 185 +++++ .../ManifestBindArtifactsSelector.tsx | 69 ++ .../stages/deployManifest/deploy.validator.ts | 38 + .../stages/deployManifest/deployStage.ts | 28 + .../manifestStatus/DeployStatus.tsx | 108 +++ .../manifestStatus/DeployStatusPills.tsx | 47 ++ .../manifestStatus/ManifestDetailsLink.tsx | 92 +++ .../manifestStatus/ManifestEvents.tsx | 87 +++ .../manifestStatus/ManifestStatus.less | 24 + .../manifestStatus/ManifestStatus.tsx | 46 ++ .../deployManifest/serverGroupNamePreview.tsx | 28 + .../cloudrunEditLoadBalancerStage.ts | 2 +- .../src/rolloutStrategy/redblack.strategy.ts | 7 + .../configure/wizard/ConfigFiles.tsx | 4 +- packages/core/CHANGELOG.md | 45 ++ packages/core/package.json | 4 +- .../rollingredblack.strategy.ts | 2 +- .../config/actions/PipelineConfigActions.tsx | 3 +- .../src/region/regionSelectField.directive.js | 10 +- packages/dcos/CHANGELOG.md | 35 + packages/dcos/package.json | 6 +- packages/dcos/src/job/general.component.js | 28 +- packages/dcos/src/job/labels.component.js | 8 +- packages/dcos/src/job/schedule.component.js | 8 +- packages/docker/CHANGELOG.md | 32 + packages/docker/package.json | 4 +- packages/ecs/CHANGELOG.md | 35 + packages/ecs/package.json | 8 +- .../wizard/networking/Networking.tsx | 9 +- packages/google/CHANGELOG.md | 673 +++++++++--------- packages/google/package.json | 4 +- .../metricSettings.component.js | 164 ++--- .../scalingSchedules.component.js | 74 +- .../backendService.component.js | 92 +-- .../basicSettings/basicSettings.component.js | 40 +- .../http/healthCheck/healthCheck.component.js | 72 +- .../http/hostRule/hostRule.component.js | 16 +- .../http/listeners/listener.component.js | 91 +-- .../loadBalancerType.component.js | 20 +- packages/huaweicloud/CHANGELOG.md | 32 + packages/huaweicloud/package.json | 4 +- packages/kubernetes/CHANGELOG.md | 32 + packages/kubernetes/package.json | 4 +- packages/oracle/CHANGELOG.md | 32 + packages/oracle/package.json | 4 +- packages/pluginsdk-peerdeps/CHANGELOG.md | 55 ++ packages/pluginsdk-peerdeps/package.json | 6 +- packages/presentation/CHANGELOG.md | 11 + packages/presentation/package.json | 2 +- packages/presentation/src/icons/Icon.tsx | 20 +- packages/presentation/src/types/svg.d.ts | 3 +- packages/tencentcloud/CHANGELOG.md | 32 + packages/tencentcloud/package.json | 4 +- packages/titus/CHANGELOG.md | 32 + packages/titus/package.json | 8 +- packages/tsconfig.app.base.json | 2 +- packages/tsconfig.tools.base.json | 2 +- tsconfig.json | 2 +- version.json | 2 +- 91 files changed, 2541 insertions(+), 712 deletions(-) create mode 100644 packages/cloudrun/CHANGELOG.md create mode 100644 packages/cloudrun/src/manifest/ManifestSource.ts create mode 100644 packages/cloudrun/src/manifest/index.ts create mode 100644 packages/cloudrun/src/manifest/manifest.service.ts create mode 100644 packages/cloudrun/src/manifest/manifestCommandBuilder.service.ts create mode 100644 packages/cloudrun/src/manifest/wizard/BasicSettings.tsx create mode 100644 packages/cloudrun/src/pipeline/stages/deployManifest/DeployStageConfig.tsx create mode 100644 packages/cloudrun/src/pipeline/stages/deployManifest/DeployStageForm.tsx create mode 100644 packages/cloudrun/src/pipeline/stages/deployManifest/ManifestBindArtifactsSelector.tsx create mode 100644 packages/cloudrun/src/pipeline/stages/deployManifest/deploy.validator.ts create mode 100644 packages/cloudrun/src/pipeline/stages/deployManifest/deployStage.ts create mode 100644 packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/DeployStatus.tsx create mode 100644 packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/DeployStatusPills.tsx create mode 100644 packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestDetailsLink.tsx create mode 100644 packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestEvents.tsx create mode 100644 packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestStatus.less create mode 100644 packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestStatus.tsx create mode 100644 packages/cloudrun/src/pipeline/stages/deployManifest/serverGroupNamePreview.tsx create mode 100644 packages/cloudrun/src/rolloutStrategy/redblack.strategy.ts diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 8808f4a2911..e342a140b76 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,3 +8,8 @@ updates: - dependency-name: '@spinnaker/kayenta' - dependency-name: '@spinnaker/styleguide' - dependency-name: '@spinnaker/presentation' + # Maintain dependencies for GitHub Actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "monthly" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6c7e292caad..fd98986a62e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ on: type: string env: - NODE_VERSION: 16.20.2 + NODE_VERSION: 14.21.3 jobs: branch-build: @@ -27,7 +27,7 @@ jobs: - name: Get yarn cache id: yarn-cache - run: | + run: | #echo "::set-output name=dir::$(yarn cache dir)" echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT @@ -43,7 +43,7 @@ jobs: uses: borales/actions-yarn@v5 with: cmd: install # will run `yarn install` command - + - name: Run modules uses: borales/actions-yarn@v5 with: diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 5664f38d1c8..d1e0ca6641e 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -71,4 +71,4 @@ jobs: tags: ${{ env.TAGS }} labels: | org.opencontainers.image.source=https://github.com/${{ env.IMAGE_NAME }} - org.opencontainers.image.version=${{ env.RELEASE_VERSION }} \ No newline at end of file + org.opencontainers.image.version=${{ env.RELEASE_VERSION }} diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml index 1276031caf6..eccd9e44197 100644 --- a/.github/workflows/pr-build.yml +++ b/.github/workflows/pr-build.yml @@ -25,4 +25,4 @@ jobs: uses: ./.github/workflows/docker-build.yml with: BRANCH: ${{ inputs.BRANCH }} - IMAGE_VERSION: ${{ inputs.THD_DECK_VERSION }} \ No newline at end of file + IMAGE_VERSION: ${{ inputs.THD_DECK_VERSION }} diff --git a/gradle.properties b/gradle.properties index 68ead1f18b5..b3a18fc9e29 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1 @@ -spinnakerGradleVersion=8.25.0 +spinnakerGradleVersion=8.27.0 diff --git a/package.json b/package.json index 189c3f8b7bf..7e441d25c02 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,8 @@ "registry": "http://artifacts.netflix.com/api/npm/npm-local" }, "engines": { - "node": ">=12.16.0", - "npm": ">=6.13.4", + "node": ">=14.21.3", + "npm": ">=6.14.18", "yarn": ">=1.21.1" }, "private": true, diff --git a/packages/amazon/CHANGELOG.md b/packages/amazon/CHANGELOG.md index eae599c46ae..f4ca39fdf2a 100644 --- a/packages/amazon/CHANGELOG.md +++ b/packages/amazon/CHANGELOG.md @@ -3,6 +3,38 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.13.9](https://github.com/spinnaker/deck/compare/@spinnaker/amazon@0.13.8...@spinnaker/amazon@0.13.9) (2023-06-02) + +**Note:** Version bump only for package @spinnaker/amazon + + + + + +## [0.13.8](https://github.com/spinnaker/deck/compare/@spinnaker/amazon@0.13.7...@spinnaker/amazon@0.13.8) (2023-05-11) + +**Note:** Version bump only for package @spinnaker/amazon + + + + + +## [0.13.7](https://github.com/spinnaker/deck/compare/@spinnaker/amazon@0.13.6...@spinnaker/amazon@0.13.7) (2023-05-03) + +**Note:** Version bump only for package @spinnaker/amazon + + + + + +## [0.13.6](https://github.com/spinnaker/deck/compare/@spinnaker/amazon@0.13.5...@spinnaker/amazon@0.13.6) (2023-04-03) + +**Note:** Version bump only for package @spinnaker/amazon + + + + + ## [0.13.5](https://github.com/spinnaker/deck/compare/@spinnaker/amazon@0.13.4...@spinnaker/amazon@0.13.5) (2023-02-02) diff --git a/packages/amazon/package.json b/packages/amazon/package.json index ac6375a3e0d..7449b0f61e9 100644 --- a/packages/amazon/package.json +++ b/packages/amazon/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/amazon", "license": "Apache-2.0", - "version": "0.13.5", + "version": "0.13.9", "module": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { @@ -13,7 +13,7 @@ "lib": "npm run build" }, "dependencies": { - "@spinnaker/core": "^0.23.0", + "@spinnaker/core": "^0.24.1", "@uirouter/angularjs": "1.0.26", "@uirouter/core": "6.0.8", "@uirouter/react": "1.0.7", diff --git a/packages/amazon/src/serverGroup/configure/serverGroupCommandBuilder.service.ts b/packages/amazon/src/serverGroup/configure/serverGroupCommandBuilder.service.ts index 8e8bf575af3..a035349ffd4 100644 --- a/packages/amazon/src/serverGroup/configure/serverGroupCommandBuilder.service.ts +++ b/packages/amazon/src/serverGroup/configure/serverGroupCommandBuilder.service.ts @@ -405,6 +405,9 @@ angular spotMaxPrice = launchTemplateData.instanceMarketOptions?.spotOptions?.maxPrice; command.instanceType = launchTemplateData.instanceType; command.viewState.useSimpleInstanceTypeSelector = true; + if (launchTemplateData.userData) { + command.base64UserData = launchTemplateData.userData; + } } if (serverGroup.mixedInstancesPolicy) { diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md index 129a937a994..6a4e7980e02 100644 --- a/packages/app/CHANGELOG.md +++ b/packages/app/CHANGELOG.md @@ -3,6 +3,46 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.5.5](https://github.com/spinnaker/deck/compare/deck-app@2.5.4...deck-app@2.5.5) (2023-06-02) + +**Note:** Version bump only for package deck-app + + + + + +## [2.5.4](https://github.com/spinnaker/deck/compare/deck-app@2.5.3...deck-app@2.5.4) (2023-05-11) + +**Note:** Version bump only for package deck-app + + + + + +## [2.5.3](https://github.com/spinnaker/deck/compare/deck-app@2.5.2...deck-app@2.5.3) (2023-05-03) + +**Note:** Version bump only for package deck-app + + + + + +## [2.5.2](https://github.com/spinnaker/deck/compare/deck-app@2.5.1...deck-app@2.5.2) (2023-05-01) + +**Note:** Version bump only for package deck-app + + + + + +## [2.5.1](https://github.com/spinnaker/deck/compare/deck-app@2.5.0...deck-app@2.5.1) (2023-04-03) + +**Note:** Version bump only for package deck-app + + + + + # [2.5.0](https://github.com/spinnaker/deck/compare/deck-app@2.4.3...deck-app@2.5.0) (2023-03-15) diff --git a/packages/app/package.json b/packages/app/package.json index b82a5da517e..ac8b9f83878 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,7 +1,7 @@ { "name": "deck-app", "private": true, - "version": "2.5.0", + "version": "2.5.5", "description": "", "main": "index.js", "scripts": { @@ -14,19 +14,19 @@ "author": "", "license": "ISC", "dependencies": { - "@spinnaker/amazon": "^0.13.5", - "@spinnaker/appengine": "^0.1.3", - "@spinnaker/cloudfoundry": "^0.1.3", - "@spinnaker/cloudrun": "^0.0.1", - "@spinnaker/core": "^0.23.0", - "@spinnaker/docker": "^0.0.137", - "@spinnaker/ecs": "^0.0.356", - "@spinnaker/google": "^0.2.4", + "@spinnaker/amazon": "^0.13.9", + "@spinnaker/appengine": "^0.1.7", + "@spinnaker/cloudfoundry": "^0.1.7", + "@spinnaker/cloudrun": "^0.1.3", + "@spinnaker/core": "^0.24.1", + "@spinnaker/docker": "^0.0.141", + "@spinnaker/ecs": "^0.0.360", + "@spinnaker/google": "^0.2.8", "@spinnaker/kayenta": "2.0.0", - "@spinnaker/kubernetes": "^0.4.0", - "@spinnaker/oracle": "^0.0.81", + "@spinnaker/kubernetes": "^0.4.4", + "@spinnaker/oracle": "^0.0.85", "@spinnaker/styleguide": "^2.0.0", - "@spinnaker/titus": "^0.5.34", + "@spinnaker/titus": "^0.5.38", "@uirouter/angularjs": "1.0.26", "angular": "1.8.0", "graphql": "15.5.0", diff --git a/packages/appengine/CHANGELOG.md b/packages/appengine/CHANGELOG.md index f6e0e342e4a..81f397a110c 100644 --- a/packages/appengine/CHANGELOG.md +++ b/packages/appengine/CHANGELOG.md @@ -3,6 +3,38 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.7](https://github.com/spinnaker/deck/compare/@spinnaker/appengine@0.1.6...@spinnaker/appengine@0.1.7) (2023-06-02) + +**Note:** Version bump only for package @spinnaker/appengine + + + + + +## [0.1.6](https://github.com/spinnaker/deck/compare/@spinnaker/appengine@0.1.5...@spinnaker/appengine@0.1.6) (2023-05-11) + +**Note:** Version bump only for package @spinnaker/appengine + + + + + +## [0.1.5](https://github.com/spinnaker/deck/compare/@spinnaker/appengine@0.1.4...@spinnaker/appengine@0.1.5) (2023-05-03) + +**Note:** Version bump only for package @spinnaker/appengine + + + + + +## [0.1.4](https://github.com/spinnaker/deck/compare/@spinnaker/appengine@0.1.3...@spinnaker/appengine@0.1.4) (2023-04-03) + +**Note:** Version bump only for package @spinnaker/appengine + + + + + ## [0.1.3](https://github.com/spinnaker/deck/compare/@spinnaker/appengine@0.1.2...@spinnaker/appengine@0.1.3) (2023-02-01) **Note:** Version bump only for package @spinnaker/appengine diff --git a/packages/appengine/package.json b/packages/appengine/package.json index ea67734a458..e6f95627c91 100644 --- a/packages/appengine/package.json +++ b/packages/appengine/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/appengine", "license": "Apache-2.0", - "version": "0.1.3", + "version": "0.1.7", "module": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { @@ -13,7 +13,7 @@ "lib": "npm run build" }, "dependencies": { - "@spinnaker/core": "^0.23.0", + "@spinnaker/core": "^0.24.1", "@uirouter/angularjs": "1.0.26", "angular": "1.6.10", "angular-ui-bootstrap": "2.5.0", diff --git a/packages/azure/CHANGELOG.md b/packages/azure/CHANGELOG.md index 0adf5e7deb5..bc226e65855 100644 --- a/packages/azure/CHANGELOG.md +++ b/packages/azure/CHANGELOG.md @@ -3,6 +3,38 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.4](https://github.com/spinnaker/deck/compare/@spinnaker/azure@0.4.3...@spinnaker/azure@0.4.4) (2023-06-02) + +**Note:** Version bump only for package @spinnaker/azure + + + + + +## [0.4.3](https://github.com/spinnaker/deck/compare/@spinnaker/azure@0.4.2...@spinnaker/azure@0.4.3) (2023-05-11) + +**Note:** Version bump only for package @spinnaker/azure + + + + + +## [0.4.2](https://github.com/spinnaker/deck/compare/@spinnaker/azure@0.4.1...@spinnaker/azure@0.4.2) (2023-05-03) + +**Note:** Version bump only for package @spinnaker/azure + + + + + +## [0.4.1](https://github.com/spinnaker/deck/compare/@spinnaker/azure@0.4.0...@spinnaker/azure@0.4.1) (2023-04-03) + +**Note:** Version bump only for package @spinnaker/azure + + + + + # [0.4.0](https://github.com/spinnaker/deck/compare/@spinnaker/azure@0.3.31...@spinnaker/azure@0.4.0) (2023-02-01) diff --git a/packages/azure/package.json b/packages/azure/package.json index fdc1038157f..76972ad58c0 100644 --- a/packages/azure/package.json +++ b/packages/azure/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/azure", "license": "Apache-2.0", - "version": "0.4.0", + "version": "0.4.4", "module": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { @@ -13,7 +13,7 @@ "lib": "npm run build" }, "dependencies": { - "@spinnaker/core": "^0.23.0", + "@spinnaker/core": "^0.24.1", "@uirouter/angularjs": "1.0.26", "angular": "1.6.10", "angular-ui-bootstrap": "2.5.0", diff --git a/packages/cloudfoundry/CHANGELOG.md b/packages/cloudfoundry/CHANGELOG.md index b6acdb5f8f7..e04b1fa479a 100644 --- a/packages/cloudfoundry/CHANGELOG.md +++ b/packages/cloudfoundry/CHANGELOG.md @@ -3,6 +3,38 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.7](https://github.com/spinnaker/deck/compare/@spinnaker/cloudfoundry@0.1.6...@spinnaker/cloudfoundry@0.1.7) (2023-06-02) + +**Note:** Version bump only for package @spinnaker/cloudfoundry + + + + + +## [0.1.6](https://github.com/spinnaker/deck/compare/@spinnaker/cloudfoundry@0.1.5...@spinnaker/cloudfoundry@0.1.6) (2023-05-11) + +**Note:** Version bump only for package @spinnaker/cloudfoundry + + + + + +## [0.1.5](https://github.com/spinnaker/deck/compare/@spinnaker/cloudfoundry@0.1.4...@spinnaker/cloudfoundry@0.1.5) (2023-05-03) + +**Note:** Version bump only for package @spinnaker/cloudfoundry + + + + + +## [0.1.4](https://github.com/spinnaker/deck/compare/@spinnaker/cloudfoundry@0.1.3...@spinnaker/cloudfoundry@0.1.4) (2023-04-03) + +**Note:** Version bump only for package @spinnaker/cloudfoundry + + + + + ## [0.1.3](https://github.com/spinnaker/deck/compare/@spinnaker/cloudfoundry@0.1.2...@spinnaker/cloudfoundry@0.1.3) (2023-02-01) **Note:** Version bump only for package @spinnaker/cloudfoundry diff --git a/packages/cloudfoundry/package.json b/packages/cloudfoundry/package.json index 30c9f226446..4cbddfe5cc9 100644 --- a/packages/cloudfoundry/package.json +++ b/packages/cloudfoundry/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/cloudfoundry", "license": "Apache-2.0", - "version": "0.1.3", + "version": "0.1.7", "module": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { @@ -13,7 +13,7 @@ "lib": "npm run build" }, "dependencies": { - "@spinnaker/core": "^0.23.0", + "@spinnaker/core": "^0.24.1", "@uirouter/react": "1.0.7", "@uirouter/react-hybrid": "1.0.2", "angular": "1.6.10", diff --git a/packages/cloudrun/CHANGELOG.md b/packages/cloudrun/CHANGELOG.md new file mode 100644 index 00000000000..1131f353b7a --- /dev/null +++ b/packages/cloudrun/CHANGELOG.md @@ -0,0 +1,43 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.1.3](https://github.com/spinnaker/deck/compare/@spinnaker/cloudrun@0.1.2...@spinnaker/cloudrun@0.1.3) (2023-06-02) + +**Note:** Version bump only for package @spinnaker/cloudrun + + + + + +## [0.1.2](https://github.com/spinnaker/deck/compare/@spinnaker/cloudrun@0.1.1...@spinnaker/cloudrun@0.1.2) (2023-05-11) + +**Note:** Version bump only for package @spinnaker/cloudrun + + + + + +## [0.1.1](https://github.com/spinnaker/deck/compare/@spinnaker/cloudrun@0.1.0...@spinnaker/cloudrun@0.1.1) (2023-05-03) + +**Note:** Version bump only for package @spinnaker/cloudrun + + + + + +# [0.1.0](https://github.com/spinnaker/deck/compare/@spinnaker/cloudrun@0.0.2...@spinnaker/cloudrun@0.1.0) (2023-05-01) + + +### Features + +* **provider/google:** Added Cloud Run manifest functionality in Deck. ([#9971](https://github.com/spinnaker/deck/issues/9971)) ([f5e19c7](https://github.com/spinnaker/deck/commit/f5e19c77a0135963ca1f54beb5ef9abc48ba8968)) + + + + + +## [0.0.2](https://github.com/spinnaker/deck/compare/@spinnaker/cloudrun@0.0.1...@spinnaker/cloudrun@0.0.2) (2023-04-03) + +**Note:** Version bump only for package @spinnaker/cloudrun diff --git a/packages/cloudrun/package.json b/packages/cloudrun/package.json index ca1d181e31e..c74e16b64c4 100644 --- a/packages/cloudrun/package.json +++ b/packages/cloudrun/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/cloudrun", "license": "Apache-2.0", - "version": "0.0.1", + "version": "0.1.3", "module": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { @@ -13,7 +13,7 @@ "lib": "npm run build" }, "dependencies": { - "@spinnaker/core": "^0.23.0", + "@spinnaker/core": "^0.24.1", "@uirouter/angularjs": "1.0.26", "@uirouter/react": "1.0.7", "angular": "1.6.10", diff --git a/packages/cloudrun/src/cloudrun.module.ts b/packages/cloudrun/src/cloudrun.module.ts index 4443a4ed27a..8b560de5c6f 100644 --- a/packages/cloudrun/src/cloudrun.module.ts +++ b/packages/cloudrun/src/cloudrun.module.ts @@ -14,6 +14,7 @@ import { CLOUDRUN_LOAD_BALANCER_DETAILS_CTRL } from './loadBalancer/details/deta import { CLOUDRUN_LOAD_BALANCER_TRANSFORMER } from './loadBalancer/loadBalancerTransformer'; import logo from './logo/cloudrun.logo.png'; import { CLOUDRUN_PIPELINE_MODULE } from './pipeline/pipeline.module'; +import './pipeline/stages/deployManifest/deployStage'; import { CLOUDRUN_SERVER_GROUP_COMMAND_BUILDER } from './serverGroup/configure/serverGroupCommandBuilder.service'; import { ServerGroupWizard } from './serverGroup/configure/wizard/serverGroupWizard'; import { CLOUDRUN_SERVER_GROUP_DETAILS_CTRL } from './serverGroup/details/details.controller'; diff --git a/packages/cloudrun/src/help/cloudrun.help.ts b/packages/cloudrun/src/help/cloudrun.help.ts index 2f4be46b1be..e407f70f4a3 100644 --- a/packages/cloudrun/src/help/cloudrun.help.ts +++ b/packages/cloudrun/src/help/cloudrun.help.ts @@ -44,7 +44,7 @@ const helpContents = [ resources: limits: cpu: 1000m - memory: 256Mi + memory: 256Mi `, }, @@ -62,6 +62,38 @@ const helpContents = [ key: 'cloudrun.loadBalancer.allocations', value: 'An allocation is the percent of traffic directed to a server group.', }, + { + key: 'cloudrun.manifest.source', + value: ` +

Where the manifest file content is read from.

+

+ text: The manifest is supplied statically to the pipeline from the below text-box. +

+

+ artifact: The manifest is read from an artifact supplied/created upstream. The expected artifact must be referenced here, and will be bound at runtime. +

`, + }, + { + key: 'cloudrun.manifest.expectedArtifact', + value: + 'The artifact that is to be applied to the Cloud Run account for this stage. The artifact should represent a valid Cloud Run manifest.', + }, + { + key: 'cloudrun.manifest.skipExpressionEvaluation', + value: + '

Skip SpEL expression evaluation of the manifest artifact in this stage. Can be paired with the "Evaluate SpEL expressions in overrides at bake time" option in the Bake Manifest stage when baking a third-party manifest artifact with expressions not meant for Spinnaker to evaluate as SpEL.

', + }, + { + key: 'cloudrun.manifest.requiredArtifactsToBind', + value: + 'These artifacts must be present in the context for this stage to successfully complete. Artifacts specified will be bound to the deployed manifest.', + }, + { + key: 'cloudrun.manifest.account', + value: ` +

A Spinnaker account corresponds to a physical Cloud Run cluster. If you are unsure which account to use, talk to your Spinnaker admin.

+ `, + }, ]; helpContents.forEach((entry) => HelpContentsRegistry.register(entry.key, entry.value)); diff --git a/packages/cloudrun/src/loadBalancer/configure/wizard/basicSettings.component.html b/packages/cloudrun/src/loadBalancer/configure/wizard/basicSettings.component.html index 97668ba57ef..ce8f7e2361c 100644 --- a/packages/cloudrun/src/loadBalancer/configure/wizard/basicSettings.component.html +++ b/packages/cloudrun/src/loadBalancer/configure/wizard/basicSettings.component.html @@ -23,6 +23,7 @@ application="$ctrl.application" region="{{ $ctrl.loadBalancer.region }}" account="{{ $ctrl.loadBalancer.account || $ctrl.loadBalancer.credentials }}" + name="{{ $ctrl.loadBalancer.name }}" server-group-options="$ctrl.serverGroupOptions" on-allocation-change="$ctrl.updateServerGroupOptions()" remove-allocation="$ctrl.removeAllocation($index)" diff --git a/packages/cloudrun/src/loadBalancer/configure/wizard/stageAllocationConfigurationRow.component.html b/packages/cloudrun/src/loadBalancer/configure/wizard/stageAllocationConfigurationRow.component.html index 46dea2edcd1..524912c9c5d 100644 --- a/packages/cloudrun/src/loadBalancer/configure/wizard/stageAllocationConfigurationRow.component.html +++ b/packages/cloudrun/src/loadBalancer/configure/wizard/stageAllocationConfigurationRow.component.html @@ -25,3 +25,21 @@ +
+
+
+
+
+
Cluster
+
+ +
+
Target
+
+ +
+
+
+
+
+
diff --git a/packages/cloudrun/src/loadBalancer/configure/wizard/stageAllocationConfigurationRow.component.ts b/packages/cloudrun/src/loadBalancer/configure/wizard/stageAllocationConfigurationRow.component.ts index ce62882f2c2..5649b221dcc 100644 --- a/packages/cloudrun/src/loadBalancer/configure/wizard/stageAllocationConfigurationRow.component.ts +++ b/packages/cloudrun/src/loadBalancer/configure/wizard/stageAllocationConfigurationRow.component.ts @@ -2,8 +2,7 @@ import type { IComponentOptions, IController } from 'angular'; import { module } from 'angular'; import { uniq } from 'lodash'; -import type { Application } from '@spinnaker/core'; -import { AppListExtractor, StageConstants } from '@spinnaker/core'; +import { StageConstants } from '@spinnaker/core'; import type { ICloudrunAllocationDescription } from '../../loadBalancerTransformer'; @@ -11,12 +10,28 @@ class CloudrunStageAllocationLabelCtrl implements IController { public inputViewValue: string; private allocationDescription: ICloudrunAllocationDescription; + private static mapTargetCoordinateToLabel(targetCoordinate: string): string { + const target = StageConstants.TARGET_LIST.find((t) => t.val === targetCoordinate); + if (target) { + return target.label; + } else { + return null; + } + } + public $doCheck(): void { this.setInputViewValue(); } private setInputViewValue(): void { - this.inputViewValue = this.allocationDescription.revisionName; + if (this.allocationDescription.cluster && this.allocationDescription.target) { + const targetLabel = CloudrunStageAllocationLabelCtrl.mapTargetCoordinateToLabel( + this.allocationDescription.target, + ); + this.inputViewValue = `${targetLabel} (${this.allocationDescription.cluster})`; + } else { + this.inputViewValue = null; + } } } @@ -32,13 +47,10 @@ class CloudrunStageAllocationConfigurationRowCtrl implements IController { public targets = StageConstants.TARGET_LIST; public clusterList: string[]; public onAllocationChange: Function; - private application: Application; - private region: string; - private account: string; + private name: string; public $onInit() { - const clusterFilter = AppListExtractor.clusterFilterForCredentialsAndRegion(this.account, this.region); - this.clusterList = AppListExtractor.getClusters([this.application], clusterFilter); + this.allocationDescription.cluster = this.name; } public getServerGroupOptions(): string[] { @@ -48,14 +60,6 @@ class CloudrunStageAllocationConfigurationRowCtrl implements IController { return this.serverGroupOptions; } } - - public onLocatorTypeChange(): void { - // Prevents pipeline expressions (or non-existent server groups) from entering the dropdown. - if (!this.serverGroupOptions.includes(this.allocationDescription.revisionName)) { - delete this.allocationDescription.revisionName; - } - this.onAllocationChange(); - } } const cloudrunStageAllocationConfigurationRow: IComponentOptions = { @@ -63,6 +67,7 @@ const cloudrunStageAllocationConfigurationRow: IComponentOptions = { application: '<', region: '@', account: '@', + name: '@', allocationDescription: '<', removeAllocation: '&', serverGroupOptions: '<', diff --git a/packages/cloudrun/src/loadBalancer/details/details.html b/packages/cloudrun/src/loadBalancer/details/details.html index 835425912af..70b8ccc1203 100644 --- a/packages/cloudrun/src/loadBalancer/details/details.html +++ b/packages/cloudrun/src/loadBalancer/details/details.html @@ -68,6 +68,9 @@

{{ctrl.lo + + +
    diff --git a/packages/cloudrun/src/loadBalancer/loadBalancerTransformer.ts b/packages/cloudrun/src/loadBalancer/loadBalancerTransformer.ts index ed1be0485cc..e1db576f0af 100644 --- a/packages/cloudrun/src/loadBalancer/loadBalancerTransformer.ts +++ b/packages/cloudrun/src/loadBalancer/loadBalancerTransformer.ts @@ -42,7 +42,7 @@ export class CloudrunLoadBalancerUpsertDescription implements ILoadBalancerUpser split.trafficTargets, (acc: any, trafficTarget: any) => { const { revisionName, percent } = trafficTarget; - return acc.concat({ percent, revisionName, locatorType: 'fromExisting' }); + return acc.concat({ percent, revisionName }); }, [], ); diff --git a/packages/cloudrun/src/manifest/ManifestSource.ts b/packages/cloudrun/src/manifest/ManifestSource.ts new file mode 100644 index 00000000000..c4ae8f36883 --- /dev/null +++ b/packages/cloudrun/src/manifest/ManifestSource.ts @@ -0,0 +1,4 @@ +export enum ManifestSource { + TEXT = 'text', + ARTIFACT = 'artifact', +} diff --git a/packages/cloudrun/src/manifest/index.ts b/packages/cloudrun/src/manifest/index.ts new file mode 100644 index 00000000000..ddaae226dc1 --- /dev/null +++ b/packages/cloudrun/src/manifest/index.ts @@ -0,0 +1,2 @@ +export * from './manifest.service'; +export * from './manifestCommandBuilder.service'; diff --git a/packages/cloudrun/src/manifest/manifest.service.ts b/packages/cloudrun/src/manifest/manifest.service.ts new file mode 100644 index 00000000000..44d2b9b5d43 --- /dev/null +++ b/packages/cloudrun/src/manifest/manifest.service.ts @@ -0,0 +1,89 @@ +import type { Application, IManifest } from '@spinnaker/core'; +import { ManifestReader } from '@spinnaker/core'; + +export interface IStageManifest { + kind: string; + apiVersion: string; + metadata: { + namespace: string; + name: string; + }; +} + +export interface IManifestParams { + account: string; + location: string; + name: string; +} + +export type IManifestCallback = (manifest: IManifest) => void; + +export class CloudrunManifestService { + public static subscribe(app: Application, params: IManifestParams, fn: IManifestCallback): () => void { + CloudrunManifestService.updateManifest(params, fn); + return app.onRefresh(null, () => CloudrunManifestService.updateManifest(params, fn)); + } + + private static updateManifest(params: IManifestParams, fn: IManifestCallback) { + ManifestReader.getManifest(params.account, params.location, params.name).then((manifest) => fn(manifest)); + } + + public static manifestIdentifier(manifest: IStageManifest) { + const kind = manifest.kind.toLowerCase(); + // manifest.metadata.namespace doesn't exist if it's a namespace being deployed + const namespace = (manifest.metadata.namespace || '_').toLowerCase(); + const name = manifest.metadata.name.toLowerCase(); + const apiVersion = (manifest.apiVersion || '_').toLowerCase(); + // assuming this identifier is opaque and not parsed anywhere. Including the + // apiVersion will prevent collisions with CRD kinds without having any visible + // effect elsewhere + return `${namespace} ${kind} ${apiVersion} ${name}`; + } + + public static stageManifestToManifestParams(manifest: IStageManifest, account: string): IManifestParams { + return { + account, + name: CloudrunManifestService.scopedKind(manifest) + ' ' + manifest.metadata.name, + location: manifest.metadata.namespace == null ? '_' : manifest.metadata.namespace, + }; + } + + private static apiGroup(manifest: IStageManifest): string { + const parts = (manifest.apiVersion || '_').split('/'); + if (parts.length < 2) { + return ''; + } + return parts[0]; + } + + private static isCRDGroup(manifest: IStageManifest): boolean { + return !CloudrunManifestService.BUILT_IN_GROUPS.includes(CloudrunManifestService.apiGroup(manifest)); + } + + private static scopedKind(manifest: IStageManifest): string { + if (CloudrunManifestService.isCRDGroup(manifest)) { + return manifest.kind + '.' + CloudrunManifestService.apiGroup(manifest); + } + + return manifest.kind; + } + + private static readonly BUILT_IN_GROUPS = [ + '', + 'core', + 'batch', + 'apps', + 'extensions', + 'storage.k8s.io', + 'apiextensions.k8s.io', + 'apiregistration.k8s.io', + 'policy', + 'scheduling.k8s.io', + 'settings.k8s.io', + 'authorization.k8s.io', + 'authentication.k8s.io', + 'rbac.authorization.k8s.io', + 'certifcates.k8s.io', + 'networking.k8s.io', + ]; +} diff --git a/packages/cloudrun/src/manifest/manifestCommandBuilder.service.ts b/packages/cloudrun/src/manifest/manifestCommandBuilder.service.ts new file mode 100644 index 00000000000..dbbc760ab48 --- /dev/null +++ b/packages/cloudrun/src/manifest/manifestCommandBuilder.service.ts @@ -0,0 +1,116 @@ +import { cloneDeep } from 'lodash'; +import { $q } from 'ngimport'; + +import type { Application, IAccountDetails, IArtifactAccount, IMoniker } from '@spinnaker/core'; +import { AccountService } from '@spinnaker/core'; + +import { ManifestSource } from './ManifestSource'; + +export interface ICloudrunManifestCommandData { + command: ICloudrunManifestCommand; + metadata: ICloudrunManifestCommandMetadata; +} + +export interface ICloudrunManifestCommand { + account: string; + cloudProvider: string; + manifest: any; + manifests: any[]; + relationships: ICloudrunManifestSpinnakerRelationships; + moniker: IMoniker; + manifestArtifactId?: string; + manifestArtifactAccount?: string; + source: ManifestSource; + versioned?: boolean; +} + +export interface ICloudrunManifestCommandMetadata { + backingData: any; +} + +export interface ICloudrunManifestSpinnakerRelationships { + loadBalancers?: string[]; + securityGroups?: string[]; +} + +export class CloudrunManifestCommandBuilder { + public static manifestCommandIsValid(command: ICloudrunManifestCommand): boolean { + if (!command.moniker) { + return false; + } + + if (!command.moniker.app) { + return false; + } + + return true; + } + + public static copyAndCleanCommand(input: ICloudrunManifestCommand): ICloudrunManifestCommand { + const command = cloneDeep(input); + return command; + } + + public static buildNewManifestCommand( + app: Application, + sourceManifest?: any, + sourceMoniker?: IMoniker, + sourceAccount?: string, + ): PromiseLike { + const dataToFetch = { + accounts: AccountService.getAllAccountDetailsForProvider('cloudrun'), + artifactAccounts: AccountService.getArtifactAccounts(), + }; + + return $q + .all(dataToFetch) + .then((backingData: { accounts: IAccountDetails[]; artifactAccounts: IArtifactAccount[] }) => { + const { accounts, artifactAccounts } = backingData; + + const account = accounts.some((a) => a.name === sourceAccount) + ? accounts.find((a) => a.name === sourceAccount).name + : accounts.length + ? accounts[0].name + : null; + + let manifestArtifactAccount: string = null; + const [artifactAccountData] = artifactAccounts; + if (artifactAccountData) { + manifestArtifactAccount = artifactAccountData.name; + } + + const cloudProvider = 'cloudrun'; + const moniker = sourceMoniker || { + app: app.name, + }; + + const relationships = { + loadBalancers: [] as string[], + securityGroups: [] as string[], + }; + + const versioned: any = null; + + return { + command: { + cloudProvider, + manifest: null, + manifests: Array.isArray(sourceManifest) + ? sourceManifest + : sourceManifest != null + ? [sourceManifest] + : null, + relationships, + moniker, + account, + versioned, + manifestArtifactAccount, + source: ManifestSource.TEXT, + }, + metadata: { + backingData, + }, + } as ICloudrunManifestCommandData; + }); + } +} diff --git a/packages/cloudrun/src/manifest/wizard/BasicSettings.tsx b/packages/cloudrun/src/manifest/wizard/BasicSettings.tsx new file mode 100644 index 00000000000..307efac5c0b --- /dev/null +++ b/packages/cloudrun/src/manifest/wizard/BasicSettings.tsx @@ -0,0 +1,57 @@ +import type { FormikProps } from 'formik'; +import React from 'react'; + +import type { IAccount } from '@spinnaker/core'; +import { AccountSelectInput, HelpField } from '@spinnaker/core'; + +import type { ICloudrunManifestCommandData } from '../manifestCommandBuilder.service'; + +export interface IManifestBasicSettingsProps { + accounts: IAccount[]; + onAccountSelect: (account: string) => void; + selectedAccount: string; +} + +export function ManifestBasicSettings({ accounts, onAccountSelect, selectedAccount }: IManifestBasicSettingsProps) { + return ( +
    +
    +
    + Account +
    +
    + onAccountSelect(evt.target.value)} + readOnly={false} + accounts={accounts} + provider="cloudrun" + /> +
    +
    +
    + ); +} + +export interface IWizardManifestBasicSettingsProps { + formik: FormikProps; +} + +export class WizardManifestBasicSettings extends React.Component { + private accountUpdated = (account: string): void => { + const { formik } = this.props; + formik.values.command.account = account; + formik.setFieldValue('account', account); + }; + + public render() { + const { formik } = this.props; + return ( + + ); + } +} diff --git a/packages/cloudrun/src/pipeline/stages/deployManifest/DeployStageConfig.tsx b/packages/cloudrun/src/pipeline/stages/deployManifest/DeployStageConfig.tsx new file mode 100644 index 00000000000..c2f1f3b02f9 --- /dev/null +++ b/packages/cloudrun/src/pipeline/stages/deployManifest/DeployStageConfig.tsx @@ -0,0 +1,73 @@ +import { cloneDeep } from 'lodash'; +import React from 'react'; +import { from as observableFrom, Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; + +import type { IAccountDetails, IStage, IStageConfigProps } from '@spinnaker/core'; +import { AccountService, FormikStageConfig } from '@spinnaker/core'; + +import { DeployStageForm } from './DeployStageForm'; +import { ManifestSource } from '../../../manifest/ManifestSource'; + +interface IDeployManifestStageConfigState { + accounts: IAccountDetails[]; +} + +export class DeployStageConfig extends React.Component { + private stage: IStage; + private destroy$ = new Subject(); + + public constructor(props: IStageConfigProps) { + super(props); + this.state = { + accounts: [], + }; + const { stage: initialStageConfig } = props; + const stage = cloneDeep(initialStageConfig); + if (!stage.source) { + stage.source = ManifestSource.TEXT; + } + if (!stage.skipExpressionEvaluation) { + stage.skipExpressionEvaluation = false; + } + if (!stage.cloudProvider) { + stage.cloudProvider = 'cloudrun'; + } + if (!stage.moniker) { + stage.moniker = {}; + } + if (!stage.moniker.app) { + stage.moniker.app = props.application.name; + } + // Intentionally initializing the stage config only once in the constructor + // The stage config is then completely owned within FormikStageConfig's Formik state + this.stage = stage; + } + + public componentDidMount() { + this.fetchAccounts(); + } + + private fetchAccounts = (): void => { + observableFrom(AccountService.getAllAccountDetailsForProvider('cloudrun')) + .pipe(takeUntil(this.destroy$)) + .subscribe((accounts: IAccountDetails[]) => { + this.setState({ accounts }); + }); + }; + + public componentWillUnmount() { + this.destroy$.next(); + } + + public render() { + return ( + } + /> + ); + } +} diff --git a/packages/cloudrun/src/pipeline/stages/deployManifest/DeployStageForm.tsx b/packages/cloudrun/src/pipeline/stages/deployManifest/DeployStageForm.tsx new file mode 100644 index 00000000000..9ea12e1206f --- /dev/null +++ b/packages/cloudrun/src/pipeline/stages/deployManifest/DeployStageForm.tsx @@ -0,0 +1,185 @@ +import { capitalize, get, isEmpty, map } from 'lodash'; +import React from 'react'; +import type { Option } from 'react-select'; + +import type { IAccountDetails, IArtifact, IExpectedArtifact, IFormikStageConfigInjectedProps } from '@spinnaker/core'; +import { + ArtifactTypePatterns, + CheckboxInput, + RadioButtonInput, + StageArtifactSelectorDelegate, + StageConfigField, + yamlDocumentsToString, + YamlEditor, +} from '@spinnaker/core'; + +import type { IManifestBindArtifact } from './ManifestBindArtifactsSelector'; +import { ManifestBindArtifactsSelector } from './ManifestBindArtifactsSelector'; +import { ManifestSource } from '../../../manifest/ManifestSource'; +import { ManifestBasicSettings } from '../../../manifest/wizard/BasicSettings'; +import { ServerGroupNamePreview } from './serverGroupNamePreview'; + +interface IDeployManifestStageConfigFormProps { + accounts: IAccountDetails[]; +} + +interface IDeployManifestStageConfigFormState { + rawManifest: string; + application: string; + stack: string; + details: string; +} + +export class DeployStageForm extends React.Component< + IDeployManifestStageConfigFormProps & IFormikStageConfigInjectedProps, + IDeployManifestStageConfigFormState +> { + private readonly excludedManifestArtifactTypes = [ + ArtifactTypePatterns.FRONT50_PIPELINE_TEMPLATE, + ArtifactTypePatterns.MAVEN_FILE, + ]; + + public constructor(props: IDeployManifestStageConfigFormProps & IFormikStageConfigInjectedProps) { + super(props); + const stage = this.props.formik.values; + const manifests: any[] = get(props.formik.values, 'manifests'); + const isTextManifest: boolean = get(props.formik.values, 'source') === ManifestSource.TEXT; + this.state = { + rawManifest: !isEmpty(manifests) && isTextManifest ? yamlDocumentsToString(manifests) : '', + application: this.props.application.name, + stack: get(stage, 'stack'), + details: get(stage, 'details'), + }; + } + + private getSourceOptions = (): Array> => { + return map([ManifestSource.TEXT, ManifestSource.ARTIFACT], (option) => ({ + label: capitalize(option), + value: option, + })); + }; + + private handleRawManifestChange = (rawManifest: string, manifests: any): void => { + this.setState({ + rawManifest, + }); + this.props.formik.setFieldValue('manifests', manifests); + }; + + private onManifestArtifactSelected = (expectedArtifactId: string): void => { + this.props.formik.setFieldValue('manifestArtifactId', expectedArtifactId); + this.props.formik.setFieldValue('manifestArtifact', null); + }; + + private onManifestArtifactEdited = (artifact: IArtifact) => { + this.props.formik.setFieldValue('manifestArtifactId', null); + this.props.formik.setFieldValue('manifestArtifact', artifact); + }; + + private getRequiredArtifacts = (): IManifestBindArtifact[] => { + const { requiredArtifactIds, requiredArtifacts } = this.props.formik.values; + return (requiredArtifactIds || []) + .map((id: string) => ({ expectedArtifactId: id })) + .concat(requiredArtifacts || []); + }; + + private onRequiredArtifactsChanged = (bindings: IManifestBindArtifact[]): void => { + this.props.formik.setFieldValue( + 'requiredArtifactIds', + bindings.filter((b) => b.expectedArtifactId).map((b) => b.expectedArtifactId), + ); + this.props.formik.setFieldValue( + 'requiredArtifacts', + bindings.filter((b) => b.artifact), + ); + }; + + public render() { + const stage = this.props.formik.values; + return ( +
    +

    Basic Settings

    + this.props.formik.setFieldValue('account', accountName)} + selectedAccount={stage.account} + /> + + this.props.formik.setFieldValue('application', event.target.value)} + disabled + /> + + + this.props.formik.setFieldValue('stack', event.target.value)} + /> + + + this.props.formik.setFieldValue('details', event.target.value)} + /> + + + +
    +

    Manifest Configuration

    + + this.props.formik.setFieldValue('source', e.target.value)} + value={stage.source} + /> + + {stage.source === ManifestSource.TEXT && ( + + + + )} + {stage.source === ManifestSource.ARTIFACT && ( + <> + this.onManifestArtifactSelected(artifact.id)} + pipeline={this.props.pipeline} + stage={stage} + /> + + this.props.formik.setFieldValue('skipExpressionEvaluation', e.target.checked)} + text="Skip SpEL expression evaluation" + /> + + + )} + + + +
    + ); + } +} diff --git a/packages/cloudrun/src/pipeline/stages/deployManifest/ManifestBindArtifactsSelector.tsx b/packages/cloudrun/src/pipeline/stages/deployManifest/ManifestBindArtifactsSelector.tsx new file mode 100644 index 00000000000..63f452919f7 --- /dev/null +++ b/packages/cloudrun/src/pipeline/stages/deployManifest/ManifestBindArtifactsSelector.tsx @@ -0,0 +1,69 @@ +import React from 'react'; + +import type { IArtifact, IExpectedArtifact, IPipeline, IStage } from '@spinnaker/core'; +import { ArtifactTypePatterns, StageArtifactSelector } from '@spinnaker/core'; + +export interface IManifestBindArtifact { + expectedArtifactId?: string; + artifact?: IArtifact; +} + +export interface IManifestBindArtifactsSelectorProps { + pipeline: IPipeline; + stage: IStage; + bindings?: IManifestBindArtifact[]; + onChangeBindings: (_: IManifestBindArtifact[]) => void; +} + +export class ManifestBindArtifactsSelector extends React.Component { + private onChangeBinding = (index: number, binding: IManifestBindArtifact) => { + const bindings = (this.props.bindings || []).slice(0); + bindings[index] = binding; + this.props.onChangeBindings(bindings); + }; + + private onRemoveBinding = (index: number) => { + const bindings = (this.props.bindings || []).slice(0); + bindings.splice(index, 1); + this.props.onChangeBindings(bindings); + }; + + public render() { + const { stage, pipeline, bindings } = this.props; + + const renderSelect = (i: number, binding?: IManifestBindArtifact) => { + const key = (!binding && 'new') || binding.expectedArtifactId || (binding.artifact && binding.artifact.id); + return ( +
    +
    + this.onChangeBinding(i, { artifact: artifact })} + onExpectedArtifactSelected={(expectedArtifact: IExpectedArtifact) => + this.onChangeBinding(i, { expectedArtifactId: expectedArtifact.id }) + } + excludedArtifactIds={bindings.map((b) => b.expectedArtifactId)} + excludedArtifactTypePatterns={[ArtifactTypePatterns.FRONT50_PIPELINE_TEMPLATE]} + /> +
    + {binding && ( + + )} +
    + ); + }; + const renderSelectEditable = (binding: IManifestBindArtifact, i: number) => renderSelect(i, binding); + + return ( + <> + {bindings.map(renderSelectEditable)} + {renderSelect(bindings.length)} + + ); + } +} diff --git a/packages/cloudrun/src/pipeline/stages/deployManifest/deploy.validator.ts b/packages/cloudrun/src/pipeline/stages/deployManifest/deploy.validator.ts new file mode 100644 index 00000000000..1f0a4b124d7 --- /dev/null +++ b/packages/cloudrun/src/pipeline/stages/deployManifest/deploy.validator.ts @@ -0,0 +1,38 @@ +import { get, isEmpty } from 'lodash'; + +import type { ICustomValidator, IPipeline, IStage, IValidatorConfig } from '@spinnaker/core'; + +import { ManifestSource } from '../../../manifest/ManifestSource'; +import { strategyRedBlack } from '../../../rolloutStrategy/redblack.strategy'; + +const MAX_VERSION_HISTORY_ANNOTATION = 'strategy.spinnaker.io/max-version-history'; + +export const deployValidators = (): IValidatorConfig[] => { + return [ + { type: 'requiredField', fieldName: 'account', fieldLabel: 'Account' }, + { type: 'requiredField', fieldName: 'source', fieldLabel: 'Source' }, + { + type: 'custom', + validate: (_pipeline: IPipeline, stage: IStage) => { + const enabled = get(stage, 'trafficManagement.enabled', false); + const services = get(stage, 'trafficManagement.options.services', []); + if (enabled && isEmpty(services)) { + return `Select at least one Service to enable Spinnaker-managed rollout strategy options.`; + } + if (enabled && stage.source === ManifestSource.TEXT) { + const manifests = get(stage, 'manifests', []); + const replicaSetManifests = manifests.filter((m) => m.kind === 'ReplicaSet'); + const strategy = get(stage, 'trafficManagement.options.strategy'); + const maxVersionHistory = parseInt( + get(replicaSetManifests, [0, 'metadata', 'annotations', MAX_VERSION_HISTORY_ANNOTATION]), + 10, + ); + if (strategy === strategyRedBlack.key && maxVersionHistory < 2) { + return `The max version history specified in your manifest conflicts with the behavior of the Red/Black rollout strategy. Please update your ${MAX_VERSION_HISTORY_ANNOTATION} annotation to a value greater than or equal to 2.`; + } + } + return null; + }, + } as ICustomValidator, + ]; +}; diff --git a/packages/cloudrun/src/pipeline/stages/deployManifest/deployStage.ts b/packages/cloudrun/src/pipeline/stages/deployManifest/deployStage.ts new file mode 100644 index 00000000000..a2520557d7c --- /dev/null +++ b/packages/cloudrun/src/pipeline/stages/deployManifest/deployStage.ts @@ -0,0 +1,28 @@ +import type { IStage } from '@spinnaker/core'; +import { + ArtifactReferenceService, + ExecutionArtifactTab, + ExecutionDetailsTasks, + ExpectedArtifactService, + Registry, +} from '@spinnaker/core'; + +import { DeployStageConfig } from './DeployStageConfig'; +import { deployValidators } from './deploy.validator'; +import { DeployStatus } from './manifestStatus/DeployStatus'; + +Registry.pipeline.registerStage({ + label: 'Deploy (Cloud Run)', + description: 'Deploy a Cloud Run manifest yaml/json file.', + key: 'deployCloudrunManifest', + cloudProvider: 'cloudrun', + component: DeployStageConfig, + executionDetailsSections: [DeployStatus, ExecutionDetailsTasks, ExecutionArtifactTab], + producesArtifacts: true, + supportsCustomTimeout: true, + validators: deployValidators(), + accountExtractor: (stage: IStage): string[] => (stage.account ? [stage.account] : []), + configAccountExtractor: (stage: any): string[] => (stage.account ? [stage.account] : []), + artifactExtractor: ExpectedArtifactService.accumulateArtifacts(['manifestArtifactId', 'requiredArtifactIds']), + artifactRemover: ArtifactReferenceService.removeArtifactFromFields(['manifestArtifactId', 'requiredArtifactIds']), +}); diff --git a/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/DeployStatus.tsx b/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/DeployStatus.tsx new file mode 100644 index 00000000000..7f6e7fc7c4d --- /dev/null +++ b/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/DeployStatus.tsx @@ -0,0 +1,108 @@ +import { get } from 'lodash'; +import React from 'react'; + +import type { IExecutionDetailsSectionProps, IManifest } from '@spinnaker/core'; +import { ExecutionDetailsSection, StageFailureMessage } from '@spinnaker/core'; + +import { ManifestStatus } from './ManifestStatus'; +import type { IStageManifest } from '../../../../manifest/manifest.service'; +import { CloudrunManifestService } from '../../../../manifest/manifest.service'; + +export interface IManifestSubscription { + id: string; + unsubscribe: () => void; + manifest: IManifest; +} + +export interface IDeployStatusState { + subscriptions: IManifestSubscription[]; + manifestIds: string[]; +} + +export class DeployStatus extends React.Component { + public static title = 'deployStatus'; + + constructor(props: IExecutionDetailsSectionProps) { + super(props); + this.state = { subscriptions: [], manifestIds: [] }; + } + + public componentDidMount() { + this.componentDidUpdate(this.props, this.state); + } + + public componentWillUnmount() { + this.unsubscribeAll(); + } + + public componentDidUpdate(_prevProps: IExecutionDetailsSectionProps, prevState: IDeployStatusState) { + const manifests: IStageManifest[] = get(this.props.stage, ['context', 'outputs.manifests'], []).filter((m) => !!m); + const manifestIds = manifests.map((m) => CloudrunManifestService.manifestIdentifier(m)).sort(); + if (prevState.manifestIds.join('') !== manifestIds.join('')) { + this.unsubscribeAll(); + const subscriptions = manifests.map((manifest) => { + const id = CloudrunManifestService.manifestIdentifier(manifest); + return { + id, + unsubscribe: this.subscribeToManifestUpdates(id, manifest), + manifest: this.stageManifestToIManifest(manifest, this.props.stage.context.account), + }; + }); + this.setState({ subscriptions, manifestIds }); + } + } + + private subscribeToManifestUpdates(id: string, manifest: IStageManifest): () => void { + const params = CloudrunManifestService.stageManifestToManifestParams(manifest, this.props.stage.context.account); + return CloudrunManifestService.subscribe(this.props.application, params, (updated: IManifest) => { + const idx = this.state.subscriptions.findIndex((sub) => sub.id === id); + if (idx !== -1) { + const subscription = { ...this.state.subscriptions[idx], manifest: updated }; + const subscriptions = [...this.state.subscriptions]; + subscriptions[idx] = subscription; + this.setState({ subscriptions }); + } + }); + } + + private unsubscribeAll() { + this.state.subscriptions.forEach(({ unsubscribe }) => unsubscribe()); + } + + private stageManifestToIManifest(manifest: IStageManifest, account: string): IManifest { + return { + name: get(manifest, 'metadata.name', ''), + moniker: null, + account, + cloudProvider: 'cloudrun', + location: get(manifest, 'metadata.namespace', ''), + manifest: manifest, + status: {}, + artifacts: [], + events: [], + }; + } + + public render() { + const { name: sectionName, current: currentSection, stage } = this.props; + const manifests: IManifest[] = this.state.subscriptions.filter((sub) => !!sub.manifest).map((sub) => sub.manifest); + return ( + + + {manifests && ( +
    +
    +
    + {manifests.map((manifest) => { + const uid = + manifest.manifest.metadata.uid || CloudrunManifestService.manifestIdentifier(manifest.manifest); + return ; + })} +
    +
    +
    + )} +
    + ); + } +} diff --git a/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/DeployStatusPills.tsx b/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/DeployStatusPills.tsx new file mode 100644 index 00000000000..7a2eec987e4 --- /dev/null +++ b/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/DeployStatusPills.tsx @@ -0,0 +1,47 @@ +import React from 'react'; +import type { IManifest } from '@spinnaker/core'; + +interface IStatusClasses { + [key: string]: string; +} + +const STATUS_PILLS: IStatusClasses = { + available: 'success', + stable: 'success', + paused: 'warn', + failed: 'danger', +}; + +export interface IDeployManifestStatusProps { + manifest: IManifest; +} + +export class DeployManifestStatusPills extends React.Component { + public render() { + const { manifest } = this.props; + if (manifest == null || manifest.status == null) { + return null; + } + return Object.keys(manifest.status).map((statusKey, i) => { + const statusDescription = manifest.status[statusKey]; + const statusClass = STATUS_PILLS[statusKey] || ''; + const isStable = statusDescription.state; + const isUnstableWithMessage = !isStable && statusDescription.message; + return ( + + {isStable && ( + + {statusKey} + + )} + {isUnstableWithMessage && ( + + {statusKey} + + )} +   + + ); + }); + } +} diff --git a/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestDetailsLink.tsx b/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestDetailsLink.tsx new file mode 100644 index 00000000000..c93257db56e --- /dev/null +++ b/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestDetailsLink.tsx @@ -0,0 +1,92 @@ +import { get, trim } from 'lodash'; +import React from 'react'; + +import type { IManifest } from '@spinnaker/core'; +import { AccountService, ReactInjector } from '@spinnaker/core'; + +const UNMAPPED_K8S_RESOURCE_STATE_KEY = 'cloudrunResource'; + +export interface IManifestDetailsProps { + manifest: IManifest; + linkName: string; + accountId: string; +} + +export interface IManifestDetailsState { + url: string; +} + +export class ManifestDetailsLink extends React.Component { + private spinnakerKindStateMap: { [k: string]: string } = { + // keys from clouddriver's CloudrunSpinnakerKindMap + serverGroupManagers: 'serverGroupManager', + serverGroups: 'serverGroup', + }; + + constructor(props: IManifestDetailsProps) { + super(props); + this.state = { + url: '', + }; + this.loadUrl(); + } + + private canOpen(): boolean { + return !!this.props.manifest.manifest && !!this.state.url; + } + + private spinnakerKindFromCloudrunKind(kind: string, kindMap: { [k: string]: string }) { + const foundKind = Object.keys(kindMap).find((k) => k.toLowerCase() === kind.toLowerCase()); + return kindMap[foundKind]; + } + + private resourceRegion(): string { + return trim( + get(this.props, ['manifest', 'manifest', 'metadata', 'annotations', 'artifact.spinnaker.io/location'], ''), + ); + } + + private getStateParams(stateKey: string): any { + const kind = this.props.manifest.manifest.kind.toLowerCase(); + const name = this.props.manifest.manifest.metadata.name; + const region = this.resourceRegion(); + const params: { [k: string]: string } = { + accountId: this.props.accountId, + provider: 'cloudrun', + region, + reg: region, // Filters the list of clusters on the Clusters screen to those in the same namespace + [stateKey]: `${kind} ${name}`, + }; + if (!params.region && kind === 'namespace' && stateKey === UNMAPPED_K8S_RESOURCE_STATE_KEY) { + params.region = name; + } + if (!params.region || params.region === '') { + params.region = '_'; + } + return params; + } + + private loadUrl() { + const kind: string = get(this.props, ['manifest', 'manifest', 'kind'], ''); + const { accountId } = this.props; + AccountService.getAccountDetails(accountId).then((account) => { + const spinnakerKind = this.spinnakerKindFromCloudrunKind(kind, account.spinnakerKindMap); + const stateKey = this.spinnakerKindStateMap[spinnakerKind] || UNMAPPED_K8S_RESOURCE_STATE_KEY; + const params = this.getStateParams(stateKey); + const url = ReactInjector.$state.href(`home.applications.application.insight.clusters.${stateKey}`, params); + this.setState({ url }); + }); + } + + public render() { + if (this.canOpen()) { + return ( +
    + {this.props.linkName} + + ); + } else { + return null; + } + } +} diff --git a/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestEvents.tsx b/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestEvents.tsx new file mode 100644 index 00000000000..b12eb096469 --- /dev/null +++ b/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestEvents.tsx @@ -0,0 +1,87 @@ +import { get, trim } from 'lodash'; +import { DateTime } from 'luxon'; +import React from 'react'; + +import type { IManifest, IManifestEvent } from '@spinnaker/core'; +import { JobEventBasedPodNameProvider, JobManifestPodLogs, relativeTime } from '@spinnaker/core'; + +export interface IManifestEventsProps { + manifest: IManifest; +} + +export class ManifestEvents extends React.Component { + private pillStyle(e: IManifestEvent): string { + if (e.type === 'Warning') { + return 'alert'; + } else if (e.type === 'Normal') { + return 'success'; + } else { + return ''; + } + } + + public render() { + if (!this.props.manifest) { + return null; + } + if (this.props.manifest && (!this.props.manifest.events || this.props.manifest.events.length === 0)) { + return
    No recent events found - Cloud Run does not store events for long.
    ; + } + const { events } = this.props.manifest; + const namespace = trim( + get(this.props.manifest, ['manifest', 'metadata', 'annotations', 'artifact.spinnaker.io/location'], ''), + ); + return events.map((e, i) => { + const firstTimestamp = get(e, 'firstTimestamp', ''); + const lastTimestamp = get(e, 'lastTimestamp', ''); + let firstEpochMilliseconds = 0; + let lastEpochMilliseconds = 0; + if (firstTimestamp) { + firstEpochMilliseconds = DateTime.fromISO(firstTimestamp).toMillis(); + } + if (lastTimestamp) { + lastEpochMilliseconds = DateTime.fromISO(lastTimestamp).toMillis(); + } + return ( +
    +
    + {e.count && ( +
    + {e.count} × {e.reason} +
    + )} +
    + {(e.firstTimestamp || e.lastTimestamp) && ( +
    + {e.firstTimestamp === e.lastTimestamp && ( +
    + {relativeTime(firstEpochMilliseconds)} +
    + )} + {e.firstTimestamp !== e.lastTimestamp && ( +
    +
    + First Occurrence: {relativeTime(firstEpochMilliseconds)} +
    +
    + Last Occurrence: {relativeTime(lastEpochMilliseconds)} +
    +
    + )} +
    + )} +
    {e.message}
    +
    + +
    + {i !== events.length - 1 &&
    } +
    + ); + }); + } +} diff --git a/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestStatus.less b/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestStatus.less new file mode 100644 index 00000000000..b932e77aaba --- /dev/null +++ b/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestStatus.less @@ -0,0 +1,24 @@ +dl.manifest-status { + display: block; + margin: 0; + + dt, + dd { + display: inline-block; + } + + dt { + margin-right: 4px; + } +} + +.manifest-support-links { + margin: 0 0 1em; + a { + margin-right: 2em; + } +} + +.manifest-events { + margin: 0 0 2em; +} diff --git a/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestStatus.tsx b/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestStatus.tsx new file mode 100644 index 00000000000..a3a4c4cda12 --- /dev/null +++ b/packages/cloudrun/src/pipeline/stages/deployManifest/manifestStatus/ManifestStatus.tsx @@ -0,0 +1,46 @@ +import { dump } from 'js-yaml'; +import React from 'react'; + +import type { IManifest } from '@spinnaker/core'; +import { CopyToClipboard, ManifestYaml } from '@spinnaker/core'; + +import { DeployManifestStatusPills } from './DeployStatusPills'; +import { ManifestDetailsLink } from './ManifestDetailsLink'; +import { ManifestEvents } from './ManifestEvents'; + +import './ManifestStatus.less'; + +export interface IManifestStatusProps { + account: string; + manifest: IManifest; +} + +export function ManifestStatus({ account, manifest }: IManifestStatusProps) { + return ( + <> +
    +
    {manifest.manifest.kind}
    +
    + +   + +
    +
    +
    + + +
    +
    + +
    + + ); +} diff --git a/packages/cloudrun/src/pipeline/stages/deployManifest/serverGroupNamePreview.tsx b/packages/cloudrun/src/pipeline/stages/deployManifest/serverGroupNamePreview.tsx new file mode 100644 index 00000000000..5351207836d --- /dev/null +++ b/packages/cloudrun/src/pipeline/stages/deployManifest/serverGroupNamePreview.tsx @@ -0,0 +1,28 @@ +import React from 'react'; + +export interface IServerGroupNamePreviewProps { + application: string; + stack: string; + details: string; +} + +export class ServerGroupNamePreview extends React.Component { + public render() { + const application = this.props.application ? this.props.application : ''; + const stack = this.props.stack ? `-${this.props.stack}` : ''; + + const details = this.props.details ? `-${this.props.details}` : ''; + return ( +
    +        

    Your server group will be in the cluster:

    +

    + + {application} + {stack} + {details} + +

    +
    + ); + } +} diff --git a/packages/cloudrun/src/pipeline/stages/editLoadBalancer/cloudrunEditLoadBalancerStage.ts b/packages/cloudrun/src/pipeline/stages/editLoadBalancer/cloudrunEditLoadBalancerStage.ts index cbddfdb92d8..90191600ebb 100644 --- a/packages/cloudrun/src/pipeline/stages/editLoadBalancer/cloudrunEditLoadBalancerStage.ts +++ b/packages/cloudrun/src/pipeline/stages/editLoadBalancer/cloudrunEditLoadBalancerStage.ts @@ -59,7 +59,7 @@ export const CLOUDRUN_EDIT_LOAD_BALANCER_STAGE = 'spinnaker.cloudrun.pipeline.st module(CLOUDRUN_EDIT_LOAD_BALANCER_STAGE, [CLOUDRUN_LOAD_BALANCER_CHOICE_MODAL_CTRL]) .config(() => { Registry.pipeline.registerStage({ - label: 'Edit Load Balancer (Cloudrun)', + label: 'Edit Load Balancer (Cloud Run)', description: 'Edits a load balancer', key: 'upsertCloudrunLoadBalancers', cloudProvider: 'cloudrun', diff --git a/packages/cloudrun/src/rolloutStrategy/redblack.strategy.ts b/packages/cloudrun/src/rolloutStrategy/redblack.strategy.ts new file mode 100644 index 00000000000..9a491b8f2e7 --- /dev/null +++ b/packages/cloudrun/src/rolloutStrategy/redblack.strategy.ts @@ -0,0 +1,7 @@ +import type { IDeploymentStrategy } from '@spinnaker/core'; + +export const strategyRedBlack: IDeploymentStrategy = { + label: 'Red/Black', + description: 'Disables all previous ReplicaSets in the cluster as soon as the new ReplicaSet is ready', + key: 'redblack', +}; diff --git a/packages/cloudrun/src/serverGroup/configure/wizard/ConfigFiles.tsx b/packages/cloudrun/src/serverGroup/configure/wizard/ConfigFiles.tsx index 330f0dc407d..7d06a6fdefe 100644 --- a/packages/cloudrun/src/serverGroup/configure/wizard/ConfigFiles.tsx +++ b/packages/cloudrun/src/serverGroup/configure/wizard/ConfigFiles.tsx @@ -36,11 +36,11 @@ export function ServerGroupConfigFilesSettings({ configFiles, onEnterConfig }: I Service Yaml {' '} -
    +
    mapTabToSpaces(e, index)} />
    diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index d70585b90e4..65c2c4b5d41 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -3,6 +3,51 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.24.1](https://github.com/spinnaker/deck/compare/@spinnaker/core@0.24.0...@spinnaker/core@0.24.1) (2023-06-02) + + +### Bug Fixes + +* **core/pipeline:** Pipeline builder-pipeline action dropdown closing not properly ([#9999](https://github.com/spinnaker/deck/issues/9999)) ([a672a20](https://github.com/spinnaker/deck/commit/a672a208625d2551ec38f5179cf519fec4a40280)) + + + + + +# [0.24.0](https://github.com/spinnaker/deck/compare/@spinnaker/core@0.23.2...@spinnaker/core@0.24.0) (2023-05-11) + + +### Features + +* **deck:** make StageFailureMessage component overridable ([#9994](https://github.com/spinnaker/deck/issues/9994)) ([39f70cc](https://github.com/spinnaker/deck/commit/39f70ccae0ce2027a63da60a7e6f2f08fe8f7240)) + + + + + +## [0.23.2](https://github.com/spinnaker/deck/compare/@spinnaker/core@0.23.1...@spinnaker/core@0.23.2) (2023-05-03) + + +### Bug Fixes + +* **angular:** fix missed AngularJS bindings ([#9989](https://github.com/spinnaker/deck/issues/9989)) ([f947bf9](https://github.com/spinnaker/deck/commit/f947bf997a03dee2f600fc72415bf141320978e4)) + + + + + +## [0.23.1](https://github.com/spinnaker/deck/compare/@spinnaker/core@0.23.0...@spinnaker/core@0.23.1) (2023-04-03) + + +### Bug Fixes + +* **6755:** Resolved issue regarding warning reporting when cloning a server group in AWS ([#9948](https://github.com/spinnaker/deck/issues/9948)) ([6b36cb6](https://github.com/spinnaker/deck/commit/6b36cb68112361587bfb8e3fb5c31024d10d7072)) +* UI crashes when running pipeline(s) with many stages. ([#9960](https://github.com/spinnaker/deck/issues/9960)) ([8d84d27](https://github.com/spinnaker/deck/commit/8d84d2737729d364a74c34468c874f4613d68801)) + + + + + # [0.23.0](https://github.com/spinnaker/deck/compare/@spinnaker/core@0.22.2...@spinnaker/core@0.23.0) (2023-02-01) diff --git a/packages/core/package.json b/packages/core/package.json index 1683b56acdb..111e652e230 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/core", "license": "Apache-2.0", - "version": "0.23.0", + "version": "0.24.1", "module": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { @@ -17,7 +17,7 @@ "@apollo/client": "^3.6.9", "@fortawesome/fontawesome-free": "5.5.0", "@spinnaker/mocks": "1.0.7", - "@spinnaker/presentation": "^0.2.1", + "@spinnaker/presentation": "^0.3.0", "@spinnaker/styleguide": "2.0.0", "@uirouter/angularjs": "1.0.26", "@uirouter/core": "6.0.8", diff --git a/packages/core/src/deploymentStrategy/strategies/rollingredblack/rollingredblack.strategy.ts b/packages/core/src/deploymentStrategy/strategies/rollingredblack/rollingredblack.strategy.ts index b2b8243a193..076503c67f3 100644 --- a/packages/core/src/deploymentStrategy/strategies/rollingredblack/rollingredblack.strategy.ts +++ b/packages/core/src/deploymentStrategy/strategies/rollingredblack/rollingredblack.strategy.ts @@ -2,7 +2,7 @@ import { AdditionalFields } from './AdditionalFields'; import { DeploymentStrategyRegistry } from '../../deploymentStrategy.registry'; DeploymentStrategyRegistry.registerStrategy({ - label: 'Rolling Red/Black (Experimental)', + label: 'Rolling Red/Black', description: `Creates a new version of this server group, then incrementally resizes the new server group while disabling the same percentage in the previous server group.`, key: 'rollingredblack', providerRestricted: true, diff --git a/packages/core/src/pipeline/config/actions/PipelineConfigActions.tsx b/packages/core/src/pipeline/config/actions/PipelineConfigActions.tsx index b9410afd175..b5d185469cf 100644 --- a/packages/core/src/pipeline/config/actions/PipelineConfigActions.tsx +++ b/packages/core/src/pipeline/config/actions/PipelineConfigActions.tsx @@ -18,6 +18,7 @@ export interface IPipelineConfigActionsProps { } export function PipelineConfigActions(props: IPipelineConfigActionsProps) { + const closeDropdown = () => document.body.click(); const { pipeline, renamePipeline, @@ -36,7 +37,7 @@ export function PipelineConfigActions(props: IPipelineConfigActionsProps) { {pipeline.strategy === true ? 'Strategy' : 'Pipeline'} Actions - + {!pipeline.locked && } {!pipeline.locked && } {!pipeline.locked && pipeline.disabled && } diff --git a/packages/core/src/region/regionSelectField.directive.js b/packages/core/src/region/regionSelectField.directive.js index 2f110547176..e31ce048672 100644 --- a/packages/core/src/region/regionSelectField.directive.js +++ b/packages/core/src/region/regionSelectField.directive.js @@ -48,10 +48,12 @@ module(CORE_REGION_REGIONSELECTFIELD_DIRECTIVE, []) readOnly: '=', }, controller: function () { - const vm = this; - vm.propagate = function (data) { - vm.component[vm.field] = data; - vm.onChange(); + this.$onInit = () => { + const vm = this; + vm.propagate = function (data) { + vm.component[vm.field] = data; + vm.onChange(); + }; }; }, }); diff --git a/packages/dcos/CHANGELOG.md b/packages/dcos/CHANGELOG.md index 2fb4f2aa630..9ce323e9146 100644 --- a/packages/dcos/CHANGELOG.md +++ b/packages/dcos/CHANGELOG.md @@ -3,6 +3,41 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.60](https://github.com/spinnaker/deck/compare/@spinnaker/dcos@0.0.59...@spinnaker/dcos@0.0.60) (2023-06-02) + +**Note:** Version bump only for package @spinnaker/dcos + + + + + +## [0.0.59](https://github.com/spinnaker/deck/compare/@spinnaker/dcos@0.0.58...@spinnaker/dcos@0.0.59) (2023-05-11) + +**Note:** Version bump only for package @spinnaker/dcos + + + + + +## [0.0.58](https://github.com/spinnaker/deck/compare/@spinnaker/dcos@0.0.57...@spinnaker/dcos@0.0.58) (2023-05-03) + + +### Bug Fixes + +* **angular:** fix missed AngularJS bindings ([#9989](https://github.com/spinnaker/deck/issues/9989)) ([f947bf9](https://github.com/spinnaker/deck/commit/f947bf997a03dee2f600fc72415bf141320978e4)) + + + + + +## [0.0.57](https://github.com/spinnaker/deck/compare/@spinnaker/dcos@0.0.56...@spinnaker/dcos@0.0.57) (2023-04-03) + +**Note:** Version bump only for package @spinnaker/dcos + + + + + ## [0.0.56](https://github.com/spinnaker/deck/compare/@spinnaker/dcos@0.0.55...@spinnaker/dcos@0.0.56) (2023-02-01) **Note:** Version bump only for package @spinnaker/dcos diff --git a/packages/dcos/package.json b/packages/dcos/package.json index 9889138c2f2..f7ef35b59ad 100644 --- a/packages/dcos/package.json +++ b/packages/dcos/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/dcos", "license": "Apache-2.0", - "version": "0.0.56", + "version": "0.0.60", "module": "dist/index.js", "typings": "dist/index.d.ts", "private": true, @@ -14,8 +14,8 @@ "lib": "npm run build" }, "dependencies": { - "@spinnaker/core": "^0.23.0", - "@spinnaker/docker": "^0.0.137", + "@spinnaker/core": "^0.24.1", + "@spinnaker/docker": "^0.0.141", "angular": "1.6.10", "lodash": "4.17.21", "ngimport": "0.6.1", diff --git a/packages/dcos/src/job/general.component.js b/packages/dcos/src/job/general.component.js index 60a92f4c647..fc94b163527 100644 --- a/packages/dcos/src/job/general.component.js +++ b/packages/dcos/src/job/general.component.js @@ -10,20 +10,22 @@ module(DCOS_JOB_GENERAL_COMPONENT, []).component('dcosGeneral', { }, templateUrl: require('./general.component.html'), controller: function () { - if (this.general === undefined || this.general == null) { - this.general = { - cpus: 0.01, - gpus: 0.0, - mem: 128, - disk: 0, - }; - } + this.$onInit = () => { + if (this.general === undefined || this.general == null) { + this.general = { + cpus: 0.01, + gpus: 0.0, + mem: 128, + disk: 0, + }; + } - this.idPattern = { - test: function (id) { - const pattern = /^([a-z0-9]*(\${.+})*)*$/; - return pattern.test(id); - }, + this.idPattern = { + test: function (id) { + const pattern = /^([a-z0-9]*(\${.+})*)*$/; + return pattern.test(id); + }, + }; }; }, }); diff --git a/packages/dcos/src/job/labels.component.js b/packages/dcos/src/job/labels.component.js index 368c5f0e60e..a9e7be693db 100644 --- a/packages/dcos/src/job/labels.component.js +++ b/packages/dcos/src/job/labels.component.js @@ -10,8 +10,10 @@ module(DCOS_JOB_LABELS_COMPONENT, []).component('dcosLabels', { }, templateUrl: require('./labels.component.html'), controller: function () { - if (this.labels === undefined || this.labels == null) { - this.labels = {}; - } + this.$onInit = () => { + if (this.labels === undefined || this.labels == null) { + this.labels = {}; + } + }; }, }); diff --git a/packages/dcos/src/job/schedule.component.js b/packages/dcos/src/job/schedule.component.js index 099ae672321..ebff6e617d4 100644 --- a/packages/dcos/src/job/schedule.component.js +++ b/packages/dcos/src/job/schedule.component.js @@ -10,8 +10,10 @@ module(DCOS_JOB_SCHEDULE_COMPONENT, []).component('dcosSchedule', { }, templateUrl: require('./schedule.component.html'), controller: function () { - if (this.schedule === undefined || this.schedule == null) { - this.schedule = {}; - } + this.$onInit = () => { + if (this.schedule === undefined || this.schedule == null) { + this.schedule = {}; + } + }; }, }); diff --git a/packages/docker/CHANGELOG.md b/packages/docker/CHANGELOG.md index c8979ef0bf0..dda1a15a983 100644 --- a/packages/docker/CHANGELOG.md +++ b/packages/docker/CHANGELOG.md @@ -3,6 +3,38 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.141](https://github.com/spinnaker/deck/compare/@spinnaker/docker@0.0.140...@spinnaker/docker@0.0.141) (2023-06-02) + +**Note:** Version bump only for package @spinnaker/docker + + + + + +## [0.0.140](https://github.com/spinnaker/deck/compare/@spinnaker/docker@0.0.139...@spinnaker/docker@0.0.140) (2023-05-11) + +**Note:** Version bump only for package @spinnaker/docker + + + + + +## [0.0.139](https://github.com/spinnaker/deck/compare/@spinnaker/docker@0.0.138...@spinnaker/docker@0.0.139) (2023-05-03) + +**Note:** Version bump only for package @spinnaker/docker + + + + + +## [0.0.138](https://github.com/spinnaker/deck/compare/@spinnaker/docker@0.0.137...@spinnaker/docker@0.0.138) (2023-04-03) + +**Note:** Version bump only for package @spinnaker/docker + + + + + ## [0.0.137](https://github.com/spinnaker/deck/compare/@spinnaker/docker@0.0.136...@spinnaker/docker@0.0.137) (2023-02-01) **Note:** Version bump only for package @spinnaker/docker diff --git a/packages/docker/package.json b/packages/docker/package.json index 4602f565fb4..4b6056eff25 100644 --- a/packages/docker/package.json +++ b/packages/docker/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/docker", "license": "Apache-2.0", - "version": "0.0.137", + "version": "0.0.141", "module": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { @@ -13,7 +13,7 @@ "lib": "npm run build" }, "dependencies": { - "@spinnaker/core": "^0.23.0", + "@spinnaker/core": "^0.24.1", "@uirouter/angularjs": "1.0.26", "angular": "1.6.10", "formik": "1.5.1", diff --git a/packages/ecs/CHANGELOG.md b/packages/ecs/CHANGELOG.md index cb5e3e8899d..ba3311153be 100644 --- a/packages/ecs/CHANGELOG.md +++ b/packages/ecs/CHANGELOG.md @@ -3,6 +3,41 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.360](https://github.com/spinnaker/deck/compare/@spinnaker/ecs@0.0.359...@spinnaker/ecs@0.0.360) (2023-06-02) + +**Note:** Version bump only for package @spinnaker/ecs + + + + + +## [0.0.359](https://github.com/spinnaker/deck/compare/@spinnaker/ecs@0.0.358...@spinnaker/ecs@0.0.359) (2023-05-11) + + +### Bug Fixes + +* **ecs:** VPC Subnet dropdown fix in ecs server group creation. ([10abc99](https://github.com/spinnaker/deck/commit/10abc99641a35803cc3c729d3ccc037ea19a9ed2)) + + + + + +## [0.0.358](https://github.com/spinnaker/deck/compare/@spinnaker/ecs@0.0.357...@spinnaker/ecs@0.0.358) (2023-05-03) + +**Note:** Version bump only for package @spinnaker/ecs + + + + + +## [0.0.357](https://github.com/spinnaker/deck/compare/@spinnaker/ecs@0.0.356...@spinnaker/ecs@0.0.357) (2023-04-03) + +**Note:** Version bump only for package @spinnaker/ecs + + + + + ## [0.0.356](https://github.com/spinnaker/deck/compare/@spinnaker/ecs@0.0.355...@spinnaker/ecs@0.0.356) (2023-02-07) diff --git a/packages/ecs/package.json b/packages/ecs/package.json index eb01e5a8230..4550448185d 100644 --- a/packages/ecs/package.json +++ b/packages/ecs/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/ecs", "license": "Apache-2.0", - "version": "0.0.356", + "version": "0.0.360", "module": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { @@ -13,9 +13,9 @@ "lib": "npm run build" }, "dependencies": { - "@spinnaker/amazon": "^0.13.5", - "@spinnaker/core": "^0.23.0", - "@spinnaker/docker": "^0.0.137", + "@spinnaker/amazon": "^0.13.9", + "@spinnaker/core": "^0.24.1", + "@spinnaker/docker": "^0.0.141", "@uirouter/angularjs": "1.0.26", "@uirouter/react": "1.0.7", "angular": "1.6.10", diff --git a/packages/ecs/src/serverGroup/configure/wizard/networking/Networking.tsx b/packages/ecs/src/serverGroup/configure/wizard/networking/Networking.tsx index 106ae1379c4..c38b41d2f55 100644 --- a/packages/ecs/src/serverGroup/configure/wizard/networking/Networking.tsx +++ b/packages/ecs/src/serverGroup/configure/wizard/networking/Networking.tsx @@ -80,8 +80,15 @@ export class EcsNetworking extends React.Component) => { const updatedNetworkMode = newNetworkMode.value; + const cmd = this.props.command; this.props.notifyAngular('networkMode', updatedNetworkMode); - this.setState({ networkMode: updatedNetworkMode }); + this.setState({ + networkMode: updatedNetworkMode, + subnetTypesAvailable: + cmd.backingData && cmd.backingData.filtered && cmd.backingData.filtered.subnetTypes + ? cmd.backingData.filtered.subnetTypes + : [], + }); }; private updateSecurityGroups = (newSecurityGroups: Option) => { diff --git a/packages/google/CHANGELOG.md b/packages/google/CHANGELOG.md index 3ce16460d00..62e85b7d5a9 100644 --- a/packages/google/CHANGELOG.md +++ b/packages/google/CHANGELOG.md @@ -3,6 +3,41 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.8](https://github.com/spinnaker/deck/compare/@spinnaker/google@0.2.7...@spinnaker/google@0.2.8) (2023-06-02) + +**Note:** Version bump only for package @spinnaker/google + + + + + +## [0.2.7](https://github.com/spinnaker/deck/compare/@spinnaker/google@0.2.6...@spinnaker/google@0.2.7) (2023-05-11) + +**Note:** Version bump only for package @spinnaker/google + + + + + +## [0.2.6](https://github.com/spinnaker/deck/compare/@spinnaker/google@0.2.5...@spinnaker/google@0.2.6) (2023-05-03) + + +### Bug Fixes + +* **angular:** fix missed AngularJS bindings ([#9989](https://github.com/spinnaker/deck/issues/9989)) ([f947bf9](https://github.com/spinnaker/deck/commit/f947bf997a03dee2f600fc72415bf141320978e4)) + + + + + +## [0.2.5](https://github.com/spinnaker/deck/compare/@spinnaker/google@0.2.4...@spinnaker/google@0.2.5) (2023-04-03) + +**Note:** Version bump only for package @spinnaker/google + + + + + ## [0.2.4](https://github.com/spinnaker/deck/compare/@spinnaker/google@0.2.3...@spinnaker/google@0.2.4) (2023-02-20) @@ -470,9 +505,9 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline ### Changes -chore(google): publish google@0.0.40 ([d5b3de93](https://github.com/spinnaker/deck/commit/d5b3de937e0f3a4fdb5d651a231b7585b3fc4a0b)) -chore(all): Remove ng template cache for webpack ([be6df680](https://github.com/spinnaker/deck/commit/be6df680689e0624b27635bc875d0b4390a3bc4a)) -chore(build): Integrate with yarn workspaces ([e30e631b](https://github.com/spinnaker/deck/commit/e30e631b128bd1c8bfef3a48643ce0b4f9935f1d)) +chore(google): publish google@0.0.40 ([d5b3de93](https://github.com/spinnaker/deck/commit/d5b3de937e0f3a4fdb5d651a231b7585b3fc4a0b)) +chore(all): Remove ng template cache for webpack ([be6df680](https://github.com/spinnaker/deck/commit/be6df680689e0624b27635bc875d0b4390a3bc4a)) +chore(build): Integrate with yarn workspaces ([e30e631b](https://github.com/spinnaker/deck/commit/e30e631b128bd1c8bfef3a48643ce0b4f9935f1d)) @@ -481,9 +516,9 @@ chore(build): Integrate with yarn workspaces ([e30e631b](https://github.com/spin ### Changes -chore(google): publish google@0.0.39 ([f5349b43](https://github.com/spinnaker/deck/commit/f5349b4308afcc5b74bed0b9a7695a3ea31af401)) -fix(imports): Convert requires to imports ([5839a0f4](https://github.com/spinnaker/deck/commit/5839a0f42059247c08ac52322f2c7dfd260b3644)) -refactor(packages): Migrate packages to make them independent ([38b5fa17](https://github.com/spinnaker/deck/commit/38b5fa17d82a1a032e84e6c3f51c806b5d6901b8)) +chore(google): publish google@0.0.39 ([f5349b43](https://github.com/spinnaker/deck/commit/f5349b4308afcc5b74bed0b9a7695a3ea31af401)) +fix(imports): Convert requires to imports ([5839a0f4](https://github.com/spinnaker/deck/commit/5839a0f42059247c08ac52322f2c7dfd260b3644)) +refactor(packages): Migrate packages to make them independent ([38b5fa17](https://github.com/spinnaker/deck/commit/38b5fa17d82a1a032e84e6c3f51c806b5d6901b8)) @@ -492,8 +527,8 @@ refactor(packages): Migrate packages to make them independent ([38b5fa17](https: ### Changes -chore(google): publish google@0.0.38 ([489b9664](https://github.com/spinnaker/deck/commit/489b9664f27c43d82c9239d31321e49424e74bc4)) -fix(build): Fix distribution dir ([eb87451a](https://github.com/spinnaker/deck/commit/eb87451afb8a4696a4c6d76589cb95d8b4192398)) +chore(google): publish google@0.0.38 ([489b9664](https://github.com/spinnaker/deck/commit/489b9664f27c43d82c9239d31321e49424e74bc4)) +fix(build): Fix distribution dir ([eb87451a](https://github.com/spinnaker/deck/commit/eb87451afb8a4696a4c6d76589cb95d8b4192398)) @@ -502,8 +537,8 @@ fix(build): Fix distribution dir ([eb87451a](https://github.com/spinnaker/deck/c ### Changes -chore(google): publish google@0.0.37 ([115d0019](https://github.com/spinnaker/deck/commit/115d001915ddbaf04e3eaf180309875dd109a281)) -refactor(core): Convert AddEntityTagLinks to React [#9147](https://github.com/spinnaker/deck/pull/9147) ([39fa7730](https://github.com/spinnaker/deck/commit/39fa77303b75ca6e5b0af96d1e011bcff452cede)) +chore(google): publish google@0.0.37 ([115d0019](https://github.com/spinnaker/deck/commit/115d001915ddbaf04e3eaf180309875dd109a281)) +refactor(core): Convert AddEntityTagLinks to React [#9147](https://github.com/spinnaker/deck/pull/9147) ([39fa7730](https://github.com/spinnaker/deck/commit/39fa77303b75ca6e5b0af96d1e011bcff452cede)) @@ -512,9 +547,9 @@ refactor(core): Convert AddEntityTagLinks to React [#9147](https://github.com/sp ### Changes -chore(google): publish google@0.0.36 ([9d3f4259](https://github.com/spinnaker/deck/commit/9d3f42592ee1d91dcc798ff2b57662f12dbf4c59)) -chore(eslint): yarn eslint --fix ([7360252e](https://github.com/spinnaker/deck/commit/7360252e1a44b2c76c67b9741289a523bbd799c3)) -chore(prettier): Just Update Prettier™️ ([9aeb398b](https://github.com/spinnaker/deck/commit/9aeb398ba3a6a49ad9677f2d8b5ba6f8840f2b21)) +chore(google): publish google@0.0.36 ([9d3f4259](https://github.com/spinnaker/deck/commit/9d3f42592ee1d91dcc798ff2b57662f12dbf4c59)) +chore(eslint): yarn eslint --fix ([7360252e](https://github.com/spinnaker/deck/commit/7360252e1a44b2c76c67b9741289a523bbd799c3)) +chore(prettier): Just Update Prettier™️ ([9aeb398b](https://github.com/spinnaker/deck/commit/9aeb398ba3a6a49ad9677f2d8b5ba6f8840f2b21)) @@ -523,8 +558,8 @@ chore(prettier): Just Update Prettier™️ ([9aeb398b](https://github.com/spinn ### Changes -chore(google): publish google@0.0.35 ([50ecfcf0](https://github.com/spinnaker/deck/commit/50ecfcf0c7967f28abed18b895ffd1819f539146)) -chore(rxjs): Manually migrate rxjs code in .js files ([30c3ee8d](https://github.com/spinnaker/deck/commit/30c3ee8d593973b0c6a87fd0a2dd9a15b10470f0)) +chore(google): publish google@0.0.35 ([50ecfcf0](https://github.com/spinnaker/deck/commit/50ecfcf0c7967f28abed18b895ffd1819f539146)) +chore(rxjs): Manually migrate rxjs code in .js files ([30c3ee8d](https://github.com/spinnaker/deck/commit/30c3ee8d593973b0c6a87fd0a2dd9a15b10470f0)) @@ -533,7 +568,7 @@ chore(rxjs): Manually migrate rxjs code in .js files ([30c3ee8d](https://github. ### Changes -chore(google): publish google@0.0.34 ([deb21f2d](https://github.com/spinnaker/deck/commit/deb21f2d26ab87031a462b5e3eac84420d030c7d)) +chore(google): publish google@0.0.34 ([deb21f2d](https://github.com/spinnaker/deck/commit/deb21f2d26ab87031a462b5e3eac84420d030c7d)) @@ -542,8 +577,8 @@ chore(google): publish google@0.0.34 ([deb21f2d](https://github.com/spinnaker/de ### Changes -chore(google): publish google@0.0.33 ([ad5ebd37](https://github.com/spinnaker/deck/commit/ad5ebd37e198ec4951ea94315e2faa17c5a15ee3)) -Remove webpack modules + webpack consolidation [#9097](https://github.com/spinnaker/deck/pull/9097) ([00145566](https://github.com/spinnaker/deck/commit/001455667f2afb5c728737863f7365fc4fcbb76b)) +chore(google): publish google@0.0.33 ([ad5ebd37](https://github.com/spinnaker/deck/commit/ad5ebd37e198ec4951ea94315e2faa17c5a15ee3)) +Remove webpack modules + webpack consolidation [#9097](https://github.com/spinnaker/deck/pull/9097) ([00145566](https://github.com/spinnaker/deck/commit/001455667f2afb5c728737863f7365fc4fcbb76b)) @@ -552,10 +587,10 @@ Remove webpack modules + webpack consolidation [#9097](https://github.com/spinna ### Changes -chore(google): publish google@0.0.32 ([1bcd9376](https://github.com/spinnaker/deck/commit/1bcd937610ad2e5e4824fdbcc738e0f4a4b7df57)) -chore(lint): Update import statement ordering ([5a9768bc](https://github.com/spinnaker/deck/commit/5a9768bc6db2f527a73d6b1f5fb3120c101e094b)) -chore(lint): Sort import statements ([cca56eaa](https://github.com/spinnaker/deck/commit/cca56eaaeeb412b7596c68a1260eefed7fbf6fed)) -chore(prettier): Format code using prettier ([b6364c82](https://github.com/spinnaker/deck/commit/b6364c820c106ee54e5bd5770e44c81fa3af06e9)) +chore(google): publish google@0.0.32 ([1bcd9376](https://github.com/spinnaker/deck/commit/1bcd937610ad2e5e4824fdbcc738e0f4a4b7df57)) +chore(lint): Update import statement ordering ([5a9768bc](https://github.com/spinnaker/deck/commit/5a9768bc6db2f527a73d6b1f5fb3120c101e094b)) +chore(lint): Sort import statements ([cca56eaa](https://github.com/spinnaker/deck/commit/cca56eaaeeb412b7596c68a1260eefed7fbf6fed)) +chore(prettier): Format code using prettier ([b6364c82](https://github.com/spinnaker/deck/commit/b6364c820c106ee54e5bd5770e44c81fa3af06e9)) @@ -564,8 +599,8 @@ chore(prettier): Format code using prettier ([b6364c82](https://github.com/spinn ### Changes -chore(google): publish google@0.0.31 ([c1009c3b](https://github.com/spinnaker/deck/commit/c1009c3bab1b1ff066b28a5f7d5ff4f9eab8adef)) -Deangularize instance writer [#8834](https://github.com/spinnaker/deck/pull/8834) ([f16b0775](https://github.com/spinnaker/deck/commit/f16b0775917242a39ae70e86c5541020c898b872)) +chore(google): publish google@0.0.31 ([c1009c3b](https://github.com/spinnaker/deck/commit/c1009c3bab1b1ff066b28a5f7d5ff4f9eab8adef)) +Deangularize instance writer [#8834](https://github.com/spinnaker/deck/pull/8834) ([f16b0775](https://github.com/spinnaker/deck/commit/f16b0775917242a39ae70e86c5541020c898b872)) @@ -574,12 +609,12 @@ Deangularize instance writer [#8834](https://github.com/spinnaker/deck/pull/8834 ### Changes -chore(google): publish google@0.0.30 ([55d49b07](https://github.com/spinnaker/deck/commit/55d49b07589ec310dc4db569a3cf9482b2eae90a)) -refactor(REST): Prefer REST('/foo/bar') over REST().path('foo', 'bar') ([1d4320a0](https://github.com/spinnaker/deck/commit/1d4320a08f73093483cbb93784e9115c236b1f8a)) -refactor(api-deprecation): API is deprecated, switch to REST() ([97bfbf67](https://github.com/spinnaker/deck/commit/97bfbf67b5d359cc540918b62c99088ad82dfb1b)) -refactor(api-deprecation): Migrate from API.get(queryparams) to .query(queryparams).get() ([46db35b0](https://github.com/spinnaker/deck/commit/46db35b063b8c9b457f3f3675cd81a11a867c070)) -refactor(api-deprecation): Migrate from API.one/all/withParams/getList() to path/query/get() ([587db3ab](https://github.com/spinnaker/deck/commit/587db3ab20040fb5c72fe48feb36eccd7d1f297a)) -Avoid raw "$http" usage [#8790](https://github.com/spinnaker/deck/pull/8790) ([969f4fe0](https://github.com/spinnaker/deck/commit/969f4fe0e9ab75eef2ceb0a2287643425293e209)) +chore(google): publish google@0.0.30 ([55d49b07](https://github.com/spinnaker/deck/commit/55d49b07589ec310dc4db569a3cf9482b2eae90a)) +refactor(REST): Prefer REST('/foo/bar') over REST().path('foo', 'bar') ([1d4320a0](https://github.com/spinnaker/deck/commit/1d4320a08f73093483cbb93784e9115c236b1f8a)) +refactor(api-deprecation): API is deprecated, switch to REST() ([97bfbf67](https://github.com/spinnaker/deck/commit/97bfbf67b5d359cc540918b62c99088ad82dfb1b)) +refactor(api-deprecation): Migrate from API.get(queryparams) to .query(queryparams).get() ([46db35b0](https://github.com/spinnaker/deck/commit/46db35b063b8c9b457f3f3675cd81a11a867c070)) +refactor(api-deprecation): Migrate from API.one/all/withParams/getList() to path/query/get() ([587db3ab](https://github.com/spinnaker/deck/commit/587db3ab20040fb5c72fe48feb36eccd7d1f297a)) +Avoid raw "$http" usage [#8790](https://github.com/spinnaker/deck/pull/8790) ([969f4fe0](https://github.com/spinnaker/deck/commit/969f4fe0e9ab75eef2ceb0a2287643425293e209)) @@ -588,8 +623,8 @@ Avoid raw "$http" usage [#8790](https://github.com/spinnaker/deck/pull/8790) ([9 ### Changes -chore(google): publish google@0.0.29 ([487c9398](https://github.com/spinnaker/deck/commit/487c93982f6b125b4b8ff494b817e1cf82a1ae81)) -feat(targetShape): remove the ALPHA conditional on the targetShape [#8787](https://github.com/spinnaker/deck/pull/8787) ([1446faca](https://github.com/spinnaker/deck/commit/1446faca4d7e6d24079722c8dd56f51c35f4d010)) +chore(google): publish google@0.0.29 ([487c9398](https://github.com/spinnaker/deck/commit/487c93982f6b125b4b8ff494b817e1cf82a1ae81)) +feat(targetShape): remove the ALPHA conditional on the targetShape [#8787](https://github.com/spinnaker/deck/pull/8787) ([1446faca](https://github.com/spinnaker/deck/commit/1446faca4d7e6d24079722c8dd56f51c35f4d010)) @@ -598,8 +633,8 @@ feat(targetShape): remove the ALPHA conditional on the targetShape [#8787](https ### Changes -chore(google): publish google@0.0.28 ([c198e2db](https://github.com/spinnaker/deck/commit/c198e2dbefe3362f5cad8b5cf92387b3f66c5836)) -refactor(core/instance): Create generic header for instance details panel [#8706](https://github.com/spinnaker/deck/pull/8706) ([37483823](https://github.com/spinnaker/deck/commit/37483823071dfbc76491b77004c5435479207cc6)) +chore(google): publish google@0.0.28 ([c198e2db](https://github.com/spinnaker/deck/commit/c198e2dbefe3362f5cad8b5cf92387b3f66c5836)) +refactor(core/instance): Create generic header for instance details panel [#8706](https://github.com/spinnaker/deck/pull/8706) ([37483823](https://github.com/spinnaker/deck/commit/37483823071dfbc76491b77004c5435479207cc6)) @@ -608,9 +643,9 @@ refactor(core/instance): Create generic header for instance details panel [#8706 ### Changes -chore(google): publish google@0.0.27 ([01bd1319](https://github.com/spinnaker/deck/commit/01bd131946f8f84370cc0249c8c69578a084fa5d)) -fix(promiselike): Revert typeRoots tsconfig change, move types to src/types and add KLUDGE to expose them in the @spinnaker/core bundle ([a929d3fa](https://github.com/spinnaker/deck/commit/a929d3fa4db978aaf7b6d8ada12abc5b03403821)) -chore(PromiseLike): Migrate remaining IPromise typings to PromiseLike ([2c0d0f68](https://github.com/spinnaker/deck/commit/2c0d0f6814689d93820eab4e97e5d89f98a61cc5)) +chore(google): publish google@0.0.27 ([01bd1319](https://github.com/spinnaker/deck/commit/01bd131946f8f84370cc0249c8c69578a084fa5d)) +fix(promiselike): Revert typeRoots tsconfig change, move types to src/types and add KLUDGE to expose them in the @spinnaker/core bundle ([a929d3fa](https://github.com/spinnaker/deck/commit/a929d3fa4db978aaf7b6d8ada12abc5b03403821)) +chore(PromiseLike): Migrate remaining IPromise typings to PromiseLike ([2c0d0f68](https://github.com/spinnaker/deck/commit/2c0d0f6814689d93820eab4e97e5d89f98a61cc5)) @@ -619,14 +654,14 @@ chore(PromiseLike): Migrate remaining IPromise typings to PromiseLike ([2c0d0f68 ### Changes -chore(google): publish google@0.0.26 ([863cf54c](https://github.com/spinnaker/deck/commit/863cf54c7bcc4e04c4ff0f897c5570b6ad4401ff)) -chore(promiselike): Migrate more code away from angularjs IPromise to PromiseLike [#8687](https://github.com/spinnaker/deck/pull/8687) ([1df3daa8](https://github.com/spinnaker/deck/commit/1df3daa88209e885abb3d528edae4a942a060afb)) -chore(google/serverGroup): Migrate from $q.all({}) to $q.all([]) ([ec9a5316](https://github.com/spinnaker/deck/commit/ec9a5316b133696aad7b535e777586bbb3ccffe8)) -chore(google/pipeline): Migrate from $q.all({}) to $q.all([]) ([9886b795](https://github.com/spinnaker/deck/commit/9886b795b57d76a96e831ae3f815775459575c76)) -chore(google/serverGroup): Migrate from $q.all({}) to $q.all([]) ([00d946c7](https://github.com/spinnaker/deck/commit/00d946c7b9bee99ec9c6a492b3d5a456973de142)) -chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149 [#8680](https://github.com/spinnaker/deck/pull/8680) ([47a80028](https://github.com/spinnaker/deck/commit/47a8002877ce304ce51f928214e6b3b60820fc6c)) -chore(modules): Reformat package.json with prettier [#8679](https://github.com/spinnaker/deck/pull/8679) ([0b1e2977](https://github.com/spinnaker/deck/commit/0b1e29778521da03673dc2aff083e490164ce616)) -Revert "chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149" [#8678](https://github.com/spinnaker/deck/pull/8678) ([a220af58](https://github.com/spinnaker/deck/commit/a220af588e194762757be534cce2d7ae9dc508d5)) +chore(google): publish google@0.0.26 ([863cf54c](https://github.com/spinnaker/deck/commit/863cf54c7bcc4e04c4ff0f897c5570b6ad4401ff)) +chore(promiselike): Migrate more code away from angularjs IPromise to PromiseLike [#8687](https://github.com/spinnaker/deck/pull/8687) ([1df3daa8](https://github.com/spinnaker/deck/commit/1df3daa88209e885abb3d528edae4a942a060afb)) +chore(google/serverGroup): Migrate from $q.all({}) to $q.all([]) ([ec9a5316](https://github.com/spinnaker/deck/commit/ec9a5316b133696aad7b535e777586bbb3ccffe8)) +chore(google/pipeline): Migrate from $q.all({}) to $q.all([]) ([9886b795](https://github.com/spinnaker/deck/commit/9886b795b57d76a96e831ae3f815775459575c76)) +chore(google/serverGroup): Migrate from $q.all({}) to $q.all([]) ([00d946c7](https://github.com/spinnaker/deck/commit/00d946c7b9bee99ec9c6a492b3d5a456973de142)) +chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149 [#8680](https://github.com/spinnaker/deck/pull/8680) ([47a80028](https://github.com/spinnaker/deck/commit/47a8002877ce304ce51f928214e6b3b60820fc6c)) +chore(modules): Reformat package.json with prettier [#8679](https://github.com/spinnaker/deck/pull/8679) ([0b1e2977](https://github.com/spinnaker/deck/commit/0b1e29778521da03673dc2aff083e490164ce616)) +Revert "chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149" [#8678](https://github.com/spinnaker/deck/pull/8678) ([a220af58](https://github.com/spinnaker/deck/commit/a220af588e194762757be534cce2d7ae9dc508d5)) @@ -635,14 +670,14 @@ Revert "chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfound ### Changes -chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149 [#8680](https://github.com/spinnaker/deck/pull/8680) ([47a80028](https://github.com/spinnaker/deck/commit/47a8002877ce304ce51f928214e6b3b60820fc6c)) -chore(modules): Reformat package.json with prettier [#8679](https://github.com/spinnaker/deck/pull/8679) ([0b1e2977](https://github.com/spinnaker/deck/commit/0b1e29778521da03673dc2aff083e490164ce616)) -Revert "chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149" [#8678](https://github.com/spinnaker/deck/pull/8678) ([a220af58](https://github.com/spinnaker/deck/commit/a220af588e194762757be534cce2d7ae9dc508d5)) -chore(google): publish google@0.0.25 ([6ccd3bdb](https://github.com/spinnaker/deck/commit/6ccd3bdb593e4b75c1c79c5fc27bbb60a657199c)) -chore(PromiseLike): Migrate code from IPromise types to PromiseLike ([1e2032bb](https://github.com/spinnaker/deck/commit/1e2032bb39d6b524a3dfae3df9c4bd6862c40057)) -feat(typescript): Add a new `app/types` typeRoot to all the tsconfig.json files providing `PromiseLike` and *.svg imports ([e622a534](https://github.com/spinnaker/deck/commit/e622a5348f614ee8615fab13082ac5f2fdd95960)) -chore(package): In packages, do not use webpack to typecheck [#8670](https://github.com/spinnaker/deck/pull/8670) ([8b3c134d](https://github.com/spinnaker/deck/commit/8b3c134d1ab82610611a194917cf5958047e1cc3)) -chore(package): use node_modules/.bin/* in module scripts, add 'build' script (the old 'lib' script) [#8668](https://github.com/spinnaker/deck/pull/8668) ([231f7818](https://github.com/spinnaker/deck/commit/231f7818895e7e2a12bb3591a2112559e07ee01d)) +chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149 [#8680](https://github.com/spinnaker/deck/pull/8680) ([47a80028](https://github.com/spinnaker/deck/commit/47a8002877ce304ce51f928214e6b3b60820fc6c)) +chore(modules): Reformat package.json with prettier [#8679](https://github.com/spinnaker/deck/pull/8679) ([0b1e2977](https://github.com/spinnaker/deck/commit/0b1e29778521da03673dc2aff083e490164ce616)) +Revert "chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149" [#8678](https://github.com/spinnaker/deck/pull/8678) ([a220af58](https://github.com/spinnaker/deck/commit/a220af588e194762757be534cce2d7ae9dc508d5)) +chore(google): publish google@0.0.25 ([6ccd3bdb](https://github.com/spinnaker/deck/commit/6ccd3bdb593e4b75c1c79c5fc27bbb60a657199c)) +chore(PromiseLike): Migrate code from IPromise types to PromiseLike ([1e2032bb](https://github.com/spinnaker/deck/commit/1e2032bb39d6b524a3dfae3df9c4bd6862c40057)) +feat(typescript): Add a new `app/types` typeRoot to all the tsconfig.json files providing `PromiseLike` and *.svg imports ([e622a534](https://github.com/spinnaker/deck/commit/e622a5348f614ee8615fab13082ac5f2fdd95960)) +chore(package): In packages, do not use webpack to typecheck [#8670](https://github.com/spinnaker/deck/pull/8670) ([8b3c134d](https://github.com/spinnaker/deck/commit/8b3c134d1ab82610611a194917cf5958047e1cc3)) +chore(package): use node_modules/.bin/* in module scripts, add 'build' script (the old 'lib' script) [#8668](https://github.com/spinnaker/deck/pull/8668) ([231f7818](https://github.com/spinnaker/deck/commit/231f7818895e7e2a12bb3591a2112559e07ee01d)) @@ -651,7 +686,7 @@ chore(package): use node_modules/.bin/* in module scripts, add 'build' script (t ### Changes -Revert "chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149" [#8678](https://github.com/spinnaker/deck/pull/8678) ([a220af58](https://github.com/spinnaker/deck/commit/a220af588e194762757be534cce2d7ae9dc508d5)) +Revert "chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149" [#8678](https://github.com/spinnaker/deck/pull/8678) ([a220af58](https://github.com/spinnaker/deck/commit/a220af588e194762757be534cce2d7ae9dc508d5)) @@ -660,14 +695,14 @@ Revert "chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfound ### Changes -chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149 [#8680](https://github.com/spinnaker/deck/pull/8680) ([47a80028](https://github.com/spinnaker/deck/commit/47a8002877ce304ce51f928214e6b3b60820fc6c)) -chore(modules): Reformat package.json with prettier [#8679](https://github.com/spinnaker/deck/pull/8679) ([0b1e2977](https://github.com/spinnaker/deck/commit/0b1e29778521da03673dc2aff083e490164ce616)) -Revert "chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149" [#8678](https://github.com/spinnaker/deck/pull/8678) ([a220af58](https://github.com/spinnaker/deck/commit/a220af588e194762757be534cce2d7ae9dc508d5)) -chore(google): publish google@0.0.25 ([6ccd3bdb](https://github.com/spinnaker/deck/commit/6ccd3bdb593e4b75c1c79c5fc27bbb60a657199c)) -chore(PromiseLike): Migrate code from IPromise types to PromiseLike ([1e2032bb](https://github.com/spinnaker/deck/commit/1e2032bb39d6b524a3dfae3df9c4bd6862c40057)) -feat(typescript): Add a new `app/types` typeRoot to all the tsconfig.json files providing `PromiseLike` and *.svg imports ([e622a534](https://github.com/spinnaker/deck/commit/e622a5348f614ee8615fab13082ac5f2fdd95960)) -chore(package): In packages, do not use webpack to typecheck [#8670](https://github.com/spinnaker/deck/pull/8670) ([8b3c134d](https://github.com/spinnaker/deck/commit/8b3c134d1ab82610611a194917cf5958047e1cc3)) -chore(package): use node_modules/.bin/* in module scripts, add 'build' script (the old 'lib' script) [#8668](https://github.com/spinnaker/deck/pull/8668) ([231f7818](https://github.com/spinnaker/deck/commit/231f7818895e7e2a12bb3591a2112559e07ee01d)) +chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149 [#8680](https://github.com/spinnaker/deck/pull/8680) ([47a80028](https://github.com/spinnaker/deck/commit/47a8002877ce304ce51f928214e6b3b60820fc6c)) +chore(modules): Reformat package.json with prettier [#8679](https://github.com/spinnaker/deck/pull/8679) ([0b1e2977](https://github.com/spinnaker/deck/commit/0b1e29778521da03673dc2aff083e490164ce616)) +Revert "chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149" [#8678](https://github.com/spinnaker/deck/pull/8678) ([a220af58](https://github.com/spinnaker/deck/commit/a220af588e194762757be534cce2d7ae9dc508d5)) +chore(google): publish google@0.0.25 ([6ccd3bdb](https://github.com/spinnaker/deck/commit/6ccd3bdb593e4b75c1c79c5fc27bbb60a657199c)) +chore(PromiseLike): Migrate code from IPromise types to PromiseLike ([1e2032bb](https://github.com/spinnaker/deck/commit/1e2032bb39d6b524a3dfae3df9c4bd6862c40057)) +feat(typescript): Add a new `app/types` typeRoot to all the tsconfig.json files providing `PromiseLike` and *.svg imports ([e622a534](https://github.com/spinnaker/deck/commit/e622a5348f614ee8615fab13082ac5f2fdd95960)) +chore(package): In packages, do not use webpack to typecheck [#8670](https://github.com/spinnaker/deck/pull/8670) ([8b3c134d](https://github.com/spinnaker/deck/commit/8b3c134d1ab82610611a194917cf5958047e1cc3)) +chore(package): use node_modules/.bin/* in module scripts, add 'build' script (the old 'lib' script) [#8668](https://github.com/spinnaker/deck/pull/8668) ([231f7818](https://github.com/spinnaker/deck/commit/231f7818895e7e2a12bb3591a2112559e07ee01d)) @@ -676,15 +711,15 @@ chore(package): use node_modules/.bin/* in module scripts, add 'build' script (t ### Changes -Revert "chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149" [#8678](https://github.com/spinnaker/deck/pull/8678) ([a220af58](https://github.com/spinnaker/deck/commit/a220af588e194762757be534cce2d7ae9dc508d5)) -chore(google): publish google@0.0.25 ([6ccd3bdb](https://github.com/spinnaker/deck/commit/6ccd3bdb593e4b75c1c79c5fc27bbb60a657199c)) -chore(PromiseLike): Migrate code from IPromise types to PromiseLike ([1e2032bb](https://github.com/spinnaker/deck/commit/1e2032bb39d6b524a3dfae3df9c4bd6862c40057)) -feat(typescript): Add a new `app/types` typeRoot to all the tsconfig.json files providing `PromiseLike` and *.svg imports ([e622a534](https://github.com/spinnaker/deck/commit/e622a5348f614ee8615fab13082ac5f2fdd95960)) -chore(package): In packages, do not use webpack to typecheck [#8670](https://github.com/spinnaker/deck/pull/8670) ([8b3c134d](https://github.com/spinnaker/deck/commit/8b3c134d1ab82610611a194917cf5958047e1cc3)) -chore(package): use node_modules/.bin/* in module scripts, add 'build' script (the old 'lib' script) [#8668](https://github.com/spinnaker/deck/pull/8668) ([231f7818](https://github.com/spinnaker/deck/commit/231f7818895e7e2a12bb3591a2112559e07ee01d)) -chore(package): amazon@0.0.272 appengine@0.0.20 azure@0.0.258 cloudfoundry@0.0.104 core@0.0.519 docker@0.0.63 ecs@0.0.266 google@0.0.24 huaweicloud@0.0.6 kubernetes@0.0.52 oracle@0.0.12 tencentcloud@0.0.9 titus@0.0.148 [#8647](https://github.com/spinnaker/deck/pull/8647) ([4b79b4d7](https://github.com/spinnaker/deck/commit/4b79b4d75628bc74b91b72980f0a5e8ba479335e)) -chore(prettier): Just Update Prettier™ [#8644](https://github.com/spinnaker/deck/pull/8644) ([8532bdd4](https://github.com/spinnaker/deck/commit/8532bdd4c08d59c38a0adde70ccac4f163c9dd97)) -chore(lint): eslint --fix react2angular-with-error-boundary ([defaf19b](https://github.com/spinnaker/deck/commit/defaf19b5f11f8cce70e14fa1cdd52e88e6de0fd)) +Revert "chore(package): amazon@0.0.274 appengine@0.0.21 azure@0.0.259 cloudfoundry@0.0.105 core@0.0.522 docker@0.0.64 ecs@0.0.267 google@0.0.25 huaweicloud@0.0.7 kubernetes@0.0.53 oracle@0.0.14 tencentcloud@0.0.10 titus@0.0.149" [#8678](https://github.com/spinnaker/deck/pull/8678) ([a220af58](https://github.com/spinnaker/deck/commit/a220af588e194762757be534cce2d7ae9dc508d5)) +chore(google): publish google@0.0.25 ([6ccd3bdb](https://github.com/spinnaker/deck/commit/6ccd3bdb593e4b75c1c79c5fc27bbb60a657199c)) +chore(PromiseLike): Migrate code from IPromise types to PromiseLike ([1e2032bb](https://github.com/spinnaker/deck/commit/1e2032bb39d6b524a3dfae3df9c4bd6862c40057)) +feat(typescript): Add a new `app/types` typeRoot to all the tsconfig.json files providing `PromiseLike` and *.svg imports ([e622a534](https://github.com/spinnaker/deck/commit/e622a5348f614ee8615fab13082ac5f2fdd95960)) +chore(package): In packages, do not use webpack to typecheck [#8670](https://github.com/spinnaker/deck/pull/8670) ([8b3c134d](https://github.com/spinnaker/deck/commit/8b3c134d1ab82610611a194917cf5958047e1cc3)) +chore(package): use node_modules/.bin/* in module scripts, add 'build' script (the old 'lib' script) [#8668](https://github.com/spinnaker/deck/pull/8668) ([231f7818](https://github.com/spinnaker/deck/commit/231f7818895e7e2a12bb3591a2112559e07ee01d)) +chore(package): amazon@0.0.272 appengine@0.0.20 azure@0.0.258 cloudfoundry@0.0.104 core@0.0.519 docker@0.0.63 ecs@0.0.266 google@0.0.24 huaweicloud@0.0.6 kubernetes@0.0.52 oracle@0.0.12 tencentcloud@0.0.9 titus@0.0.148 [#8647](https://github.com/spinnaker/deck/pull/8647) ([4b79b4d7](https://github.com/spinnaker/deck/commit/4b79b4d75628bc74b91b72980f0a5e8ba479335e)) +chore(prettier): Just Update Prettier™ [#8644](https://github.com/spinnaker/deck/pull/8644) ([8532bdd4](https://github.com/spinnaker/deck/commit/8532bdd4c08d59c38a0adde70ccac4f163c9dd97)) +chore(lint): eslint --fix react2angular-with-error-boundary ([defaf19b](https://github.com/spinnaker/deck/commit/defaf19b5f11f8cce70e14fa1cdd52e88e6de0fd)) @@ -693,9 +728,9 @@ chore(lint): eslint --fix react2angular-with-error-boundary ([defaf19b](https:// ### Changes -Package bump amazon 0.0.271 azure 0.0.257 cloudfoundry 0.0.103 core 0.0.518 docker 0.0.62 google 0.0.23 oracle 0.0.11 tencentcloud 0.0.8 titus 0.0.147 [#8640](https://github.com/spinnaker/deck/pull/8640) ([f216cc65](https://github.com/spinnaker/deck/commit/f216cc6556bff90033b28bbe7e9f94517ddaa270)) -feat(gce): remove the deprecated ONLY_UP autoscaling mode [#8633](https://github.com/spinnaker/deck/pull/8633) ([b221157e](https://github.com/spinnaker/deck/commit/b221157eeb03c985b23e4c287109f2e641080208)) -chore(eslint): eslint --fix api-no-slashes [#8631](https://github.com/spinnaker/deck/pull/8631) ([fab1a0ad](https://github.com/spinnaker/deck/commit/fab1a0ad75200cca60dfb74455d99f332e3e376f)) +Package bump amazon 0.0.271 azure 0.0.257 cloudfoundry 0.0.103 core 0.0.518 docker 0.0.62 google 0.0.23 oracle 0.0.11 tencentcloud 0.0.8 titus 0.0.147 [#8640](https://github.com/spinnaker/deck/pull/8640) ([f216cc65](https://github.com/spinnaker/deck/commit/f216cc6556bff90033b28bbe7e9f94517ddaa270)) +feat(gce): remove the deprecated ONLY_UP autoscaling mode [#8633](https://github.com/spinnaker/deck/pull/8633) ([b221157e](https://github.com/spinnaker/deck/commit/b221157eeb03c985b23e4c287109f2e641080208)) +chore(eslint): eslint --fix api-no-slashes [#8631](https://github.com/spinnaker/deck/pull/8631) ([fab1a0ad](https://github.com/spinnaker/deck/commit/fab1a0ad75200cca60dfb74455d99f332e3e376f)) @@ -704,8 +739,8 @@ chore(eslint): eslint --fix api-no-slashes [#8631](https://github.com/spinnaker/ ### Changes -chore(package): amazon@0.0.270 azure@0.0.256 cloudfoundry@0.0.102 core@0.0.517 docker@0.0.61 google@0.0.22 oracle@0.0.10 tencentcloud@0.0.7 [#8630](https://github.com/spinnaker/deck/pull/8630) ([5cdc7fa4](https://github.com/spinnaker/deck/commit/5cdc7fa4494ada88702155bb91f80a0a16f3782e)) -Revert "fix(appname): encodeURIComponent for app name (#8586)" [#8627](https://github.com/spinnaker/deck/pull/8627) ([885cd169](https://github.com/spinnaker/deck/commit/885cd169ad0dca8e7e6683bc96d2c131af6b3a1e)) +chore(package): amazon@0.0.270 azure@0.0.256 cloudfoundry@0.0.102 core@0.0.517 docker@0.0.61 google@0.0.22 oracle@0.0.10 tencentcloud@0.0.7 [#8630](https://github.com/spinnaker/deck/pull/8630) ([5cdc7fa4](https://github.com/spinnaker/deck/commit/5cdc7fa4494ada88702155bb91f80a0a16f3782e)) +Revert "fix(appname): encodeURIComponent for app name (#8586)" [#8627](https://github.com/spinnaker/deck/pull/8627) ([885cd169](https://github.com/spinnaker/deck/commit/885cd169ad0dca8e7e6683bc96d2c131af6b3a1e)) @@ -714,8 +749,8 @@ Revert "fix(appname): encodeURIComponent for app name (#8586)" [#8627](https://g ### Changes -chore(package): amazon@0.0.269 azure@0.0.255 cloudfoundry@0.0.101 core@0.0.516 docker@0.0.60 google@0.0.21 oracle@0.0.9 tencentcloud@0.0.6 [#8624](https://github.com/spinnaker/deck/pull/8624) ([8aa1e3e5](https://github.com/spinnaker/deck/commit/8aa1e3e514703fcf0b4bf7b06dffafe01e9c27ed)) -fix(appname): encodeURIComponent for app name [#8586](https://github.com/spinnaker/deck/pull/8586) ([f1bb04e8](https://github.com/spinnaker/deck/commit/f1bb04e867e68e53f4e4edb22192afbcd9715d5d)) +chore(package): amazon@0.0.269 azure@0.0.255 cloudfoundry@0.0.101 core@0.0.516 docker@0.0.60 google@0.0.21 oracle@0.0.9 tencentcloud@0.0.6 [#8624](https://github.com/spinnaker/deck/pull/8624) ([8aa1e3e5](https://github.com/spinnaker/deck/commit/8aa1e3e514703fcf0b4bf7b06dffafe01e9c27ed)) +fix(appname): encodeURIComponent for app name [#8586](https://github.com/spinnaker/deck/pull/8586) ([f1bb04e8](https://github.com/spinnaker/deck/commit/f1bb04e867e68e53f4e4edb22192afbcd9715d5d)) @@ -724,9 +759,9 @@ fix(appname): encodeURIComponent for app name [#8586](https://github.com/spinnak ### Changes -chore(package): amazon@0.0.267 appengine@0.0.18 azure@0.0.254 cloudfoundry@0.0.99 core@0.0.510 ecs@0.0.264 google@0.0.20 kubernetes@0.0.50 oracle@0.0.8 tencentcloud@0.0.5 titus@0.0.144 [#8591](https://github.com/spinnaker/deck/pull/8591) ([2273dee2](https://github.com/spinnaker/deck/commit/2273dee2b3668ba105a34a062da669cdf7c207c5)) -feat(core/*): Deck layout optimizations [#8556](https://github.com/spinnaker/deck/pull/8556) ([2588b7f3](https://github.com/spinnaker/deck/commit/2588b7f3e1ecbfd590e7cc87a225bbfd056449e3)) -refactor(google): clean up GCE-specific feature config [#8585](https://github.com/spinnaker/deck/pull/8585) ([b8051972](https://github.com/spinnaker/deck/commit/b80519721eb0c98e8910a6852670000252ea45f0)) +chore(package): amazon@0.0.267 appengine@0.0.18 azure@0.0.254 cloudfoundry@0.0.99 core@0.0.510 ecs@0.0.264 google@0.0.20 kubernetes@0.0.50 oracle@0.0.8 tencentcloud@0.0.5 titus@0.0.144 [#8591](https://github.com/spinnaker/deck/pull/8591) ([2273dee2](https://github.com/spinnaker/deck/commit/2273dee2b3668ba105a34a062da669cdf7c207c5)) +feat(core/*): Deck layout optimizations [#8556](https://github.com/spinnaker/deck/pull/8556) ([2588b7f3](https://github.com/spinnaker/deck/commit/2588b7f3e1ecbfd590e7cc87a225bbfd056449e3)) +refactor(google): clean up GCE-specific feature config [#8585](https://github.com/spinnaker/deck/pull/8585) ([b8051972](https://github.com/spinnaker/deck/commit/b80519721eb0c98e8910a6852670000252ea45f0)) @@ -735,8 +770,8 @@ refactor(google): clean up GCE-specific feature config [#8585](https://github.co ### Changes -chore(package): publish amazon 0.0.263 appengine 0.0.15 azure 0.0.253 cloudfoundry 0.0.97 core 0.0.504 docker 0.0.59 ecs 0.0.261 google 0.0.19 huaweicloud 0.0.5 kubernetes 0.0.48 oracle 0.0.7 tencentcloud 0.0.4 titus 0.0.140 [#8520](https://github.com/spinnaker/deck/pull/8520) ([ced77a74](https://github.com/spinnaker/deck/commit/ced77a7453a0ffab5a14c38943288138fdcb084b)) -chore(licenses): add license metadata to npm packages [#8512](https://github.com/spinnaker/deck/pull/8512) ([d4afa1bf](https://github.com/spinnaker/deck/commit/d4afa1bf2328cc91cf3195f810073b0b4726b3b5)) +chore(package): publish amazon 0.0.263 appengine 0.0.15 azure 0.0.253 cloudfoundry 0.0.97 core 0.0.504 docker 0.0.59 ecs 0.0.261 google 0.0.19 huaweicloud 0.0.5 kubernetes 0.0.48 oracle 0.0.7 tencentcloud 0.0.4 titus 0.0.140 [#8520](https://github.com/spinnaker/deck/pull/8520) ([ced77a74](https://github.com/spinnaker/deck/commit/ced77a7453a0ffab5a14c38943288138fdcb084b)) +chore(licenses): add license metadata to npm packages [#8512](https://github.com/spinnaker/deck/pull/8512) ([d4afa1bf](https://github.com/spinnaker/deck/commit/d4afa1bf2328cc91cf3195f810073b0b4726b3b5)) @@ -745,9 +780,9 @@ chore(licenses): add license metadata to npm packages [#8512](https://github.com ### Changes -chore(package): publish core 0.0.502 ecs 0.0.260 google 0.0.18 kubernetes 0.0.47 [#8510](https://github.com/spinnaker/deck/pull/8510) ([51eb36e3](https://github.com/spinnaker/deck/commit/51eb36e35e0e1da2d0a76be9f9aef60525cb554c)) -feat(google): add predictive autoscaling support [#8495](https://github.com/spinnaker/deck/pull/8495) ([0be2a84d](https://github.com/spinnaker/deck/commit/0be2a84d5d732bd6170728bdebe4b3a2e87c1b1a)) -fix(google): do not self-close react2Angular-created elements [#8493](https://github.com/spinnaker/deck/pull/8493) ([2c5a727e](https://github.com/spinnaker/deck/commit/2c5a727ece1fe6f07928a5b727aa3900be74666d)) +chore(package): publish core 0.0.502 ecs 0.0.260 google 0.0.18 kubernetes 0.0.47 [#8510](https://github.com/spinnaker/deck/pull/8510) ([51eb36e3](https://github.com/spinnaker/deck/commit/51eb36e35e0e1da2d0a76be9f9aef60525cb554c)) +feat(google): add predictive autoscaling support [#8495](https://github.com/spinnaker/deck/pull/8495) ([0be2a84d](https://github.com/spinnaker/deck/commit/0be2a84d5d732bd6170728bdebe4b3a2e87c1b1a)) +fix(google): do not self-close react2Angular-created elements [#8493](https://github.com/spinnaker/deck/pull/8493) ([2c5a727e](https://github.com/spinnaker/deck/commit/2c5a727ece1fe6f07928a5b727aa3900be74666d)) @@ -756,8 +791,8 @@ fix(google): do not self-close react2Angular-created elements [#8493](https://gi ### Changes -chore(package): publish core 0.0.500 docker 0.0.58 google 0.0.17 [#8482](https://github.com/spinnaker/deck/pull/8482) ([84377118](https://github.com/spinnaker/deck/commit/84377118d005024e6c6c0b542940fd958a59a4b6)) -feat(gce): Add GCP internal http(s) load balancer. [#8397](https://github.com/spinnaker/deck/pull/8397) ([3f279bc4](https://github.com/spinnaker/deck/commit/3f279bc4a3a88e126098d817aa1e2cc865fb2cf2)) +chore(package): publish core 0.0.500 docker 0.0.58 google 0.0.17 [#8482](https://github.com/spinnaker/deck/pull/8482) ([84377118](https://github.com/spinnaker/deck/commit/84377118d005024e6c6c0b542940fd958a59a4b6)) +feat(gce): Add GCP internal http(s) load balancer. [#8397](https://github.com/spinnaker/deck/pull/8397) ([3f279bc4](https://github.com/spinnaker/deck/commit/3f279bc4a3a88e126098d817aa1e2cc865fb2cf2)) @@ -766,8 +801,8 @@ feat(gce): Add GCP internal http(s) load balancer. [#8397](https://github.com/s ### Changes -chore(package): publish core 0.0.486 google 0.0.16 [#8399](https://github.com/spinnaker/deck/pull/8399) ([5e6cfb7d](https://github.com/spinnaker/deck/commit/5e6cfb7d41be1b7aa2a283224b80ead981626383)) -feat(gce): add support multi instance family type for custom instances, [#8394](https://github.com/spinnaker/deck/pull/8394) ([b3671f87](https://github.com/spinnaker/deck/commit/b3671f878ce3d196f53e088906e105f1df243747)) +chore(package): publish core 0.0.486 google 0.0.16 [#8399](https://github.com/spinnaker/deck/pull/8399) ([5e6cfb7d](https://github.com/spinnaker/deck/commit/5e6cfb7d41be1b7aa2a283224b80ead981626383)) +feat(gce): add support multi instance family type for custom instances, [#8394](https://github.com/spinnaker/deck/pull/8394) ([b3671f87](https://github.com/spinnaker/deck/commit/b3671f878ce3d196f53e088906e105f1df243747)) @@ -776,8 +811,8 @@ feat(gce): add support multi instance family type for custom instances, [#8394]( ### Changes -chore(package): publish core 0.0.484 google 0.0.15 kubernetes 0.0.42 ([727819f8](https://github.com/spinnaker/deck/commit/727819f85d73c307f065336fe608060de438ec7b)) -feat(gce): remove the scale-in control feature flag [#8372](https://github.com/spinnaker/deck/pull/8372) ([aae2270c](https://github.com/spinnaker/deck/commit/aae2270c7fd99cb9324f2a9e9547375eff06fb1e)) +chore(package): publish core 0.0.484 google 0.0.15 kubernetes 0.0.42 ([727819f8](https://github.com/spinnaker/deck/commit/727819f85d73c307f065336fe608060de438ec7b)) +feat(gce): remove the scale-in control feature flag [#8372](https://github.com/spinnaker/deck/pull/8372) ([aae2270c](https://github.com/spinnaker/deck/commit/aae2270c7fd99cb9324f2a9e9547375eff06fb1e)) @@ -786,8 +821,8 @@ feat(gce): remove the scale-in control feature flag [#8372](https://github.com/s ### Changes -chore(package): publish amazon 0.0.254 appengine 0.0.12 core 0.0.477 ecs 0.0.258 google 0.0.14 kubernetes 0.0.40 [#8294](https://github.com/spinnaker/deck/pull/8294) ([c881a42c](https://github.com/spinnaker/deck/commit/c881a42c3516e4b69594f8055df2d3d7995292af)) -refactor(core): legacy artifacts cleanup [#8273](https://github.com/spinnaker/deck/pull/8273) ([f4d41551](https://github.com/spinnaker/deck/commit/f4d415518dd553263ca63f4641ff19facef79464)) +chore(package): publish amazon 0.0.254 appengine 0.0.12 core 0.0.477 ecs 0.0.258 google 0.0.14 kubernetes 0.0.40 [#8294](https://github.com/spinnaker/deck/pull/8294) ([c881a42c](https://github.com/spinnaker/deck/commit/c881a42c3516e4b69594f8055df2d3d7995292af)) +refactor(core): legacy artifacts cleanup [#8273](https://github.com/spinnaker/deck/pull/8273) ([f4d41551](https://github.com/spinnaker/deck/commit/f4d415518dd553263ca63f4641ff19facef79464)) @@ -796,9 +831,9 @@ refactor(core): legacy artifacts cleanup [#8273](https://github.com/spinnaker/de ### Changes -chore(package): publish amazon 0.0.251 appengine 0.0.11 azure 0.0.251 cloudfoundry 0.0.96 core 0.0.472 docker 0.0.56 ecs 0.0.256 google 0.0.13 huaweicloud 0.0.4 kubernetes 0.0.37 oracle 0.0.6 titus 0.0.135 [#8196](https://github.com/spinnaker/deck/pull/8196) ([f227aa8e](https://github.com/spinnaker/deck/commit/f227aa8ec00fffe63e39abc75b9c504180804623)) -feat(core): enable standard artifacts UI by default [#8184](https://github.com/spinnaker/deck/pull/8184) ([e7b3b352](https://github.com/spinnaker/deck/commit/e7b3b352c445f8d0ff4c824a2fa9812c77d64e6e)) -feat(plugins): Consolidate typescript config (partially). Do not strip comments. [#8180](https://github.com/spinnaker/deck/pull/8180) ([4434d99c](https://github.com/spinnaker/deck/commit/4434d99c4b61704c5e53f356ff9f3b31d715e593)) +chore(package): publish amazon 0.0.251 appengine 0.0.11 azure 0.0.251 cloudfoundry 0.0.96 core 0.0.472 docker 0.0.56 ecs 0.0.256 google 0.0.13 huaweicloud 0.0.4 kubernetes 0.0.37 oracle 0.0.6 titus 0.0.135 [#8196](https://github.com/spinnaker/deck/pull/8196) ([f227aa8e](https://github.com/spinnaker/deck/commit/f227aa8ec00fffe63e39abc75b9c504180804623)) +feat(core): enable standard artifacts UI by default [#8184](https://github.com/spinnaker/deck/pull/8184) ([e7b3b352](https://github.com/spinnaker/deck/commit/e7b3b352c445f8d0ff4c824a2fa9812c77d64e6e)) +feat(plugins): Consolidate typescript config (partially). Do not strip comments. [#8180](https://github.com/spinnaker/deck/pull/8180) ([4434d99c](https://github.com/spinnaker/deck/commit/4434d99c4b61704c5e53f356ff9f3b31d715e593)) @@ -807,9 +842,9 @@ feat(plugins): Consolidate typescript config (partially). Do not strip comments ### Changes -chore(package): publish amazon 0.0.249 core 0.0.468 ecs 0.0.254 google 0.0.12 kubernetes 0.0.36 [#8113](https://github.com/spinnaker/deck/pull/8113) ([93c2f284](https://github.com/spinnaker/deck/commit/93c2f284dd421b0e8b8a686fa7e61631b5139b60)) -refactor(artifacts): consolidate artifacts feature flags checks [#8096](https://github.com/spinnaker/deck/pull/8096) ([51dba018](https://github.com/spinnaker/deck/commit/51dba018763b71db3ddda1eef87a0cd7a9acdc6a)) -feat(gce): Add support for target shape on regional migs. [#8089](https://github.com/spinnaker/deck/pull/8089) ([528198af](https://github.com/spinnaker/deck/commit/528198af48450264a9ac2ee2540177824590fe5a)) +chore(package): publish amazon 0.0.249 core 0.0.468 ecs 0.0.254 google 0.0.12 kubernetes 0.0.36 [#8113](https://github.com/spinnaker/deck/pull/8113) ([93c2f284](https://github.com/spinnaker/deck/commit/93c2f284dd421b0e8b8a686fa7e61631b5139b60)) +refactor(artifacts): consolidate artifacts feature flags checks [#8096](https://github.com/spinnaker/deck/pull/8096) ([51dba018](https://github.com/spinnaker/deck/commit/51dba018763b71db3ddda1eef87a0cd7a9acdc6a)) +feat(gce): Add support for target shape on regional migs. [#8089](https://github.com/spinnaker/deck/pull/8089) ([528198af](https://github.com/spinnaker/deck/commit/528198af48450264a9ac2ee2540177824590fe5a)) @@ -818,8 +853,8 @@ feat(gce): Add support for target shape on regional migs. [#8089](https://github ### Changes -chore(package): publish appengine 0.0.10 azure 0.0.250 cloudfoundry 0.0.95 core 0.0.461 docker 0.0.54 ecs 0.0.253 google 0.0.11 huaweicloud 0.0.3 kubernetes 0.0.34 oracle 0.0.5 [#8064](https://github.com/spinnaker/deck/pull/8064) ([d956a246](https://github.com/spinnaker/deck/commit/d956a2460bdfc301c0c9c9d93e5159ed8f00bfc8)) -refactor(svg): add SVGR loader for inlined react SVG support [#8055](https://github.com/spinnaker/deck/pull/8055) ([15e47a68](https://github.com/spinnaker/deck/commit/15e47a680a49f048860cd4a5a0688df16a0ce874)) +chore(package): publish appengine 0.0.10 azure 0.0.250 cloudfoundry 0.0.95 core 0.0.461 docker 0.0.54 ecs 0.0.253 google 0.0.11 huaweicloud 0.0.3 kubernetes 0.0.34 oracle 0.0.5 [#8064](https://github.com/spinnaker/deck/pull/8064) ([d956a246](https://github.com/spinnaker/deck/commit/d956a2460bdfc301c0c9c9d93e5159ed8f00bfc8)) +refactor(svg): add SVGR loader for inlined react SVG support [#8055](https://github.com/spinnaker/deck/pull/8055) ([15e47a68](https://github.com/spinnaker/deck/commit/15e47a680a49f048860cd4a5a0688df16a0ce874)) @@ -828,44 +863,44 @@ refactor(svg): add SVGR loader for inlined react SVG support [#8055](https://git ### Changes -chore(package): publish amazon 0.0.245 appengine 0.0.9 azure 0.0.249 cloudfoundry 0.0.94 core 0.0.459 ecs 0.0.252 google 0.0.10 huaweicloud 0.0.2 kubernetes 0.0.33 oracle 0.0.4 [#8035](https://github.com/spinnaker/deck/pull/8035) ([664d174a](https://github.com/spinnaker/deck/commit/664d174a790d16c8df06d227d0b26dfbd9a759a4)) -refactor(core/presentation): Switch the default value of formik fastField from true to false [#7968](https://github.com/spinnaker/deck/pull/7968) ([77512ecf](https://github.com/spinnaker/deck/commit/77512ecf86abab70556a2e6083a028a8a8072b5f)) -fix(packages): Preserve webpackIgnore comments when bundling for npm packages [#7850](https://github.com/spinnaker/deck/pull/7850) ([8b84eedb](https://github.com/spinnaker/deck/commit/8b84eedb2f2130fab2d261935de81a2157b2b00e)) -fix(gce logo): Use a proper GCE logo [#7824](https://github.com/spinnaker/deck/pull/7824) ([b60b88dc](https://github.com/spinnaker/deck/commit/b60b88dc9dc741131d05028705a446faec904d5c)) -chore(lint): Run eslint on typescript files ([b51dce46](https://github.com/spinnaker/deck/commit/b51dce46be3df14070f06e06de874108dcf23569)) -chore(lint): Run eslint on javascript files ([38a6324a](https://github.com/spinnaker/deck/commit/38a6324aa9f116c70c7644113f5f84214fd95679)) -refactor(*): de-angularize confirmationModalService [#7759](https://github.com/spinnaker/deck/pull/7759) ([e6c6c662](https://github.com/spinnaker/deck/commit/e6c6c662b5326fcb184772c99f2212ce4336a1cb)) -refactor(*): use consistent styles on modal headers ([10b34915](https://github.com/spinnaker/deck/commit/10b34915860ed46f21d0179bf87c3b456de49c56)) -refactor(*): favor optional chaining over lodash.get ([dc2b3d74](https://github.com/spinnaker/deck/commit/dc2b3d7419c79159a89ad346bd64e2f4cc9fde75)) -refactor(core): convert confirmation modal to react ([a59b2c32](https://github.com/spinnaker/deck/commit/a59b2c3264500080fad7caeb05054eef6f51d52c)) -refactor(core): remove unused parameter options from confirmation modal [#7716](https://github.com/spinnaker/deck/pull/7716) ([d2838d80](https://github.com/spinnaker/deck/commit/d2838d80c7f14989368fc490a2d842b2d4952a42)) -chore(core): upgrade to latest prettier [#7713](https://github.com/spinnaker/deck/pull/7713) ([6291f858](https://github.com/spinnaker/deck/commit/6291f858cb111d9c65affeb82ddd840f05c57b65)) -refactor(eslint): Fix all 'prefer-const' eslint rule violations ([90aa4775](https://github.com/spinnaker/deck/commit/90aa47754bc8815eb1bdfcceb4d05c9e1cdf325f)) -refactor(eslint): Fix all 'one-var' eslint rule violations ([d070bd45](https://github.com/spinnaker/deck/commit/d070bd45ff3e185999e863e3f48c01f63eb45733)) -refactor(eslint): Fix all 'no-var' eslint rule violations ([17487016](https://github.com/spinnaker/deck/commit/174870161a5a09ab7f15c74cb84d0f3e196cd7cb)) -chore(eslint): remove tslint ([9400826b](https://github.com/spinnaker/deck/commit/9400826bcb119cf7681e1ce37092b9fdd8b76b1b)) -fix(angular-ui-bootstrap): Kludge: cast angular-ui-bootstrap default import as 'any' ([e4c06a7b](https://github.com/spinnaker/deck/commit/e4c06a7be782f434dabc0d18d879319473acc645)) -fix(imports): move imports out of describe() blocks ([8c241f2d](https://github.com/spinnaker/deck/commit/8c241f2d957a3e37439833a7ca70af79d8107dc1)) -refactor(angularjs): use ES6 to import angular - migrate from `const angular = require('angular')` to `import * as angular from 'angular'` - Where possible, migrate from `import angular from 'angular'; angular.module('asdf')` to `import { module } from 'angular'; module('asdf')` ([88b8f4ae](https://github.com/spinnaker/deck/commit/88b8f4ae0b9e96ac8d8dbdeff592f3787f0617cb)) -refactor(angularjs): use ES6 imports for angularjs module deps - migrate from `require('@uirouter/angularjs').default` to import UIROUTER_ANGULARJS from '@uirouter/angularjs' - migrate from `require('angular-ui-bootstrap')` to import ANGULAR_UI_BOOTSTRAP from 'angular-ui-bootstrap' ([a076dc12](https://github.com/spinnaker/deck/commit/a076dc1280b56affcd30cdbea68a84fb7d5ba3f1)) -refactor(angularjs): Import angularjs module dependencies by name - Migrate angularjs module dependencies to import the exported string identifier, not via require('module').name ([ac1c86eb](https://github.com/spinnaker/deck/commit/ac1c86ebbc72e6d2d83eb57d6710c6ae2651ecc0)) -refactor(angularjs): Always export the ng module name, not the module itself ([784d64b6](https://github.com/spinnaker/deck/commit/784d64b66a6410e622803b4b0519f7050e9c5f82)) -chore(typescript): Migrate most wildcard imports to javascript style imports - Migrate from "import * as foo from 'foo'" to "import foo from 'foo'" ([b6aabe18](https://github.com/spinnaker/deck/commit/b6aabe18a2c71f194087c01fd15ec369460f5e70)) -feat(typescript): enable allowJs and allowSyntheticDefaultImports ([7ef58b6c](https://github.com/spinnaker/deck/commit/7ef58b6c122f9ce91eab95d5f444622a710ff968)) -chore(typescript): update to typescript 3.7.x [#7668](https://github.com/spinnaker/deck/pull/7668) ([145f540d](https://github.com/spinnaker/deck/commit/145f540d8bab6936a6d5bfb5caf4e1cba426f215)) -chore(tsconfig): standardize all tsconfig.json files to es2017 [#7656](https://github.com/spinnaker/deck/pull/7656) ([c1c4d423](https://github.com/spinnaker/deck/commit/c1c4d423a0af57c6a8faf135a7a7ee3eb76d5466)) -fix(azure,gce): Fix typo breaking bake stage [#7631](https://github.com/spinnaker/deck/pull/7631) ([0a4f315e](https://github.com/spinnaker/deck/commit/0a4f315e11ec35ce905be93a6df5ee58399f0967)) -feat(dataSources): widen + parameterize types, add default values ([4ed015a0](https://github.com/spinnaker/deck/commit/4ed015a07c028eb58807601a0b0fb9783b02b0d9)) -feat(google): add gce scale-down controls [#7570](https://github.com/spinnaker/deck/pull/7570) ([5d89a044](https://github.com/spinnaker/deck/commit/5d89a04465f911d49bf171ef47b9d88aa2b8c4a9)) -fix(rosco): Re-evaluate roscoSelector on stage updates [#7577](https://github.com/spinnaker/deck/pull/7577) ([d620e057](https://github.com/spinnaker/deck/commit/d620e057e1c0d85984caa9a8ff0639d17ea9309c)) -feat(rosco): Allow optional roscoDetailUrl for roscoMode bakes [#7575](https://github.com/spinnaker/deck/pull/7575) ([dae00c87](https://github.com/spinnaker/deck/commit/dae00c87adc5e69ac232a2145d35e73072cf5766)) -feat(rosco): Allow roscoMode per stage/execution [#7564](https://github.com/spinnaker/deck/pull/7564) ([c2bbf20d](https://github.com/spinnaker/deck/commit/c2bbf20d83d2c82aa1442379b98d4ed71a3379a2)) -feat(google): permit guest accelerator config for regional server groups with zones explicitly selected [#7528](https://github.com/spinnaker/deck/pull/7528) ([b41a8c6f](https://github.com/spinnaker/deck/commit/b41a8c6f5c0703fbdd0dbbdd1546a8a1143ff34b)) -feat(google): Added UI to specify Session Affinity for Network LB ([b999312f](https://github.com/spinnaker/deck/commit/b999312f5db17f7543575ee2e06805e23cda27fc)) -fix(google): do not display zones for regional mig unless selected explicitly [#7527](https://github.com/spinnaker/deck/pull/7527) ([b7b49d0d](https://github.com/spinnaker/deck/commit/b7b49d0dcbce7d666981a39535a3e40e3331bae2)) -fix(google): add default gce instance type disk constants to front end [#7383](https://github.com/spinnaker/deck/pull/7383) ([a3f36959](https://github.com/spinnaker/deck/commit/a3f369598395beb90659dbdbbf673e65d5c02e8c)) -refactor(core/presentation): use render props everywhere [#7316](https://github.com/spinnaker/deck/pull/7316) ([40c31972](https://github.com/spinnaker/deck/commit/40c31972129a1c74f5087fb5a8a7a181b2144c33)) -fix(gce): remove use of ONLY_DOWN deprecated autoscaler policy [#7310](https://github.com/spinnaker/deck/pull/7310) ([44b59c4c](https://github.com/spinnaker/deck/commit/44b59c4c067cfe4f7a8f77763f3c01873beb6bf7)) +chore(package): publish amazon 0.0.245 appengine 0.0.9 azure 0.0.249 cloudfoundry 0.0.94 core 0.0.459 ecs 0.0.252 google 0.0.10 huaweicloud 0.0.2 kubernetes 0.0.33 oracle 0.0.4 [#8035](https://github.com/spinnaker/deck/pull/8035) ([664d174a](https://github.com/spinnaker/deck/commit/664d174a790d16c8df06d227d0b26dfbd9a759a4)) +refactor(core/presentation): Switch the default value of formik fastField from true to false [#7968](https://github.com/spinnaker/deck/pull/7968) ([77512ecf](https://github.com/spinnaker/deck/commit/77512ecf86abab70556a2e6083a028a8a8072b5f)) +fix(packages): Preserve webpackIgnore comments when bundling for npm packages [#7850](https://github.com/spinnaker/deck/pull/7850) ([8b84eedb](https://github.com/spinnaker/deck/commit/8b84eedb2f2130fab2d261935de81a2157b2b00e)) +fix(gce logo): Use a proper GCE logo [#7824](https://github.com/spinnaker/deck/pull/7824) ([b60b88dc](https://github.com/spinnaker/deck/commit/b60b88dc9dc741131d05028705a446faec904d5c)) +chore(lint): Run eslint on typescript files ([b51dce46](https://github.com/spinnaker/deck/commit/b51dce46be3df14070f06e06de874108dcf23569)) +chore(lint): Run eslint on javascript files ([38a6324a](https://github.com/spinnaker/deck/commit/38a6324aa9f116c70c7644113f5f84214fd95679)) +refactor(*): de-angularize confirmationModalService [#7759](https://github.com/spinnaker/deck/pull/7759) ([e6c6c662](https://github.com/spinnaker/deck/commit/e6c6c662b5326fcb184772c99f2212ce4336a1cb)) +refactor(*): use consistent styles on modal headers ([10b34915](https://github.com/spinnaker/deck/commit/10b34915860ed46f21d0179bf87c3b456de49c56)) +refactor(*): favor optional chaining over lodash.get ([dc2b3d74](https://github.com/spinnaker/deck/commit/dc2b3d7419c79159a89ad346bd64e2f4cc9fde75)) +refactor(core): convert confirmation modal to react ([a59b2c32](https://github.com/spinnaker/deck/commit/a59b2c3264500080fad7caeb05054eef6f51d52c)) +refactor(core): remove unused parameter options from confirmation modal [#7716](https://github.com/spinnaker/deck/pull/7716) ([d2838d80](https://github.com/spinnaker/deck/commit/d2838d80c7f14989368fc490a2d842b2d4952a42)) +chore(core): upgrade to latest prettier [#7713](https://github.com/spinnaker/deck/pull/7713) ([6291f858](https://github.com/spinnaker/deck/commit/6291f858cb111d9c65affeb82ddd840f05c57b65)) +refactor(eslint): Fix all 'prefer-const' eslint rule violations ([90aa4775](https://github.com/spinnaker/deck/commit/90aa47754bc8815eb1bdfcceb4d05c9e1cdf325f)) +refactor(eslint): Fix all 'one-var' eslint rule violations ([d070bd45](https://github.com/spinnaker/deck/commit/d070bd45ff3e185999e863e3f48c01f63eb45733)) +refactor(eslint): Fix all 'no-var' eslint rule violations ([17487016](https://github.com/spinnaker/deck/commit/174870161a5a09ab7f15c74cb84d0f3e196cd7cb)) +chore(eslint): remove tslint ([9400826b](https://github.com/spinnaker/deck/commit/9400826bcb119cf7681e1ce37092b9fdd8b76b1b)) +fix(angular-ui-bootstrap): Kludge: cast angular-ui-bootstrap default import as 'any' ([e4c06a7b](https://github.com/spinnaker/deck/commit/e4c06a7be782f434dabc0d18d879319473acc645)) +fix(imports): move imports out of describe() blocks ([8c241f2d](https://github.com/spinnaker/deck/commit/8c241f2d957a3e37439833a7ca70af79d8107dc1)) +refactor(angularjs): use ES6 to import angular - migrate from `const angular = require('angular')` to `import * as angular from 'angular'` - Where possible, migrate from `import angular from 'angular'; angular.module('asdf')` to `import { module } from 'angular'; module('asdf')` ([88b8f4ae](https://github.com/spinnaker/deck/commit/88b8f4ae0b9e96ac8d8dbdeff592f3787f0617cb)) +refactor(angularjs): use ES6 imports for angularjs module deps - migrate from `require('@uirouter/angularjs').default` to import UIROUTER_ANGULARJS from '@uirouter/angularjs' - migrate from `require('angular-ui-bootstrap')` to import ANGULAR_UI_BOOTSTRAP from 'angular-ui-bootstrap' ([a076dc12](https://github.com/spinnaker/deck/commit/a076dc1280b56affcd30cdbea68a84fb7d5ba3f1)) +refactor(angularjs): Import angularjs module dependencies by name - Migrate angularjs module dependencies to import the exported string identifier, not via require('module').name ([ac1c86eb](https://github.com/spinnaker/deck/commit/ac1c86ebbc72e6d2d83eb57d6710c6ae2651ecc0)) +refactor(angularjs): Always export the ng module name, not the module itself ([784d64b6](https://github.com/spinnaker/deck/commit/784d64b66a6410e622803b4b0519f7050e9c5f82)) +chore(typescript): Migrate most wildcard imports to javascript style imports - Migrate from "import * as foo from 'foo'" to "import foo from 'foo'" ([b6aabe18](https://github.com/spinnaker/deck/commit/b6aabe18a2c71f194087c01fd15ec369460f5e70)) +feat(typescript): enable allowJs and allowSyntheticDefaultImports ([7ef58b6c](https://github.com/spinnaker/deck/commit/7ef58b6c122f9ce91eab95d5f444622a710ff968)) +chore(typescript): update to typescript 3.7.x [#7668](https://github.com/spinnaker/deck/pull/7668) ([145f540d](https://github.com/spinnaker/deck/commit/145f540d8bab6936a6d5bfb5caf4e1cba426f215)) +chore(tsconfig): standardize all tsconfig.json files to es2017 [#7656](https://github.com/spinnaker/deck/pull/7656) ([c1c4d423](https://github.com/spinnaker/deck/commit/c1c4d423a0af57c6a8faf135a7a7ee3eb76d5466)) +fix(azure,gce): Fix typo breaking bake stage [#7631](https://github.com/spinnaker/deck/pull/7631) ([0a4f315e](https://github.com/spinnaker/deck/commit/0a4f315e11ec35ce905be93a6df5ee58399f0967)) +feat(dataSources): widen + parameterize types, add default values ([4ed015a0](https://github.com/spinnaker/deck/commit/4ed015a07c028eb58807601a0b0fb9783b02b0d9)) +feat(google): add gce scale-down controls [#7570](https://github.com/spinnaker/deck/pull/7570) ([5d89a044](https://github.com/spinnaker/deck/commit/5d89a04465f911d49bf171ef47b9d88aa2b8c4a9)) +fix(rosco): Re-evaluate roscoSelector on stage updates [#7577](https://github.com/spinnaker/deck/pull/7577) ([d620e057](https://github.com/spinnaker/deck/commit/d620e057e1c0d85984caa9a8ff0639d17ea9309c)) +feat(rosco): Allow optional roscoDetailUrl for roscoMode bakes [#7575](https://github.com/spinnaker/deck/pull/7575) ([dae00c87](https://github.com/spinnaker/deck/commit/dae00c87adc5e69ac232a2145d35e73072cf5766)) +feat(rosco): Allow roscoMode per stage/execution [#7564](https://github.com/spinnaker/deck/pull/7564) ([c2bbf20d](https://github.com/spinnaker/deck/commit/c2bbf20d83d2c82aa1442379b98d4ed71a3379a2)) +feat(google): permit guest accelerator config for regional server groups with zones explicitly selected [#7528](https://github.com/spinnaker/deck/pull/7528) ([b41a8c6f](https://github.com/spinnaker/deck/commit/b41a8c6f5c0703fbdd0dbbdd1546a8a1143ff34b)) +feat(google): Added UI to specify Session Affinity for Network LB ([b999312f](https://github.com/spinnaker/deck/commit/b999312f5db17f7543575ee2e06805e23cda27fc)) +fix(google): do not display zones for regional mig unless selected explicitly [#7527](https://github.com/spinnaker/deck/pull/7527) ([b7b49d0d](https://github.com/spinnaker/deck/commit/b7b49d0dcbce7d666981a39535a3e40e3331bae2)) +fix(google): add default gce instance type disk constants to front end [#7383](https://github.com/spinnaker/deck/pull/7383) ([a3f36959](https://github.com/spinnaker/deck/commit/a3f369598395beb90659dbdbbf673e65d5c02e8c)) +refactor(core/presentation): use render props everywhere [#7316](https://github.com/spinnaker/deck/pull/7316) ([40c31972](https://github.com/spinnaker/deck/commit/40c31972129a1c74f5087fb5a8a7a181b2144c33)) +fix(gce): remove use of ONLY_DOWN deprecated autoscaler policy [#7310](https://github.com/spinnaker/deck/pull/7310) ([44b59c4c](https://github.com/spinnaker/deck/commit/44b59c4c067cfe4f7a8f77763f3c01873beb6bf7)) @@ -874,8 +909,8 @@ fix(gce): remove use of ONLY_DOWN deprecated autoscaler policy [#7310](https://g ### Changes -chore(google): Bump version to 0.0.9 ([febf8edf](https://github.com/spinnaker/deck/commit/febf8edf831648154dcb80f2fdc6f4232ecb3a86)) -feat(*/pipeline): Remove the concept of default stage timeouts, rename option [#7286](https://github.com/spinnaker/deck/pull/7286) ([abac63ce](https://github.com/spinnaker/deck/commit/abac63ce5c88b809fcf5ed1509136fe96489a051)) +chore(google): Bump version to 0.0.9 ([febf8edf](https://github.com/spinnaker/deck/commit/febf8edf831648154dcb80f2fdc6f4232ecb3a86)) +feat(*/pipeline): Remove the concept of default stage timeouts, rename option [#7286](https://github.com/spinnaker/deck/pull/7286) ([abac63ce](https://github.com/spinnaker/deck/commit/abac63ce5c88b809fcf5ed1509136fe96489a051)) @@ -884,11 +919,11 @@ feat(*/pipeline): Remove the concept of default stage timeouts, rename option [# ### Changes -chore(google): Bump version to 0.0.8 ([026d165d](https://github.com/spinnaker/deck/commit/026d165dd3cc2d1a0ce1e1cee80b6394f126a67c)) -fix(google): replace stateful MIG image input with dropdown [#7210](https://github.com/spinnaker/deck/pull/7210) ([ad483a09](https://github.com/spinnaker/deck/commit/ad483a092fbd1798c1f896ed0c8d18b7d54155dd)) -perf(google): improve performance of GCE image selection [#7208](https://github.com/spinnaker/deck/pull/7208) ([97db30b9](https://github.com/spinnaker/deck/commit/97db30b93ab9d9ae82290832056383393c88252a)) -feat(google): support stateful MIG operations [#7196](https://github.com/spinnaker/deck/pull/7196) ([f340b026](https://github.com/spinnaker/deck/commit/f340b0268c1c85aae96c54acee77aa39ef9770d6)) -feat(gce): Support new artifact model for deploy SG [#7178](https://github.com/spinnaker/deck/pull/7178) ([ecb2dd17](https://github.com/spinnaker/deck/commit/ecb2dd17aea1958e78089ed58f18a19ed502998f)) +chore(google): Bump version to 0.0.8 ([026d165d](https://github.com/spinnaker/deck/commit/026d165dd3cc2d1a0ce1e1cee80b6394f126a67c)) +fix(google): replace stateful MIG image input with dropdown [#7210](https://github.com/spinnaker/deck/pull/7210) ([ad483a09](https://github.com/spinnaker/deck/commit/ad483a092fbd1798c1f896ed0c8d18b7d54155dd)) +perf(google): improve performance of GCE image selection [#7208](https://github.com/spinnaker/deck/pull/7208) ([97db30b9](https://github.com/spinnaker/deck/commit/97db30b93ab9d9ae82290832056383393c88252a)) +feat(google): support stateful MIG operations [#7196](https://github.com/spinnaker/deck/pull/7196) ([f340b026](https://github.com/spinnaker/deck/commit/f340b0268c1c85aae96c54acee77aa39ef9770d6)) +feat(gce): Support new artifact model for deploy SG [#7178](https://github.com/spinnaker/deck/pull/7178) ([ecb2dd17](https://github.com/spinnaker/deck/commit/ecb2dd17aea1958e78089ed58f18a19ed502998f)) @@ -897,11 +932,11 @@ feat(gce): Support new artifact model for deploy SG [#7178](https://github.com/s ### Changes -chore(google): Bump version to 0.0.7 ([f0546c46](https://github.com/spinnaker/deck/commit/f0546c46bdbdafa9bd47119fa198024fc956521c)) -chore(package): Just Update Prettier™ ([cdd6f237](https://github.com/spinnaker/deck/commit/cdd6f2379859d3c2b13bac59aa470c08b391a865)) -perf(google): avoid unnecessary fetching and filtering of gce images [#7115](https://github.com/spinnaker/deck/pull/7115) ([5cc4146e](https://github.com/spinnaker/deck/commit/5cc4146efe3ab9a62c7edab4fcc1b1015b4d666b)) -fix(google): allow SpEL in stack/detail in deploy stage [#7105](https://github.com/spinnaker/deck/pull/7105) ([92492c4e](https://github.com/spinnaker/deck/commit/92492c4e0dc784ba59874b53f4f349c27f939234)) -fix(google): Help text on GCE load balancer type selection screen [#7044](https://github.com/spinnaker/deck/pull/7044) ([94dc56dd](https://github.com/spinnaker/deck/commit/94dc56dd6054fca2dc96a0a5a44c81da38a0c64a)) +chore(google): Bump version to 0.0.7 ([f0546c46](https://github.com/spinnaker/deck/commit/f0546c46bdbdafa9bd47119fa198024fc956521c)) +chore(package): Just Update Prettier™ ([cdd6f237](https://github.com/spinnaker/deck/commit/cdd6f2379859d3c2b13bac59aa470c08b391a865)) +perf(google): avoid unnecessary fetching and filtering of gce images [#7115](https://github.com/spinnaker/deck/pull/7115) ([5cc4146e](https://github.com/spinnaker/deck/commit/5cc4146efe3ab9a62c7edab4fcc1b1015b4d666b)) +fix(google): allow SpEL in stack/detail in deploy stage [#7105](https://github.com/spinnaker/deck/pull/7105) ([92492c4e](https://github.com/spinnaker/deck/commit/92492c4e0dc784ba59874b53f4f349c27f939234)) +fix(google): Help text on GCE load balancer type selection screen [#7044](https://github.com/spinnaker/deck/pull/7044) ([94dc56dd](https://github.com/spinnaker/deck/commit/94dc56dd6054fca2dc96a0a5a44c81da38a0c64a)) @@ -910,32 +945,32 @@ fix(google): Help text on GCE load balancer type selection screen [#7044](https: ### Changes -chore(google): Bump version to 0.0.6 ([fc7645a4](https://github.com/spinnaker/deck/commit/fc7645a40dd49eb442a6f61a3867035f4e0b5ae8)) -feat(provdier/google): Display serviceAccount properties for firewall rules [#6929](https://github.com/spinnaker/deck/pull/6929) ([243f5304](https://github.com/spinnaker/deck/commit/243f530404a8be6f0bfbde16fc58c0f37f4b2e35)) -refactor(*): remove cache-clearing calls that do not do anything [#6861](https://github.com/spinnaker/deck/pull/6861) ([0a5fd58e](https://github.com/spinnaker/deck/commit/0a5fd58ed76c894f9a8b0ab7027bd07e0dfc43ce)) -feat(provider/google): Support Shielded VM policies [#6849](https://github.com/spinnaker/deck/pull/6849) ([297cd99f](https://github.com/spinnaker/deck/commit/297cd99f74dbfdd5091fa048771a5d8e3e4e4b16)) -fix(google): revert "select all zones by default when deploying a regional gce server group (#6751)" [#6808](https://github.com/spinnaker/deck/pull/6808) ([728ddbe0](https://github.com/spinnaker/deck/commit/728ddbe0d690f15239a58d2f69e4df8f0beb9f79)) -fix(google): GCE create server group and load balancer fixes [#6806](https://github.com/spinnaker/deck/pull/6806) ([bdcbc977](https://github.com/spinnaker/deck/commit/bdcbc977567f055dc05ad99ecac8385028dda4e6)) -refactor(core): de-angularize ApplicationModelBuilder, fix project executions [#6802](https://github.com/spinnaker/deck/pull/6802) ([72e164df](https://github.com/spinnaker/deck/commit/72e164dfcf11afbac559195a8fa6a91dd77ad2b9)) -fix(google): fix autohealing health checks in deploy stages [#6804](https://github.com/spinnaker/deck/pull/6804) ([0daec5b7](https://github.com/spinnaker/deck/commit/0daec5b769b109a829e315d4bf4867c4ff928407)) -fix(google): select all zones by default when deploying a regional gce server group [#6751](https://github.com/spinnaker/deck/pull/6751) ([ad2e2227](https://github.com/spinnaker/deck/commit/ad2e2227442aa2e7abf85bf1a82ef7a5f51b1445)) -fix(google): add better help text around accelerators [#6750](https://github.com/spinnaker/deck/pull/6750) ([432e6e3a](https://github.com/spinnaker/deck/commit/432e6e3af6f8cd0092c4cf1ca5c1ff45d512027c)) -feat(provider/gce): Moniker support for GCE server groups [#6317](https://github.com/spinnaker/deck/pull/6317) ([eb7f6611](https://github.com/spinnaker/deck/commit/eb7f6611bb746112d84399be3b00c95fac1b1523)) -refactor(*): remove unused local storage caches [#6665](https://github.com/spinnaker/deck/pull/6665) ([e2b4d8e9](https://github.com/spinnaker/deck/commit/e2b4d8e9371d5d2f1f9b60e2a592e10b47df73e2)) -fix(google): Only show authorized accounts during Server group creation [#6625](https://github.com/spinnaker/deck/pull/6625) ([f0f4c0dd](https://github.com/spinnaker/deck/commit/f0f4c0dd70f2f2ffabba8d8114a96faa4f22543b)) -chore(angularjs): Explicitly annotate directive controllers ([d828a53e](https://github.com/spinnaker/deck/commit/d828a53e55919c16a8cea82af404c05bad081066)) -refactor(core): migrate momentjs functionality to luxon + date-fns [#6604](https://github.com/spinnaker/deck/pull/6604) ([3e758150](https://github.com/spinnaker/deck/commit/3e758150672fb49e7f66e520f0b6bae87591bbc5)) -chore(prettier): Just Use Prettier™ [#6600](https://github.com/spinnaker/deck/pull/6600) ([7d5fc346](https://github.com/spinnaker/deck/commit/7d5fc346bca54c5d53f9eb46d823cd993c102058)) -fix(html): Fix various invalid HTML [#6599](https://github.com/spinnaker/deck/pull/6599) ([04bb4a01](https://github.com/spinnaker/deck/commit/04bb4a01c2d988aab5b5b8ae6e3aadbc59214898)) -fix(html): Fix various invalid HTML [#6597](https://github.com/spinnaker/deck/pull/6597) ([64fb4892](https://github.com/spinnaker/deck/commit/64fb4892ee3e7114eccb8f6acc9d84ae652f1af3)) -chore(prettier): Just Use Prettier™ ([5cf6c79d](https://github.com/spinnaker/deck/commit/5cf6c79da63404bb7238291d38bb7f5cfd10c26b)) -chore(angularjs): Do not use .component('foo', new Foo()) ([3ffa4fb7](https://github.com/spinnaker/deck/commit/3ffa4fb7498df815014d61071e8588f0b34bf8b9)) -chore(angularjs): Remove all 'ngInject'; in favor of explicit DI annotation ([cc52bee0](https://github.com/spinnaker/deck/commit/cc52bee0b9956693f948806322658f225efa5546)) -chore(prettier): Just Use Prettier™ ([b6bab1e1](https://github.com/spinnaker/deck/commit/b6bab1e16bb46697fec347cd30934f00fb2e9807)) -chore(angularjs): Explicitly annotate all AngularJS injection points ([f3fd790e](https://github.com/spinnaker/deck/commit/f3fd790e20a4c3056edcb2c41282517e1cf35004)) -fix(securityGroups): User `securityGroupName` for upsertSecurityGroupTask [#6569](https://github.com/spinnaker/deck/pull/6569) ([78d0b689](https://github.com/spinnaker/deck/commit/78d0b689efd4de00ab203d55df632dd5ece89133)) -fix(eslint): Fix eslint warnings for no-useless-escape ([ddbe2082](https://github.com/spinnaker/deck/commit/ddbe208282f96c73239a32bddd4af6f9d098b088)) -fix(eslint): Fix eslint warnings for no-case-declarations ([8cba7ac4](https://github.com/spinnaker/deck/commit/8cba7ac43c171b39b92b5a68dfec3d0d229aae48)) +chore(google): Bump version to 0.0.6 ([fc7645a4](https://github.com/spinnaker/deck/commit/fc7645a40dd49eb442a6f61a3867035f4e0b5ae8)) +feat(provdier/google): Display serviceAccount properties for firewall rules [#6929](https://github.com/spinnaker/deck/pull/6929) ([243f5304](https://github.com/spinnaker/deck/commit/243f530404a8be6f0bfbde16fc58c0f37f4b2e35)) +refactor(*): remove cache-clearing calls that do not do anything [#6861](https://github.com/spinnaker/deck/pull/6861) ([0a5fd58e](https://github.com/spinnaker/deck/commit/0a5fd58ed76c894f9a8b0ab7027bd07e0dfc43ce)) +feat(provider/google): Support Shielded VM policies [#6849](https://github.com/spinnaker/deck/pull/6849) ([297cd99f](https://github.com/spinnaker/deck/commit/297cd99f74dbfdd5091fa048771a5d8e3e4e4b16)) +fix(google): revert "select all zones by default when deploying a regional gce server group (#6751)" [#6808](https://github.com/spinnaker/deck/pull/6808) ([728ddbe0](https://github.com/spinnaker/deck/commit/728ddbe0d690f15239a58d2f69e4df8f0beb9f79)) +fix(google): GCE create server group and load balancer fixes [#6806](https://github.com/spinnaker/deck/pull/6806) ([bdcbc977](https://github.com/spinnaker/deck/commit/bdcbc977567f055dc05ad99ecac8385028dda4e6)) +refactor(core): de-angularize ApplicationModelBuilder, fix project executions [#6802](https://github.com/spinnaker/deck/pull/6802) ([72e164df](https://github.com/spinnaker/deck/commit/72e164dfcf11afbac559195a8fa6a91dd77ad2b9)) +fix(google): fix autohealing health checks in deploy stages [#6804](https://github.com/spinnaker/deck/pull/6804) ([0daec5b7](https://github.com/spinnaker/deck/commit/0daec5b769b109a829e315d4bf4867c4ff928407)) +fix(google): select all zones by default when deploying a regional gce server group [#6751](https://github.com/spinnaker/deck/pull/6751) ([ad2e2227](https://github.com/spinnaker/deck/commit/ad2e2227442aa2e7abf85bf1a82ef7a5f51b1445)) +fix(google): add better help text around accelerators [#6750](https://github.com/spinnaker/deck/pull/6750) ([432e6e3a](https://github.com/spinnaker/deck/commit/432e6e3af6f8cd0092c4cf1ca5c1ff45d512027c)) +feat(provider/gce): Moniker support for GCE server groups [#6317](https://github.com/spinnaker/deck/pull/6317) ([eb7f6611](https://github.com/spinnaker/deck/commit/eb7f6611bb746112d84399be3b00c95fac1b1523)) +refactor(*): remove unused local storage caches [#6665](https://github.com/spinnaker/deck/pull/6665) ([e2b4d8e9](https://github.com/spinnaker/deck/commit/e2b4d8e9371d5d2f1f9b60e2a592e10b47df73e2)) +fix(google): Only show authorized accounts during Server group creation [#6625](https://github.com/spinnaker/deck/pull/6625) ([f0f4c0dd](https://github.com/spinnaker/deck/commit/f0f4c0dd70f2f2ffabba8d8114a96faa4f22543b)) +chore(angularjs): Explicitly annotate directive controllers ([d828a53e](https://github.com/spinnaker/deck/commit/d828a53e55919c16a8cea82af404c05bad081066)) +refactor(core): migrate momentjs functionality to luxon + date-fns [#6604](https://github.com/spinnaker/deck/pull/6604) ([3e758150](https://github.com/spinnaker/deck/commit/3e758150672fb49e7f66e520f0b6bae87591bbc5)) +chore(prettier): Just Use Prettier™ [#6600](https://github.com/spinnaker/deck/pull/6600) ([7d5fc346](https://github.com/spinnaker/deck/commit/7d5fc346bca54c5d53f9eb46d823cd993c102058)) +fix(html): Fix various invalid HTML [#6599](https://github.com/spinnaker/deck/pull/6599) ([04bb4a01](https://github.com/spinnaker/deck/commit/04bb4a01c2d988aab5b5b8ae6e3aadbc59214898)) +fix(html): Fix various invalid HTML [#6597](https://github.com/spinnaker/deck/pull/6597) ([64fb4892](https://github.com/spinnaker/deck/commit/64fb4892ee3e7114eccb8f6acc9d84ae652f1af3)) +chore(prettier): Just Use Prettier™ ([5cf6c79d](https://github.com/spinnaker/deck/commit/5cf6c79da63404bb7238291d38bb7f5cfd10c26b)) +chore(angularjs): Do not use .component('foo', new Foo()) ([3ffa4fb7](https://github.com/spinnaker/deck/commit/3ffa4fb7498df815014d61071e8588f0b34bf8b9)) +chore(angularjs): Remove all 'ngInject'; in favor of explicit DI annotation ([cc52bee0](https://github.com/spinnaker/deck/commit/cc52bee0b9956693f948806322658f225efa5546)) +chore(prettier): Just Use Prettier™ ([b6bab1e1](https://github.com/spinnaker/deck/commit/b6bab1e16bb46697fec347cd30934f00fb2e9807)) +chore(angularjs): Explicitly annotate all AngularJS injection points ([f3fd790e](https://github.com/spinnaker/deck/commit/f3fd790e20a4c3056edcb2c41282517e1cf35004)) +fix(securityGroups): User `securityGroupName` for upsertSecurityGroupTask [#6569](https://github.com/spinnaker/deck/pull/6569) ([78d0b689](https://github.com/spinnaker/deck/commit/78d0b689efd4de00ab203d55df632dd5ece89133)) +fix(eslint): Fix eslint warnings for no-useless-escape ([ddbe2082](https://github.com/spinnaker/deck/commit/ddbe208282f96c73239a32bddd4af6f9d098b088)) +fix(eslint): Fix eslint warnings for no-case-declarations ([8cba7ac4](https://github.com/spinnaker/deck/commit/8cba7ac43c171b39b92b5a68dfec3d0d229aae48)) @@ -944,24 +979,24 @@ fix(eslint): Fix eslint warnings for no-case-declarations ([8cba7ac4](https://gi ### Changes -Bump package kubernetes to 0.0.21 and google to 0.0.5 [#6540](https://github.com/spinnaker/deck/pull/6540) ([81b67739](https://github.com/spinnaker/deck/commit/81b67739add17a5256abfcb35699d3c39e0aadd0)) -chore(package): Just Update Prettier™ ([a8c17492](https://github.com/spinnaker/deck/commit/a8c174925f64045f70c11b2bfc11fe1fdd558660)) -chore(webpack): Switch to TerserPlugin. Split bundles into ~5mb chunks ([a35088ab](https://github.com/spinnaker/deck/commit/a35088ab28cc3b25c9e6731f6fb70bf7d0e14ef0)) -chore(typescript): Switch module from 'commonjs' to 'esnext' to emit raw dynamic 'import()' ([5c49dd2a](https://github.com/spinnaker/deck/commit/5c49dd2ab3c4226295a7e8041c25dabdbeee6a2c)) -chore(package): Add .npmignore to all packages ([0451046c](https://github.com/spinnaker/deck/commit/0451046c241b450ae4b05df0b67b61758c16acce)) -feat(google): Add support for accelerators when deploying VMs [#6467](https://github.com/spinnaker/deck/pull/6467) ([d09a9103](https://github.com/spinnaker/deck/commit/d09a9103b3ae434a25f88b4ff78cf8bb02e987f9)) -fix(*): Remove all self closing tags in AngularJS templates Reference: https://github.com/angular/angular.js/issues/1953#issuecomment-13135021 ([6f608a0a](https://github.com/spinnaker/deck/commit/6f608a0ab43616eb130c7417e560bc3df780f335)) -refactor(*): Don't use js or ts file extension in require() ([35be1f08](https://github.com/spinnaker/deck/commit/35be1f0872f5958514c920ee97510d36484e33eb)) -config(google): Update GCE's base URL to the new domain [#6401](https://github.com/spinnaker/deck/pull/6401) ([87013c65](https://github.com/spinnaker/deck/commit/87013c652a9ef1bab148981f7e8a0d7742b7a2e6)) -fix(google): safe healthcheck lookups when cloning server group ([9f90ebd8](https://github.com/spinnaker/deck/commit/9f90ebd8c96b4fcc70b93b7f3d741d4d44bd2c3d)) -fix(google): differentiate among autohealing health check kinds ([b920442a](https://github.com/spinnaker/deck/commit/b920442a948329e2e0bfc0af4dbcf276d8aa3485)) -fix(google): fix autohealing clone logic ([786862b2](https://github.com/spinnaker/deck/commit/786862b28efad1864e17fcca231625a001028dac)) -fix(appengine/google/kubernetes): change logo background colors to official brand colors [#6347](https://github.com/spinnaker/deck/pull/6347) ([93f1209b](https://github.com/spinnaker/deck/commit/93f1209b105e46f423125e879784ab007e6cda25)) -fix(*): allow modal to stay open on auto-close [#6329](https://github.com/spinnaker/deck/pull/6329) ([e802c451](https://github.com/spinnaker/deck/commit/e802c4515726e74f0f2157bde292fc43a6b46271)) -fix(google): prevent parent server group from overwriting null clone autohealing policies ([d4127fa4](https://github.com/spinnaker/deck/commit/d4127fa451e4f7149d10aad00dc3169f65f23ff9)) -refactor(*): use mask-image CSS for cloud provider logos [#6280](https://github.com/spinnaker/deck/pull/6280) ([86baac96](https://github.com/spinnaker/deck/commit/86baac96af19a15b1339cd5f1856ee1e78d9d800)) -fix(bake): Allow null extended attributes in bake stages [#6256](https://github.com/spinnaker/deck/pull/6256) ([3afbd000](https://github.com/spinnaker/deck/commit/3afbd0001ad934ef9febe87579cc3fe81bd5f3f8)) -chore(*): Add core alias to module tsconfigs ([6b8188bb](https://github.com/spinnaker/deck/commit/6b8188bb54ea2e70987841079a8aff7debd8bd66)) +Bump package kubernetes to 0.0.21 and google to 0.0.5 [#6540](https://github.com/spinnaker/deck/pull/6540) ([81b67739](https://github.com/spinnaker/deck/commit/81b67739add17a5256abfcb35699d3c39e0aadd0)) +chore(package): Just Update Prettier™ ([a8c17492](https://github.com/spinnaker/deck/commit/a8c174925f64045f70c11b2bfc11fe1fdd558660)) +chore(webpack): Switch to TerserPlugin. Split bundles into ~5mb chunks ([a35088ab](https://github.com/spinnaker/deck/commit/a35088ab28cc3b25c9e6731f6fb70bf7d0e14ef0)) +chore(typescript): Switch module from 'commonjs' to 'esnext' to emit raw dynamic 'import()' ([5c49dd2a](https://github.com/spinnaker/deck/commit/5c49dd2ab3c4226295a7e8041c25dabdbeee6a2c)) +chore(package): Add .npmignore to all packages ([0451046c](https://github.com/spinnaker/deck/commit/0451046c241b450ae4b05df0b67b61758c16acce)) +feat(google): Add support for accelerators when deploying VMs [#6467](https://github.com/spinnaker/deck/pull/6467) ([d09a9103](https://github.com/spinnaker/deck/commit/d09a9103b3ae434a25f88b4ff78cf8bb02e987f9)) +fix(*): Remove all self closing tags in AngularJS templates Reference: https://github.com/angular/angular.js/issues/1953#issuecomment-13135021 ([6f608a0a](https://github.com/spinnaker/deck/commit/6f608a0ab43616eb130c7417e560bc3df780f335)) +refactor(*): Don't use js or ts file extension in require() ([35be1f08](https://github.com/spinnaker/deck/commit/35be1f0872f5958514c920ee97510d36484e33eb)) +config(google): Update GCE's base URL to the new domain [#6401](https://github.com/spinnaker/deck/pull/6401) ([87013c65](https://github.com/spinnaker/deck/commit/87013c652a9ef1bab148981f7e8a0d7742b7a2e6)) +fix(google): safe healthcheck lookups when cloning server group ([9f90ebd8](https://github.com/spinnaker/deck/commit/9f90ebd8c96b4fcc70b93b7f3d741d4d44bd2c3d)) +fix(google): differentiate among autohealing health check kinds ([b920442a](https://github.com/spinnaker/deck/commit/b920442a948329e2e0bfc0af4dbcf276d8aa3485)) +fix(google): fix autohealing clone logic ([786862b2](https://github.com/spinnaker/deck/commit/786862b28efad1864e17fcca231625a001028dac)) +fix(appengine/google/kubernetes): change logo background colors to official brand colors [#6347](https://github.com/spinnaker/deck/pull/6347) ([93f1209b](https://github.com/spinnaker/deck/commit/93f1209b105e46f423125e879784ab007e6cda25)) +fix(*): allow modal to stay open on auto-close [#6329](https://github.com/spinnaker/deck/pull/6329) ([e802c451](https://github.com/spinnaker/deck/commit/e802c4515726e74f0f2157bde292fc43a6b46271)) +fix(google): prevent parent server group from overwriting null clone autohealing policies ([d4127fa4](https://github.com/spinnaker/deck/commit/d4127fa451e4f7149d10aad00dc3169f65f23ff9)) +refactor(*): use mask-image CSS for cloud provider logos [#6280](https://github.com/spinnaker/deck/pull/6280) ([86baac96](https://github.com/spinnaker/deck/commit/86baac96af19a15b1339cd5f1856ee1e78d9d800)) +fix(bake): Allow null extended attributes in bake stages [#6256](https://github.com/spinnaker/deck/pull/6256) ([3afbd000](https://github.com/spinnaker/deck/commit/3afbd0001ad934ef9febe87579cc3fe81bd5f3f8)) +chore(*): Add core alias to module tsconfigs ([6b8188bb](https://github.com/spinnaker/deck/commit/6b8188bb54ea2e70987841079a8aff7debd8bd66)) @@ -970,35 +1005,35 @@ chore(*): Add core alias to module tsconfigs ([6b8188bb](https://github.com/spin ### Changes -chore(google): bump google module to 0.0.4 [#5905](https://github.com/spinnaker/deck/pull/5905) ([61321808](https://github.com/spinnaker/deck/commit/6132180862ad79324bf5e7af11b97c7b0f6c7bdd)) -fix(bake): Execution details Rebake was always false when force rebaking ([55987ec1](https://github.com/spinnaker/deck/commit/55987ec13568470d609901fcda4d8e44d0f33e8d)) -fix(deck): Change Build Stage description [#5839](https://github.com/spinnaker/deck/pull/5839) ([4f48a3ed](https://github.com/spinnaker/deck/commit/4f48a3edf2803785ac7122f20ad72dd374e06212)) -refactor(google): switch var to let/const [#5819](https://github.com/spinnaker/deck/pull/5819) ([424f6a2c](https://github.com/spinnaker/deck/commit/424f6a2c83644f063ab29c831a4ce5466f6bdcea)) -fix(google): backend service selection in server group wizard [#5813](https://github.com/spinnaker/deck/pull/5813) ([3b1f1c59](https://github.com/spinnaker/deck/commit/3b1f1c5940512dc2fce8118dea48b21f34a94d14)) -chore(package): prepare -> prepublishOnly for everything [#5806](https://github.com/spinnaker/deck/pull/5806) ([06f45b5c](https://github.com/spinnaker/deck/commit/06f45b5c0da71227e4f1d7bb9e7187e95231f4d2)) -fix(provider/google): Deploy custom archetype fixes. [#5771](https://github.com/spinnaker/deck/pull/5771) ([1e632639](https://github.com/spinnaker/deck/commit/1e632639afd6fd04409c0526cb5cf7434e971bf1)) -chore(prettier): Just Update Prettier™ [#5754](https://github.com/spinnaker/deck/pull/5754) ([709f30f6](https://github.com/spinnaker/deck/commit/709f30f6eff0c8862cb8736465e4fd152abd693c)) -feat(kayenta): show image sources [#5749](https://github.com/spinnaker/deck/pull/5749) ([ffb7a8bb](https://github.com/spinnaker/deck/commit/ffb7a8bbf2fc42f110baef75b0860ae0d92ef447)) -refactor(core/application): Rename createApplication to createApplicationForTests [#5737](https://github.com/spinnaker/deck/pull/5737) ([536e42b4](https://github.com/spinnaker/deck/commit/536e42b42bced4c1d4dfc9229813931d885ec80e)) -feat(google): add inline artifact editor to google deploy stage [#5731](https://github.com/spinnaker/deck/pull/5731) ([c5161cd4](https://github.com/spinnaker/deck/commit/c5161cd432e836963fd452224a78fdbc5ee5dbbc)) -fix(kubernetes): links from server groups + instances in load balancer view [#5675](https://github.com/spinnaker/deck/pull/5675) ([f1050f16](https://github.com/spinnaker/deck/commit/f1050f16d1485e95357973f9d48ec86c9a61bdcb)) -fix(google): Remove image region validation from find image stage [#5565](https://github.com/spinnaker/deck/pull/5565) ([25dd3dc8](https://github.com/spinnaker/deck/commit/25dd3dc85e5f2ac160aa39ade3d32a94019e053c)) -feat(tagging): Select which upstream stages to include in image search ([77bd90fc](https://github.com/spinnaker/deck/commit/77bd90fc94745bed44fddfd4b36edee496b2db35)) -fix(provider/google): cloning server group doesnt correctly copy disk [#5553](https://github.com/spinnaker/deck/pull/5553) ([fba75548](https://github.com/spinnaker/deck/commit/fba75548d1c076228f1f6a399a94f68337a142f3)) -feat(artifacts): Kubernetes V1 provider removes deleted artifacts [#5544](https://github.com/spinnaker/deck/pull/5544) ([3ace82a2](https://github.com/spinnaker/deck/commit/3ace82a2cb6d730faffc3c58c97c2d1df41338fe)) -refactor(*): Add server group configuration command to all configured command functions ([4d23c971](https://github.com/spinnaker/deck/commit/4d23c971e1d3eb5a234d3315fd166c9d37059413)) -feat(kubernetes): Add consumed artifacts to Kubernetes V1 provider [#5538](https://github.com/spinnaker/deck/pull/5538) ([a99f527c](https://github.com/spinnaker/deck/commit/a99f527c161610f8966e5c66dfd42dadb8998b06)) -feat(provider/gce): Adds mode to autoscaling detail and upsert. [#5458](https://github.com/spinnaker/deck/pull/5458) ([06caf104](https://github.com/spinnaker/deck/commit/06caf10475ccbfd0fd177e29c50db8c45a9964f7)) -feat(google/iap): Refreshes IAP session after they expire. ([67d6f242](https://github.com/spinnaker/deck/commit/67d6f2425bbe13f89b0642bbd3c206f05160921d)) -chore(provider/kubernetes): reactify deployManifest execution details [#5376](https://github.com/spinnaker/deck/pull/5376) ([c6d98ac4](https://github.com/spinnaker/deck/commit/c6d98ac4f21d63d670901d9316ce93b87e543117)) -refactor(core) de-angularize more services [#5390](https://github.com/spinnaker/deck/pull/5390) ([ca5df990](https://github.com/spinnaker/deck/commit/ca5df990b30a9208a682831803d376781a4cba87)) -refactor(core): de-angularize services [#5385](https://github.com/spinnaker/deck/pull/5385) ([37a96b16](https://github.com/spinnaker/deck/commit/37a96b168cae0cb5517c269e858bc16020f753c2)) -refactor(core): de-angularize services [#5377](https://github.com/spinnaker/deck/pull/5377) ([bda420f9](https://github.com/spinnaker/deck/commit/bda420f98933852e734452a40d9ab788912dbb42)) -feat(artifacts): Add artifact details to GCE bake and deploy stages [#5374](https://github.com/spinnaker/deck/pull/5374) ([ca3d3415](https://github.com/spinnaker/deck/commit/ca3d34159b42e24cf7899587a37ebe4cd9e574cb)) -refactor(core): de-angularize services [#5365](https://github.com/spinnaker/deck/pull/5365) ([5d159622](https://github.com/spinnaker/deck/commit/5d159622f43fb2aa859a46b47665c8c60165224e)) -fix(core): Fix warnings about unused variables [#5371](https://github.com/spinnaker/deck/pull/5371) ([bd2b5b8e](https://github.com/spinnaker/deck/commit/bd2b5b8e446eb864f01ad4326b5c350e0420350f)) -feat(*/instance): add moniker info + env to instance link templates [#5367](https://github.com/spinnaker/deck/pull/5367) ([b70c6d98](https://github.com/spinnaker/deck/commit/b70c6d98a92adc3f2ddabb4d449c6ced3249480c)) -refactor(core): de-angularize services [#5354](https://github.com/spinnaker/deck/pull/5354) ([ab380a10](https://github.com/spinnaker/deck/commit/ab380a105abd46116de1ea0b70c560f066732644)) +chore(google): bump google module to 0.0.4 [#5905](https://github.com/spinnaker/deck/pull/5905) ([61321808](https://github.com/spinnaker/deck/commit/6132180862ad79324bf5e7af11b97c7b0f6c7bdd)) +fix(bake): Execution details Rebake was always false when force rebaking ([55987ec1](https://github.com/spinnaker/deck/commit/55987ec13568470d609901fcda4d8e44d0f33e8d)) +fix(deck): Change Build Stage description [#5839](https://github.com/spinnaker/deck/pull/5839) ([4f48a3ed](https://github.com/spinnaker/deck/commit/4f48a3edf2803785ac7122f20ad72dd374e06212)) +refactor(google): switch var to let/const [#5819](https://github.com/spinnaker/deck/pull/5819) ([424f6a2c](https://github.com/spinnaker/deck/commit/424f6a2c83644f063ab29c831a4ce5466f6bdcea)) +fix(google): backend service selection in server group wizard [#5813](https://github.com/spinnaker/deck/pull/5813) ([3b1f1c59](https://github.com/spinnaker/deck/commit/3b1f1c5940512dc2fce8118dea48b21f34a94d14)) +chore(package): prepare -> prepublishOnly for everything [#5806](https://github.com/spinnaker/deck/pull/5806) ([06f45b5c](https://github.com/spinnaker/deck/commit/06f45b5c0da71227e4f1d7bb9e7187e95231f4d2)) +fix(provider/google): Deploy custom archetype fixes. [#5771](https://github.com/spinnaker/deck/pull/5771) ([1e632639](https://github.com/spinnaker/deck/commit/1e632639afd6fd04409c0526cb5cf7434e971bf1)) +chore(prettier): Just Update Prettier™ [#5754](https://github.com/spinnaker/deck/pull/5754) ([709f30f6](https://github.com/spinnaker/deck/commit/709f30f6eff0c8862cb8736465e4fd152abd693c)) +feat(kayenta): show image sources [#5749](https://github.com/spinnaker/deck/pull/5749) ([ffb7a8bb](https://github.com/spinnaker/deck/commit/ffb7a8bbf2fc42f110baef75b0860ae0d92ef447)) +refactor(core/application): Rename createApplication to createApplicationForTests [#5737](https://github.com/spinnaker/deck/pull/5737) ([536e42b4](https://github.com/spinnaker/deck/commit/536e42b42bced4c1d4dfc9229813931d885ec80e)) +feat(google): add inline artifact editor to google deploy stage [#5731](https://github.com/spinnaker/deck/pull/5731) ([c5161cd4](https://github.com/spinnaker/deck/commit/c5161cd432e836963fd452224a78fdbc5ee5dbbc)) +fix(kubernetes): links from server groups + instances in load balancer view [#5675](https://github.com/spinnaker/deck/pull/5675) ([f1050f16](https://github.com/spinnaker/deck/commit/f1050f16d1485e95357973f9d48ec86c9a61bdcb)) +fix(google): Remove image region validation from find image stage [#5565](https://github.com/spinnaker/deck/pull/5565) ([25dd3dc8](https://github.com/spinnaker/deck/commit/25dd3dc85e5f2ac160aa39ade3d32a94019e053c)) +feat(tagging): Select which upstream stages to include in image search ([77bd90fc](https://github.com/spinnaker/deck/commit/77bd90fc94745bed44fddfd4b36edee496b2db35)) +fix(provider/google): cloning server group doesnt correctly copy disk [#5553](https://github.com/spinnaker/deck/pull/5553) ([fba75548](https://github.com/spinnaker/deck/commit/fba75548d1c076228f1f6a399a94f68337a142f3)) +feat(artifacts): Kubernetes V1 provider removes deleted artifacts [#5544](https://github.com/spinnaker/deck/pull/5544) ([3ace82a2](https://github.com/spinnaker/deck/commit/3ace82a2cb6d730faffc3c58c97c2d1df41338fe)) +refactor(*): Add server group configuration command to all configured command functions ([4d23c971](https://github.com/spinnaker/deck/commit/4d23c971e1d3eb5a234d3315fd166c9d37059413)) +feat(kubernetes): Add consumed artifacts to Kubernetes V1 provider [#5538](https://github.com/spinnaker/deck/pull/5538) ([a99f527c](https://github.com/spinnaker/deck/commit/a99f527c161610f8966e5c66dfd42dadb8998b06)) +feat(provider/gce): Adds mode to autoscaling detail and upsert. [#5458](https://github.com/spinnaker/deck/pull/5458) ([06caf104](https://github.com/spinnaker/deck/commit/06caf10475ccbfd0fd177e29c50db8c45a9964f7)) +feat(google/iap): Refreshes IAP session after they expire. ([67d6f242](https://github.com/spinnaker/deck/commit/67d6f2425bbe13f89b0642bbd3c206f05160921d)) +chore(provider/kubernetes): reactify deployManifest execution details [#5376](https://github.com/spinnaker/deck/pull/5376) ([c6d98ac4](https://github.com/spinnaker/deck/commit/c6d98ac4f21d63d670901d9316ce93b87e543117)) +refactor(core) de-angularize more services [#5390](https://github.com/spinnaker/deck/pull/5390) ([ca5df990](https://github.com/spinnaker/deck/commit/ca5df990b30a9208a682831803d376781a4cba87)) +refactor(core): de-angularize services [#5385](https://github.com/spinnaker/deck/pull/5385) ([37a96b16](https://github.com/spinnaker/deck/commit/37a96b168cae0cb5517c269e858bc16020f753c2)) +refactor(core): de-angularize services [#5377](https://github.com/spinnaker/deck/pull/5377) ([bda420f9](https://github.com/spinnaker/deck/commit/bda420f98933852e734452a40d9ab788912dbb42)) +feat(artifacts): Add artifact details to GCE bake and deploy stages [#5374](https://github.com/spinnaker/deck/pull/5374) ([ca3d3415](https://github.com/spinnaker/deck/commit/ca3d34159b42e24cf7899587a37ebe4cd9e574cb)) +refactor(core): de-angularize services [#5365](https://github.com/spinnaker/deck/pull/5365) ([5d159622](https://github.com/spinnaker/deck/commit/5d159622f43fb2aa859a46b47665c8c60165224e)) +fix(core): Fix warnings about unused variables [#5371](https://github.com/spinnaker/deck/pull/5371) ([bd2b5b8e](https://github.com/spinnaker/deck/commit/bd2b5b8e446eb864f01ad4326b5c350e0420350f)) +feat(*/instance): add moniker info + env to instance link templates [#5367](https://github.com/spinnaker/deck/pull/5367) ([b70c6d98](https://github.com/spinnaker/deck/commit/b70c6d98a92adc3f2ddabb4d449c6ced3249480c)) +refactor(core): de-angularize services [#5354](https://github.com/spinnaker/deck/pull/5354) ([ab380a10](https://github.com/spinnaker/deck/commit/ab380a105abd46116de1ea0b70c560f066732644)) @@ -1007,25 +1042,25 @@ refactor(core): de-angularize services [#5354](https://github.com/spinnaker/deck ### Changes -chore(*): bump packages for amazon/appengine/core/google/k8s/titus [#5353](https://github.com/spinnaker/deck/pull/5353) ([6e20b411](https://github.com/spinnaker/deck/commit/6e20b41114db7ebba7a7dabd55818349871c5595)) -refactor(*): de-angular-ize task reader/writer/executor [#5352](https://github.com/spinnaker/deck/pull/5352) ([56ede9d2](https://github.com/spinnaker/deck/commit/56ede9d28f704926f4fadf60af42612138e5b4ce)) -chore(artifacts): de-angularize artifact reference service [#5348](https://github.com/spinnaker/deck/pull/5348) ([0acc2a3d](https://github.com/spinnaker/deck/commit/0acc2a3d6a6cc9cb0856f83847b732f725f255cb)) -chore(provider/kubernetes): de-angularize v2 expected artifact service [#5345](https://github.com/spinnaker/deck/pull/5345) ([9423895c](https://github.com/spinnaker/deck/commit/9423895c242ab4673418dd94a1b09b5df56b5db0)) -feat(artifacts): type icons in artifact selectors [#5346](https://github.com/spinnaker/deck/pull/5346) ([db4b3716](https://github.com/spinnaker/deck/commit/db4b37161622081f560b808fe93206fbb0b8d387)) -refactor(*): De-angular pipelineConfigProvider and rename to PipelineRegistry [#5340](https://github.com/spinnaker/deck/pull/5340) ([40d11f8c](https://github.com/spinnaker/deck/commit/40d11f8c5a48284bca56e639e46cf846311a5dd4)) - feat(artifacts): Either string or artifact is sufficient for bake stage [#5316](https://github.com/spinnaker/deck/pull/5316) ([91ea6344](https://github.com/spinnaker/deck/commit/91ea6344382c6225e543209bc6fb45d906690ae8)) -chore(*): Keep dependencies up to date [#5294](https://github.com/spinnaker/deck/pull/5294) ([18f40953](https://github.com/spinnaker/deck/commit/18f40953e599ad6c5cff0e10d194f0c1cd6fd264)) -refactor(core): rename Security Groups to Firewalls [#5284](https://github.com/spinnaker/deck/pull/5284) ([d9291085](https://github.com/spinnaker/deck/commit/d929108509898833b535d20be01179dffaf187bf)) -fix(provider/gce): Fix whitespace. [#5286](https://github.com/spinnaker/deck/pull/5286) ([f2d61701](https://github.com/spinnaker/deck/commit/f2d617017c6c2b81f0779ed1a7bace881080eabc)) -fix(provider/gce): Warn user if using default instanceType storage. [#5285](https://github.com/spinnaker/deck/pull/5285) ([4f83aa30](https://github.com/spinnaker/deck/commit/4f83aa303e74b2e630344d4ba1ba755e0a8f3fb5)) -feat(provider/gce): Surface all available GCE instanceTypes. [#5278](https://github.com/spinnaker/deck/pull/5278) ([fcd4ed91](https://github.com/spinnaker/deck/commit/fcd4ed919a188b7b426a1c43083eaafa01aee6f0)) -feat(artifacts): Allow artifacts to be selected in bake config [#5270](https://github.com/spinnaker/deck/pull/5270) ([f9e7c50c](https://github.com/spinnaker/deck/commit/f9e7c50c97adb48e5e5f16c7d18e6632e36b0bf0)) -perf(*): transpile to latest two modern browsers only [#5260](https://github.com/spinnaker/deck/pull/5260) ([caf1a8a8](https://github.com/spinnaker/deck/commit/caf1a8a84139fb4e5fe4c12959e02a9309d4a7db)) -refactor(*): De-angularize account service ([cc6d3332](https://github.com/spinnaker/deck/commit/cc6d333254159ab713a83bc89f13938d4c98e256)) -refactor(*): De-angularize API service ([cc8adc9d](https://github.com/spinnaker/deck/commit/cc8adc9df3f191ff2590a0bb5eea3f794cc85544)) -refactor(*): De-angularize authentication service ([a4d96cd3](https://github.com/spinnaker/deck/commit/a4d96cd340b49203f453afafd8d92512da6c831b)) -refactor(*): De-angularize cloud provider registry ([5aaf40d8](https://github.com/spinnaker/deck/commit/5aaf40d8599e372b3f49ba2db3dffbd711bf437e)) -feat(bake/manifest): helm values artifacts [#5222](https://github.com/spinnaker/deck/pull/5222) ([5f728802](https://github.com/spinnaker/deck/commit/5f728802954dcf5d1ed7f13395d649b3e70d0301)) +chore(*): bump packages for amazon/appengine/core/google/k8s/titus [#5353](https://github.com/spinnaker/deck/pull/5353) ([6e20b411](https://github.com/spinnaker/deck/commit/6e20b41114db7ebba7a7dabd55818349871c5595)) +refactor(*): de-angular-ize task reader/writer/executor [#5352](https://github.com/spinnaker/deck/pull/5352) ([56ede9d2](https://github.com/spinnaker/deck/commit/56ede9d28f704926f4fadf60af42612138e5b4ce)) +chore(artifacts): de-angularize artifact reference service [#5348](https://github.com/spinnaker/deck/pull/5348) ([0acc2a3d](https://github.com/spinnaker/deck/commit/0acc2a3d6a6cc9cb0856f83847b732f725f255cb)) +chore(provider/kubernetes): de-angularize v2 expected artifact service [#5345](https://github.com/spinnaker/deck/pull/5345) ([9423895c](https://github.com/spinnaker/deck/commit/9423895c242ab4673418dd94a1b09b5df56b5db0)) +feat(artifacts): type icons in artifact selectors [#5346](https://github.com/spinnaker/deck/pull/5346) ([db4b3716](https://github.com/spinnaker/deck/commit/db4b37161622081f560b808fe93206fbb0b8d387)) +refactor(*): De-angular pipelineConfigProvider and rename to PipelineRegistry [#5340](https://github.com/spinnaker/deck/pull/5340) ([40d11f8c](https://github.com/spinnaker/deck/commit/40d11f8c5a48284bca56e639e46cf846311a5dd4)) + feat(artifacts): Either string or artifact is sufficient for bake stage [#5316](https://github.com/spinnaker/deck/pull/5316) ([91ea6344](https://github.com/spinnaker/deck/commit/91ea6344382c6225e543209bc6fb45d906690ae8)) +chore(*): Keep dependencies up to date [#5294](https://github.com/spinnaker/deck/pull/5294) ([18f40953](https://github.com/spinnaker/deck/commit/18f40953e599ad6c5cff0e10d194f0c1cd6fd264)) +refactor(core): rename Security Groups to Firewalls [#5284](https://github.com/spinnaker/deck/pull/5284) ([d9291085](https://github.com/spinnaker/deck/commit/d929108509898833b535d20be01179dffaf187bf)) +fix(provider/gce): Fix whitespace. [#5286](https://github.com/spinnaker/deck/pull/5286) ([f2d61701](https://github.com/spinnaker/deck/commit/f2d617017c6c2b81f0779ed1a7bace881080eabc)) +fix(provider/gce): Warn user if using default instanceType storage. [#5285](https://github.com/spinnaker/deck/pull/5285) ([4f83aa30](https://github.com/spinnaker/deck/commit/4f83aa303e74b2e630344d4ba1ba755e0a8f3fb5)) +feat(provider/gce): Surface all available GCE instanceTypes. [#5278](https://github.com/spinnaker/deck/pull/5278) ([fcd4ed91](https://github.com/spinnaker/deck/commit/fcd4ed919a188b7b426a1c43083eaafa01aee6f0)) +feat(artifacts): Allow artifacts to be selected in bake config [#5270](https://github.com/spinnaker/deck/pull/5270) ([f9e7c50c](https://github.com/spinnaker/deck/commit/f9e7c50c97adb48e5e5f16c7d18e6632e36b0bf0)) +perf(*): transpile to latest two modern browsers only [#5260](https://github.com/spinnaker/deck/pull/5260) ([caf1a8a8](https://github.com/spinnaker/deck/commit/caf1a8a84139fb4e5fe4c12959e02a9309d4a7db)) +refactor(*): De-angularize account service ([cc6d3332](https://github.com/spinnaker/deck/commit/cc6d333254159ab713a83bc89f13938d4c98e256)) +refactor(*): De-angularize API service ([cc8adc9d](https://github.com/spinnaker/deck/commit/cc8adc9df3f191ff2590a0bb5eea3f794cc85544)) +refactor(*): De-angularize authentication service ([a4d96cd3](https://github.com/spinnaker/deck/commit/a4d96cd340b49203f453afafd8d92512da6c831b)) +refactor(*): De-angularize cloud provider registry ([5aaf40d8](https://github.com/spinnaker/deck/commit/5aaf40d8599e372b3f49ba2db3dffbd711bf437e)) +feat(bake/manifest): helm values artifacts [#5222](https://github.com/spinnaker/deck/pull/5222) ([5f728802](https://github.com/spinnaker/deck/commit/5f728802954dcf5d1ed7f13395d649b3e70d0301)) @@ -1034,79 +1069,79 @@ feat(bake/manifest): helm values artifacts [#5222](https://github.com/spinnaker/ ### Changes -chore(google): bump npm package version [#5182](https://github.com/spinnaker/deck/pull/5182) ([5a89f728](https://github.com/spinnaker/deck/commit/5a89f7289168b89d685b3afff0f8a9243c7316f1)) -refactor(*): de-angularize help contents/registry [#5199](https://github.com/spinnaker/deck/pull/5199) ([d6bfa5c2](https://github.com/spinnaker/deck/commit/d6bfa5c22c2196942230721ecc38ddb68e56874f)) -chore(core) fixed imports [#5176](https://github.com/spinnaker/deck/pull/5176) ([c76d9628](https://github.com/spinnaker/deck/commit/c76d9628b1fd632c1f959d0b73d1bb635fab5fe0)) -refactor(*): De-angularize caches [#5161](https://github.com/spinnaker/deck/pull/5161) ([2f654733](https://github.com/spinnaker/deck/commit/2f6547336c43fdf5ced72dc029700e214d07c1b9)) -refactor(core/entityTag): Convert clusterTargetBuilder.service to plain JS ([378f228a](https://github.com/spinnaker/deck/commit/378f228aec8cdb4a02990785505a67c1b9ad2adc)) -refactor(core/naming): Convert angular naming.service to plain NameUtils ([d9f313bd](https://github.com/spinnaker/deck/commit/d9f313bd36508961f2a6be8d32c5155e0b5b893d)) -chore(tslint): ❯ npx tslint --fix -p tsconfig.json ([b1ddb67c](https://github.com/spinnaker/deck/commit/b1ddb67c2c7a74f451baac070a65c985c2b6fb8e)) -chore(tslint): Add prettier-tslint rules, manually fix lint errors that don't have --fix ([e74be825](https://github.com/spinnaker/deck/commit/e74be825f0f0c3e8ed24717188b0e76d6cc99bd8)) -Just Use Prettier™ ([532ab778](https://github.com/spinnaker/deck/commit/532ab7784ca93569308c8f2ab80a18d313b910f9)) -fix(artifacts): deleting expected artifact removes stale references [#5107](https://github.com/spinnaker/deck/pull/5107) ([bd912257](https://github.com/spinnaker/deck/commit/bd912257caa91660d3ec92be37cb64b142d35f68)) -feat(provider/gce): Support nested health checks in autoHealingPolicy. [#5108](https://github.com/spinnaker/deck/pull/5108) ([c39e49c8](https://github.com/spinnaker/deck/commit/c39e49c82cf9006d985bd963f428c2c2fde59730)) -Updating to use auto-generated files from icomoon.app [#5086](https://github.com/spinnaker/deck/pull/5086) ([c96f74b7](https://github.com/spinnaker/deck/commit/c96f74b720624631b65405e847593c0e52b4a5fb)) -chore(package): minify package bundles in production mode only ([a5bde826](https://github.com/spinnaker/deck/commit/a5bde826f2c641c6075fbb3900f740050892eb72)) -chore(webpack): update webpack configurations for webpack 4 ([40981eae](https://github.com/spinnaker/deck/commit/40981eae4c404cd833cf186a9df50d3a56b5c927)) -chore(core): upgrade to font-awesome 5 [#5029](https://github.com/spinnaker/deck/pull/5029) ([c2bdbf72](https://github.com/spinnaker/deck/commit/c2bdbf727746223e1c9e0a1d7fc56018a0e81736)) -feat(artifacts): Enable GCE deploy stage to deploy an artifact [#4986](https://github.com/spinnaker/deck/pull/4986) ([d4e61e5c](https://github.com/spinnaker/deck/commit/d4e61e5c456a8f7eacaf5ae96b05ce67146346d0)) -fix(core): Fix dismissal of new server group template modal [#4954](https://github.com/spinnaker/deck/pull/4954) ([f52d61a7](https://github.com/spinnaker/deck/commit/f52d61a7c1e440259c0b9addce8fb4e9183ff792)) -chore(*): Prepare for upgrading to react 16 [#4947](https://github.com/spinnaker/deck/pull/4947) ([0b9ebbaa](https://github.com/spinnaker/deck/commit/0b9ebbaacd9635efba39758f214e9e562d5efc2a)) -fix(provider/gce): Fix call to list backends ([5c1c1daa](https://github.com/spinnaker/deck/commit/5c1c1daac293a7fbc5648ff22b30c5b03f490ece)) -fix(provider/google): add resize stage timeout override [#4901](https://github.com/spinnaker/deck/pull/4901) ([d24f5bfd](https://github.com/spinnaker/deck/commit/d24f5bfd1029eb6bd6bed6510ea05bb64af8a0c7)) -fix(details): allow details dropdowns to wrap (at smaller widths). remove clearfix [#4748](https://github.com/spinnaker/deck/pull/4748) ([46c774d8](https://github.com/spinnaker/deck/commit/46c774d81fdd40edf0ce03f0735d81ceee30f995)) -fix(provider/gce): Fix search endpoint calls. [#4726](https://github.com/spinnaker/deck/pull/4726) ([9f42c525](https://github.com/spinnaker/deck/commit/9f42c5250496bb1f92ed2410de9eebadb05bba48)) -style(amazon/application/projects/pipeline/google/kubernetes): Replacing fa-cog icons with new spinner [#4630](https://github.com/spinnaker/deck/pull/4630) ([c1f63e87](https://github.com/spinnaker/deck/commit/c1f63e879791473e86d0ecc0a316c3e94a9ba8de)) -style(amazon/azure/cloudfoundry/core/dcos/google/kubernetes/openstack/oracle): Added new spinners per designs [#4611](https://github.com/spinnaker/deck/pull/4611) ([47b809c3](https://github.com/spinnaker/deck/commit/47b809c3445b606d6c668ab1657811bf2924ca74)) -style(provider/google): Fix react-style dropdown z-index in Instance Type configurer [#4610](https://github.com/spinnaker/deck/pull/4610) ([18b8be4f](https://github.com/spinnaker/deck/commit/18b8be4f6c60ccb603401fd7e1fa3c757d54b182)) -refactor(*): Remove closeable.modal.controller [#4583](https://github.com/spinnaker/deck/pull/4583) ([2a0f1cac](https://github.com/spinnaker/deck/commit/2a0f1cac5f3237d6a97806cabe10c2f7e4b0a1ac)) -feat(gce): UI for zone selection. [#4548](https://github.com/spinnaker/deck/pull/4548) ([7c3af768](https://github.com/spinnaker/deck/commit/7c3af76839b30a93663d00739d055183fafa4b08)) -chore(*): Update typescript and tslint and fix lint errors [#4494](https://github.com/spinnaker/deck/pull/4494) ([baa3155e](https://github.com/spinnaker/deck/commit/baa3155e710b9cde5c224e1e198b1704a6c774e4)) -fix(provider/gce): Break out spinnaker-member-of into individual labels. [#4493](https://github.com/spinnaker/deck/pull/4493) ([ba7b93e2](https://github.com/spinnaker/deck/commit/ba7b93e2c54c78ba2a8d4be20133a6478f64e744)) -refactor(*): Convert find ami execution details to react ([1896c7b2](https://github.com/spinnaker/deck/commit/1896c7b25fc18e57b639b6a7e9b3872d0c52b2f8)) -feat(provider/gce): Recognize spinnaker-member-of label. [#4476](https://github.com/spinnaker/deck/pull/4476) ([e870983a](https://github.com/spinnaker/deck/commit/e870983a62cf558ca0cd7bbc6ab1fe2c793e263a)) -fix(*): Fix disable cluster execution details config [#4407](https://github.com/spinnaker/deck/pull/4407) ([da303b9c](https://github.com/spinnaker/deck/commit/da303b9c092e5e137e1107d393ca9b28ac0f5864)) -refactor(*/pipeline): Convert clone server group execution details to react [#4359](https://github.com/spinnaker/deck/pull/4359) ([25ff3a1a](https://github.com/spinnaker/deck/commit/25ff3a1abbdb72f6d128adba26fcaaa61d13ab90)) -feat(gce): UHC support for l7 load balancers [#4340](https://github.com/spinnaker/deck/pull/4340) ([89dfca0c](https://github.com/spinnaker/deck/commit/89dfca0cd42e1dd425638d91c7b4d86acce8ee2c)) -chore(core): remove happypack in favor of thread-loader/cache-loader [#4330](https://github.com/spinnaker/deck/pull/4330) ([c661dccf](https://github.com/spinnaker/deck/commit/c661dccfe04fb44f78f64bcbd2a05debb8d46d43)) -refactor(*): More execution details refactoring [#4324](https://github.com/spinnaker/deck/pull/4324) ([ababde6d](https://github.com/spinnaker/deck/commit/ababde6dea29347e4bff81840c7e3b1fa685aaa0)) -refactor(*): Remove duplicate execution details templates [#4314](https://github.com/spinnaker/deck/pull/4314) ([de1524a8](https://github.com/spinnaker/deck/commit/de1524a8ae7897441d5fd150d5e4189dc67891a2)) -refactor(*): Consistent bracket spacing [#4307](https://github.com/spinnaker/deck/pull/4307) ([484c91a3](https://github.com/spinnaker/deck/commit/484c91a34374fe06a4c4f52642f204b8f2fa0f78)) -refactor(*): Fix all the postcss-color warnings except the hard one [#4304](https://github.com/spinnaker/deck/pull/4304) ([db2275bb](https://github.com/spinnaker/deck/commit/db2275bb48c3371e1f90bf2b83ff59e5ff8af488)) -fix(provider/gce): Render namedPorts in svg details, not listeningPort. [#4299](https://github.com/spinnaker/deck/pull/4299) ([9d305023](https://github.com/spinnaker/deck/commit/9d305023c247e83ab06cabe6f5bbcb84bd23e3b2)) -fix(provider/gce): Fix credential account handling in svg wizard. [#4252](https://github.com/spinnaker/deck/pull/4252) ([29c5da83](https://github.com/spinnaker/deck/commit/29c5da83fdab5cc60b9dc226c14b7b3650637ec9)) -fix(core/modal): avoid throwing errors on modal $dismiss [#4233](https://github.com/spinnaker/deck/pull/4233) ([ed9c20fb](https://github.com/spinnaker/deck/commit/ed9c20fb61a17b21a0aff8a81706996416dfa796)) -style(core/amazon/google/kubernetes): Fixed adhoc hexcode colors to use spinnaker palette [#4206](https://github.com/spinnaker/deck/pull/4206) ([bd5c5c61](https://github.com/spinnaker/deck/commit/bd5c5c6191e37505967f759eaf44e0cc1ed7446b)) -chore(modules): Use webpack-node-externals to exclude node_modules from @spinnaker/* bundles [#4215](https://github.com/spinnaker/deck/pull/4215) ([2a3202f7](https://github.com/spinnaker/deck/commit/2a3202f7931405a57f745b428ded3b616c463905)) -fix(provider/gce) Update max disk number for local-ssd to 8 from 4 [#4214](https://github.com/spinnaker/deck/pull/4214) ([b0d854e0](https://github.com/spinnaker/deck/commit/b0d854e0b90dfb8ef19a4b55ac4ee18ffabb07c3)) -style(all): Removed all less color variables and using CSS4 consolidated colors [#4204](https://github.com/spinnaker/deck/pull/4204) ([3c3eccc9](https://github.com/spinnaker/deck/commit/3c3eccc9c74277576cebbc3e8c5a883d01ebce8e)) -feat(sourceMaps): Embed sources in sourcemaps for lib builds [#4175](https://github.com/spinnaker/deck/pull/4175) ([14818c96](https://github.com/spinnaker/deck/commit/14818c96450d5d4a96d87cde068944719a5d83ae)) -feat(provider/gce): Support for connection draining in LBs. [#4167](https://github.com/spinnaker/deck/pull/4167) ([29284f22](https://github.com/spinnaker/deck/commit/29284f22e896fb7b423831b0e7136a0b2bf08e99)) -refactor(*): Replace class-autobind-decorator with lodash-decorators BindAll [#4150](https://github.com/spinnaker/deck/pull/4150) ([ecc40304](https://github.com/spinnaker/deck/commit/ecc403046e8e556c1892a69acb944c6cc7e04034)) -refactor(*): Remove angular-loader in favor of using `.name` explicitly [#4157](https://github.com/spinnaker/deck/pull/4157) ([f6669e57](https://github.com/spinnaker/deck/commit/f6669e5759cd43ea9e30471c6923945027078aed)) -feat(provider/gce): Support named ports for global LBs. [#4154](https://github.com/spinnaker/deck/pull/4154) ([fca2e931](https://github.com/spinnaker/deck/commit/fca2e931e039292e498bb8c3fb0a792ec30bbda7)) -feat(webpack): Improve performance of webpack build [#4081](https://github.com/spinnaker/deck/pull/4081) ([da32e834](https://github.com/spinnaker/deck/commit/da32e834e4df71c4185919c30a72e07039e77038)) -feat(gce): adds support for configuring multiple persistent disks [#3980](https://github.com/spinnaker/deck/pull/3980) ([0a4c90da](https://github.com/spinnaker/deck/commit/0a4c90da74b36c86b651fa42c98cd95b38ce470f)) -feat(provider/google): Support TCP Proxy Load Balancing [#3894](https://github.com/spinnaker/deck/pull/3894) ([b88f65fd](https://github.com/spinnaker/deck/commit/b88f65fd7386d374446f5c616843e4b8ddc6190c)) -feat(amazon): allow default VPC specification for security group creation [#3924](https://github.com/spinnaker/deck/pull/3924) ([a5893295](https://github.com/spinnaker/deck/commit/a5893295d4a7db7e062c4fed5306dcbda2fb454c)) -refactor(*): Update typescript to 2.4 and fix breaking changes ([072c1eff](https://github.com/spinnaker/deck/commit/072c1eff41a81fc933b2d6438d86e673e125587a)) -refactor(core): use common component for deploy initialization [#3889](https://github.com/spinnaker/deck/pull/3889) ([8754fcb5](https://github.com/spinnaker/deck/commit/8754fcb559561390d7bd7ee541a28166007ecea3)) -fix(provider/gce): fixes server group wizard load error when no security group has tag [#3912](https://github.com/spinnaker/deck/pull/3912) ([3457ea67](https://github.com/spinnaker/deck/commit/3457ea67673dc3702d1bb8e58bcb112f89ba2a41)) -chore(*): update @types/react to latest [#3908](https://github.com/spinnaker/deck/pull/3908) ([21348d44](https://github.com/spinnaker/deck/commit/21348d448e4e40b1030ed6bf58161a8f22abc14b)) -chore(core/amazon/docker/google): update configs [#3893](https://github.com/spinnaker/deck/pull/3893) ([a0649c3e](https://github.com/spinnaker/deck/commit/a0649c3ed3c239900329c90536294f245139c056)) -feat(gce): allow ilb port update [#3879](https://github.com/spinnaker/deck/pull/3879) ([05db0cf2](https://github.com/spinnaker/deck/commit/05db0cf2f6a8d90548dee798b2604c246872535c)) -fix(gce): prevent npe when loading server group wizard in project without default network [#3863](https://github.com/spinnaker/deck/pull/3863) ([f9dc1803](https://github.com/spinnaker/deck/commit/f9dc1803affdc90020044e1f3245729c52911478)) -fix(provider/amazon): Fix deleting ALBs [#3862](https://github.com/spinnaker/deck/pull/3862) ([369c718e](https://github.com/spinnaker/deck/commit/369c718e09399fe7fdad6d583b9b3804cf7daf02)) -feat(provider/google): Add support for Minimum CPU Platform. [#3856](https://github.com/spinnaker/deck/pull/3856) ([dfbe4adb](https://github.com/spinnaker/deck/commit/dfbe4adb66392291659b8b834b33b967a2e3c08c)) -feat(core): require app name in appModelBuilder.createApplication [#3850](https://github.com/spinnaker/deck/pull/3850) ([3f20407e](https://github.com/spinnaker/deck/commit/3f20407ed2e25c2d6e6c7512cc24ffc4422a0740)) -feat(gce): better custom instance selector [#3851](https://github.com/spinnaker/deck/pull/3851) ([f59df3f6](https://github.com/spinnaker/deck/commit/f59df3f6e52f0c4c5969eb618d00e577c71a6ae0)) -fix(gce): minor formatting change for user data input field [#3829](https://github.com/spinnaker/deck/pull/3829) ([0b7655a2](https://github.com/spinnaker/deck/commit/0b7655a244895a9617b12fbf13924e329a56db5a)) -fix(provider/gce): Make the linter happy. [#3854](https://github.com/spinnaker/deck/pull/3854) ([d0f635a8](https://github.com/spinnaker/deck/commit/d0f635a81649fad711fa1edafbd291ca64957705)) -Revert "feat(provider/google): Add ILB listeners." [#3853](https://github.com/spinnaker/deck/pull/3853) ([e9ae298f](https://github.com/spinnaker/deck/commit/e9ae298f6a6e3202c8a554e206be4a896950de5c)) -fix(gce): placate linter [#3844](https://github.com/spinnaker/deck/pull/3844) ([a7b93563](https://github.com/spinnaker/deck/commit/a7b935631608b1f4c92684813787730aa355a70c)) -fix(gce): cast load balancers to pacify TS compiler [#3840](https://github.com/spinnaker/deck/pull/3840) ([c0556709](https://github.com/spinnaker/deck/commit/c0556709b9e927dbc7008b417198bfa3b86f2265)) -feat(provider/google): Add ILB listeners. [#3832](https://github.com/spinnaker/deck/pull/3832) ([d723db8c](https://github.com/spinnaker/deck/commit/d723db8ca985079b88a77783a8272a6a62e42b85)) -feat(provider/google): Add support for Shared VPC Networking (XPN). [#3831](https://github.com/spinnaker/deck/pull/3831) ([7d0d532a](https://github.com/spinnaker/deck/commit/7d0d532a9750238ae66726e6bc73f6bbdc37f88b)) -chore(provider/google): Update auth scopes tooltip. [#3826](https://github.com/spinnaker/deck/pull/3826) ([59854199](https://github.com/spinnaker/deck/commit/598541999a2105db0b50d07352ed9d952814d5d8)) -refactor(provider/amazon): convert createApplicationLoadBalancer to TS [#3816](https://github.com/spinnaker/deck/pull/3816) ([a2d75789](https://github.com/spinnaker/deck/commit/a2d75789e380c36675cfe3a2a16839af58751d2f)) +chore(google): bump npm package version [#5182](https://github.com/spinnaker/deck/pull/5182) ([5a89f728](https://github.com/spinnaker/deck/commit/5a89f7289168b89d685b3afff0f8a9243c7316f1)) +refactor(*): de-angularize help contents/registry [#5199](https://github.com/spinnaker/deck/pull/5199) ([d6bfa5c2](https://github.com/spinnaker/deck/commit/d6bfa5c22c2196942230721ecc38ddb68e56874f)) +chore(core) fixed imports [#5176](https://github.com/spinnaker/deck/pull/5176) ([c76d9628](https://github.com/spinnaker/deck/commit/c76d9628b1fd632c1f959d0b73d1bb635fab5fe0)) +refactor(*): De-angularize caches [#5161](https://github.com/spinnaker/deck/pull/5161) ([2f654733](https://github.com/spinnaker/deck/commit/2f6547336c43fdf5ced72dc029700e214d07c1b9)) +refactor(core/entityTag): Convert clusterTargetBuilder.service to plain JS ([378f228a](https://github.com/spinnaker/deck/commit/378f228aec8cdb4a02990785505a67c1b9ad2adc)) +refactor(core/naming): Convert angular naming.service to plain NameUtils ([d9f313bd](https://github.com/spinnaker/deck/commit/d9f313bd36508961f2a6be8d32c5155e0b5b893d)) +chore(tslint): ❯ npx tslint --fix -p tsconfig.json ([b1ddb67c](https://github.com/spinnaker/deck/commit/b1ddb67c2c7a74f451baac070a65c985c2b6fb8e)) +chore(tslint): Add prettier-tslint rules, manually fix lint errors that don't have --fix ([e74be825](https://github.com/spinnaker/deck/commit/e74be825f0f0c3e8ed24717188b0e76d6cc99bd8)) +Just Use Prettier™ ([532ab778](https://github.com/spinnaker/deck/commit/532ab7784ca93569308c8f2ab80a18d313b910f9)) +fix(artifacts): deleting expected artifact removes stale references [#5107](https://github.com/spinnaker/deck/pull/5107) ([bd912257](https://github.com/spinnaker/deck/commit/bd912257caa91660d3ec92be37cb64b142d35f68)) +feat(provider/gce): Support nested health checks in autoHealingPolicy. [#5108](https://github.com/spinnaker/deck/pull/5108) ([c39e49c8](https://github.com/spinnaker/deck/commit/c39e49c82cf9006d985bd963f428c2c2fde59730)) +Updating to use auto-generated files from icomoon.app [#5086](https://github.com/spinnaker/deck/pull/5086) ([c96f74b7](https://github.com/spinnaker/deck/commit/c96f74b720624631b65405e847593c0e52b4a5fb)) +chore(package): minify package bundles in production mode only ([a5bde826](https://github.com/spinnaker/deck/commit/a5bde826f2c641c6075fbb3900f740050892eb72)) +chore(webpack): update webpack configurations for webpack 4 ([40981eae](https://github.com/spinnaker/deck/commit/40981eae4c404cd833cf186a9df50d3a56b5c927)) +chore(core): upgrade to font-awesome 5 [#5029](https://github.com/spinnaker/deck/pull/5029) ([c2bdbf72](https://github.com/spinnaker/deck/commit/c2bdbf727746223e1c9e0a1d7fc56018a0e81736)) +feat(artifacts): Enable GCE deploy stage to deploy an artifact [#4986](https://github.com/spinnaker/deck/pull/4986) ([d4e61e5c](https://github.com/spinnaker/deck/commit/d4e61e5c456a8f7eacaf5ae96b05ce67146346d0)) +fix(core): Fix dismissal of new server group template modal [#4954](https://github.com/spinnaker/deck/pull/4954) ([f52d61a7](https://github.com/spinnaker/deck/commit/f52d61a7c1e440259c0b9addce8fb4e9183ff792)) +chore(*): Prepare for upgrading to react 16 [#4947](https://github.com/spinnaker/deck/pull/4947) ([0b9ebbaa](https://github.com/spinnaker/deck/commit/0b9ebbaacd9635efba39758f214e9e562d5efc2a)) +fix(provider/gce): Fix call to list backends ([5c1c1daa](https://github.com/spinnaker/deck/commit/5c1c1daac293a7fbc5648ff22b30c5b03f490ece)) +fix(provider/google): add resize stage timeout override [#4901](https://github.com/spinnaker/deck/pull/4901) ([d24f5bfd](https://github.com/spinnaker/deck/commit/d24f5bfd1029eb6bd6bed6510ea05bb64af8a0c7)) +fix(details): allow details dropdowns to wrap (at smaller widths). remove clearfix [#4748](https://github.com/spinnaker/deck/pull/4748) ([46c774d8](https://github.com/spinnaker/deck/commit/46c774d81fdd40edf0ce03f0735d81ceee30f995)) +fix(provider/gce): Fix search endpoint calls. [#4726](https://github.com/spinnaker/deck/pull/4726) ([9f42c525](https://github.com/spinnaker/deck/commit/9f42c5250496bb1f92ed2410de9eebadb05bba48)) +style(amazon/application/projects/pipeline/google/kubernetes): Replacing fa-cog icons with new spinner [#4630](https://github.com/spinnaker/deck/pull/4630) ([c1f63e87](https://github.com/spinnaker/deck/commit/c1f63e879791473e86d0ecc0a316c3e94a9ba8de)) +style(amazon/azure/cloudfoundry/core/dcos/google/kubernetes/openstack/oracle): Added new spinners per designs [#4611](https://github.com/spinnaker/deck/pull/4611) ([47b809c3](https://github.com/spinnaker/deck/commit/47b809c3445b606d6c668ab1657811bf2924ca74)) +style(provider/google): Fix react-style dropdown z-index in Instance Type configurer [#4610](https://github.com/spinnaker/deck/pull/4610) ([18b8be4f](https://github.com/spinnaker/deck/commit/18b8be4f6c60ccb603401fd7e1fa3c757d54b182)) +refactor(*): Remove closeable.modal.controller [#4583](https://github.com/spinnaker/deck/pull/4583) ([2a0f1cac](https://github.com/spinnaker/deck/commit/2a0f1cac5f3237d6a97806cabe10c2f7e4b0a1ac)) +feat(gce): UI for zone selection. [#4548](https://github.com/spinnaker/deck/pull/4548) ([7c3af768](https://github.com/spinnaker/deck/commit/7c3af76839b30a93663d00739d055183fafa4b08)) +chore(*): Update typescript and tslint and fix lint errors [#4494](https://github.com/spinnaker/deck/pull/4494) ([baa3155e](https://github.com/spinnaker/deck/commit/baa3155e710b9cde5c224e1e198b1704a6c774e4)) +fix(provider/gce): Break out spinnaker-member-of into individual labels. [#4493](https://github.com/spinnaker/deck/pull/4493) ([ba7b93e2](https://github.com/spinnaker/deck/commit/ba7b93e2c54c78ba2a8d4be20133a6478f64e744)) +refactor(*): Convert find ami execution details to react ([1896c7b2](https://github.com/spinnaker/deck/commit/1896c7b25fc18e57b639b6a7e9b3872d0c52b2f8)) +feat(provider/gce): Recognize spinnaker-member-of label. [#4476](https://github.com/spinnaker/deck/pull/4476) ([e870983a](https://github.com/spinnaker/deck/commit/e870983a62cf558ca0cd7bbc6ab1fe2c793e263a)) +fix(*): Fix disable cluster execution details config [#4407](https://github.com/spinnaker/deck/pull/4407) ([da303b9c](https://github.com/spinnaker/deck/commit/da303b9c092e5e137e1107d393ca9b28ac0f5864)) +refactor(*/pipeline): Convert clone server group execution details to react [#4359](https://github.com/spinnaker/deck/pull/4359) ([25ff3a1a](https://github.com/spinnaker/deck/commit/25ff3a1abbdb72f6d128adba26fcaaa61d13ab90)) +feat(gce): UHC support for l7 load balancers [#4340](https://github.com/spinnaker/deck/pull/4340) ([89dfca0c](https://github.com/spinnaker/deck/commit/89dfca0cd42e1dd425638d91c7b4d86acce8ee2c)) +chore(core): remove happypack in favor of thread-loader/cache-loader [#4330](https://github.com/spinnaker/deck/pull/4330) ([c661dccf](https://github.com/spinnaker/deck/commit/c661dccfe04fb44f78f64bcbd2a05debb8d46d43)) +refactor(*): More execution details refactoring [#4324](https://github.com/spinnaker/deck/pull/4324) ([ababde6d](https://github.com/spinnaker/deck/commit/ababde6dea29347e4bff81840c7e3b1fa685aaa0)) +refactor(*): Remove duplicate execution details templates [#4314](https://github.com/spinnaker/deck/pull/4314) ([de1524a8](https://github.com/spinnaker/deck/commit/de1524a8ae7897441d5fd150d5e4189dc67891a2)) +refactor(*): Consistent bracket spacing [#4307](https://github.com/spinnaker/deck/pull/4307) ([484c91a3](https://github.com/spinnaker/deck/commit/484c91a34374fe06a4c4f52642f204b8f2fa0f78)) +refactor(*): Fix all the postcss-color warnings except the hard one [#4304](https://github.com/spinnaker/deck/pull/4304) ([db2275bb](https://github.com/spinnaker/deck/commit/db2275bb48c3371e1f90bf2b83ff59e5ff8af488)) +fix(provider/gce): Render namedPorts in svg details, not listeningPort. [#4299](https://github.com/spinnaker/deck/pull/4299) ([9d305023](https://github.com/spinnaker/deck/commit/9d305023c247e83ab06cabe6f5bbcb84bd23e3b2)) +fix(provider/gce): Fix credential account handling in svg wizard. [#4252](https://github.com/spinnaker/deck/pull/4252) ([29c5da83](https://github.com/spinnaker/deck/commit/29c5da83fdab5cc60b9dc226c14b7b3650637ec9)) +fix(core/modal): avoid throwing errors on modal $dismiss [#4233](https://github.com/spinnaker/deck/pull/4233) ([ed9c20fb](https://github.com/spinnaker/deck/commit/ed9c20fb61a17b21a0aff8a81706996416dfa796)) +style(core/amazon/google/kubernetes): Fixed adhoc hexcode colors to use spinnaker palette [#4206](https://github.com/spinnaker/deck/pull/4206) ([bd5c5c61](https://github.com/spinnaker/deck/commit/bd5c5c6191e37505967f759eaf44e0cc1ed7446b)) +chore(modules): Use webpack-node-externals to exclude node_modules from @spinnaker/* bundles [#4215](https://github.com/spinnaker/deck/pull/4215) ([2a3202f7](https://github.com/spinnaker/deck/commit/2a3202f7931405a57f745b428ded3b616c463905)) +fix(provider/gce) Update max disk number for local-ssd to 8 from 4 [#4214](https://github.com/spinnaker/deck/pull/4214) ([b0d854e0](https://github.com/spinnaker/deck/commit/b0d854e0b90dfb8ef19a4b55ac4ee18ffabb07c3)) +style(all): Removed all less color variables and using CSS4 consolidated colors [#4204](https://github.com/spinnaker/deck/pull/4204) ([3c3eccc9](https://github.com/spinnaker/deck/commit/3c3eccc9c74277576cebbc3e8c5a883d01ebce8e)) +feat(sourceMaps): Embed sources in sourcemaps for lib builds [#4175](https://github.com/spinnaker/deck/pull/4175) ([14818c96](https://github.com/spinnaker/deck/commit/14818c96450d5d4a96d87cde068944719a5d83ae)) +feat(provider/gce): Support for connection draining in LBs. [#4167](https://github.com/spinnaker/deck/pull/4167) ([29284f22](https://github.com/spinnaker/deck/commit/29284f22e896fb7b423831b0e7136a0b2bf08e99)) +refactor(*): Replace class-autobind-decorator with lodash-decorators BindAll [#4150](https://github.com/spinnaker/deck/pull/4150) ([ecc40304](https://github.com/spinnaker/deck/commit/ecc403046e8e556c1892a69acb944c6cc7e04034)) +refactor(*): Remove angular-loader in favor of using `.name` explicitly [#4157](https://github.com/spinnaker/deck/pull/4157) ([f6669e57](https://github.com/spinnaker/deck/commit/f6669e5759cd43ea9e30471c6923945027078aed)) +feat(provider/gce): Support named ports for global LBs. [#4154](https://github.com/spinnaker/deck/pull/4154) ([fca2e931](https://github.com/spinnaker/deck/commit/fca2e931e039292e498bb8c3fb0a792ec30bbda7)) +feat(webpack): Improve performance of webpack build [#4081](https://github.com/spinnaker/deck/pull/4081) ([da32e834](https://github.com/spinnaker/deck/commit/da32e834e4df71c4185919c30a72e07039e77038)) +feat(gce): adds support for configuring multiple persistent disks [#3980](https://github.com/spinnaker/deck/pull/3980) ([0a4c90da](https://github.com/spinnaker/deck/commit/0a4c90da74b36c86b651fa42c98cd95b38ce470f)) +feat(provider/google): Support TCP Proxy Load Balancing [#3894](https://github.com/spinnaker/deck/pull/3894) ([b88f65fd](https://github.com/spinnaker/deck/commit/b88f65fd7386d374446f5c616843e4b8ddc6190c)) +feat(amazon): allow default VPC specification for security group creation [#3924](https://github.com/spinnaker/deck/pull/3924) ([a5893295](https://github.com/spinnaker/deck/commit/a5893295d4a7db7e062c4fed5306dcbda2fb454c)) +refactor(*): Update typescript to 2.4 and fix breaking changes ([072c1eff](https://github.com/spinnaker/deck/commit/072c1eff41a81fc933b2d6438d86e673e125587a)) +refactor(core): use common component for deploy initialization [#3889](https://github.com/spinnaker/deck/pull/3889) ([8754fcb5](https://github.com/spinnaker/deck/commit/8754fcb559561390d7bd7ee541a28166007ecea3)) +fix(provider/gce): fixes server group wizard load error when no security group has tag [#3912](https://github.com/spinnaker/deck/pull/3912) ([3457ea67](https://github.com/spinnaker/deck/commit/3457ea67673dc3702d1bb8e58bcb112f89ba2a41)) +chore(*): update @types/react to latest [#3908](https://github.com/spinnaker/deck/pull/3908) ([21348d44](https://github.com/spinnaker/deck/commit/21348d448e4e40b1030ed6bf58161a8f22abc14b)) +chore(core/amazon/docker/google): update configs [#3893](https://github.com/spinnaker/deck/pull/3893) ([a0649c3e](https://github.com/spinnaker/deck/commit/a0649c3ed3c239900329c90536294f245139c056)) +feat(gce): allow ilb port update [#3879](https://github.com/spinnaker/deck/pull/3879) ([05db0cf2](https://github.com/spinnaker/deck/commit/05db0cf2f6a8d90548dee798b2604c246872535c)) +fix(gce): prevent npe when loading server group wizard in project without default network [#3863](https://github.com/spinnaker/deck/pull/3863) ([f9dc1803](https://github.com/spinnaker/deck/commit/f9dc1803affdc90020044e1f3245729c52911478)) +fix(provider/amazon): Fix deleting ALBs [#3862](https://github.com/spinnaker/deck/pull/3862) ([369c718e](https://github.com/spinnaker/deck/commit/369c718e09399fe7fdad6d583b9b3804cf7daf02)) +feat(provider/google): Add support for Minimum CPU Platform. [#3856](https://github.com/spinnaker/deck/pull/3856) ([dfbe4adb](https://github.com/spinnaker/deck/commit/dfbe4adb66392291659b8b834b33b967a2e3c08c)) +feat(core): require app name in appModelBuilder.createApplication [#3850](https://github.com/spinnaker/deck/pull/3850) ([3f20407e](https://github.com/spinnaker/deck/commit/3f20407ed2e25c2d6e6c7512cc24ffc4422a0740)) +feat(gce): better custom instance selector [#3851](https://github.com/spinnaker/deck/pull/3851) ([f59df3f6](https://github.com/spinnaker/deck/commit/f59df3f6e52f0c4c5969eb618d00e577c71a6ae0)) +fix(gce): minor formatting change for user data input field [#3829](https://github.com/spinnaker/deck/pull/3829) ([0b7655a2](https://github.com/spinnaker/deck/commit/0b7655a244895a9617b12fbf13924e329a56db5a)) +fix(provider/gce): Make the linter happy. [#3854](https://github.com/spinnaker/deck/pull/3854) ([d0f635a8](https://github.com/spinnaker/deck/commit/d0f635a81649fad711fa1edafbd291ca64957705)) +Revert "feat(provider/google): Add ILB listeners." [#3853](https://github.com/spinnaker/deck/pull/3853) ([e9ae298f](https://github.com/spinnaker/deck/commit/e9ae298f6a6e3202c8a554e206be4a896950de5c)) +fix(gce): placate linter [#3844](https://github.com/spinnaker/deck/pull/3844) ([a7b93563](https://github.com/spinnaker/deck/commit/a7b935631608b1f4c92684813787730aa355a70c)) +fix(gce): cast load balancers to pacify TS compiler [#3840](https://github.com/spinnaker/deck/pull/3840) ([c0556709](https://github.com/spinnaker/deck/commit/c0556709b9e927dbc7008b417198bfa3b86f2265)) +feat(provider/google): Add ILB listeners. [#3832](https://github.com/spinnaker/deck/pull/3832) ([d723db8c](https://github.com/spinnaker/deck/commit/d723db8ca985079b88a77783a8272a6a62e42b85)) +feat(provider/google): Add support for Shared VPC Networking (XPN). [#3831](https://github.com/spinnaker/deck/pull/3831) ([7d0d532a](https://github.com/spinnaker/deck/commit/7d0d532a9750238ae66726e6bc73f6bbdc37f88b)) +chore(provider/google): Update auth scopes tooltip. [#3826](https://github.com/spinnaker/deck/pull/3826) ([59854199](https://github.com/spinnaker/deck/commit/598541999a2105db0b50d07352ed9d952814d5d8)) +refactor(provider/amazon): convert createApplicationLoadBalancer to TS [#3816](https://github.com/spinnaker/deck/pull/3816) ([a2d75789](https://github.com/spinnaker/deck/commit/a2d75789e380c36675cfe3a2a16839af58751d2f)) refactor(provider/amazon): Separate load balancer types [#3810](https://github.com/spinnaker/deck/pull/3810) ([b66dc0c3](https://github.com/spinnaker/deck/commit/b66dc0c3766b863ed1422721b872619e6cf5e1c1)) diff --git a/packages/google/package.json b/packages/google/package.json index cb458cf2ef9..450f5e4b575 100644 --- a/packages/google/package.json +++ b/packages/google/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/google", "license": "Apache-2.0", - "version": "0.2.4", + "version": "0.2.8", "module": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { @@ -13,7 +13,7 @@ "lib": "npm run build" }, "dependencies": { - "@spinnaker/core": "^0.23.0", + "@spinnaker/core": "^0.24.1", "@uirouter/angularjs": "1.0.26", "angular": "1.6.10", "angular-ui-bootstrap": "2.5.0", diff --git a/packages/google/src/autoscalingPolicy/components/metricSettings/metricSettings.component.js b/packages/google/src/autoscalingPolicy/components/metricSettings/metricSettings.component.js index c3ceffa0ed4..64f8fd70bbb 100644 --- a/packages/google/src/autoscalingPolicy/components/metricSettings/metricSettings.component.js +++ b/packages/google/src/autoscalingPolicy/components/metricSettings/metricSettings.component.js @@ -16,91 +16,93 @@ module(GOOGLE_AUTOSCALINGPOLICY_COMPONENTS_METRICSETTINGS_METRICSETTINGS_COMPONE }, templateUrl: require('./metricSettings.component.html'), controller: function () { - const multipleAllowedFor = { - cpuUtilization: false, - loadBalancingUtilization: false, - customMetricUtilizations: true, - }; - - const metricTypes = Object.keys(multipleAllowedFor); - - this.targetTypesToDisplayMap = { - GAUGE: 'Gauge', - DELTA_PER_SECOND: 'Delta / second', - DELTA_PER_MINUTE: 'Delta / minute', - }; - - this.metricScopeTypesToDisplayMap = { - TIME_SERIES_PER_INSTANCE: 'Time series per instance', - SINGLE_TIME_SERIES_PER_GROUP: 'Single time series per group', - }; - - this.scalingpolicyTypesToDisplayMap = { - UTILIZATION_TARGET: 'Utilization target', - SINGLE_INSTANCE_ASSIGNMENT: 'singleInstanceAssignment', - }; - - this.addMetric = (metricType) => { - if (multipleAllowedFor[metricType]) { - this.policy[metricType] = this.policy[metricType] || []; - this.policy[metricType].push({}); - } else if (emptyOrUndefined(this.policy[metricType])) { - this.policy[metricType] = { utilizationTarget: null }; + this.$onInit = () => { + const multipleAllowedFor = { + cpuUtilization: false, + loadBalancingUtilization: false, + customMetricUtilizations: true, + }; + + const metricTypes = Object.keys(multipleAllowedFor); + + this.targetTypesToDisplayMap = { + GAUGE: 'Gauge', + DELTA_PER_SECOND: 'Delta / second', + DELTA_PER_MINUTE: 'Delta / minute', + }; + + this.metricScopeTypesToDisplayMap = { + TIME_SERIES_PER_INSTANCE: 'Time series per instance', + SINGLE_TIME_SERIES_PER_GROUP: 'Single time series per group', + }; + + this.scalingpolicyTypesToDisplayMap = { + UTILIZATION_TARGET: 'Utilization target', + SINGLE_INSTANCE_ASSIGNMENT: 'singleInstanceAssignment', + }; + + this.addMetric = (metricType) => { + if (multipleAllowedFor[metricType]) { + this.policy[metricType] = this.policy[metricType] || []; + this.policy[metricType].push({}); + } else if (emptyOrUndefined(this.policy[metricType])) { + this.policy[metricType] = { utilizationTarget: null }; + } + }; + + this.deleteMetric = (metricType, index) => { + if (multipleAllowedFor[metricType]) { + this.policy[metricType].splice(index, 1); + } else { + // sending an empty object to the API deletes the policy. + this.policy[metricType] = {}; + } + }; + + this.showMetric = (metricType) => { + const metric = this.policy[metricType]; + // should not show policy form if the policy is undefined or an empty object. + return !emptyOrUndefined(metric); + }; + + this.isSingleTimeSeriesPerGroup = (scopeType, index) => { + if (this.policy.customMetricUtilizations[index].metricExportScope === scopeType) return true; + }; + + this.isScalingPolicySingleInstanceAssignment = (policyType, index) => { + if (this.policy.customMetricUtilizations[index].scalingpolicy === policyType) return true; + }; + + this.showNoMetricsWarning = () => { + return _.every( + metricTypes.map((type) => { + return _.some([ + multipleAllowedFor[type] && !_.get(this.policy, [type, 'length']), + emptyOrUndefined(this.policy[type]), + ]); + }), + ); + }; + + this.setUtilizationTargetFromDisplay = (metricType, value) => { + this.policy[metricType].utilizationTarget = value / 100; + }; + + this.initializeTargetDisplay = (metricType) => { + this[`${metricType}TargetDisplay`] = safeDecimalToPercent(this.policy[metricType].utilizationTarget); + }; + + function safeDecimalToPercent(value) { + if (value === 0) { + return 0; + } + return value ? Math.round(value * 100) : undefined; } - }; - this.deleteMetric = (metricType, index) => { - if (multipleAllowedFor[metricType]) { - this.policy[metricType].splice(index, 1); - } else { - // sending an empty object to the API deletes the policy. - this.policy[metricType] = {}; + function emptyOrUndefined(value) { + return _.isEqual(value, {}) || _.isUndefined(value); } }; - - this.showMetric = (metricType) => { - const metric = this.policy[metricType]; - // should not show policy form if the policy is undefined or an empty object. - return !emptyOrUndefined(metric); - }; - - this.isSingleTimeSeriesPerGroup = (scopeType, index) => { - if (this.policy.customMetricUtilizations[index].metricExportScope === scopeType) return true; - }; - - this.isScalingPolicySingleInstanceAssignment = (policyType, index) => { - if (this.policy.customMetricUtilizations[index].scalingpolicy === policyType) return true; - }; - - this.showNoMetricsWarning = () => { - return _.every( - metricTypes.map((type) => { - return _.some([ - multipleAllowedFor[type] && !_.get(this.policy, [type, 'length']), - emptyOrUndefined(this.policy[type]), - ]); - }), - ); - }; - - this.setUtilizationTargetFromDisplay = (metricType, value) => { - this.policy[metricType].utilizationTarget = value / 100; - }; - - this.initializeTargetDisplay = (metricType) => { - this[`${metricType}TargetDisplay`] = safeDecimalToPercent(this.policy[metricType].utilizationTarget); - }; - - function safeDecimalToPercent(value) { - if (value === 0) { - return 0; - } - return value ? Math.round(value * 100) : undefined; - } - - function emptyOrUndefined(value) { - return _.isEqual(value, {}) || _.isUndefined(value); - } }, }, ); diff --git a/packages/google/src/autoscalingPolicy/components/scalingSchedules/scalingSchedules.component.js b/packages/google/src/autoscalingPolicy/components/scalingSchedules/scalingSchedules.component.js index cd33bca6503..da976b65ecc 100644 --- a/packages/google/src/autoscalingPolicy/components/scalingSchedules/scalingSchedules.component.js +++ b/packages/google/src/autoscalingPolicy/components/scalingSchedules/scalingSchedules.component.js @@ -16,44 +16,46 @@ module(GOOGLE_AUTOSCALINGPOLICY_COMPONENTS_SCALINGSCHEDULES_SCALINGSCHEDULES_COM }, templateUrl: require('./scalingSchedules.component.html'), controller: function () { - const multipleAllowedFor = { - scalingSchedules: true, - }; - - this.timezones = timezones; - - this.addSchedule = (scheduleType) => { - if (multipleAllowedFor[scheduleType]) { - this.policy[scheduleType] = this.policy[scheduleType] || []; - this.policy[scheduleType].push({}); - } else if (emptyOrUndefined(this.policy[scheduleType])) { - this.policy[scheduleType] = {}; - } - }; - - this.deleteSchedule = (scheduleType, index) => { - if (multipleAllowedFor[scheduleType]) { - this.policy[scheduleType].splice(index, 1); - } else { - // sending an empty object to the API deletes the policy. - this.policy[scheduleType] = {}; + this.$onInit = () => { + const multipleAllowedFor = { + scalingSchedules: true, + }; + + this.timezones = timezones; + + this.addSchedule = (scheduleType) => { + if (multipleAllowedFor[scheduleType]) { + this.policy[scheduleType] = this.policy[scheduleType] || []; + this.policy[scheduleType].push({}); + } else if (emptyOrUndefined(this.policy[scheduleType])) { + this.policy[scheduleType] = {}; + } + }; + + this.deleteSchedule = (scheduleType, index) => { + if (multipleAllowedFor[scheduleType]) { + this.policy[scheduleType].splice(index, 1); + } else { + // sending an empty object to the API deletes the policy. + this.policy[scheduleType] = {}; + } + }; + + this.selectTimezone = (timezone, index) => { + const { scalingSchedules } = this.policy; + const schedule = scalingSchedules[index]; + scalingSchedules[index] = { ...schedule, timezone }; + + this.updatePolicy({ + ...this.policy, + scalingSchedules: [...scalingSchedules], + }); + }; + + function emptyOrUndefined(value) { + return _.isEqual(value, {}) || _.isUndefined(value); } }; - - this.selectTimezone = (timezone, index) => { - const { scalingSchedules } = this.policy; - const schedule = scalingSchedules[index]; - scalingSchedules[index] = { ...schedule, timezone }; - - this.updatePolicy({ - ...this.policy, - scalingSchedules: [...scalingSchedules], - }); - }; - - function emptyOrUndefined(value) { - return _.isEqual(value, {}) || _.isUndefined(value); - } }, }, ); diff --git a/packages/google/src/loadBalancer/configure/http/backendService/backendService.component.js b/packages/google/src/loadBalancer/configure/http/backendService/backendService.component.js index feb403f937d..1ce144ef923 100644 --- a/packages/google/src/loadBalancer/configure/http/backendService/backendService.component.js +++ b/packages/google/src/loadBalancer/configure/http/backendService/backendService.component.js @@ -18,60 +18,62 @@ module(GOOGLE_LOADBALANCER_CONFIGURE_HTTP_BACKENDSERVICE_BACKENDSERVICE_COMPONEN }, templateUrl: require('./backendService.component.html'), controller: function () { - this.backingData = this.command.backingData; - this.loadBalancer = this.command.loadBalancer; - const servicesByName = this.backingData.backendServicesKeyedByName; + this.$onInit = () => { + this.backingData = this.command.backingData; + this.loadBalancer = this.command.loadBalancer; + const servicesByName = this.backingData.backendServicesKeyedByName; - this.onBackendServiceSelect = (selectedBackendService) => { - assign(selectedBackendService); - this.command.onHealthCheckSelected(selectedBackendService.healthCheck, this.command); - }; + this.onBackendServiceSelect = (selectedBackendService) => { + assign(selectedBackendService); + this.command.onHealthCheckSelected(selectedBackendService.healthCheck, this.command); + }; - this.toggleEditExisting = () => { - this.editExisting = !this.editExisting; - if (!this.editExisting) { - const template = new BackendServiceTemplate(); - assign(template); - } else { - delete this.backendService.name; - } - }; + this.toggleEditExisting = () => { + this.editExisting = !this.editExisting; + if (!this.editExisting) { + const template = new BackendServiceTemplate(); + assign(template); + } else { + delete this.backendService.name; + } + }; - this.getAllHealthChecks = () => { - const allHealthChecks = this.loadBalancer.healthChecks.concat(this.backingData.healthChecks); - return _.chain(allHealthChecks) - .filter((hc) => hc.account === this.loadBalancer.credentials || !hc.account) - .map((hc) => hc.name) - .uniq() - .value(); - }; + this.getAllHealthChecks = () => { + const allHealthChecks = this.loadBalancer.healthChecks.concat(this.backingData.healthChecks); + return _.chain(allHealthChecks) + .filter((hc) => hc.account === this.loadBalancer.credentials || !hc.account) + .map((hc) => hc.name) + .uniq() + .value(); + }; - this.getSessionAffinitySuggestions = () => { - if (this.loadBalancer.loadBalancerType === 'HTTP') { - return ['None', 'Client IP', 'Generated Cookie']; - } else { - return ['None', 'Client IP', 'Generated Cookie', 'Header Field', 'HTTP Cookie']; - } - }; + this.getSessionAffinitySuggestions = () => { + if (this.loadBalancer.loadBalancerType === 'HTTP') { + return ['None', 'Client IP', 'Generated Cookie']; + } else { + return ['None', 'Client IP', 'Generated Cookie', 'Header Field', 'HTTP Cookie']; + } + }; - this.getAllServiceNames = () => { - return this.command.backingData.backendServices - .filter((service) => service.account === this.loadBalancer.credentials) - .map((service) => service.name); - }; + this.getAllServiceNames = () => { + return this.command.backingData.backendServices + .filter((service) => service.account === this.loadBalancer.credentials) + .map((service) => service.name); + }; - this.maxCookieTtl = 60 * 60 * 24; // One day. + this.maxCookieTtl = 60 * 60 * 24; // One day. - const getBackendServiceName = () => { - return _.get(this, 'backendService.name'); - }; + const getBackendServiceName = () => { + return _.get(this, 'backendService.name'); + }; - if (servicesByName[getBackendServiceName()]) { - this.editExisting = true; - } + if (servicesByName[getBackendServiceName()]) { + this.editExisting = true; + } - const assign = (toAssign) => { - this.loadBalancer.backendServices[this.index] = this.backendService = toAssign; + const assign = (toAssign) => { + this.loadBalancer.backendServices[this.index] = this.backendService = toAssign; + }; }; }, }, diff --git a/packages/google/src/loadBalancer/configure/http/basicSettings/basicSettings.component.js b/packages/google/src/loadBalancer/configure/http/basicSettings/basicSettings.component.js index 5aa9af53513..cd55e60371f 100644 --- a/packages/google/src/loadBalancer/configure/http/basicSettings/basicSettings.component.js +++ b/packages/google/src/loadBalancer/configure/http/basicSettings/basicSettings.component.js @@ -15,30 +15,32 @@ module(GOOGLE_LOADBALANCER_CONFIGURE_HTTP_BASICSETTINGS_BASICSETTINGS_COMPONENT, }, templateUrl: require('./basicSettings.component.html'), controller: function () { - const c = this.command; - this.loadBalancer = c.loadBalancer; - this.accounts = c.backingData.accounts; - const loadBalancerMap = c.backingData.loadBalancerMap; + this.$onInit = () => { + const c = this.command; + this.loadBalancer = c.loadBalancer; + this.accounts = c.backingData.accounts; + const loadBalancerMap = c.backingData.loadBalancerMap; - this.getName = (loadBalancer, applicationName) => { - const loadBalancerName = [applicationName, loadBalancer.stack || '', loadBalancer.detail || ''].join('-'); - return _.trimEnd(loadBalancerName, '-'); - }; + this.getName = (loadBalancer, applicationName) => { + const loadBalancerName = [applicationName, loadBalancer.stack || '', loadBalancer.detail || ''].join('-'); + return _.trimEnd(loadBalancerName, '-'); + }; - this.updateName = (lb, appName) => { - lb.urlMapName = this.getName(lb, appName); - }; + this.updateName = (lb, appName) => { + lb.urlMapName = this.getName(lb, appName); + }; - this.accountChanged = (account) => { - this.existingLoadBalancerNames = _.get(loadBalancerMap, [account, 'urlMapNames']) || []; - c.onAccountChange(c); - }; + this.accountChanged = (account) => { + this.existingLoadBalancerNames = _.get(loadBalancerMap, [account, 'urlMapNames']) || []; + c.onAccountChange(c); + }; - if (!this.loadBalancer.name) { - this.updateName(this.loadBalancer, this.application.name); - } + if (!this.loadBalancer.name) { + this.updateName(this.loadBalancer, this.application.name); + } - this.existingLoadBalancerNames = _.get(loadBalancerMap, [this.loadBalancer.credentials, 'urlMapNames']) || []; + this.existingLoadBalancerNames = _.get(loadBalancerMap, [this.loadBalancer.credentials, 'urlMapNames']) || []; + }; }, }, ); diff --git a/packages/google/src/loadBalancer/configure/http/healthCheck/healthCheck.component.js b/packages/google/src/loadBalancer/configure/http/healthCheck/healthCheck.component.js index 7a570dbe077..d21e8de66fa 100644 --- a/packages/google/src/loadBalancer/configure/http/healthCheck/healthCheck.component.js +++ b/packages/google/src/loadBalancer/configure/http/healthCheck/healthCheck.component.js @@ -19,49 +19,51 @@ module(GOOGLE_LOADBALANCER_CONFIGURE_HTTP_HEALTHCHECK_HEALTHCHECK_COMPONENT, []) }, templateUrl: require('./healthCheck.component.html'), controller: function () { - this.max = Number.MAX_SAFE_INTEGER; - this.backingData = this.command.backingData; - this.loadBalancer = this.command.loadBalancer; - const healthChecksByName = this.backingData.healthChecksKeyedByName; + this.$onInit = () => { + this.max = Number.MAX_SAFE_INTEGER; + this.backingData = this.command.backingData; + this.loadBalancer = this.command.loadBalancer; + const healthChecksByName = this.backingData.healthChecksKeyedByName; - this.onHealthCheckSelect = (selectedHealthCheck) => { - assign(selectedHealthCheck); - }; + this.onHealthCheckSelect = (selectedHealthCheck) => { + assign(selectedHealthCheck); + }; - this.getAllHealthCheckNames = () => { - return this.command.backingData.healthChecks - .filter((hc) => hc.account === this.loadBalancer.credentials) - .map((hc) => hc.name); - }; + this.getAllHealthCheckNames = () => { + return this.command.backingData.healthChecks + .filter((hc) => hc.account === this.loadBalancer.credentials) + .map((hc) => hc.name); + }; - this.toggleEditExisting = () => { - this.editExisting = !this.editExisting; - if (!this.editExisting) { - assign(new HealthCheckTemplate()); - } else { - delete this.healthCheck.name; - } - }; + this.toggleEditExisting = () => { + this.editExisting = !this.editExisting; + if (!this.editExisting) { + assign(new HealthCheckTemplate()); + } else { + delete this.healthCheck.name; + } + }; - const assign = (toAssign) => { - this.loadBalancer.healthChecks[this.index] = this.healthCheck = toAssign; - }; + const assign = (toAssign) => { + this.loadBalancer.healthChecks[this.index] = this.healthCheck = toAssign; + }; - const getHealthCheckName = () => { - return _.get(this, 'healthCheck.name'); - }; + const getHealthCheckName = () => { + return _.get(this, 'healthCheck.name'); + }; - this.onProtocolChange = () => { - if (this.healthCheck.healthCheckType !== this.healthCheckType) { - assign(Object.assign({}, new HealthCheckTemplate(), { healthCheckType: this.healthCheckType })); - } - }; + this.onProtocolChange = () => { + if (this.healthCheck.healthCheckType !== this.healthCheckType) { + assign(Object.assign({}, new HealthCheckTemplate(), { healthCheckType: this.healthCheckType })); + } + }; - if (healthChecksByName[getHealthCheckName()]) { - this.editExisting = true; - } + if (healthChecksByName[getHealthCheckName()]) { + this.editExisting = true; + } - this.healthCheckType = this.healthCheck.healthCheckType; + this.healthCheckType = this.healthCheck.healthCheckType; + }; }, }, ); diff --git a/packages/google/src/loadBalancer/configure/http/hostRule/hostRule.component.js b/packages/google/src/loadBalancer/configure/http/hostRule/hostRule.component.js index e5aba4bba2b..1b46be912f3 100644 --- a/packages/google/src/loadBalancer/configure/http/hostRule/hostRule.component.js +++ b/packages/google/src/loadBalancer/configure/http/hostRule/hostRule.component.js @@ -19,15 +19,17 @@ module(GOOGLE_LOADBALANCER_CONFIGURE_HTTP_HOSTRULE_HOSTRULE_COMPONENT, [ }, templateUrl: require('./hostRule.component.html'), controller: function () { - this.loadBalancer = this.command.loadBalancer; - const pathRules = this.hostRule.pathMatcher.pathRules; + this.$onInit = () => { + this.loadBalancer = this.command.loadBalancer; + const pathRules = this.hostRule.pathMatcher.pathRules; - this.addPathRule = () => { - pathRules.push(new PathRuleTemplate()); - }; + this.addPathRule = () => { + pathRules.push(new PathRuleTemplate()); + }; - this.deletePathRule = (index) => { - pathRules.splice(index, 1); + this.deletePathRule = (index) => { + pathRules.splice(index, 1); + }; }; }, }); diff --git a/packages/google/src/loadBalancer/configure/http/listeners/listener.component.js b/packages/google/src/loadBalancer/configure/http/listeners/listener.component.js index eb2607326b6..b365172cd74 100644 --- a/packages/google/src/loadBalancer/configure/http/listeners/listener.component.js +++ b/packages/google/src/loadBalancer/configure/http/listeners/listener.component.js @@ -20,61 +20,62 @@ module(GOOGLE_LOADBALANCER_CONFIGURE_HTTP_LISTENERS_LISTENER_COMPONENT, [GCE_ADD }, templateUrl: require('./listener.component.html'), controller: function () { - this.certificates = this.command.backingData.certificates; - const loadBalancerMap = this.command.backingData.loadBalancerMap; + this.$onInit = () => { + this.certificates = this.command.backingData.certificates; + const loadBalancerMap = this.command.backingData.loadBalancerMap; - this.getName = (listener, applicationName) => { - const listenerName = [applicationName, listener.stack || '', listener.detail || ''].join('-'); - return _.trimEnd(listenerName, '-'); - }; + this.getName = (listener, applicationName) => { + const listenerName = [applicationName, listener.stack || '', listener.detail || ''].join('-'); + return _.trimEnd(listenerName, '-'); + }; - this.getCertificates = () => { - return this.command.backingData.certificates - .filter((certificate) => certificate.account === this.command.loadBalancer.credentials) - .map((certificate) => certificate.name); - }; + this.getCertificates = () => { + return this.command.backingData.certificates + .filter((certificate) => certificate.account === this.command.loadBalancer.credentials) + .map((certificate) => certificate.name); + }; - this.getSubnets = () => { - const ret = this.command.backingData.subnetMap[this.command.loadBalancer.network] - .filter((subnet) => subnet.region === this.command.loadBalancer.region) - .map((subnet) => subnet.name); - return _.uniq(ret); - }; + this.getSubnets = () => { + const ret = this.command.backingData.subnetMap[this.command.loadBalancer.network] + .filter((subnet) => subnet.region === this.command.loadBalancer.region) + .map((subnet) => subnet.name); + return _.uniq(ret); + }; - this.getInternalAddresses = () => { - const ret = this.command.backingData.addresses.filter( - (address) => - address.addressType === 'INTERNAL' && address.subnetwork.split('/').pop() === this.listener.subnet, - ); - return ret; - }; + this.getInternalAddresses = () => { + return this.command.backingData.addresses.filter( + (address) => + address.addressType === 'INTERNAL' && address.subnetwork.split('/').pop() === this.listener.subnet, + ); + }; - this.updateName = (listener, appName) => { - listener.name = this.getName(listener, appName); - }; + this.updateName = (listener, appName) => { + listener.name = this.getName(listener, appName); + }; - this.localListenerHasSameName = () => { - return ( - this.command.loadBalancer.listeners.filter((listener) => listener.name === this.listener.name).length > 1 - ); - }; - - this.existingListenerNames = () => { - return _.get(loadBalancerMap, [this.command.loadBalancer.credentials, 'listeners']); - }; + this.localListenerHasSameName = () => { + return ( + this.command.loadBalancer.listeners.filter((listener) => listener.name === this.listener.name).length > 1 + ); + }; - this.isHttps = (port) => port === 443 || port === '443'; + this.existingListenerNames = () => { + return _.get(loadBalancerMap, [this.command.loadBalancer.credentials, 'listeners']); + }; - if (!this.listener.name) { - this.updateName(this.listener, this.application.name); - } + this.isHttps = (port) => port === 443 || port === '443'; - this.onAddressSelect = (address) => { - if (address) { - this.listener.ipAddress = address.address; - } else { - this.listener.ipAddress = null; + if (!this.listener.name) { + this.updateName(this.listener, this.application.name); } + + this.onAddressSelect = (address) => { + if (address) { + this.listener.ipAddress = address.address; + } else { + this.listener.ipAddress = null; + } + }; }; }, }, diff --git a/packages/google/src/loadBalancer/details/loadBalancerType/loadBalancerType.component.js b/packages/google/src/loadBalancer/details/loadBalancerType/loadBalancerType.component.js index 02ef31a770d..1c606f2bc24 100644 --- a/packages/google/src/loadBalancer/details/loadBalancerType/loadBalancerType.component.js +++ b/packages/google/src/loadBalancer/details/loadBalancerType/loadBalancerType.component.js @@ -12,16 +12,18 @@ module(GOOGLE_LOADBALANCER_DETAILS_LOADBALANCERTYPE_LOADBALANCERTYPE_COMPONENT, loadBalancer: '=', }, controller: function () { - this.type = (function (lb) { - if (lb.loadBalancerType === 'HTTP') { - if (_.isString(lb.certificate)) { - return 'HTTPS'; + this.$onInit = () => { + this.type = (function (lb) { + if (lb.loadBalancerType === 'HTTP') { + if (_.isString(lb.certificate)) { + return 'HTTPS'; + } else { + return 'HTTP'; + } } else { - return 'HTTP'; + return lb.loadBalancerType; } - } else { - return lb.loadBalancerType; - } - })(this.loadBalancer); + })(this.loadBalancer); + }; }, }); diff --git a/packages/huaweicloud/CHANGELOG.md b/packages/huaweicloud/CHANGELOG.md index 9575e4d2034..e4a2e2b0132 100644 --- a/packages/huaweicloud/CHANGELOG.md +++ b/packages/huaweicloud/CHANGELOG.md @@ -3,6 +3,38 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.72](https://github.com/spinnaker/deck/compare/@spinnaker/huaweicloud@0.0.71...@spinnaker/huaweicloud@0.0.72) (2023-06-02) + +**Note:** Version bump only for package @spinnaker/huaweicloud + + + + + +## [0.0.71](https://github.com/spinnaker/deck/compare/@spinnaker/huaweicloud@0.0.70...@spinnaker/huaweicloud@0.0.71) (2023-05-11) + +**Note:** Version bump only for package @spinnaker/huaweicloud + + + + + +## [0.0.70](https://github.com/spinnaker/deck/compare/@spinnaker/huaweicloud@0.0.69...@spinnaker/huaweicloud@0.0.70) (2023-05-03) + +**Note:** Version bump only for package @spinnaker/huaweicloud + + + + + +## [0.0.69](https://github.com/spinnaker/deck/compare/@spinnaker/huaweicloud@0.0.68...@spinnaker/huaweicloud@0.0.69) (2023-04-03) + +**Note:** Version bump only for package @spinnaker/huaweicloud + + + + + ## [0.0.68](https://github.com/spinnaker/deck/compare/@spinnaker/huaweicloud@0.0.67...@spinnaker/huaweicloud@0.0.68) (2023-02-01) **Note:** Version bump only for package @spinnaker/huaweicloud diff --git a/packages/huaweicloud/package.json b/packages/huaweicloud/package.json index bc6906c700a..0bc98dc6c92 100644 --- a/packages/huaweicloud/package.json +++ b/packages/huaweicloud/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/huaweicloud", "license": "Apache-2.0", - "version": "0.0.68", + "version": "0.0.72", "module": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { @@ -13,7 +13,7 @@ "lib": "npm run build" }, "dependencies": { - "@spinnaker/core": "^0.23.0", + "@spinnaker/core": "^0.24.1", "angular": "1.6.10" }, "devDependencies": { diff --git a/packages/kubernetes/CHANGELOG.md b/packages/kubernetes/CHANGELOG.md index 9a6d7d03789..4edea0ccb75 100644 --- a/packages/kubernetes/CHANGELOG.md +++ b/packages/kubernetes/CHANGELOG.md @@ -3,6 +3,38 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.4](https://github.com/spinnaker/deck/compare/@spinnaker/kubernetes@0.4.3...@spinnaker/kubernetes@0.4.4) (2023-06-02) + +**Note:** Version bump only for package @spinnaker/kubernetes + + + + + +## [0.4.3](https://github.com/spinnaker/deck/compare/@spinnaker/kubernetes@0.4.2...@spinnaker/kubernetes@0.4.3) (2023-05-11) + +**Note:** Version bump only for package @spinnaker/kubernetes + + + + + +## [0.4.2](https://github.com/spinnaker/deck/compare/@spinnaker/kubernetes@0.4.1...@spinnaker/kubernetes@0.4.2) (2023-05-03) + +**Note:** Version bump only for package @spinnaker/kubernetes + + + + + +## [0.4.1](https://github.com/spinnaker/deck/compare/@spinnaker/kubernetes@0.4.0...@spinnaker/kubernetes@0.4.1) (2023-04-03) + +**Note:** Version bump only for package @spinnaker/kubernetes + + + + + # [0.4.0](https://github.com/spinnaker/deck/compare/@spinnaker/kubernetes@0.3.2...@spinnaker/kubernetes@0.4.0) (2023-02-01) diff --git a/packages/kubernetes/package.json b/packages/kubernetes/package.json index bb649172bfd..09f014b8d7a 100644 --- a/packages/kubernetes/package.json +++ b/packages/kubernetes/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/kubernetes", "license": "Apache-2.0", - "version": "0.4.0", + "version": "0.4.4", "module": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { @@ -13,7 +13,7 @@ "lib": "npm run build" }, "dependencies": { - "@spinnaker/core": "^0.23.0", + "@spinnaker/core": "^0.24.1", "@uirouter/angularjs": "1.0.26", "@uirouter/react": "1.0.7", "angular": "1.6.10", diff --git a/packages/oracle/CHANGELOG.md b/packages/oracle/CHANGELOG.md index 2d4309db261..b6fe2333d59 100644 --- a/packages/oracle/CHANGELOG.md +++ b/packages/oracle/CHANGELOG.md @@ -3,6 +3,38 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.85](https://github.com/spinnaker/deck/compare/@spinnaker/oracle@0.0.84...@spinnaker/oracle@0.0.85) (2023-06-02) + +**Note:** Version bump only for package @spinnaker/oracle + + + + + +## [0.0.84](https://github.com/spinnaker/deck/compare/@spinnaker/oracle@0.0.83...@spinnaker/oracle@0.0.84) (2023-05-11) + +**Note:** Version bump only for package @spinnaker/oracle + + + + + +## [0.0.83](https://github.com/spinnaker/deck/compare/@spinnaker/oracle@0.0.82...@spinnaker/oracle@0.0.83) (2023-05-03) + +**Note:** Version bump only for package @spinnaker/oracle + + + + + +## [0.0.82](https://github.com/spinnaker/deck/compare/@spinnaker/oracle@0.0.81...@spinnaker/oracle@0.0.82) (2023-04-03) + +**Note:** Version bump only for package @spinnaker/oracle + + + + + ## [0.0.81](https://github.com/spinnaker/deck/compare/@spinnaker/oracle@0.0.80...@spinnaker/oracle@0.0.81) (2023-02-01) **Note:** Version bump only for package @spinnaker/oracle diff --git a/packages/oracle/package.json b/packages/oracle/package.json index 01d6dde1bb4..3c74e5b9a5d 100644 --- a/packages/oracle/package.json +++ b/packages/oracle/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/oracle", "license": "Apache-2.0", - "version": "0.0.81", + "version": "0.0.85", "module": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { @@ -13,7 +13,7 @@ "lib": "npm run build" }, "dependencies": { - "@spinnaker/core": "^0.23.0", + "@spinnaker/core": "^0.24.1", "@uirouter/angularjs": "1.0.26", "@uirouter/core": "6.0.8", "angular": "1.6.10", diff --git a/packages/pluginsdk-peerdeps/CHANGELOG.md b/packages/pluginsdk-peerdeps/CHANGELOG.md index 6de56ead08d..978bf02945c 100644 --- a/packages/pluginsdk-peerdeps/CHANGELOG.md +++ b/packages/pluginsdk-peerdeps/CHANGELOG.md @@ -3,6 +3,61 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.15.0](https://github.com/spinnaker/deck/compare/@spinnaker/pluginsdk-peerdeps@0.14.0...@spinnaker/pluginsdk-peerdeps@0.15.0) (2023-06-02) + + +### Features + +* **peerdep-sync:** Synchronize peerdependencies ([2392228](https://github.com/spinnaker/deck/commit/23922282ebb7359be123c3fd78a3baea470c7653)) + + + + + +# [0.14.0](https://github.com/spinnaker/deck/compare/@spinnaker/pluginsdk-peerdeps@0.13.0...@spinnaker/pluginsdk-peerdeps@0.14.0) (2023-05-11) + + +### Features + +* **peerdep-sync:** Synchronize peerdependencies ([6b66496](https://github.com/spinnaker/deck/commit/6b664965f1d9bdfddb249b328a123eb398096f6c)) + + + + + +# [0.13.0](https://github.com/spinnaker/deck/compare/@spinnaker/pluginsdk-peerdeps@0.12.0...@spinnaker/pluginsdk-peerdeps@0.13.0) (2023-05-03) + + +### Features + +* **peerdep-sync:** Synchronize peerdependencies ([f09c6b5](https://github.com/spinnaker/deck/commit/f09c6b5f54ffc27d0739cc86034ec0e91930acf6)) + + + + + +# [0.12.0](https://github.com/spinnaker/deck/compare/@spinnaker/pluginsdk-peerdeps@0.11.0...@spinnaker/pluginsdk-peerdeps@0.12.0) (2023-05-01) + + +### Features + +* **peerdep-sync:** Synchronize peerdependencies ([94ea186](https://github.com/spinnaker/deck/commit/94ea186dc3209192556746dcf3101db3442d2fce)) + + + + + +# [0.11.0](https://github.com/spinnaker/deck/compare/@spinnaker/pluginsdk-peerdeps@0.10.0...@spinnaker/pluginsdk-peerdeps@0.11.0) (2023-04-03) + + +### Features + +* **peerdep-sync:** Synchronize peerdependencies ([960b532](https://github.com/spinnaker/deck/commit/960b532de1e33f20e8890534ea19a0ca56f5f3f7)) + + + + + # [0.10.0](https://github.com/spinnaker/deck/compare/@spinnaker/pluginsdk-peerdeps@0.9.0...@spinnaker/pluginsdk-peerdeps@0.10.0) (2023-03-15) diff --git a/packages/pluginsdk-peerdeps/package.json b/packages/pluginsdk-peerdeps/package.json index eb9581ba6db..61c081f4c2d 100644 --- a/packages/pluginsdk-peerdeps/package.json +++ b/packages/pluginsdk-peerdeps/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/pluginsdk-peerdeps", "description": "Provides package dependencies to plugin developers", - "version": "0.10.0", + "version": "0.15.0", "license": "Apache-2.0", "scripts": { "temp": "./convert-peerdeps.js --from-peerdeps --input package.json --output package.temp.json", @@ -18,10 +18,10 @@ "@rollup/plugin-replace": "2.4.2", "@rollup/plugin-typescript": "8.2.1", "@rollup/plugin-url": "6.0.0", - "@spinnaker/core": "0.23.0", + "@spinnaker/core": "0.24.1", "@spinnaker/eslint-plugin": "3.0.1", "@spinnaker/pluginsdk": "*", - "@spinnaker/presentation": "0.2.1", + "@spinnaker/presentation": "0.3.0", "@types/react": "~16.8.0", "@uirouter/core": "6.0.4", "@uirouter/react": "1.0.2", diff --git a/packages/presentation/CHANGELOG.md b/packages/presentation/CHANGELOG.md index caf13364434..995196b810b 100644 --- a/packages/presentation/CHANGELOG.md +++ b/packages/presentation/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.3.0](https://github.com/spinnaker/deck/compare/@spinnaker/presentation@0.2.1...@spinnaker/presentation@0.3.0) (2023-06-02) + + +### Features + +* **icons:** allow plugins to provide custom icon components ([#10001](https://github.com/spinnaker/deck/issues/10001)) ([e436465](https://github.com/spinnaker/deck/commit/e436465778437895446d0e36094296d7b96fb58d)) + + + + + ## [0.2.1](https://github.com/spinnaker/deck/compare/@spinnaker/presentation@0.2.0...@spinnaker/presentation@0.2.1) (2022-10-06) **Note:** Version bump only for package @spinnaker/presentation diff --git a/packages/presentation/package.json b/packages/presentation/package.json index 59e4e55eeaa..0d482427012 100644 --- a/packages/presentation/package.json +++ b/packages/presentation/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/presentation", "description": "Provides re-usable UI components for deck", - "version": "0.2.1", + "version": "0.3.0", "module": "dist/index.js", "typings": "dist/index.d.ts", "license": "Apache-2.0", diff --git a/packages/presentation/src/icons/Icon.tsx b/packages/presentation/src/icons/Icon.tsx index c16ee496d08..1c130325915 100644 --- a/packages/presentation/src/icons/Icon.tsx +++ b/packages/presentation/src/icons/Icon.tsx @@ -1,3 +1,4 @@ +import type { SVGComponent } from '*.svg'; import React, { memo } from 'react'; import { iconsByName } from './iconsByName'; @@ -5,7 +6,8 @@ import { iconsByName } from './iconsByName'; export type IconNames = keyof typeof iconsByName; export type IIconProps = { - name: IconNames; + name?: IconNames; + reactComponent?: SVGComponent; appearance?: 'light' | 'neutral' | 'dark'; size?: 'extraSmall' | 'small' | 'medium' | 'large' | 'extraLarge' | string; color?: string; @@ -27,11 +29,19 @@ const throwInvalidIconError = (name: string) => { throw new Error(`No icon with the name ${name} exists`); }; -export const Icon = memo(({ name, appearance, size, color, className }: IIconProps) => { - const Component = iconsByName[name]; +const throwInvalidIconComponentError = () => { + throw new Error('No name or reactComponent provided in Icon props'); +}; - if (!Component) { - throwInvalidIconError(name); +export const Icon = memo(({ name, reactComponent, appearance, size, color, className }: IIconProps) => { + let Component; + if (name) { + Component = iconsByName[name]; + if (!Component) { + throwInvalidIconError(name); + } + } else { + Component = reactComponent || throwInvalidIconComponentError(); } const width = size ? pxDimensionsBySize[size] || size : pxDimensionsBySize[DEFAULT_SIZE]; diff --git a/packages/presentation/src/types/svg.d.ts b/packages/presentation/src/types/svg.d.ts index 3c9e42d2fd8..f4aa80cc5e1 100644 --- a/packages/presentation/src/types/svg.d.ts +++ b/packages/presentation/src/types/svg.d.ts @@ -1,6 +1,7 @@ declare module '*.svg' { import type { ComponentType, SVGProps } from 'react'; - export const ReactComponent: ComponentType>; + export type SVGComponent = ComponentType>; + export const ReactComponent: SVGComponent; const URL: string; export default URL; } diff --git a/packages/tencentcloud/CHANGELOG.md b/packages/tencentcloud/CHANGELOG.md index a3e15aa1f06..420217eb30c 100644 --- a/packages/tencentcloud/CHANGELOG.md +++ b/packages/tencentcloud/CHANGELOG.md @@ -3,6 +3,38 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.78](https://github.com/spinnaker/deck/compare/@spinnaker/tencentcloud@0.0.77...@spinnaker/tencentcloud@0.0.78) (2023-06-02) + +**Note:** Version bump only for package @spinnaker/tencentcloud + + + + + +## [0.0.77](https://github.com/spinnaker/deck/compare/@spinnaker/tencentcloud@0.0.76...@spinnaker/tencentcloud@0.0.77) (2023-05-11) + +**Note:** Version bump only for package @spinnaker/tencentcloud + + + + + +## [0.0.76](https://github.com/spinnaker/deck/compare/@spinnaker/tencentcloud@0.0.75...@spinnaker/tencentcloud@0.0.76) (2023-05-03) + +**Note:** Version bump only for package @spinnaker/tencentcloud + + + + + +## [0.0.75](https://github.com/spinnaker/deck/compare/@spinnaker/tencentcloud@0.0.74...@spinnaker/tencentcloud@0.0.75) (2023-04-03) + +**Note:** Version bump only for package @spinnaker/tencentcloud + + + + + ## [0.0.74](https://github.com/spinnaker/deck/compare/@spinnaker/tencentcloud@0.0.73...@spinnaker/tencentcloud@0.0.74) (2023-02-01) **Note:** Version bump only for package @spinnaker/tencentcloud diff --git a/packages/tencentcloud/package.json b/packages/tencentcloud/package.json index b4ef7494629..07b38e712b7 100644 --- a/packages/tencentcloud/package.json +++ b/packages/tencentcloud/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/tencentcloud", "license": "Apache-2.0", - "version": "0.0.74", + "version": "0.0.78", "module": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { @@ -13,7 +13,7 @@ "lib": "npm run build" }, "dependencies": { - "@spinnaker/core": "^0.23.0", + "@spinnaker/core": "^0.24.1", "angular": "1.6.10", "lodash": "^4.17.19", "ngimport": "^0.6.0", diff --git a/packages/titus/CHANGELOG.md b/packages/titus/CHANGELOG.md index affd176a690..765619d843c 100644 --- a/packages/titus/CHANGELOG.md +++ b/packages/titus/CHANGELOG.md @@ -3,6 +3,38 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.38](https://github.com/spinnaker/deck/compare/@spinnaker/titus@0.5.37...@spinnaker/titus@0.5.38) (2023-06-02) + +**Note:** Version bump only for package @spinnaker/titus + + + + + +## [0.5.37](https://github.com/spinnaker/deck/compare/@spinnaker/titus@0.5.36...@spinnaker/titus@0.5.37) (2023-05-11) + +**Note:** Version bump only for package @spinnaker/titus + + + + + +## [0.5.36](https://github.com/spinnaker/deck/compare/@spinnaker/titus@0.5.35...@spinnaker/titus@0.5.36) (2023-05-03) + +**Note:** Version bump only for package @spinnaker/titus + + + + + +## [0.5.35](https://github.com/spinnaker/deck/compare/@spinnaker/titus@0.5.34...@spinnaker/titus@0.5.35) (2023-04-03) + +**Note:** Version bump only for package @spinnaker/titus + + + + + ## [0.5.34](https://github.com/spinnaker/deck/compare/@spinnaker/titus@0.5.33...@spinnaker/titus@0.5.34) (2023-02-02) **Note:** Version bump only for package @spinnaker/titus diff --git a/packages/titus/package.json b/packages/titus/package.json index ba6d9231f5a..027e81a9b2e 100644 --- a/packages/titus/package.json +++ b/packages/titus/package.json @@ -1,7 +1,7 @@ { "name": "@spinnaker/titus", "license": "Apache-2.0", - "version": "0.5.34", + "version": "0.5.38", "module": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { @@ -13,9 +13,9 @@ "lib": "npm run build" }, "dependencies": { - "@spinnaker/amazon": "^0.13.5", - "@spinnaker/core": "^0.23.0", - "@spinnaker/docker": "^0.0.137", + "@spinnaker/amazon": "^0.13.9", + "@spinnaker/core": "^0.24.1", + "@spinnaker/docker": "^0.0.141", "@spinnaker/mocks": "1.0.7", "@uirouter/angularjs": "1.0.26", "@uirouter/react": "1.0.7", diff --git a/packages/tsconfig.app.base.json b/packages/tsconfig.app.base.json index f51d62ea226..c3004c06e99 100644 --- a/packages/tsconfig.app.base.json +++ b/packages/tsconfig.app.base.json @@ -6,7 +6,7 @@ "jsx": "react", "module": "esnext", "sourceMap": true, - "target": "es2018", + "target": "es2019", // strict checks "noImplicitAny": true, diff --git a/packages/tsconfig.tools.base.json b/packages/tsconfig.tools.base.json index ce38bda8d31..05c4577aba7 100644 --- a/packages/tsconfig.tools.base.json +++ b/packages/tsconfig.tools.base.json @@ -6,7 +6,7 @@ "esModuleInterop": true, "experimentalDecorators": true, "jsx": "react", - "lib": ["es2017", "dom"], + "lib": ["es2019", "dom"], "module": "esnext", "moduleResolution": "node", "noImplicitAny": true, diff --git a/tsconfig.json b/tsconfig.json index 978da4e0ae8..5fc13ad8c96 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,7 +8,7 @@ "emitDecoratorMetadata": true, "experimentalDecorators": true, "jsx": "react", - "lib": ["es2017", "dom", "ES2018.Promise"], + "lib": ["es2019", "dom"], "moduleResolution": "node", "module": "esnext", "noEmitHelpers": false, diff --git a/version.json b/version.json index 68ced088b19..cc9eaea11e9 100644 --- a/version.json +++ b/version.json @@ -1,4 +1,4 @@ { "version": "n/a", - "created": 1648032845852 + "created": 1683116302016 } \ No newline at end of file