Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge in #38

Merged
merged 128 commits into from
Feb 7, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
128 commits
Select commit Hold shift + click to select a range
3155b2f
feat(amazon/serverGroup): warn that scaling policies will not work wh…
erikmunson Jan 16, 2018
2311696
feat(webhooks): preconfigured webhook params (#4669)
ethanfrogers Jan 17, 2018
88e3686
feat(provider/kubernetes): export k8s server group interface (#4674)
danielpeach Jan 17, 2018
ed9470d
chore(provider/kubernetes): bump kubernetes package version (#4676)
danielpeach Jan 17, 2018
dc818ee
chore(amazon): bump package to 0.0.59 (#4677)
erikmunson Jan 17, 2018
fabfc6a
Add/update Travis Slack notifications (#4673)
erikmunson Jan 17, 2018
7d5663b
fix(core): fix restore to this version behavior on pipeline config (#…
anotherchrisberry Jan 17, 2018
61bef17
fix(core/vis): Fix visualizer toggle to clean up old copies of the vi…
christopherthielen Jan 17, 2018
5c32bfe
fix(core/search): Fix instance searches (#4670)
christopherthielen Jan 17, 2018
a7628df
fix(webhooks): default parameters to empty list (#4678)
ethanfrogers Jan 17, 2018
faa1687
fix(core/presentation): Add padding to filter sidebar as a scrolling …
erikmunson Jan 17, 2018
580356d
fix(core): surface app data status in views without active states (#4…
anotherchrisberry Jan 17, 2018
c1f63e8
style(amazon/application/projects/pipeline/google/kubernetes): Replac…
archana-s Jan 17, 2018
ddda974
fix(core/search): Fix calling setState on unmounted RecentlyViewedIte…
christopherthielen Jan 18, 2018
2fa4d98
fix(amazon/loadBalancers): Fix editing load balancers that are associ…
Jan 18, 2018
acafa23
fix(provider/kubernetes): Fix label wording (#4683)
lwander Jan 18, 2018
2cbb4c4
fix(amazon/loadBalancer): Show region and account when deleting a loa…
Jan 18, 2018
a9f8374
refactor(core/search): Refactor Search V2.
christopherthielen Jan 16, 2018
6211deb
refactor(core/search): Use router state to drive search results.
christopherthielen Jan 16, 2018
a86f8c5
refactor(core/search): Reactify SearchV2
christopherthielen Jan 16, 2018
c8d9d6d
perf(core/clusters): use ReactVirtualized to render clusters (#4688)
anotherchrisberry Jan 19, 2018
9bc4bde
refactor(amazon/loadBalancer): Make load balancer actions button a re…
Jan 19, 2018
049d5f9
refactor(core): Remove unused function in waypoint service
Jan 19, 2018
953e52e
feat(core/forms): Create a react version of the checklist component
Jan 19, 2018
0befdc0
feat(core/account): Create react wrapper for account select field
Jan 19, 2018
4e10a75
feat(core/region): Create react version of region select field
Jan 19, 2018
6657a54
feat(core/entityTag): Create react wrapper for add entity tag links
Jan 19, 2018
b351c0e
feat(core/validation): Add react component for form validation errors
Jan 19, 2018
8f59ab5
fix(core): Add loadBalancerWriter to react injector
Jan 19, 2018
756d639
refactor(core): remove redundant div from cluster pod wrapper (#4690)
anotherchrisberry Jan 19, 2018
e996df4
style(pipeline): Fit contents in the debugging section (#4622)
archana-s Jan 19, 2018
a19f437
chore(amazon): bump package to 0.0.60 (#4692)
anotherchrisberry Jan 19, 2018
b073a64
chore(core): bump package to 0.0.130 (#4693)
anotherchrisberry Jan 20, 2018
1fbf6c1
feat(core/search): Show search results as they arrive -- do not wait …
christopherthielen Jan 18, 2018
f9d7528
refactor(core/search): Switch to ul/li in search tabs. Convert Accoun…
christopherthielen Jan 20, 2018
864ecc6
refactor(core/search): Use flex classes
christopherthielen Jan 20, 2018
43385be
chore(core): bump package to 0.0.131
christopherthielen Jan 20, 2018
95d5209
fix(core/search): Fix external search types for v1 search/global search
christopherthielen Jan 22, 2018
ce16f01
chore(core): bump package to 0.0.132
christopherthielen Jan 22, 2018
f036dfa
fix(core): use small loader instead of nano on task monitor (#4699)
anotherchrisberry Jan 22, 2018
501ada0
fix(core): reset cluster measure cache when groups update (#4698)
anotherchrisberry Jan 22, 2018
67dae2b
fix(amazon): show load balancer actions menu (#4700)
anotherchrisberry Jan 22, 2018
6d1523f
chore(chore): bump package to 0.0.133 (#4701)
anotherchrisberry Jan 22, 2018
3b47e26
chore(amazon): bump package to 0.0.61 (#4702)
anotherchrisberry Jan 22, 2018
d768df5
feat(core): Create a react modal wizard (#4695)
Jan 22, 2018
08e0f21
fix(core/account): Fix account tag color rendering during scroll/filt…
christopherthielen Jan 23, 2018
ac4ead3
chore(kayenta): bump deck-kayenta version (#4707)
danielpeach Jan 23, 2018
b97e0f8
chore(core): upgrade jQuery to 3.3.1 (#4703)
anotherchrisberry Jan 23, 2018
e4349d5
Added disabled states for button + a button group for buttons to be a…
archana-s Jan 23, 2018
18e62ad
fix(provider/kubernetes) - manfiests can be provided now through arti…
imosquera Jan 23, 2018
d858ca2
fix(core): Fix module creation by not using internal type (#4712)
Jan 23, 2018
c508514
fix(core): handle load failures in entityTags datasource (#4708)
anotherchrisberry Jan 23, 2018
b730fa9
Add watch on the region to update subnets properly (#4713)
Niximacco Jan 23, 2018
6838ab0
fix(core/amazon): wrap spinner size in quotes (#4710)
anotherchrisberry Jan 23, 2018
e5a3a7d
reverting to cogs for the pipeline saving button (#4715)
archana-s Jan 23, 2018
74ff03b
chore(core): Ignore styleguide.html changes since it is generated (#4…
Jan 23, 2018
0aca2d6
fix(core): Add styleguide.html back since it breaks the docker build …
Jan 23, 2018
fee2623
chore(amazon): bump package to 0.0.62 (#4717)
anotherchrisberry Jan 24, 2018
50c59fb
chore(core): bump package to 0.0.134 (#4718)
anotherchrisberry Jan 24, 2018
20b4266
feat(amazon): Convert create load balancer modal to react (#4705)
Jan 24, 2018
52a25d4
feat(provider/appengine): Surface container deploy with free text con…
Jan 24, 2018
2f3ab21
chore(kayenta): bump deck-kayenta version (#4719)
danielpeach Jan 24, 2018
fd9770e
feat(provider/kubernetes): v1 subpath UI support (#4720)
lwander Jan 24, 2018
decec00
feat(core): map editor hidden keys (#4721)
danielpeach Jan 25, 2018
f680ff4
chore(core): bump package version (#4722)
danielpeach Jan 25, 2018
67e2c53
fix(provider/kubernetes): prevent npe in run job stage if no triggers…
danielpeach Jan 25, 2018
9e936b4
chore(amazon): Bump to 0.0.63 (#4725)
Jan 25, 2018
9f42c52
fix(provider/gce): Fix search endpoint calls. (#4726)
jtk54 Jan 25, 2018
99e80b4
feat(core): Indicate templated pipelines (#4728)
Jan 25, 2018
e63429e
docs(provider/kubernetes) - Adding additional tool tips around kubern…
imosquera Jan 26, 2018
5e48a3c
fix(core): Improved pipeline template tooltip copy (#4729)
Jan 26, 2018
b183954
feat(core/reactShims): Add angularJS template/controller adapter (#4730)
christopherthielen Jan 26, 2018
1d65753
feat(core): Add support for react versions of stage details (#4731)
Jan 27, 2018
7c92be3
fix(core): append pipeline dropdown to body (#4727)
anotherchrisberry Jan 28, 2018
97e52e3
style(all): Added grids to the main container of the app (#4691)
archana-s Jan 28, 2018
0cd07c0
refactor(core): convert instance list body to React (#4733)
anotherchrisberry Jan 29, 2018
81ed188
chore(core): bump package to 0.0.136 (#4734)
anotherchrisberry Jan 29, 2018
94c7e79
fix(core/instance): Make navigating to instance details work again po…
erikmunson Jan 29, 2018
32218ed
chore(chore): bump package to 0.0.137
anotherchrisberry Jan 29, 2018
b8636fd
Merge pull request #4736 from anotherchrisberry/crev
aglover Jan 29, 2018
7d26851
feat(core/search): Require 3 chars for global search, move to React (…
erikmunson Jan 30, 2018
a5a68f2
fix(provider/kubernetes): Disable editing of managed ReplicaSets (#4696)
wjoel Jan 30, 2018
efbeef4
fix(provider/kubernetes): add error message when manifest yaml isn't …
Jan 30, 2018
1265376
Feat(provider/openstack): Add Scheduler Hints and Availability Zone S…
Niximacco Jan 31, 2018
2d3791e
fix(pipelines): Fix polling for manual execution (#4743)
ezimanyi Jan 31, 2018
9028eef
fix(pipelines/help): explains when concurrent pipelines get canceled …
kevinawoo Jan 31, 2018
960e913
fix(core/search): Export the new GlobalSearch react component (#4750)
jervi Feb 1, 2018
b6a2af7
feat(core): allow hidden (but enable-able) data sources (#4738)
anotherchrisberry Feb 1, 2018
46c774d
fix(details): allow details dropdowns to wrap (at smaller widths). re…
christopherthielen Feb 1, 2018
e6439e9
style(pipelines): Remove explicit use of $q.defer (#4746)
ezimanyi Feb 1, 2018
261f605
fix(core): allow multiselect toggling on instance checkbox click (#4745)
anotherchrisberry Feb 1, 2018
6ae7e90
feat(core/overrideRegistry): Add react component decorators to enable…
christopherthielen Feb 1, 2018
ca2f5a4
feat(details): Migrate the following to @Overridable() decorator: (#4…
christopherthielen Feb 1, 2018
9555458
fix(amazon): copy EBS volumes when explicitly cloning an ASG (#4754)
anotherchrisberry Feb 1, 2018
b9cdd00
fix(core): eagerly fetch more than one cluster grouping pod (#4753)
anotherchrisberry Feb 1, 2018
7d7a1bc
refactor(core): limit calls to /credentials (#4752)
anotherchrisberry Feb 1, 2018
80a69f2
feat(dryrun): added a checkbox to let users dry run pipelines (#4747)
robfletcher Feb 1, 2018
4760208
chore(core): bump package to 0.0.138 (#4755)
anotherchrisberry Feb 1, 2018
cac6acb
fix(provider/kubernetes): remove a trailing 'for' from title (#4756)
Feb 1, 2018
20e4edb
fix(core): consistent button sizing in details panels (#4757)
anotherchrisberry Feb 1, 2018
abaa849
feat(dryrun): made dry run a flag on the trigger rather than a differ…
robfletcher Feb 2, 2018
804e9dd
fix(core/search): Vertically center spinners and 'no results found' m…
christopherthielen Feb 2, 2018
6339aa0
feat(core/serverGroup): Prepare for Reactification of provider server…
Feb 2, 2018
12815d9
feat(amazon/serverGroups): Convert server group details to react
Feb 2, 2018
d3a886c
chore(core): Bump module to 0.0.139
Feb 2, 2018
b6cdb55
chore(amazon): Bump module to 0.0.64
Feb 2, 2018
ea99db1
fix(core/cluster): Vertically align icons and make them the same size…
jervi Feb 2, 2018
a6e3356
fix(amazon): restore server group actions (#4765)
anotherchrisberry Feb 2, 2018
4ba125d
chore(amazon): bump package to 0.0.65 (#4767)
anotherchrisberry Feb 2, 2018
a6ec984
fix(core): handle challengeDestructiveActions being undefined in API …
Feb 2, 2018
424742b
fix(provider/appengine): dont throw error when git credentials are mi…
Feb 2, 2018
c030658
fix(core/search): Remove angular2react bridging of native react compo…
jervi Feb 2, 2018
d6139bf
fix(provider/appengine): Spelling mistake (#4771)
Feb 2, 2018
c4e8f39
fix(provider/kubernetes): stack/detail aren't required (#4770)
lwander Feb 2, 2018
c159511
feat(core/application): reactify applications search (#4759)
christopherthielen Feb 2, 2018
94bfe9f
fix(core): shrink tag marker to fit better in cluster header (#4773)
anotherchrisberry Feb 2, 2018
d52067c
fix(rxjs): switch RxJS deep imports to `import { Foo } from 'rxjs'` (…
christopherthielen Feb 2, 2018
dbca16a
fix(core): avoid flickering scrollbars in clusters view (#4774)
anotherchrisberry Feb 2, 2018
9ee937e
fix(core/loadBalancer): Fix create load balancer button for multiple …
Feb 2, 2018
4d925dc
refactor(amazon/loadBalancer): Pull out load balancer create type sin…
Feb 2, 2018
63937b8
refactor(core/search): Clean up GlobalSearch, make state mgmt. way le…
erikmunson Feb 2, 2018
2a78854
fix(core): Fix missing wizard section labels (#4778)
Feb 3, 2018
389afa5
fix(core): restore auto-scroll on deep linked server group render (#4…
anotherchrisberry Feb 3, 2018
0d2fbf8
feat(core/search): Consolidate search registries and v1/v2 data fetch…
christopherthielen Feb 4, 2018
01e54df
chore(amazon): bump package to 0.0.66 (#4779)
christopherthielen Feb 4, 2018
27eab28
chore(core): Bump module to 0.0.140 (#4780)
christopherthielen Feb 4, 2018
98ae07c
feat(dryrun): temporarily disable dry run until Orca goes out
robfletcher Feb 5, 2018
8d9900a
Merge branch 'master' of github.com:spinnaker/deck into merge-in
dkirillov Feb 5, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ build/
dist/
lib/
transpiled/
app/scripts/modules/core/src/styleguide/src/public/
app/scripts/modules/core/src/styleguide/public/

# Test Results
test-results.xml
4 changes: 3 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ cache:
- node_modules
notifications:
slack:
secure: tiW8Hb82slR0ldYvtoTlF8HDTwrhzgtwFFbCH8yo/1bkHhv9xRK2rF68q+DNDk9+34dDlTs5oOGYHMc8Q27S+qJUWUaj3He0BJhDTnJPaaBSOrbeMbq795hfLdGJLu4sJeTcBQ09ci51/uVl9hrNRalB2pfa/aRGvbPraxS5+TPXZpJf2x4YkMs1unTWOqbF3D1ffhgvh5R7UoqAdx/xfrQsj9aSVTvc1OrwI36vEu+bUMTvSXJ7TrdZ7rb6wR5lgcGJ1Jhk9kwyC4qvXIT09IET2Ubq7lCUwU6IqL6tHh872eRz9pG/ZQMVomlnn1gIyLu/0xI8vgxMx7UJ69ZOpeGbdNuUnEu8x+LJ/qV+O8/oc8m2DnJ9xgJCokPkmL0lv76IHxlU7G4Py6V7p28Kk59h2hCw2NSfAnsnx8pFhdu9imw2QeG5p1ueLCThq6s6tEBAYjBS0uvye6Fv62EJJd5he867aeCfm9IuXUuT33HkM0AwUo3oJuErG3errvIQiuVNK8p5vbZLNp+amBtk2tcquUUbB8g7ui61M+YNKvzGJ1ugYUo3Sp3DyvD3DFIH+kP+w3Gw85c/maYEug1CiAbHn0B2fTWpkiOkRwOrAOwN2uKSVQHW7wmXSeJiU0ggMlwTiJ8LgN/6NckqM029NuRg8TskSeSwdnGMTTCEs00=
rooms:
- secure: nehEpy2+AWBxq5hNwn+PIrjvde0lVzpQeL/NAXxa5gm0Sw/q7t8kN0+LWDKdVOfZBE2e0GEntLo3f2Wy+dJYBGD1ce9PGXgBaHByITEn4A1QFT0aoiyBx8Rd0qSsFZLZZFMO+bQBlA2zp9/FFqAF/S7upBX9XyIwW70nO2gXEftycvf/tOuowDmhrJuwjFm4Sg++Z3s9LoFzzJ5re7hyWhAXz3nxrA32ABq6AXp5ZT96CbYFF53CTw8fep1/U/MTsbOYq+nwTFOeziCPkK7wnFPNzo1gBeXDPmInTxZPq9osimFar2bplLBs2SWQP1XNVZWmSYRVHJY7TDPYLJkRYZXDS3c+NHPe65Sw7e563E/UfhuNio6b7EfUsP615RMtEYAsfzHkTU/4DwUMd3fj5eUUE4Cazg++wV8KX0yz9CWvX5R58uD5lEG0UxxVrmFEDa6AZIrtYimxzLd7TpmZuJmw+Qy7UHwJnPHyIR8A7uZcJHEab4P6urdDs/3Ipu1QIUORUlu7ciMvWD5Ql1mE0qLGzuimaOLWjYryDFH9HAln3X6kq5iapDFzRmFitxZPwah/dAi+KpRAkRd+lg5HSa9K6ZPl8/vq9rv8hTj4fq5sJfjQeaITc+mniMYYMwn+9SN+ERFl6Yu4nRW20a1aCUslj2/ZzzjIhB2S+pBhiZY=
- secure: k8v5fOqIji7YPphG/8j/qbbn9BPIJUE6wHBbFhOVrdcdw1TmcleXGRzxXHl7V8yoLbPcvAD1Ff+ao6hrOGT14pzKj3kgUWV8ILMV9FPTLRBff9AysHBFkoUsHj8QgswXbEZv8rDIbtzwwE4LLUJi/9RZUTT2me+v4bfAqAbCATwIXzoxWNl2E8ls6/AdAgKwVjgpm93CCEdPWG/71dAXyYgHCjaUtfZvOiSNAIcYukCUI7x3qd8x/kDfE69yPaebW7kGrflf8XUaZYRbKNkPfAcCNgJTmXFgz36znoFd7LxwjzsX2D4VyMLPwKJz0kOZS5zYv25CtuQ75m5j3I6HtciozxZzjiJwUSiSJ2Nn5khdcC16dQxQUypYxOxfWBjSRT+of8qzVT2eueRDnrerSu2c4AxpTSalWXYfBlxJJiuFdg2fVJv1PbgYR/oMPG1ePDZuvmw2scb82WXiAICpMYBlS4diYYmSQ37xXvTaXGejSu6yn1lz+ULYggGFyUuz8qILaM01TpyUMO/66qof7ppdKtJq6rrKzeKKS87JiNcTzJ604e74KC5MdFerPaHbcihgElFho6n7mOhhPTOVdwGORzzMJScJrNO7Nz7FIHwZfL7jh5y+gGeoz9nUJWRQRAq3YhbsLSxZo2QIBDoju2xzKFTFxl1Q4z80WsEp0gE=
env:
global:
- secure: B3KkWCFv2I+fqAIL6NcfK6is+CrTTsrhTOxRjD1DwnqduxfGOjrS+3qVD8NfIGx7O3MsCk0CCnz1xqiOFrLERf8elhCuEuVjumSpt9VZwpsd+hKmNQeuVoFABB1hlZrHdr2rDH17KVT+TgWNTDSt9Mk3cvRAq+j2BxOHxZXDi59PiVaRGiiM4/aEBtF0/zWfusGIHRGsouGENJU1Zi6xyt0MChx3SCDL2p5qMduGWYsnnUy4BnHMPBi+pF30mjKTI+9JVrecFRuSFezh+MEE67ZiJNw/6bAsZ35sPrd/ECEiELwiEUekpNyXu9/1AxlzaKzrHDnijuZJoEvIaKV8WYwjGjhljF0QNuWGkaKQUcIs4bOKxAY2E62/ZjDbb5J8P3V7k5FD/RHdbVva0A0g7twUNR1vJIk8DFFdY4zqgCRxCyKlQKTdTjk/tV/PjxX5MAQT5J6/OgNLohA8tLRN72xvnDd9XFaKV9RJW23a4xGNUBH24wn1Od11lqR2ZU6/oejXqSojee8IgsjcCXypwW0ZS6OAOjybjxlt/n0av4MKnLFaEmUvxRP26gGJ1H8nfgNCnsLAH9UD1y1XT3VmU7g32cv8AUKyxhh/IgBG2qiqjVNaWvqK8YrepnR0Rbti5AnUiLz8QwipWW3g9DUffUWR98Ubjzs3kMzorbRB7rM=
Expand Down
2 changes: 1 addition & 1 deletion app/scripts/modules/amazon/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@spinnaker/amazon",
"version": "0.0.58",
"version": "0.0.66",
"main": "lib/lib.js",
"typings": "lib/index.d.ts",
"scripts": {
Expand Down
42 changes: 38 additions & 4 deletions app/scripts/modules/amazon/src/aws.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { AMAZON_APPLICATION_NAME_VALIDATOR } from './validation/applicationName.
import { VPC_MODULE } from './vpc/vpc.module';
import { SUBNET_RENDERER } from './subnet/subnet.renderer';
import { SERVER_GROUP_DETAILS_MODULE } from './serverGroup/details/serverGroupDetails.module';
import { SERVER_GROUP_CONFIGURE_MODULE } from './serverGroup/configure/serverGroup.configure.aws.module';
import { COMMON_MODULE } from './common/common.module';
import { AMAZON_HELP } from './help/amazon.help';

Expand All @@ -19,6 +20,25 @@ import { AmazonLoadBalancersTag } from './loadBalancer/AmazonLoadBalancersTag';
import './deploymentStrategy/rollingPush.strategy';

import './logo/aws.logo.less';
import { AmazonLoadBalancerChoiceModal } from './loadBalancer/configure/AmazonLoadBalancerChoiceModal';

import { AmazonServerGroupActions } from './serverGroup/details/AmazonServerGroupActions';
import { amazonServerGroupDetailsGetter } from './serverGroup/details/amazonServerGroupDetailsGetter';

import {
AdvancedSettingsDetailsSection,
AmazonInfoDetailsSection,
CapacityDetailsSection,
HealthDetailsSection,
LaunchConfigDetailsSection,
LogsDetailsSection,
PackageDetailsSection,
ScalingPoliciesDetailsSection,
ScalingProcessesDetailsSection,
ScheduledActionsDetailsSection,
SecurityGroupsDetailsSection,
TagsDetailsSection,
} from './serverGroup/details/sections';

// load all templates into the $templateCache
const templates = require.context('./', true, /\.html$/);
Expand Down Expand Up @@ -54,6 +74,7 @@ module(AMAZON_MODULE, [
AWS_LOAD_BALANCER_MODULE,
require('./instance/details/instance.details.controller').name,
AWS_SECURITY_GROUP_MODULE,
SERVER_GROUP_CONFIGURE_MODULE,
SUBNET_RENDERER,
VPC_MODULE,
require('./image/image.reader').name,
Expand All @@ -73,8 +94,22 @@ module(AMAZON_MODULE, [
},
serverGroup: {
transformer: 'awsServerGroupTransformer',
detailsTemplateUrl: require('./serverGroup/details/serverGroupDetails.html'),
detailsController: 'awsServerGroupDetailsCtrl',
detailsActions: AmazonServerGroupActions,
detailsGetter: amazonServerGroupDetailsGetter,
detailsSections: [
AmazonInfoDetailsSection,
CapacityDetailsSection,
HealthDetailsSection,
LaunchConfigDetailsSection,
SecurityGroupsDetailsSection,
ScalingProcessesDetailsSection,
ScalingPoliciesDetailsSection,
ScheduledActionsDetailsSection,
TagsDetailsSection,
PackageDetailsSection,
AdvancedSettingsDetailsSection,
LogsDetailsSection,
],
cloneServerGroupTemplateUrl: require('./serverGroup/configure/wizard/serverGroupWizard.html'),
cloneServerGroupController: 'awsCloneServerGroupCtrl',
commandBuilder: 'awsServerGroupCommandBuilder',
Expand All @@ -90,8 +125,7 @@ module(AMAZON_MODULE, [
transformer: 'awsLoadBalancerTransformer',
detailsTemplateUrl: require('./loadBalancer/details/loadBalancerDetails.html'),
detailsController: 'awsLoadBalancerDetailsCtrl',
createLoadBalancerTemplateUrl: require('./loadBalancer/configure/choice/awsLoadBalancerChoice.modal.html'),
createLoadBalancerController: 'awsLoadBalancerChoiceCtrl',
CreateLoadBalancerModal: AmazonLoadBalancerChoiceModal,
targetGroupDetailsTemplateUrl: require('./loadBalancer/details/targetGroupDetails.html'),
targetGroupDetailsController: 'awsTargetGroupDetailsCtrl',
ClusterContainer: AmazonLoadBalancerClusterContainer,
Expand Down
100 changes: 55 additions & 45 deletions app/scripts/modules/amazon/src/domain/IAmazonLoadBalancer.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import { IAmazonLoadBalancerSourceData } from './IAmazonLoadBalancerSourceData';
import { ILoadBalancer, ILoadBalancerDeleteCommand, ILoadBalancerUpsertCommand, IInstance, IInstanceCounts, IServerGroup, ISubnet } from '@spinnaker/core';
import { ILoadBalancer, ILoadBalancerDeleteCommand, ILoadBalancerUpsertCommand, IInstance, IInstanceCounts, ISubnet } from '@spinnaker/core';
import { IAmazonServerGroup } from './IAmazonServerGroup';

export type ClassicListenerProtocol = 'HTTP' | 'HTTPS' | 'TCP' | 'SSL';
export type ALBListenerProtocol = 'HTTP' | 'HTTPS';

export interface IAmazonLoadBalancer extends ILoadBalancer {
availabilityZones?: string[];
Expand All @@ -8,15 +12,16 @@ export interface IAmazonLoadBalancer extends ILoadBalancer {
elb?: IAmazonLoadBalancerSourceData;
isInternal?: boolean;
regionZones: string[];
serverGroups: IAmazonServerGroup[];
subnets?: string[];
subnetDetails?: ISubnet[];
subnetType?: string;
}

export interface IClassicListener {
internalProtocol: 'HTTP' | 'HTTPS' | 'TCP' | 'SSL';
internalProtocol: ClassicListenerProtocol;
internalPort: number;
externalProtocol: 'HTTP' | 'HTTPS' | 'TCP' | 'SSL';
externalProtocol: ClassicListenerProtocol;
externalPort: number;
sslCertificateType?: string;
}
Expand Down Expand Up @@ -49,6 +54,7 @@ export interface IALBListenerCertificate {
type: string;
name: string;
}

export interface IALBListener {
certificates: IALBListenerCertificate[];
defaultActions: IListenerAction[];
Expand All @@ -65,8 +71,10 @@ export interface IListenerRule {
priority: number | 'default';
}

export type ListenerRuleConditionField = 'path-pattern' | 'host-header';

export interface IListenerRuleCondition {
field: 'path-pattern' | 'host-header';
field: ListenerRuleConditionField;
values: string[];
}

Expand Down Expand Up @@ -97,12 +105,50 @@ export interface ITargetGroup {
protocol: string;
provider?: string;
region: string; // returned from clouddriver
serverGroups?: IServerGroup[];
serverGroups?: IAmazonServerGroup[];
type: string; // returned from clouddriver
vpcId?: string;
vpcName?: string;
}

export interface IALBListenerDescription {
certificates?: IALBListenerCertificate[];
protocol: 'HTTP' | 'HTTPS';
port: number;
sslPolicy?: string;
defaultActions: IListenerAction[];
rules?: IListenerRule[];
}

export interface IALBTargetGroupDescription {
name: string;
protocol: 'HTTP' | 'HTTPS';
port: number;
attributes: {
// Defaults to 300
deregistrationDelay?: number;
// Defaults to false
stickinessEnabled?: boolean;
// Defaults to 'lb_cookie'. The only option for now, but they promise there will be more...
stickinessType?: 'lb_cookie';
// Defaults to 86400
stickinessDuration?: number;
};
// Defaults to 10
healthCheckInterval?: number;
// Defaults to '200-299'
healthCheckMatcher?: string;
healthCheckPath: string;
healthCheckPort: string;
healthCheckProtocol: 'HTTP' | 'HTTPS';
// Defaults to 10
healthyThreshold?: number;
// Defaults to 5
healthCheckTimeout?: number;
// Defaults to 2
unhealthyThreshold?: number;
}

export interface IAmazonLoadBalancerUpsertCommand extends ILoadBalancerUpsertCommand {
availabilityZones: { [region: string]: string[] };
isInternal: boolean;
Expand All @@ -113,6 +159,7 @@ export interface IAmazonLoadBalancerUpsertCommand extends ILoadBalancerUpsertCom
regionZones: string[];
securityGroups: string[];
subnetType: string;
usePreferredZones?: boolean;
vpcId: string;
}

Expand All @@ -137,45 +184,8 @@ export interface IAmazonClassicLoadBalancerUpsertCommand extends IAmazonLoadBala
unhealthyThreshold?: number;
}


export interface IAmazonApplicationLoadBalancerUpsertCommand extends IAmazonLoadBalancerUpsertCommand {
listeners: {
certificates?: {
certificateArn: string;
name?: string; // Only used while creating the description
type?: string; // Only used while creating the description
}[];
protocol: 'HTTP' | 'HTTPS';
port: number;
sslPolicy?: string;
defaultActions: IListenerAction[];
rules?: IListenerRule[];
}[];
targetGroups: {
name: string;
protocol: 'HTTP' | 'HTTPS';
port: number;
attributes: {
// Defaults to 300
deregistrationDelay?: number;
// Defaults to false
stickinessEnabled?: boolean;
// Defaults to 'lb_cookie'. The only option for now, but they promise there will be more...
stickinessType?: 'lb_cookie';
// Defaults to 86400
stickinessDuration?: number;
};
// Defaults to 10
healthCheckInterval?: number;
// Defaults to '200-299'
healthCheckMatcher?: string;
healthCheckPath: string;
healthCheckPort: string;
healthCheckProtocol: 'HTTP' | 'HTTPS';
// Defaults to 10
healthyThreshold?: number;
// Defaults to 5
healthCheckTimeout?: number;
// Defaults to 2
unhealthyThreshold?: number;
}[];
listeners: IALBListenerDescription[];
targetGroups: IALBTargetGroupDescription[];
}
14 changes: 13 additions & 1 deletion app/scripts/modules/amazon/src/domain/IAmazonServerGroup.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1,34 @@
import { IServerGroup, IAsg } from '@spinnaker/core';
import { IAccountDetails, IServerGroup, IAsg } from '@spinnaker/core';

import { IScalingPolicy } from './IScalingPolicy';
import { IScalingPolicyView } from 'amazon/domain';

export interface IAmazonAsg extends IAsg {
availabilityZones: string[];
defaultCooldown: number;
healthCheckType: string;
healthCheckGracePeriod: number;
terminationPolicies: string[];
enabledMetrics: { metric: string }[];
vpczoneIdentifier?: string;
}

export interface IAmazonServerGroup extends IServerGroup {
image?: any;
scalingPolicies?: IScalingPolicy[];
targetGroups?: string[];
asg: IAmazonAsg;
}

export interface IScheduledAction {
recurrence: number;
minSize: number;
maxSize: number;
desiredCapacity: number;
}

export interface IAmazonServerGroupView extends IAmazonServerGroup {
accountDetails?: IAccountDetails;
scalingPolicies: IScalingPolicyView[];
scheduledActions?: IScheduledAction[];
}
6 changes: 6 additions & 0 deletions app/scripts/modules/amazon/src/domain/IScalingProcess.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export interface IScalingProcess {
name: string;
enabled: boolean;
description: string;
suspensionDate: number;
}
1 change: 1 addition & 0 deletions app/scripts/modules/amazon/src/domain/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ export * from './IAmazonScalingPolicy';
export * from './IAmazonServerGroup';
export * from './IKeyPair';
export * from './IScalingPolicy';
export * from './IScalingProcess';
export * from './ITargetTrackingPolicy';
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ <h3 select-on-dbl-click>
<li ng-repeat="action in instance.insightActions"><a target=_blank href="{{action.url}}">{{action.label}}</a></li>
</ul>
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ export interface IAmazonLoadBalancersTagState {
@BindAll()
export class AmazonLoadBalancersTag extends React.Component<ILoadBalancersTagProps, IAmazonLoadBalancersTagState> {
private loadBalancersRefreshUnsubscribe: () => void;
private mounted = false;

constructor(props: ILoadBalancersTagProps) {
super(props);
Expand All @@ -77,8 +78,18 @@ export class AmazonLoadBalancersTag extends React.Component<ILoadBalancersTagPro
targetGroups: [],
};

LoadBalancerDataUtils.populateLoadBalancers(props.application, props.serverGroup).then((loadBalancers) => this.setState({ loadBalancers }));
AmazonLoadBalancerDataUtils.populateTargetGroups(props.application, props.serverGroup as IAmazonServerGroup).then((targetGroups: ITargetGroup[]) => this.setState({ targetGroups }))
LoadBalancerDataUtils.populateLoadBalancers(props.application, props.serverGroup)
.then((loadBalancers) => {
if (this.mounted) {
this.setState({ loadBalancers });
}
});
AmazonLoadBalancerDataUtils.populateTargetGroups(props.application, props.serverGroup as IAmazonServerGroup)
.then((targetGroups: ITargetGroup[]) => {
if (this.mounted) {
this.setState({ targetGroups });
}
});
}

private showLoadBalancerDetails(loadBalancer: ILoadBalancer): void {
Expand Down Expand Up @@ -107,10 +118,12 @@ export class AmazonLoadBalancersTag extends React.Component<ILoadBalancersTagPro
}

public componentDidMount(): void {
this.mounted = true;
this.loadBalancersRefreshUnsubscribe = this.props.application.getDataSource('loadBalancers').onRefresh(null, () => { this.forceUpdate(); });
}

public componentWillUnmount(): void {
this.mounted = false;
this.loadBalancersRefreshUnsubscribe();
}

Expand Down
14 changes: 14 additions & 0 deletions app/scripts/modules/amazon/src/loadBalancer/TargetGroupDetails.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import * as React from 'react';
import { Overridable, IOverridableProps } from '@spinnaker/core';

export interface ITargetGroupDetailsProps extends IOverridableProps {
}

@Overridable('loadBalancer.targetGroupDetails')
export class TargetGroupDetails extends React.Component<ITargetGroupDetailsProps> {
public render() {
return (
<h3>Target Group Details</h3>
);
}
}
Loading