profile
viewpoint
Prathibha Datta Kumar pdk27 Amazon Austin

pdk27/amazon-ec2-metadata-mock-1 0

A tool to simulate Amazon EC2 instance metadata

pdk27/aws-cdk 0

The AWS Cloud Development Kit is a framework for defining cloud infrastructure in code

pdk27/aws-node-termination-handler 0

A Kubernetes DaemonSet to gracefully handle EC2 Spot Instance interruptions.

pdk27/clouddriver 0

read and write operations across cloud providers

pdk27/CodeIgniter 0

EllisLab's Open Source PHP Framework

pdk27/deck 0

Management UI for Spinnaker

pdk27/echo 0

Spinnaker Eventing Service

pdk27/eks-charts 0

Amazon EKS Helm chart repository

pdk27/fiat 0

Spinnaker auth service

pdk27/front50 0

Spinnaker Metadata Repository Service

issue commentspinnaker/spinnaker

Proposal: Improve AWS EC2 / Spot Support

Thanks @noahi @christopherthielen and SIG UI for all the comments. Here are meeting notes for the SIG UI discussion - https://docs.google.com/document/d/1wO4wxdZlnI1wXlUV4PF55Q0ZBbjWrt6YXdeh_a7Oqgw/edit#heading=h.f5iaps8k4cbf

pdk27

comment created time in 6 days

create barnchpdk27/rosco

branch : aws-ec2-burstable

created branch time in 17 days

create barnchpdk27/orca

branch : aws-ec2-burstable

created branch time in 17 days

create barnchpdk27/kayenta

branch : aws-ec2-burstable

created branch time in 17 days

create barnchpdk27/igor

branch : aws-ec2-burstable

created branch time in 17 days

create barnchpdk27/halyard

branch : aws-ec2-burstable

created branch time in 17 days

create barnchpdk27/gate

branch : aws-ec2-burstable

created branch time in 17 days

create barnchpdk27/front50

branch : aws-ec2-burstable

created branch time in 17 days

create barnchpdk27/fiat

branch : aws-ec2-burstable

created branch time in 17 days

create barnchpdk27/echo

branch : aws-ec2-burstable

created branch time in 17 days

create barnchpdk27/deck

branch : aws-ec2-burstable

created branch time in 17 days

create barnchpdk27/clouddriver

branch : aws-ec2-burstable

created branch time in 17 days

push eventpdk27/rosco

spinnakerbot

commit sha 20b08d910709d80aa5028291a722b52cc587c1d7

chore(dependencies): Autobump korkVersion (#687) Co-authored-by: root <root@50805f9a9c19>

view details

spinnakerbot

commit sha 83331fa8646cb33b28eb33ff76d4e522e9624073

chore(dependencies): Autobump korkVersion (#688) Co-authored-by: root <root@f429c082b070>

view details

spinnakerbot

commit sha e22863cc89575b42b5b42e997b1d5b96db71b719

chore(dependencies): Autobump korkVersion (#689) Co-authored-by: root <root@12e6abdc8861>

view details

Michael Plump

commit sha 13487f2aa6852ec040725b4d31c1e7035116d138

chore(dockerfile): various Dockerfile cleanups (#690) * chore(dockerfile): delete the (unused) java8 dockerfiles * chore(dockerfile): replace deprecated MAINTAINER with LABEL * chore(dockerfile): use gid/uid 10111 for the spinnaker user * chore(dockerfile): make docker builds more cacheable

view details

spinnakerbot

commit sha 93698c9d1e28ba615226574570bd245113196f3b

chore(dependencies): Autobump spinnakerGradleVersion (#691) Co-authored-by: root <root@6a807b439d68>

view details

Cameron Fieber

commit sha 508ec0640b9c367c7c07dbd3100f3b87f0e84c60

chore(build): gradle 6.6 (#692)

view details

spinnakerbot

commit sha 162173095a2fa8fa521fa379b8d3ad15133b0f11

chore(dependencies): Autobump korkVersion (#693) Co-authored-by: root <root@87c6cb8f1126>

view details

spinnakerbot

commit sha efab813c29c4190e049975157db881998075ba2a

chore(dependencies): Autobump korkVersion (#694) Co-authored-by: root <root@048626cb7ef2>

view details

spinnakerbot

commit sha 79d1c25d215245bfb454453a8ef771fdebe2fbc7

chore(dependencies): Autobump korkVersion (#695) Co-authored-by: root <root@7cc2f7e2e8cd>

view details

spinnakerbot

commit sha f4834d6df10c26782d9347fbda72ab03f7fcceca

chore(dependencies): Autobump korkVersion (#696) Co-authored-by: root <root@4bab6a330c11>

view details

Eric Zimanyi

commit sha ffecdc9f3d51e95f7092a1c008526dcc92bf2b07

fix(bake): Fix error when updating artifacts after bake (#697) * test(bake): Add test exercising bake artifact handling There is currently no test that exercises the logic that updates the name and uuid on artifacts produced by a bake. Add a test exercising this logic that currently fails and will be fixed in the next commit. * fix(bake): Fix error when updating artifacts after bake When artifacts were made immutable, this usage was missed as it did not have tests (and was in groovy so compilation didn't catch it). Instead of mutating the artifacts, return copies with the appropriate fields changed.

view details

spinnakerbot

commit sha f7bcc01768ab8953446a531bf434676390345a5f

chore(dependencies): Autobump korkVersion (#698) Co-authored-by: root <root@534ce9888ac0>

view details

spinnakerbot

commit sha 21c758ac153e2c6fa88afc743109514fbd84053f

chore(dependencies): Autobump korkVersion (#700) Co-authored-by: root <root@167ad51ad4f2>

view details

Cameron Fieber

commit sha 3c2f6433810bbea26a7a224fa4505487ef9b59c8

chore(build): gradle 6.6.1 (#701)

view details

spinnakerbot

commit sha 796bca51e251d514d63cfe4ba8811d81b545e358

chore(dependencies): Autobump korkVersion (#702) Co-authored-by: root <root@07aa874cb083>

view details

spinnakerbot

commit sha cfc08b4bfdf34395f4e8395f108522a015a65870

chore(dependencies): Autobump korkVersion (#703) Co-authored-by: root <root@fa990adebdf5>

view details

spinnakerbot

commit sha ce5cade75ffb4ab3def873017f684abf794f8091

chore(dependencies): Autobump korkVersion (#704) Co-authored-by: root <root@ec7bd04f30f1>

view details

spinnakerbot

commit sha 9affb6ed33deaf0cca35de2b1e540c0ab861b7f7

chore(dependencies): Autobump korkVersion (#706) Co-authored-by: root <root@07935c2d2f7e>

view details

push time in 17 days

push eventpdk27/orca

Mark Vulfson

commit sha 837207a24912605eccafcb1cd76092574449150d

fix(metric): Correctly indicate execution type in execution metrics (#3844)

view details

Joe DeStefano

commit sha 3fa29ca79172024c96b316ec2173272788136bdd

fix(preconfigured): Allow PreconfiguredJobStage parameters to map to one-dimensional array property values (#3830) * fix(preconfigured): Update setNestedValue to handle one-dimensional array objects * fix(preconfigured): Handle case where array property is missing from root object * refactor(preconfigured): Use Groovy regex syntax * refactor(preconfigured): Update exception message to be more meaningful Co-authored-by: Mark Vulfson <markvu@live.com> Co-authored-by: Mark Vulfson <markvu@live.com>

view details

Mark Vulfson

commit sha 9aa0b3cf91504998a7f201ec1ada9e4e8ef97675

fix(exceptions): Don't let errors in `trackResult` leak out (#3843) It's possible for trackResult metrics call to fail and we don't want that failure to leak out and fail orca tasks Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

spinnakerbot

commit sha c5aa6b572889517dabcae0b016f0fc443ec66b1b

chore(dependencies): Autobump korkVersion (#3847) Co-authored-by: root <root@50805f9a9c19>

view details

spinnakerbot

commit sha 7cb1e8972a63d21a9d09c874135a913b8fa8f189

chore(dependencies): Autobump korkVersion (#3850) Co-authored-by: root <root@f429c082b070>

view details

Sairam Rekapalli

commit sha f941c53a32c3ea2a2b70957909eb12f2a38e0256

fix(misc): Wire up metrics interceptor bean explicitly and also move to the new interface impl (#3852)

view details

spinnakerbot

commit sha 717c56a68c293a06201d4c0edc1fe928c66d861e

chore(dependencies): Autobump korkVersion (#3853) Co-authored-by: root <root@12e6abdc8861>

view details

Mark Vulfson

commit sha 5f4b2edbe72ee5d7003edb71e7477592c1e928b0

fix(exceptions): add exception handler for exceptional situations (#3845) * fix(exceptions): add exceptionhandler for non-excpetional situations When a user submits a bad pipeline e.g. * with jenkins trigger that has an invalid properties file or job that doesn't exist) * with a broken pipeline template we don't want to 500 because: a) the calling service (echo in most cases here) will keep retrying which makes no sense b) it's an erroneous HTTP 500 metric that is noise * fix(exceptions): fix various exception issues 1. Don't log task failures on `UserException` 2. Don't fail retrieving properties file if the build wasn't started * fixup! Merge branch 'master' into mark/exceptionhandlers Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Sairam Rekapalli

commit sha 707d44955028ceb3786d512e912131c4693eb472

fix(misc): adding explicit dependency between the registry,metrics interceptor and web mvc configurer (#3854)

view details

Mark Vulfson

commit sha 63a3322e8186f1e1291b90a28f1d0ade22ac8a67

feat(runjob): add ability to read props file even if job fails (#3855) * feat(runjob): add ability to read props file even if job fails * fixup! feat(runjob): add ability to read props file even if job fails

view details

Daniel Reynaud

commit sha 5a6dc3532b46c84416ef9acd67a6d35bc7b414cd

fix(destroy): add disable stage to destroy server group stage (#3848) Let's add it as a beforeStage instead of duplicating the tasks in the disable stage. In particular, the task graph of DestroyServerGroupStage was missing a determineHealthProviderTask and using the now-deprecated WaitForAllInstancesNotUpTask. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Chris Thielen

commit sha da35b8e5ba958bcf6bb061a18744753ec9d0dba7

feat(pipelines): Pass 'staleCheck' through from savePipeline context to front50 (#3841) * feat(pipelines): Pass 'staleCheck' through from savePipeline context to front50 Related to https://github.com/spinnaker/front50/pull/915 * test: update SavePipelineTaskSpec Co-authored-by: spinnaker <spinnaker@netflix.net> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Michael Plump

commit sha 9d1ff489fd15101c2ddcffe7f654105863086853

chore(dockerfile): various Dockerfile cleanups (#3860) * chore(dockerfile): delete the (unused) java8 dockerfiles * chore(dockerfile): replace deprecated MAINTAINER with LABEL * chore(dockerfile): use gid/uid 10111 for the spinnaker user * chore(dockerfile): make docker builds more cacheable

view details

Mark Vulfson

commit sha 03bb515553d3de3b0864eba83ee0e4f719f3c445

feat(destroy): Add a flag to be able to skip the disable of destroy stage (#3858) Add an experimental flag `skipDisableBeforeDestroy` to the `DestroyServerGroupStage` so that applications that don't participate in discovery can skip disable step which should speed up their destruction operation. Co-authored-by: Adam Jordens <adam@jordens.org>

view details

Chris Smalley

commit sha 03cddba0eb100b08a18df39215a0dfaf04b11ac5

fix(sql): Create SqlActiveExecutionsMonitor via autoconfiguration instead of @Component (#3861) When this bean is created via @Component it fails to find the qualifier bean sqlExecutionRepository when qos is disabled. I can not say I really understand why. Now, the qualifier bean sqlExecutionRepository is found regardless of qos enabled/disabled.

view details

Karl

commit sha 3224fb04bef4757f99ba6437a204664621989608

chore(orca): Remove unused Redis info file (#3849) Discovered whilst investigating Redis connection instantiation. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

spinnakerbot

commit sha ff78f1caf5034eae4f17b21583006df6d28ee143

chore(dependencies): Autobump spinnakerGradleVersion (#3862) Co-authored-by: root <root@6a807b439d68>

view details

Mark Vulfson

commit sha 05050949193e4121a7f93142d6b2857038a14f1b

chore(warnings): Clean up some compilation warnings (#3856) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Cameron Fieber

commit sha 7fe1fe033eb261c71ff726ee3d67f4f296dec991

chore(build): gradle 6.6 (#3865)

view details

spinnakerbot

commit sha 6048dcfb8f0f99c22e05ced8b5d24411a8ae8e93

chore(dependencies): Autobump korkVersion (#3866) Co-authored-by: root <root@87c6cb8f1126>

view details

push time in 17 days

push eventpdk27/igor

Kevin Wang

commit sha 5f71fbf48a75ce2b24bbcbb116f250b11536e06e

feat(managed-delivery): Retrieve Managed Delivery manifests from GitHub (#828)

view details

spinnakerbot

commit sha c21bc384d204d827ae2c3c258ab2c12f1888ebc2

chore(dependencies): Autobump korkVersion (#830) Co-authored-by: root <root@50805f9a9c19>

view details

spinnakerbot

commit sha bd314624a3a11e6f7542ddd1a187456dc45e2ecd

chore(dependencies): Autobump korkVersion (#831) Co-authored-by: root <root@f429c082b070>

view details

spinnakerbot

commit sha 3a9c65a32fbbacc2205e2377c4dd993c3ead86ed

chore(dependencies): Autobump korkVersion (#832) Co-authored-by: root <root@12e6abdc8861>

view details

Michael Plump

commit sha 24ed5d4705c246d281cf60cc46f72e63afdac3bc

chore(dockerfile): various Dockerfile cleanups (#833) * chore(dockerfile): delete the (unused) java8 dockerfiles * chore(dockerfile): replace deprecated MAINTAINER with LABEL * chore(dockerfile): use gid/uid 10111 for the spinnaker user * chore(dockerfile): make docker builds more cacheable

view details

spinnakerbot

commit sha 34be8592f5547128afcb9664b823d12aa783cc15

chore(dependencies): Autobump spinnakerGradleVersion (#835) Co-authored-by: root <root@6a807b439d68>

view details

Sairam Rekapalli

commit sha f5b738fedddce00b6151776c6044f97e235af60d

fix(misc): Update jenkins client providers impls to use ok3 (#834) Co-authored-by: Adam Jordens <adam@jordens.org>

view details

Cameron Fieber

commit sha 92b4fc40847488eaa1cc8636e562dec6ff1279b2

chore(build): gradle 6.6 (#836)

view details

spinnakerbot

commit sha d2d216a52a0d4272f4c6f9cd21a0f3836c3911ee

chore(dependencies): Autobump korkVersion (#837) Co-authored-by: root <root@87c6cb8f1126>

view details

Chris Smalley

commit sha 41ef2a3c44b67202b26414fda05a5f32b05a0115

chore(*): Use SprintBootApplication annotation on Main class (#838) This annotation is useful as a way of consistently obtaining the Main class package in our services so we can determine package information, like version, at runtime.

view details

Kaixiang-AWS

commit sha babd23f0437e5582a1c4120ec2ee7679f5d4b35c

fix(codebuild): set region when creating sts client (#839) There's a race condition where default region could not be found, causing STS client failed to be created. To fix it, we set STS client region to what specified in the codebuild halyard config. Fixed https://github.com/spinnaker/spinnaker/issues/5974 Co-authored-by: Clare Liguori <liguori@amazon.com>

view details

spinnakerbot

commit sha e2ab4ab9ab0568e91c36a0825bd0bfeba9b1082d

chore(dependencies): Autobump korkVersion (#840) Co-authored-by: root <root@048626cb7ef2>

view details

spinnakerbot

commit sha 56db9262b9037008e02bf43eea10ece7c01ce245

chore(dependencies): Autobump korkVersion (#841) Co-authored-by: root <root@7cc2f7e2e8cd>

view details

spinnakerbot

commit sha 6ad7cf54dc7b3c1df4d88864608cda3d4479e3e4

chore(dependencies): Autobump korkVersion (#843) Co-authored-by: root <root@4bab6a330c11>

view details

spinnakerbot

commit sha c7dd78f3ee91de092d558f7825ac81f1b3ffa239

chore(dependencies): Autobump korkVersion (#845) Co-authored-by: root <root@534ce9888ac0>

view details

Gal Yardeni

commit sha d68a1d9f6aafce6e6588426249dfcbf5b9d59a27

feat(ciService): add more fields to generic ci service (#844)

view details

spinnakerbot

commit sha faa4f39a5cac3fc36c2697db03148620a66e264f

chore(dependencies): Autobump korkVersion (#846) Co-authored-by: root <root@167ad51ad4f2> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Cameron Fieber

commit sha d1c60dfec3fa5cbd7214a2ebd5104980d4e32b74

chore(build): gradle 6.6.1 (#847)

view details

spinnakerbot

commit sha d75a3f5921d97ee9aabdecc4591950ae7832a154

chore(dependencies): Autobump korkVersion (#848) Co-authored-by: root <root@07aa874cb083>

view details

spinnakerbot

commit sha 9df99083f4f21a5c70a72a07516110121683a9c7

chore(dependencies): Autobump korkVersion (#849) Co-authored-by: root <root@fa990adebdf5>

view details

push time in 17 days

push eventpdk27/front50

Chris Thielen

commit sha 6b690b9994956e52cb0ac0bc9f5f7911a8f2ab2f

feat(pipeline): (optionally) validate that a saved pipeline is not stale (#915) * feat(pipeline): (optionally) validate that a saved pipeline is not stale, i.e., optimistic lock * feat(pipeline): only do stale check for updates with a lastModified payload Co-authored-by: spinnaker <spinnaker@netflix.net> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Michael Plump

commit sha 57c9922924edc4f6a737c92e0d59d23f5e3174d6

refactor(gcs): Rewrite the GcsStorageService (#911) * refactor(gcs): turn the GCS Credentials into a Bean * refactor(gcs): consolidate the dataFilenames into config constants * refactor(gcs): move this config-parsing logic into the config object I doubt we still need this, but I guess it's simple enough to keep just in case 🤷 * refactor(gcs): get rid of the purge old versions logic This hasn't been necessary since we switched to updating the metadata (rather than creating new content) for the last-updated files, back in * refactor(core): Remove StorageService#ensureBucketExists No one ever calls this on the base class, only on specific implementations, so there's no reason for it to be a interface method. * refactor(gcs): Rewrite the GcsStorageService This rewrite uses the google-cloud-storage, which is a higher-level library than the google-api-services-storage we were using previously. I believe the old library is machine-generated from the protos, while the new library is manually written by the GCP team. In addition to being simpler to use, it also comes with some best practices baked in. In particular for us, it includes retry logic. This means we can remove our hand-written retry logic which both had bugs and was the source of a dependency on clouddriver. * chore(gcs): audit/clean up dependencies (and remove clouddriver dep!) * refactor(gcs): call ensureBucketExists in a @PostConstruct I think it makes more sense to do this as an ApplicationListener<ApplicationPreparedEvent>, but it would require some more refactoring that I'm not up for right now. * refactor(gcs): address some of the review comments from @ezimanyi * refactor(gcs): wait .5s to update last-modified before returning * test(gcs): better thread safety for the multi-threaded test Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

spinnakerbot

commit sha b94dfd0c648f35f7f467de0974477f9223c67fa3

chore(dependencies): Autobump korkVersion (#918) Co-authored-by: root <root@50805f9a9c19>

view details

spinnakerbot

commit sha 24085beaf211917ed9a8242f7d021793b9679034

chore(dependencies): Autobump korkVersion (#919) Co-authored-by: root <root@f429c082b070>

view details

spinnakerbot

commit sha ac2e2a72cbc0b6e9a525947f6f926b1cff085ebd

chore(dependencies): Autobump korkVersion (#921) Co-authored-by: root <root@12e6abdc8861>

view details

Mark Vulfson

commit sha cca223dbce84277137c476e6754d93d8fb7019b1

fix(exceptions): Use kork's NotFoundException (#922) Follow up from https://github.com/spinnaker/kork/pull/737 where I added a generic 400 response exception handler for UserException. But `front50` needs to return an actual 404 (since callers, e.g. `orca` expect and handle it). Kork already has a generic 404 handler for NotFoundException

view details

Michael Plump

commit sha 73993268afab8db10af96fc24e330823a8217835

chore(dockerfile): various Dockerfile cleanups (#925) * chore(dockerfile): delete the (unused) java8 dockerfiles * chore(dockerfile): replace deprecated MAINTAINER with LABEL * chore(dockerfile): use gid/uid 10111 for the spinnaker user * chore(dockerfile): make docker builds more cacheable

view details

spinnakerbot

commit sha 9655c3caac24be8ea88ab843a10b5ecfef05a1ad

chore(dependencies): Autobump spinnakerGradleVersion (#926) Co-authored-by: root <root@6a807b439d68>

view details

Cameron Fieber

commit sha d07b4cb7aaa2d2b388b3051f0dfdf3a39ef3d592

chore(build): gradle 6.6 (#928)

view details

spinnakerbot

commit sha e64126ccc0de71bec4acfa659bdd35c727e95030

chore(dependencies): Autobump korkVersion (#929) Co-authored-by: root <root@87c6cb8f1126>

view details

spinnakerbot

commit sha fc9bbb18222edd43c58ccf6136819138d272941a

chore(dependencies): Autobump korkVersion (#931) Co-authored-by: root <root@048626cb7ef2>

view details

spinnakerbot

commit sha 622bf18768280efc9498408e71d6262caa33698e

chore(dependencies): Autobump korkVersion (#932) Co-authored-by: root <root@4bab6a330c11>

view details

spinnakerbot

commit sha 07849972407e2b50ab2d2e2575aa25c7397eefdc

chore(dependencies): Autobump korkVersion (#933) Co-authored-by: root <root@534ce9888ac0>

view details

Edgar Garcia

commit sha 20c631fcc352f0d66fbb7665b9827a61a36035bb

feat(gitRepoArtifact): include migration to move subpath to location field (#930) * feat(gitRepoArtifact): include migration to move subpath in metadata to location field only for git/repo artifacts. * refactor(gitRepoArtifact): clean tests syntax on where statement * refactor(gitRepoArtifact): include small methods to avoid code duplication * refactor(gitRepoArtifact): change Valid date

view details

spinnakerbot

commit sha 41a52cffba4647051df2be017c2ef7680a76e95e

chore(dependencies): Autobump korkVersion (#935) Co-authored-by: root <root@167ad51ad4f2>

view details

Eric Zimanyi

commit sha ba4b061812cc5a464ae00f4e07b9805b4acfde3d

fix(gcs): Fix startup error when bucketLocation is not specified (#934) * test(gcs): Add some implementations to FakeStorageRpc In an upcoming commit, we'll need to also support getting a bucket; to prepare for that let's update the FakeStorageRpc to: * Keep track of what bucket objects are in (rather than now where it assumes they are all in the same bucket) * Handle creating and getting a bucket We'll add an additional Map around the blobs data structure that maps the bucket to a Map of blobs. (This is a bit of a complex data structure that in production code might be better expressed as classes, but for this single fake in a test it's porbably fine.) Creating a bucket initializes its blobs to an empty map; we know if a bucket exists by whether it has an entry in the map. I used the documentation on the interface we're mocking to decide how to handle a missing bucket; in some cases we just return null (when getting an object or a bucket) while in others we propagate the 404. This required one small change to the existing tests, which is that we'll need to create the bucket before we use them in the tests. * test(gcs): Add test to demonstrate NPE on missing bucketLocation This commit adds a broken test to demostrate the NPE that occurs on startup when the bucketLocation is not specified. * fix(gcs): Fix startup error when bucketLocation is not specified There was a regression in 1.22 where omitting bucketLocation from one's GCS config now causes an error on startup. Prior to the rewrite of GcsStorageService, we accepted either null or empty string as the bucket location; now that GcsStorageService is in kotlin and does not use a String? for the field, an error occurs on trying to create the GcsStorageService. The fix is just to default the string to "" in the config properties. * style(gcs): Use Bucket.of intead of builder * test(gcs): Replace nested map with classes To simplify the nested map, define a Buckets class and a BucketContents class, with operation names that make it more clear what is happening. Also, I realized that before my changes we were appending the bucket name to the object name before putting it into the map, but now we don't need to do that anymore because we have a separate map for each bucket, so remove some unecessary calls to fullPath (which is now only used in printing error messages). * style(gcs): Fix typo * style(gcs): Fix constructor There's no need to accept the map in a private constructor then separately define a no-arg constructor that passes an empty map, just make the map a val in the class.

view details

Jeffrey Coe

commit sha 1c4fcfa8a4c63c82149b8f0a3e553a8b31cc6d8a

feat(notification): Add Microsoft Teams notification support (#927) Signed-off-by: Jeffrey Coe <jeffrey.coe@cerner.com>

view details

Cameron Fieber

commit sha f9c659a468e88ccd2a6572750730080fb7ee41b6

chore(build): gradle 6.6.1 (#936)

view details

spinnakerbot

commit sha 43a097dc2f427e9866ccd3078335ec5696bbfd45

chore(dependencies): Autobump korkVersion (#937) Co-authored-by: root <root@07aa874cb083>

view details

spinnakerbot

commit sha 2bca436581663adac5827fe01ff533b03ed6ccdd

chore(dependencies): Autobump korkVersion (#939) Co-authored-by: root <root@fa990adebdf5>

view details

push time in 17 days

push eventpdk27/echo

spinnakerbot

commit sha c295a4818b8862f3582ae7262eaafe487132e5fe

chore(dependencies): Autobump korkVersion (#989) Co-authored-by: root <root@50805f9a9c19>

view details

spinnakerbot

commit sha 6fc884bf8ee193ae67085faf71d7ff12b51a316a

chore(dependencies): Autobump korkVersion (#990) Co-authored-by: root <root@f429c082b070>

view details

spinnakerbot

commit sha ee48a0d79275c82beb46ef44514673b4d969d64b

chore(dependencies): Autobump korkVersion (#991) Co-authored-by: root <root@12e6abdc8861>

view details

KeisukeYamashita

commit sha ac99c3b25cd1f3765c062b910744e31b36bd6390

chore(gcb): unify log message of subscriber (#992) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Michael Plump

commit sha 5763f3e58661fcddc7d9a1432afac2d581fbae7d

chore(dockerfile): various Dockerfile cleanups (#993) * chore(dockerfile): delete the (unused) java8 dockerfiles * chore(dockerfile): replace deprecated MAINTAINER with LABEL * chore(dockerfile): use gid/uid 10111 for the spinnaker user * chore(dockerfile): make docker builds more cacheable Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

spinnakerbot

commit sha 62127327e4fef43a0516e8b9a134314eb18c1d6d

chore(dependencies): Autobump spinnakerGradleVersion (#994) Co-authored-by: root <root@6a807b439d68>

view details

Cameron Fieber

commit sha b51fb4ce6c941d05a97263aef1c3d19affd03a88

chore(build): gradle 6.6 (#996)

view details

Sairam Rekapalli

commit sha 5071645b407aa95b6ad2800b236afea07c5c1510

fix(misc): Upgraded kotlin version to match kork (#998)

view details

spinnakerbot

commit sha d53047067bb241939f0920bba83922fb3e10179a

chore(dependencies): Autobump korkVersion (#997) Co-authored-by: root <root@4bab6a330c11> Co-authored-by: Sairam Rekapalli <srekapalli@netflix.com>

view details

spinnakerbot

commit sha e069b8b72e34c1e52bc5013e998dfea1d69d1212

chore(dependencies): Autobump korkVersion (#999) Co-authored-by: root <root@534ce9888ac0>

view details

spinnakerbot

commit sha 57b9229cfce334645d9ee9cc9b4ccd20a3e6f867

chore(dependencies): Autobump korkVersion (#1000) Co-authored-by: root <root@167ad51ad4f2>

view details

Cameron Fieber

commit sha 1efb50d54b8b6e7f9dfe6e437ec0dff35fca0623

chore(build): gradle 6.6.1 (#1001)

view details

spinnakerbot

commit sha ee2227659fc007dc2a597fc220016c38f37d0ffb

chore(dependencies): Autobump korkVersion (#1002) Co-authored-by: root <root@07aa874cb083>

view details

spinnakerbot

commit sha c26b20e5a099a13405c4dd3b4afbf0c24af9e5b0

chore(dependencies): Autobump korkVersion (#1003) Co-authored-by: root <root@fa990adebdf5>

view details

spinnakerbot

commit sha 7198ba58a3d63c755996efd571d7924db09a6bcc

chore(dependencies): Autobump korkVersion (#1004) Co-authored-by: root <root@ec7bd04f30f1>

view details

spinnakerbot

commit sha ed98ef238b40beb527bbedb453953ca294228457

chore(dependencies): Autobump korkVersion (#1005) Co-authored-by: root <root@07935c2d2f7e>

view details

push time in 17 days

push eventpdk27/fiat

spinnakerbot

commit sha 249c05c9acc91eefa116d1d2dd4cf3be8cd524e2

chore(dependencies): Autobump korkVersion (#742) Co-authored-by: root <root@50805f9a9c19>

view details

spinnakerbot

commit sha c90eb681980396ffb20f85a284ce84663f139097

chore(dependencies): Autobump korkVersion (#743) Co-authored-by: root <root@f429c082b070>

view details

spinnakerbot

commit sha 9442ea4a01efaef89a69a3b0e1457f047d7e989b

chore(dependencies): Autobump korkVersion (#744) Co-authored-by: root <root@12e6abdc8861>

view details

Michael Plump

commit sha a6eda9c86cbb26366d3fac20c1510955e8c86a90

chore(dockerfile): various Dockerfile cleanups (#745) * chore(dockerfile): delete the (unused) java8 dockerfiles * chore(dockerfile): replace deprecated MAINTAINER with LABEL * chore(dockerfile): use gid/uid 10111 for the spinnaker user * chore(dockerfile): make docker builds more cacheable

view details

spinnakerbot

commit sha 0057cc6ddc5c1a5c82a25805da041d6ae28e7dcd

chore(dependencies): Autobump spinnakerGradleVersion (#746) Co-authored-by: root <root@6a807b439d68>

view details

Cameron Fieber

commit sha 0e4b470f7eda2c980c7c282989a6683634236377

chore(build): gradle 6.6 (#748)

view details

spinnakerbot

commit sha d0c756f6d5023c11a99bd2c9b0bbb79a9a63cdb4

chore(dependencies): Autobump korkVersion (#749) Co-authored-by: root <root@87c6cb8f1126>

view details

Cameron Fieber

commit sha 0ac386fe08523ad7898c61599c43ffab8054721a

fix(authorize): fixes for authorize redis and fallback (#750) does less work while holding a redis connection: * ensure when looking up the unrestricted user, that we don't read the same values twice from redis * close the redis connection before deserializing permission objects ensures that if we hit the fallback case for a user that was not resolved we include the unrestricted user's permissions in the resulting UserPermission * fix(roles): do less while holding a redis connection moves deserialization of permission json outside of the connection callback short circuits lookup of roles if the user does not exist (prevents loading all of anonymous for an unknown userid) * fix(redis): don't duplicate resource reads when looking up unrestricted user saves on reading the same maps twice on an explicit call to load the unrestricted user, which happens if we hit a fallback for a user that we currently have not resolved * fix(fallback): ensure fallback permissions include unrestricted user permissions if we hit the fallback case of triggering permission resolution, the permissions for the unrestricted user should be included to allow access to resources that are granted to the anonymous role

view details

spinnakerbot

commit sha 9f2697137cb834c9f157454465f4ca6348a17a7d

chore(dependencies): Autobump korkVersion (#752) Co-authored-by: root <root@048626cb7ef2>

view details

spinnakerbot

commit sha fbca7292a1e4d3d31d1321d8eaf6c948e3ebbecc

chore(dependencies): Autobump korkVersion (#753) Co-authored-by: root <root@7cc2f7e2e8cd>

view details

spinnakerbot

commit sha 969d95f3893c1b4dab1b6dc5b9547c893db61b0c

chore(dependencies): Autobump korkVersion (#754) Co-authored-by: root <root@4bab6a330c11>

view details

spinnakerbot

commit sha edea93297fc397897cabd9c0a1db42239e34c961

chore(dependencies): Autobump korkVersion (#756) Co-authored-by: root <root@534ce9888ac0>

view details

Cameron Fieber

commit sha 61f1e3640ceb2a995b55e619ec4d82bb021b2e82

feat(perf): cache the unrestricted users permissions (#751) The unrestricted user is loaded from redis each time a lookup for a user happens, and this user may end up with a lot of data associated with it if there are a large number of secured entities set up for anonymous read access. This saves the step of fetching and deserializing that data if there is a copy cached. Adds a new last modified key to track (via redis server time) the last time the unrestricted user was written to redis, and uses that to ensure a reload happens when the permissions are rebuilt.

view details

Cameron Fieber

commit sha b421b06939b2dee9f9d4abad28a11388ebae481d

feat(metrics): instrument PermissionRepository (#758) Adds a Configuration class to create RedisPermissionRepository and uses InstrumentedProxy to add method invocation metrics

view details

spinnakerbot

commit sha 96d6a17c2a5d5a5aea8c6a5cf19b86a1d1fc9fa7

chore(dependencies): Autobump korkVersion (#757) Co-authored-by: root <root@167ad51ad4f2> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Cameron Fieber

commit sha 46a2f4704ad094c8fa5f70284ea925f128650de3

chore(build): gradle 6.6.1 (#759)

view details

spinnakerbot

commit sha 262c7504873bd1ea0ee8f766d8c03c3f453681e8

chore(dependencies): Autobump korkVersion (#760) Co-authored-by: root <root@07aa874cb083>

view details

spinnakerbot

commit sha 9c648a2926e26f264809f24baeaf66e3a336dc0f

chore(dependencies): Autobump korkVersion (#761) Co-authored-by: root <root@fa990adebdf5>

view details

spinnakerbot

commit sha 67419415a0c884723e396cbe7fea6885464a4cce

chore(dependencies): Autobump korkVersion (#762) Co-authored-by: root <root@ec7bd04f30f1>

view details

spinnakerbot

commit sha 78edd94733c9190add6c4a7d2e69733952c7d6bf

chore(dependencies): Autobump korkVersion (#763) Co-authored-by: root <root@07935c2d2f7e>

view details

push time in 17 days

push eventpdk27/gate

spinnakerbot

commit sha 86eaa5b7cd97aa0b83bd46912948b8dc2dcabcc2

chore(dependencies): Autobump korkVersion (#1300) Co-authored-by: root <root@50805f9a9c19>

view details

spinnakerbot

commit sha cc6428df52f7360e444f4410655ff46b38011ac1

chore(dependencies): Autobump korkVersion (#1301) Co-authored-by: root <root@f429c082b070>

view details

spinnakerbot

commit sha 09576b31010b3bae6efd8187faa2561e5a112f4c

chore(dependencies): Autobump korkVersion (#1302) Co-authored-by: root <root@12e6abdc8861>

view details

Gal Yardeni

commit sha 0b5c9796a9de67966812c8ba3ac3052635401769

fix(artifactReference): add artifactReference field into ConstraintStatus model (#1303)

view details

Chris Thielen

commit sha 78e4350c0d5934f67a641613ec709dd733d348e2

feat(pipeline): populate 'staleCheck' in orca savePipeline task (#1298) Related to https://github.com/spinnaker/orca/pull/3841 Co-authored-by: spinnaker <spinnaker@netflix.net> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Michael Plump

commit sha 9fc9087c908fac23277873e19d2d0255e37b25f5

chore(dockerfile): various Dockerfile cleanups (#1304) * chore(dockerfile): delete the (unused) java8 dockerfiles * chore(dockerfile): replace deprecated MAINTAINER with LABEL * chore(dockerfile): use gid/uid 10111 for the spinnaker user * chore(dockerfile): make docker builds more cacheable

view details

Sairam Rekapalli

commit sha 794159c1d46b7ac7a1bb600be47f40638526ae96

fix(misc): Updates to use retrofit service provider impl. (#1293) * fix(misc): Updates to use retrofit service provider impl fix(misc): test config * fix(misc): Make kork-retrofit as runtime dep only * fix(misc): Make kork-retrofit as runtime dep only * fix(misc): Make kork-retrofit as runtime dep only * fix(misc): move to setter injection * fix(misc): Make kork-retrofit as runtime dep only * fix(misc): trying test autoconfig option to wire up dep * fix(misc): update auto config * fix(misc): add qualifier for bean * fix(misc): update dependencies * fix(misc): explicit depends on * fix(misc): add test logging * fix(misc): test config * fix(misc): test config * fix(misc): test config * fix(misc): test config * fix(misc): test config * fix(misc): test * fix(misc): add flag to dump auto config report * fix(misc): add flag to dump auto config report * fix(misc): fix config * fix(misc): fix config * fix(misc): fix config * fix(misc): test * fix(misc): test * fix(test): test fix * fix(misc): fix config Co-authored-by: Adam Jordens <adam@jordens.org>

view details

spinnakerbot

commit sha 99146d76b29713ab0c8085d883d79711eab86f58

chore(dependencies): Autobump spinnakerGradleVersion (#1306) Co-authored-by: root <root@6a807b439d68>

view details

Kevin Woo

commit sha e8e9b8cdc722e45e0f88e4349eafe7d67f72723e

fix(v2PipelineTemplates): set response code to 200 OK because of swagger (#1307) Swagger on 2.14.5 codegen for Go doesn't parse the body for a caller. The workaround for now is to return a 200 so swagger will return the body back to a calling method. This is documented in https://github.com/swagger-api/swagger-codegen/issues/10435

view details

Cameron Fieber

commit sha 537d8c44bc95df11361f51202b2c2430215829d9

chore(build): gradle 6.6 (#1308)

view details

Chinikins

commit sha b3ede47f022b0e410b8c92a20e784e3ec9048c58

fix(getAllPluginInfo): fix return type (#1310) Co-authored-by: chini mukhopadhyay <chini@cloudera.com>

view details

Sairam Rekapalli

commit sha ab06a31f6837f5525282f7198013731f1cd9043b

fix(misc): Upgrade to kotlin 1.4 to match with kork kotlin version (#1312) * fix(misc): Upgrade to kotlin 1.4 to match with kork kotlin version * fix(misc): Remove TomcatConfiguration properties reference

view details

spinnakerbot

commit sha c5c7f5640cd0874e3bfefa6ee47a2218c60b5e9a

chore(dependencies): Autobump korkVersion (#1309) Co-authored-by: root <root@4bab6a330c11> Co-authored-by: Sairam Rekapalli <srekapalli@netflix.com>

view details

Chris Berry

commit sha 986f976ee95939f3cd7076748db02c21b0956958

feat(kayenta): expose pagination param on reports endpoint (#1305)

view details

spinnakerbot

commit sha 2015636ae0fbc646b409cb5703cad4ed2180e4a4

chore(dependencies): Autobump korkVersion (#1314) Co-authored-by: root <root@534ce9888ac0>

view details

spinnakerbot

commit sha 948eb1847138700355eaf04a90cd55701ccc323f

chore(dependencies): Autobump korkVersion (#1315) Co-authored-by: root <root@167ad51ad4f2>

view details

Cameron Fieber

commit sha 7959652fac2ec74e6cd725ef7b51d75fb6572150

chore(build): gradle 6.6.1 (#1316)

view details

spinnakerbot

commit sha 2d7adcc69742c01fb4cac398e36d2cebb39ab6a1

chore(dependencies): Autobump korkVersion (#1317) Co-authored-by: root <root@07aa874cb083>

view details

KeisukeYamashita

commit sha c2d54d8311c1d9ec84e79fd365ec9ac9f47ec266

chore(core): improve error response (#1297) * chore(core): improve error response * fix Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

spinnakerbot

commit sha 2c8968385d249c10388a7bcd6fdb4e81dd9d5a27

chore(dependencies): Autobump korkVersion (#1318) Co-authored-by: root <root@fa990adebdf5>

view details

push time in 17 days

push eventpdk27/halyard

Maggie Neterval

commit sha 8731a945ecf8d4b44c57033a669c357d514a1df4

feat(config): add upperBound/tooHighMessage for mineCanary feature flag (#1768) This flag gates legacy, pre-Kayenta stages in Deck's canary module that are likely not used by OSS users. To reduce confusion, deprecate this flag.

view details

spinnakerbot

commit sha 2c90755c7691b98ee7987f1822922498d4f011d2

chore(dependencies): Autobump clouddriverVersion (#1739) Co-authored-by: root <root@0b9afe36d40f> Co-authored-by: Eric Zimanyi <ezimanyi@google.com>

view details

Sairam Rekapalli

commit sha 2766ca9e668e35790027d0375d4747119daafcb0

fix(misc): Remove hard dependency on resolvedEnv endpoint and add runtime dep for kork actuator (#1770) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

spinnakerbot

commit sha 5dec12f4f1476d3e40134d844330af9e21a59247

chore(dependencies): Autobump korkVersion (#1769) Co-authored-by: root <root@f429c082b070> Co-authored-by: Eric Zimanyi <ezimanyi@google.com>

view details

spinnakerbot

commit sha 1844800f6e150e5734f91115aa2412c9733f30fa

chore(dependencies): Autobump korkVersion (#1771) Co-authored-by: root <root@12e6abdc8861>

view details

Michael Plump

commit sha 45f522ee6bc8c9ee7c8f3fbe6d8adb53d155012f

chore(dockerfile): various Dockerfile cleanups (#1772) * chore(dockerfile): replace deprecated MAINTAINER with LABEL * chore(dockerfile): use the same `adduser` commands as we do elsewhere * chore(dockerfile): make docker builds more cacheable * chore(dockerfile): make the ubuntu and slim dockerfiles more similar

view details

spinnakerbot

commit sha cd81fb4c34cf60b2b6f7cf052626f7d868bf34f8

chore(dependencies): Autobump spinnakerGradleVersion (#1773) Co-authored-by: root <root@6a807b439d68>

view details

Cameron Fieber

commit sha cffc793f3d68983023fc138bdda2d10d20e0a255

chore(build): gradle 6.6 (#1774)

view details

spinnakerbot

commit sha 32ede10efd81f484fb3e94a76123f6e3ca4ab71e

chore(dependencies): Autobump korkVersion (#1775) Co-authored-by: root <root@87c6cb8f1126>

view details

spinnakerbot

commit sha 8a11d8c8132c8dbdfc8b704b7d5025d44fd1e022

chore(dependencies): Autobump korkVersion (#1776) Co-authored-by: root <root@048626cb7ef2>

view details

spinnakerbot

commit sha 1488d4b9cf2e3bda1fb8bbd2c42286e8db23acdb

chore(dependencies): Autobump korkVersion (#1777) Co-authored-by: root <root@7cc2f7e2e8cd>

view details

spinnakerbot

commit sha dfab7cdd572cd22b2a79449f8e66a4401d298760

chore(dependencies): Autobump korkVersion (#1778) Co-authored-by: root <root@4bab6a330c11>

view details

spinnakerbot

commit sha 1788bcb65d4ecfc8da3320cfe12f47e3630d269f

chore(dependencies): Autobump korkVersion (#1779) Co-authored-by: root <root@534ce9888ac0>

view details

spinnakerbot

commit sha fa87869d12fbfad8df2e5ee4988adcea65813c6d

chore(dependencies): Autobump korkVersion (#1780) Co-authored-by: root <root@167ad51ad4f2>

view details

Cameron Fieber

commit sha 71f433bbfde30046253239d07ce852797e485912

chore(build): gradle 6.6.1 (#1783)

view details

spinnakerbot

commit sha da6c5ce2c4248c015edf6cf90ac8aaa9b93f0045

chore(dependencies): Autobump korkVersion (#1784) Co-authored-by: root <root@07aa874cb083>

view details

spinnakerbot

commit sha 1e51c19f9a024308d88cce02bc52f1c0da608c38

chore(dependencies): Autobump korkVersion (#1785) Co-authored-by: root <root@fa990adebdf5>

view details

spinnakerbot

commit sha 781797ebcfa4e26f0f855ff1bddd4bfa80e61251

chore(dependencies): Autobump korkVersion (#1786) Co-authored-by: root <root@ec7bd04f30f1>

view details

spinnakerbot

commit sha 8d9ecadfcc2a7b5cdfe9fc13678c799adedb3263

chore(dependencies): Autobump korkVersion (#1789) Co-authored-by: root <root@07935c2d2f7e>

view details

Justin Field

commit sha 41d4eed599a00265c742b8f865c6be5fbc48428e

feat(plugins): Support top level plugin config (#1788) Co-authored-by: Cameron Motevasselani <cmotevasselani@gmail.com>

view details

push time in 17 days

push eventpdk27/deck

Chris Thielen

commit sha e456347ca4ae8aa08165cd469ea73976c23c1638

fix(core/presentation): Do not render the form input even once (render the spel input instead) if spel is present and freeform is enabled (#8474)

view details

caseyhebebrand

commit sha ff4dc09bec11e873f0c9ad21b0341d23437ecc25

chore(core): Remove outdated nav components (#8473) * chore(core): Remove outdated nav components * chore(core): Remove unused refresher css

view details

Vignesh Murugesan

commit sha c956d541429f107a4d5069a7b63e0b0f26dd3590

fix(core/application): Handle edits to cloud provider in application config links

view details

Chris Thielen

commit sha e8d1ff843841e325dcccd0faf853a58edea92366

chore(package): publish amazon 0.0.262 core 0.0.499 (#8476)

view details

micnncim

commit sha 972e85d2af84f2d1dc2a8c98a64e609523ef96e9

config(auth): update default value of authEnabled (#8441) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Takaaki Nakama

commit sha 3f279bc4a3a88e126098d817aa1e2cc865fb2cf2

feat(gce): Add GCP internal http(s) load balancer. (#8397) * fix(provider/google): add internal http(s) load balancer. (#5042) * fix(provider/gce): Fix Internal HTTP LB implementations. * fix(provider/gce): convert Internal HTTP LB impl to ts * chore(gce): refactor internal http lb Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

caseyhebebrand

commit sha 5048c833ecd55f447c2202a6183485536ed5a7ed

fix(core/nav): Active nav category for hyperlinks (#8469) * fix(core/nav): Active nav category for hyperlinks * Switch to useSref

view details

Erik Munson

commit sha 256904734e3e939e9f8026a781c913252599f790

chore(deps): bump @spinnaker/styleguide from 1.0.20 to 1.0.21 (#8477)

view details

Vignesh Murugesan

commit sha 138ef6d641bb71c5369460bb3b378a13a7e90939

fix(docker/tag): Make help content explicit for tag field by placing it below the field.

view details

Kevin Woo

commit sha 7a15f5d795f7ee12d7bef470e37379baa6ce08be

fix(functions): normalizeFunction expects a Promise (#8468) https://github.com/spinnaker/deck/commit/72af6cc495cf9f82634f62631bba1f7b6e148eb7 introduced a bug when refactoring that calling `normalizeFunction` always returned a Promise. When it was removed, some calls to `normalizeFunction` may return plain objects that aren't wrapped in a Promise. Fix: wrap the return value with a `$q` to satisfy `IPromise`

view details

Erik Munson

commit sha 3d5d149c3070fc93b7b6a85ab31f1963af535a49

feat(core/managed): new visual iteration for version sidebar, 'decommissioned' cards (#8478) * feat(core/managed): add environment names, new visual treatment to version sidebar * feat(core/managed): add 'archived' status appearance, use in cards Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Erik Munson

commit sha 83b01d123371c6fb1c62d2c4c306b7883d11d4b0

feat(core/managed): new visual treatment for environment badges (#8479) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Erik Munson

commit sha 84377118d005024e6c6c0b542940fd958a59a4b6

chore(package): publish core 0.0.500 docker 0.0.58 google 0.0.17 (#8482)

view details

Luis Pollo

commit sha 621097687e758e38251d5af70e1ef9be23579a57

Replace the word "previous" with "prerequisite" in depends-on constraint text (#8483)

view details

Erik Munson

commit sha 63e31d3ce744aa19907243d27a61f58ae4aef5f4

fix(core/managed): supply references when updating constraints (#8485) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Maggie Neterval

commit sha b88e0deffdff6668cb5785037964f82e197dad52

fix(kubernetes): add nullable createdTime to base resource interface (#8486) Each resource template tries to read this field. Requires: https://github.com/spinnaker/clouddriver/pull/4791

view details

Maggie Neterval

commit sha 6a2fe671da0f65dda86a08299bfdd323a3487d00

fix(kubernetes): do not self-close element in angular template (#8487) Closes: https://github.com/spinnaker/spinnaker/issues/5962 Oddly, the `kubernetes-rolling-restart` component was rendering as expected, but each of the remaining elements in the list of actions (Edit and Delete) were not. Self-closing tags are not allowed in Angular templates, so I likely broke this when I added support for rolling restarts. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Erik Munson

commit sha c026603a590fee1234a79543fd0c8704373ac330

chore(package): publish core 0.0.501 kubernetes 0.0.46 (#8489)

view details

Vignesh Murugesan

commit sha 73805f2f25abad4d0371d70d74897c1d4ce1cd2d

fix(core/widgets): Remove CustomDropdown widget

view details

Maggie Neterval

commit sha 2c5a727ece1fe6f07928a5b727aa3900be74666d

fix(google): do not self-close react2Angular-created elements (#8493)

view details

push time in 17 days

push eventpdk27/clouddriver

Chris Smalley

commit sha 934373ab914b0a44bfa1ad6a6eb0334c9f41f44b

fix(saga): Retry INVALID_ARGUMENT exception when message is Titus assume IAM role error (#4772)

view details

Eric Zimanyi

commit sha e1c049ff7e76641ff18c2170740094113170eb7b

refactor(kubernetes): Improve null safety and remove some generics (#4771) * refactor(kubernetes): Move account validation to an instance method The function to validate a managed account is as a default method of an interface; it would be clearer if we just made it an instance method of the account we're trying to validate. * refactor(kubernetes): Validate account earlier and add annotations Currently we validate a managedAccount when creating the KubernetesV2Credentials, but by that time we've already read a number of fields from it. Move this validation earlier, to the beginning of the KubernetesNamedAccountCredentials constructor so that we can throw any errors earlier. This will not create new exceptions for any workflow, as we were always building the KubernetesV2Credentials at the end of this function (and calling validate) anyway, it just moves the exception to happen earlier. Let's also now annotate the two places we read the accountName with NonNull. We'll be extra careful and use Objects.requireNonNull even though we know we've already validated with a better message earlier. (This is so that if that validation ever changes/breaks at least we'll still be guaranteed a non-null value as the annotation states, albeit with a less helpful runtime exception.) * refactor(kubernetes): Remove StubKubernetesCredentials I wrote these to make testing easier, but these implement the generic KubernetesCredentials interface. Now that there's no V1 provider anymore, we have only one implementation of the interface and we should eliminate it for simplicity. Given that the interface doesn't really represent a useful level of abstraction, using it in tests is really not that much better than mocking, so use a mock instead. Ideally we'll break up KubernetesV2Credentials to make testing easier but for now let's remove the level of abstraction that no longer adds value. * refactor(kubernetes): Un-generify KubernetesCachingAgentDispatcher Now that there is no Kubernetes V1 provider, there is only one implementation. * refactor(kubernetes): Remove KubernetesCachingAgent interface Push everything down to KubernetesV2CachingAgent, which is the only implmentation now that the V1 provider is deleted. * refactor(kubernetes): Un-generify KubernetesAtomicOperationDescription Now that the V1 provider is gone, the only implementations are for the V2 provider, so we can remove the redundant type parameter. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

spinnakerbot

commit sha fb00651f65166b5666c117dc37ffb093abd061e0

chore(dependencies): Autobump korkVersion (#4774) Co-authored-by: root <root@50805f9a9c19>

view details

spinnakerbot

commit sha 2374188cdabfacdcd9d9af59afd9f02b922e5d40

chore(dependencies): Autobump korkVersion (#4775) Co-authored-by: root <root@f429c082b070>

view details

Takaaki Nakama

commit sha a34b9510eee3ced83965723838b89c80e6a3af31

feat(gce): Add GCP internal http(s) load balancer. (#4725) * fix(provider/google): add internal http(s) load balancer. (#5042) * fix(provider/gce): Fix Internal HTTP LB implementations to use java. * fix(provider/gce): Fix internal http lb cannot be deployed with other global lbs * fix(provider/gce): Fix referencing not existing property * chore(gce): no use ProviderVersion * chore(gce): null check in common place * chore(gce): set subnet purpose default value n/a * chore(gce): refactor internal http lb Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Eric Zimanyi

commit sha 1d28568f202d51bf157cfb05da9d4871fcc94bdb

refactor(kubernetes): Further simplifications of cache data logic (#4776) * refactor(kubernetes): Remove needless ObjectMapper The object is already of the correct type. Also inline declaration/ assignment above so it's easier to see this. * refactor(kubernetes): Clean up convertAsArtifact convertAsArtifact is doing a lot of null checks on things that can't be null. If the artifact is present, it's guaranteed to have a non-null type; likewise the getCreationTimestamp never returns null. Remove these checks, inline some variables, and move to an .ifPresent to greatly simplify the function. Finally, we were storing a relationship between the infrastructure item and the artifact; we don't need or use these relationships at all and treat these two areas of the cache separately. It's better for performance on cache writes/reads, as well as simplifies the code, if we remove these relationships. This means we don't need to return the key from convertAsArtifact, or use it to add a relationship in the calling code. * refactor(kubernetes): Pull convertAsArtifact out of convertAsResource Now that convertAsArtifact and convertAsResource are not dependent on each other (because they don't store reource-artifact relationships) it's clearer if we pull convertAsArtifact up a level rather than have it be inside of convertAsResource. Also update catching an Exception to catching a RuntimeException. * refactor(kubernetes): Clean up null checks in RegistryUtils lookupHandler is really a simple function but is 15 lines long to account for unnecessary null checks. None of the callers ever pass a null kind (as they use KubernetesManifest.getKind which never returns a null). Likewise, then KubernetesResourceProperties in practice can never have a null handler; let's just enforce that at creation and add the annotation. Now that we don't need all these null checks, just directly look up the handler where needed instaed of calling lookupHandler. * refactor(kubernetes): Remove RegistryUtils These two functions are just looking properties up on an object; inline them where they are used so we can delete another static utils class. * refactor(kubernetes): Move filtering logic to stream Instead of exiting early from convertAsResource, just move the filtering logic to the stream where it's called as it's clearer there. Also update KubernetesCachingProperties to be immutable and only have the API that we actually use. Finally, remove setting the application we got from the KubernetesCachingProperties as an attribute in the cache. We don't use this in any case, and in cases where we do want the applciation, we should use the one on the moniker that we persist in the cache data. * refactor(kubernetes): Clean up some logging We check a few things on a manifest before caching and log a warning; it's not clear that this is really useful. The check that it's not null is always false; the check for name/namespace I guess could help with debugging, but we're really just checking that Kubernetes is returning a valid manifest, which seems not that useful. At points where we actually use these, I guess we could log/fail if they are missing, but I've never found a use for this log message in all my time debugging Kubernetes bugs. Similarly, logging every non-Spinnaker-owned manifest does not seem useful; there is a flag to decide if you want to cache these or not. If you have the flag on you want these cached, if not, you don't reach this log statement. * refactor(kubernetes): Use Moniker from CacheData instead of re-computing As a first step towards using the data we cache instead of re-computing things, let's use the Moniker that we store on the CacheData. We always store this, but are currently throwing it away and re-computing it. For now I'm just adding Moniker to the constructor, though my eventual plan (once we build everything from the CacheData) will be to pass in a strongly-typed CacheData object rather than greatly increase the number of constructor parameters. * refactor(kubernetes): Use a Kubernetes-specific namer registry We currently use a reasonably complex NamerRegistry to handle two things: (1) Keeping track of any NamingStrategy components on the classpath and returning them by name when we call namerRegistry.getNamingStrategy. (This happens when we construct Kubernetes credentials and have a string representing the naming strategy.) (2) Given an account name, asking for the naming strategy for that account. In both cases, it's overly complicated that we have general logic for all providers and this logic is not type-safe. For example getNamingStrategy returns a raw Namer, so we have to hope that is a Namer<KubernetesManifest>, and hope is not a naming strategy. Likewise, every time we need to look up the namer for an account, we need to query a global registry across all providers (but first tell it that we want a namer for a Kubernetes account, the name of the account, and that we want to name KubernetesManifest.) While this looks somewhat typesafe, it turns out that the only reason we pass KubernetesManifest.class to these calls is so that withResource can cast the result for us (so we don't need to), so we are only getting the illusion of safety. Let's instead: (1) Make a KubernetesNamerRegistry that keeps track of any registered NamingStrategy<KubernetesManifest> and return them by name (while guaranteeing typing). (2) Once we get the namer, just store it on the credentials object like we do for other things, instead of relying on a global registry. I don't like having more and more things on the credentials object, but I still think this is better than global state which is the current state. Also, by having these things all in one place on the object we can start to see patterns and refactor them into better classes. We now no longer use the general NamerRegistry at all in the Kubernetes provider; other providers still use it, though they may also want to just implement their own like this. * refactor(kubernetes): Make KubernetesManifestNamer immutable Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Eric Zimanyi

commit sha 22feb2a866f96606ebe19be61369bd7a4a155eb6

fix(test): Fix intermittent timeout in PooledRequestQueueTest (#4777) I fixed a deadlock in this test a few weeks ago, but just ran into one other timeout. This commit makes a few minor fixes to reduce the chances of hitting a timeout here. First: (1) Use a fixed thread pool executor so we create all the threads we need up front and reduce the work later. (2) Don't start our timeout clock until the job we're expecting to timeout has been queued. (3) Increase the startup timeout to 50 ms and only time out the test after 10x (instead of 5x); this is just so we're dealing with slightly larger absolute numbers. (Before we were only waiting 100 ms to time out the test, now we're waiting 500ms.) (4) Fail with a specific message if we timeout, rather than assert on the status of the job (which we know won't be in the expected state because we killed it). This just helps debugging as I was confused at first what happened. I think this only happens if you are running the clouddriver tests locally with your editor open while on a video call, but hopefully with these fixes the tests pass even in that case.

view details

Jason Coffman

commit sha 80d81bee5ccc277d793346d34700ea55df024613

fix(lambda): Fixes create lambda from failing when DLQ is not provided (#4779)

view details

Kevin Woo

commit sha 7166916a1adca4d3ad81e65a9314fcebab91e997

chore(build): removed UTF8 "smart quotes" (#4780)

view details

Kevin Woo

commit sha 74c8f639f9899f23e61a6c6dafdafdee5aa5cf4b

fix(test): reverts (#4777) Fix intermittent timeout in PooledRequestQueueTest (#4781) This reverts commit 22feb2a866f96606ebe19be61369bd7a4a155eb6.

view details

Kevin Woo

commit sha a1e4448da8ac652db73157685ebebbe16e8fae2f

chore(build): bump up gradle memory max to 7gb (#4782)

view details

spinnakerbot

commit sha e4bb29e19cdb72f10c9b3a5bbea4c878959a8eaf

chore(dependencies): Autobump korkVersion (#4783) Co-authored-by: root <root@12e6abdc8861>

view details

Eric Zimanyi

commit sha f5f31de4b214eadb8791508eb31b732ab53b27bb

perf(kubernetes): Always do a live lookup for getManifest (#4778) * refactor(kubernetes): Inline defaultCacheData This is a tiny function used in one place; it's clearer to just have the logic inline rather than pass so many parameters. Also the calling function never accepts nor returns nulls; annotate it as such. * refactor(kubernetes): Clean up null safety in resource relationships implicitRelationships and ownerReferenceRelationships now no longer accept any null parameters, and can remove their null-checking logic. This also finally makes all the parameters to convertAsResource non-null so we can just annotate with as such. * refactor(kubernetes): Clean up type-safety/null-safety in job provider The manifest providers should be ManifestProvider<KubernetesV2Manifest> so that we don't need to cast the result to a KubernetesV2Manifest. Also getKubernetesJob should return an Optional as it sometimes returns null; the calling functions have interface contracts so need to return null but let's annotate them as nullable. * perf(kubernetes): Only load metrics if events are requested For performance reasons we have the includeEvents flag in the getManifest function because in most cases we don't need events. We only need events when loading a manfiest from deck so that we can populate them in the UI. The same is true for metrics. We don't need metrics when checking on the status of a deployed manifest, only when loading the UI tab for the manifest. Rather than add another flag, let's just consider metrics to be events and only load them when we've requested events. * perf(kubernetes): Always do a live lookup for getManifest Many users managing large Kubernetes deployments with Spinnaker use the liveManifestCalls flag because it allows deployments to complete without waiting for a cache refresh cycle. The initial plan to remove this flag (and revert to using the cache always) was discussed at the Kubernetes SIG and users did not want to lose this functionality. In order to simplify the code and reduce the configuration necessary to get a working, scalable deployment, let's make this the default given that it has proven itself with many large users. This commit replaces the two kubernetes manifest providers with a single one; it always does a live lookup for getManifest() and always uses the cache for getClusterAndSortAscending (which was always the case for users of liveManifestCalls because this was never implemented in the live provider). This will not immediately speed up deploys for users using liveManifestCalls because we will still block on force cache refresh. We need to do this because there are bugs downstream (ie, with disabling/deleting older server groups) if the cache is not up to date. The next step will be to fix this cache refresh strategy and remove the force cache refresh stage in all cases. * refactor(kubernetes): Remove fromCacheData We're always passing includeEvents=false now; when we remove all the logic that was gated by this flag, it simplifies down to a single line so let's just inline it. * refactor(kubernetes): Delete metric caching agent Now that we only ever do live lookups of metrics in the rare cases where we need them (when someone has the infrastructure tab open to a pod) we don't need to metrics caching agent; delete it and the code supporting it.

view details

Nicolas Cohen

commit sha b53ac1d819eaddbbec6344aa65d2f1e4fca5e525

fix(kubernetes): check existing versions in the account we are deploying to (#4785) This fixes #5964 Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Eric Zimanyi

commit sha f56deb5a16f702b94a23ca1d15e42c0d8b3ed1cf

fix(test): Fix intermittent timeout in PooledRequestQueueTest (#4784) This was reverted in 74c8f639f9899f23e61a6c6dafdafdee5aa5cf4b but did not end up being the cause of the issue being investigated; re-applying. I fixed a deadlock in this test a few weeks ago, but just ran into one other timeout. This commit makes a few minor fixes to reduce the chances of hitting a timeout here. First: (1) Use a fixed thread pool executor so we create all the threads we need up front and reduce the work later. (2) Don't start our timeout clock until the job we're expecting to timeout has been queued. (3) Increase the startup timeout to 50 ms and only time out the test after 10x (instead of 5x); this is just so we're dealing with slightly larger absolute numbers. (Before we were only waiting 100 ms to time out the test, now we're waiting 500ms.) (4) Fail with a specific message if we timeout, rather than assert on the status of the job (which we know won't be in the expected state because we killed it). This just helps debugging as I was confused at first what happened. I think this only happens if you are running the clouddriver tests locally with your editor open while on a video call, but hopefully with these fixes the tests pass even in that case. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Chris Smalley

commit sha a932950fe046d3ca0a80a9899475c2d071d8c00a

fix(saga): Disable retrying INVALID_ARGUMENT on rate exceeded error (#4786)

view details

Eric Zimanyi

commit sha 292d43e08c40d72ef41fba67052043bdbc871de3

fix(build): Reduce Xmx and Xms (#4788) Our container builds run on a machine with only 7.2 GB of memory; while we do want to give a lot to the JVM we should leave a bit more for the everything else. I was able to succesfully build the containers with these settings, so let's use them.

view details

Eric Zimanyi

commit sha 97d7e519ea4c8cf219027f4161e1e132ab600232

fix(google): Fix assertion error on unknown target proxy (#4789) * fix(google): Fix assertion error on unknown target proxy Our code to parse the target proxy type from a URL is overly strict and throws an IllegalArgumentException if it encounter something it doesn't recognize. While I suppose that it might be helpful for us to know if there are different types of proxies we don't support encountered, this is very disruptive to users who might have these in their deployments as we just fail. In nearly all cases, we are just checking if the result of getTargetProxyType is a particular type. This logic will still work if we just return an UNKNOWN type if we don't recognize the target proxy type, so let's do that instead. * fix(google): Changes to last commit I forgot to push a few changes before opening the pull request.

view details

Maggie Neterval

commit sha 07d719dece9c781db8b70fb9a254028155f0b481

refactor(kubernetes): remove NoopManifestProvider (#4790) * refactor(kubernetes): remove NoopManifestProvider We are never actually wiring a NoopManifestProvider, since the KubernetesV2ManifestProvider is now always wired and ManifestProvider is now kubernetes-specific. * refactor(kubernetes): simplify KubernetesManifestProvider callers Now that there is only one ManifestProvider implementation, remove the interface and have callers wire KubernetesManifestProvider directly. * refactor(kubernetes): rename KubernetesV2ManifestProvider to KubernetesManifestProvider * fix(kubernetes): mark KubernetesManifestProvider.getManifest @Nullable Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Maggie Neterval

commit sha 68748e15ec999e76388646952a0c201a85737ce4

fix(kubernetes): replace getCreatedTime in KubernetesResource interface (#4791) We [removed](https://github.com/spinnaker/clouddriver/pull/4769) getCreatedTime from the shared interface extended by Kubernetes resource types and pushed it down to KubernetesServerGroup only, but it turns out that Deck expects all resources to have this field. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

push time in 17 days

push eventpdk27/kayenta

Chris Berry

commit sha fd73211e463cf80a02e4edc9ea9c172a1cb0a21f

feat(reports): allow pagination of canary reports endpoint results (#781)

view details

KeisukeYamashita

commit sha f6bda1a5c535bbe6542b906c1ce3a83cb8ef4061

chore(dockerfile): deprecated mantainer (#777) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Michael Plump

commit sha f50551dce69ec346d5e14897db409fffa19671a0

chore(dockerfile): various Dockerfile cleanups (#782) * chore(dockerfile): delete the (unused) java8 dockerfiles * chore(dockerfile): replace deprecated MAINTAINER with LABEL * chore(dockerfile): use gid/uid 10111 for the spinnaker user * chore(dockerfile): make docker builds more cacheable

view details

spinnakerbot

commit sha ed5ba538f40a992b903eeb2957d45541b3c2f4d1

chore(dependencies): Autobump spinnakerGradleVersion (#783) Co-authored-by: root <root@6a807b439d68>

view details

Cameron Fieber

commit sha cadcbca9f7c0c92cbbff84b91328c050db3f30db

chore(build): gradle 6.6 (#785)

view details

dwest-netflix

commit sha 0d1d754acc80622a20c4ae36caaa6d3eaa0e6bbd

chore(upgradeconfigbin): Upgrades configbin v1 to configbin v2. (#784) Upgrade ConfigBin v1 to ConfigBin v2.

view details

spinnakerbot

commit sha 65e2bb44b890dc280a949bc39a5519a46491bd7b

chore(dependencies): Autobump keikoVersion (#787) Co-authored-by: root <root@e077008c657c>

view details

Chris Berry

commit sha 8f20ce033c7fbb9af9532b4cc6d1479d4dd352b4

fix(config): include updatedTimestamp when indexing configs (#788)

view details

Cameron Fieber

commit sha 81882645bd887ead45186cfeb16188128015098e

chore(build): gradle 6.6.1 (#789)

view details

Ethan Hall

commit sha 7a8630bc230099ddea31bd20cba88a60c580d1de

fix(kubernetes): Adding STS Jar to classpath (#791) With this, anyone that uses a task role inside EKS will be able to access S3 buckets granted to them by their task-role.

view details

push time in 17 days

startedawsdocs/aws-cloudformation-user-guide

started time in 19 days

issue commentspinnaker/spinnaker

Proposal: Improve AWS EC2 / Spot Support

@christopherthielen

From the screenshots, it looks like this UI fully replaces the "simple" instance type picker. Is there a UI toggle that switches back to the existing behavior?

By "simple" instance type picker, are you referring to the current state of Instance Type section where none of the features listed here are supported? The proposed features require support for launch templates to be enabled and will be accessible by enabling a custom setting (we are still evaluating what this looks like for the customer) So, customers who want these features will make this change in their setting and only see the Instance Type section with the new features.

A UI toggle to switch between proposed features or no proposed features wouldn't suffice because of the dependency on launch template setting, is my understanding -> this toggle will be in the build settings.

w.r.t the weight ordering in the mockup: just wanted to point out that we currently sort most things in Deck using a drag/drop sorter widget (see the pipelines sort functionality)

Great! We will try to keep it consistent.

pdk27

comment created time in 19 days

issue commentspinnaker/spinnaker

Proposal: Improve AWS EC2 / Spot Support

@noahi

  1. Is there a reason the Enable CPU toggle is a check box, and the Show all types toggle is a slider?

These mocks were put together quickly to indicate the high-level direction of the design. We can make these consistent 👍

  1. given that the type checkbox is on the left column, maybe swap the two toggles above, so the show selected/all toggle is above the checkbox for each type?

It makes sense to move the show selected/all toggle to the left.

  1. Just how tall is the "Select an instance type..." dropdown? Is it sorted? Do users know what those types mean? (Personal pet peeve: I tried to get AWS to build a better instance picker for years when I worked there. It never happened.)
  2. with custom types will users know the CPU, mem, storage, etc?

The "Select an instance type..." dropdown is very long today and the length will not be impacted by these features - it might only get longer and more descriptive with some improvements suggested in the design document :)

  1. Add information like vcpu, memory, usage classes supported, virtualization, storage type to instance type drop-down list when custom type is chosen
  2. Mark or remove already selected instance types in drop-down for the multiple instance types case.

1# requires integrating with a recently launched EC2 Describe Instance Types API. So, this will a follow-up after the main deliverables in the design.

  1. does it make sense to bubble selected instance types to the top? that would make prioritization easier, but ruins the sort order. 4a. might make the "show only selected' option redundant though.

Not sure if this would make sense as the order of the selected instance types will be used for order when On Demand allocation strategy prioritized is chosen.

We are considering the instance types table under non-custom type to be sortable (this feature is missing in the mocks). But, this could lead to undesired order of instance types in the AWS request. Will bring this up in review tomorrow and would like to hear more thoughts on this.

pdk27

comment created time in 19 days

create barnchpdk27/deck

branch : spot-proposal-mocks

created branch time in 20 days

startedkeikoproj/minion-manager

started time in a month

issue commentspinnaker/spinnaker

Proposal: Improve AWS EC2 / Spot Support

Looks good! I think it would be helpful to add a sample of the new API request, especially for API users who are not relying on the UI as much. Maybe just highlighting what the added fields are named and their types and/or any defaults.

Sure, Casey. Looking into it. Will update the proposal soon.

pdk27

comment created time in a month

startedAutoSpotting/AutoSpotting

started time in a month

issue commentspinnaker/spinnaker

Proposal: Improve AWS EC2 / Spot Support

It looks like the instance weights may have good defaults-- is that going to be something we can count on, that it will default to weighting aligned with vCPU counts?

@avram the current proposal doesn't include weight recommendations as instance weighting can be customized across various parameters. We will look into simple weight recommendations based on vCPU counts for the non-custom type selection categories in Instance Type section of Deck.

Instance weighting recommendations for custom type will probably be trickier and more involved. We have a follow-up item for evaluating the idea of recommendations.

pdk27

comment created time in a month

issue commentaws/ec2-spot-instances-integrations-roadmap

Improved EC2 Spot Instances best practices support in Spinnaker

@avram Spinnaker currently supports launching an ASG via Spinnaker Server Groups. Support for launch templates is currently being tested and will be launched soon.

We have a proposal out to add support for: https://github.com/spinnaker/spinnaker/issues/5989

  1. Launch a AWS EC2 Server Group (ASG) with:
    1. multiple instance types
    2. Spot allocation strategies and diversification across a number of SpotInstancePools
    3. distribution of instances across purchase options - Spot and On-Demand
  2. Display CPU credits for burstable performance instances types
  3. Choose unlimited CPU credits for burstable performance instance types (default in clouddriver will be standard for both t2 and t3 families)
  4. Support more instance types in burstable performance families
    1. add t3 family
    2. add size options for t2
  5. AWS EC2 / Spot best practice recommendations via helper texts

Feedback is welcome:)

I see that some of the features you are interested in are included above. We will follow-up on other feature requests like multiple AMI support as we make progress.

schmutze

comment created time in a month

issue commentspinnaker/spinnaker

Add AWS spot fleet support

https://github.com/spinnaker/spinnaker/issues/5989 - this proposal covers the features asked in this issue, but via ASG (not Spot fleet)

Features covered:

  • multiple instance types
  • Spot best practices like capacity optimized allocation strategy that can provision spot instances from deepest capacity pools

Feedback on the proposal is welcome.

MoisesRT

comment created time in a month

issue openedspinnaker/spinnaker

Proposal: Improve AWS EC2 / Spot Support

This issue proposes a bunch of new features in the AWS EC2 / Spot cloud provider area.

Design document Status: Gathering feedback (Discussed in SIG on 08/19) Design review meeting with SIG: TBD

Issue Summary

Spinnaker currently supports launching an AWS Server Group / Auto Scaling group (ASG) with a single instance type and a Spot max price.

This proposal is about adding the following features:

  1. Launch a AWS EC2 Server Group (ASG) with:
    1. multiple instance types
    2. Spot allocation strategies and diversification across a number of SpotInstancePools
    3. distribution of instances across purchase options - Spot and On-Demand
  2. Display CPU credits for burstable performance instances types
  3. Choose unlimited CPU credits for burstable performance instance types (default in clouddriver will be standard for both t2 and t3 families)
  4. Support more instance types in burstable performance families
    1. add t3 family
    2. add size options for t2
  5. AWS EC2 / Spot best practice recommendations via helper texts

Prerequisite: Spinnaker must support AWS launch templates - this effort is ongoing.

AWS EC2 Background

AWS EC2 Spot Instances represent unused EC2 capacity in AWS. They are available at up to a 90% discount compared to On-Demand prices. The caveat being that Spot instances can be interrupted and taken away by EC2 with a two minute notification. AWS recommends some best practices to maximize cost savings while minimizing the impact of interruptions.

  • diversify instances across capacity pools (instances in a pool have the same instance type, operating system, availability zone and network platform, and are priced the same)
  • use Spot allocation strategies like capacity optimized to provision spot instances from the deepest capacity pools, lowering the possibility of interruptions

Feature Area

Deck - ServerGroups, Clouddriver

Proposal

Deck: The new features will be accessible by enabling a custom setting. All new features proposed here require support for launch templates to be enabled.

High-level changes:

  1. Changes to Instance Type section of the Create Server Group wizard (mocks below)
  2. Changes to ServerGroup details to accommodate changes from #1
  3. Validations for new fields
  4. Spot Instances Price field under Advanced Settings will be moved under Instance Type(as it makes more sense for the user to think about it while in the Instance Type section)

Mocks: <img src="https://user-images.githubusercontent.com/3614196/90691933-cf784380-e239-11ea-8fa3-82450cf4cd6a.png" width="300" height="400" /> <img src="https://user-images.githubusercontent.com/3614196/90692120-29790900-e23a-11ea-8fbd-19544445ce09.png" width="300" height="400" /> <img src="https://user-images.githubusercontent.com/3614196/90692180-4e6d7c00-e23a-11ea-9a3f-0dda5608737b.png" width="300" height="400" /> <img src="https://user-images.githubusercontent.com/3614196/90692187-50373f80-e23a-11ea-8828-3c16961cd6a3.png" width="300" height="400" /><img src="https://user-images.githubusercontent.com/3614196/90692191-53cac680-e23a-11ea-8f04-161337638f97.png" width="300" height="400" />

Clouddriver: Changes to support the UI features. Primarily,

  • Add support for the ASG MixedInstancesPolicy feature, conditionally launching an AWS ASG with mixed instances policy when overrides / instances distribution configurations are used.
  • Add support for CPU credits while creating launch template

Additional Details

Addition details can be found in the design document.

Feedback Requested

If you are a maintainer and / or use the AWS provider and Spot instances, we'd like to hear feedback on the proposed changes.

created time in a month

Pull request review commentaws/amazon-ec2-instance-selector

upgrade to go 1.15

 repo-full-name: 	@echo ${REPO_FULL_NAME}  compile:-	@echo ${MAKEFILE_PATH}

don't we need the print anymore?

bwagner5

comment created time in a month

issue commentaws/aws-node-termination-handler

UpdateStrategy Example

The fix is merged in, it should be released soon.

anders-ni

comment created time in a month

delete branch pdk27/aws-node-termination-handler

delete branch : helm-ver-bump

delete time in a month

push eventaws/aws-node-termination-handler

Prathibha Datta Kumar

commit sha 292e4af3844abae869fb95bcd8f37255dfbf5286

updating default updateStrategy and bumping version for helm chart release (#228)

view details

push time in a month

PR merged aws/aws-node-termination-handler

Reviewers
bumping version for helm chart release

Issue #, if available: #226

Description of changes: bumping version for helm chart release

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

+9 -3

1 comment

3 changed files

pdk27

pr closed time in a month

push eventpdk27/eks-charts

pdk27

commit sha 5c840f29b38aab5978b84f5b6675687302a48711

helm chart fixes adding missing helm chart props updating chart version for release

view details

push time in a month

push eventpdk27/aws-node-termination-handler

pdk27

commit sha a97ef790306401951adce722597efb6a08d1830a

updating default updateStrategy and bumping version for helm chart release

view details

push time in a month

PR opened aws/eks-charts

helm chart fixes, sync and version bump

Issue #, if available: N/A

Description of changes:

  • helm chart fixes
  • adding missing helm chart props
  • updating chart version for release

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

+27 -9

0 comment

5 changed files

pr created time in a month

PR opened aws/aws-node-termination-handler

bumping version for helm chart release

Issue #, if available: #226

Description of changes: bumping version for helm chart release

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

+1 -1

0 comment

1 changed file

pr created time in a month

create barnchpdk27/aws-node-termination-handler

branch : helm-ver-bump

created branch time in a month

create barnchpdk27/eks-charts

branch : aws-helm-fixes

created branch time in a month

push eventpdk27/aws-node-termination-handler

Prathibha Datta Kumar

commit sha 1943f8bce4f9a1ef73a52c8973712aac1e1c3462

fix missing new line for updateStrategy (#227)

view details

push time in a month

fork pdk27/eks-charts

Amazon EKS Helm chart repository

fork in a month

issue commentaws/aws-node-termination-handler

UpdateStrategy Example

Thanks for reporting the issue. It turns out that the templates were missing the addition of a new line for updateStrategy.

You can make the changes in the PR to unblock yourself until the changes are released.

anders-ni

comment created time in a month

PR opened aws/aws-node-termination-handler

fix missing new line for updateStrategy

Issue #, if available: https://github.com/aws/aws-node-termination-handler/issues/226

Description of changes: fix missing new line for updateStrategy

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

+4 -4

0 comment

2 changed files

pr created time in a month

create barnchpdk27/aws-node-termination-handler

branch : helm-fix

created branch time in a month

push eventpdk27/aws-node-termination-handler

Brandon Wagner

commit sha 60a88a36fb62488dfc4386f174bc435c411b9758

update kind and helm for e2e tests (#151) * update kind and helm for e2e tests * remove k8s 1.11 since it is deprecated in eks and no longer works with kind

view details

Marcin Cuber

commit sha 0ee506b45729d44848695f6083fbbfd39af8afea

Replace deprecated values (#149) * Remove depricated keys * allow to modify keys * Update daemonset.yaml

view details

Jason Haugen

commit sha c34c661c79bf4522486ec365f836d6b33bea9944

Add goji license that was missed from json logging change (#154)

view details

Brandon Wagner

commit sha 24e332074d81eb872182bdeb4ff9b29816b2572d

handle http proxy config for webhooks (#150) * handle http proxy config for webhooks * add webhook proxy test

view details

Jason Haugen

commit sha 281690d7c0027bd07f8f619d9e344e2d8c5711b2

Revert date format in human-readable logs (#155) * Revert date format in logs to preveserve backwards compatibility * Fix msg -> msgf in webhook_test

view details

Brandon Wagner

commit sha 6f7dc0010485122689229324692a5d2a292715d3

Prepare for 1 4 0 release (#153) * add os and arch node selector keys to helm readme * prepare for v1.4.0 release

view details

Brandon Wagner

commit sha 9769814866f09a0462762ec99b76bac9a4b0a505

fix diff out of sync (#156)

view details

Brandon Wagner

commit sha 39297c841e3cf56ddbe8d429e5fb740986ee1674

readme update for installation instructions (#157)

view details

Brandon Wagner

commit sha 2d941c3e255a51f7ffaf86ecf3b88e2591fe6017

set idle conns timeout on webhook http client (#158)

view details

Brandon Wagner

commit sha b6477836cc81f6c2e82ca9840adf170472bbd0fc

fix enabling docker cli experimental features in travis env (#159)

view details

Ilya Shaisultanov

commit sha 0d528d632f8d3e9712da0fe678fc11240acc2fa4

Taint nodes on spot and scheduled events (#162) * Taint nodes on spot and scheduled events Fixes #160. Signed-off-by: Ilya Shaisultanov <ilya.shaisultanov@gmail.com>

view details

Brandon Wagner

commit sha ae4d988004216f84e9c1de23058e7fb342b0a7de

Update installation cmd in README (#165)

view details

Brandon Wagner

commit sha 30128670bc91a6c7008c309bcf9706c9ee9a2a02

update travis to run license test on tag releases (#166)

view details

Manuel Alonso

commit sha 011a797a264bbae2164ce168dfc467967d1a9233

Prometheus metric endpoint and Opentelemetry stats (#172) * adding/testing prometheus flags for enabling and port. * adding prometheus and OT metrics * adding constant for default prometheus port with doc * adding events metrics, and refactoring * rewording, fixing tests * removing events metrics counter, refactoring nodeName * extends helm chart and doc with prometheus values * ignoring binary, removing unused metric * adding e2e test prometheus enabled, name better args cli * refactoring error event metrics * removing metrics in func not used * fixing env for prometheus port * adding license and improving documentation * adding metrics endpoint consideration in the readme * change type port to int * adding e2e tests for metrics verifying them

view details

Brandon Wagner

commit sha 466060d6348b0977a233a79213a41f76bbf65c15

stabilize e2e tests (#174) * stabilize e2e tests * tidy up the changes

view details

Brandon Wagner

commit sha cc6170de36fd583b24e8ba122c07face3f1b610c

prepare for 1.5.0 release (#175)

view details

Brandon Wagner

commit sha 8febad4fcf28bd9eab55aff92a183802bb4c9e20

update licenses (#176)

view details

Brandon Wagner

commit sha fc625bb7187077c9bb25f615671d2fcf9385629f

travis build improvements (#177) * travis build improvements * remove name from e2e tests so that version is more accessible * remove direct downloads when building images and binaries * only run helm validation on release * update k8s 1.18 kind node image * add makefile help target * remove --force on reinstall of emtp * sort assertion scripts so that order is deterministic between different versions of find

view details

Brandon Wagner

commit sha b21fff3ff5f55c25db53a06eea331c64853ebd5b

fix docker sync readme (#178)

view details

Brandon Wagner

commit sha 4c11208c1379ec4ff8f594b1aeaf9415768e3e43

Update .travis.yml

view details

push time in a month

issue openedaws/amazon-ec2-instance-selector

Support unsetting select filter flags with the usage of Suite Flags

Suite Flags is a good simplification for common / popular use cases. Overriding of values set for filter flags when suite flags are used is allowed, however, there is no way to unset certain filter flags like

ec2-instance-selector --base-instance-type m4.xlarge -o table --unset=memory-max,vcpus-max

created time in a month

Pull request review commentaws/amazon-ec2-metadata-mock

🥑🤖 v1.3.0 release prep

 TOKEN=`curl -X PUT "localhost:1338/latest/api/token" -H "X-aws-ec2-metadata-toke 0e:49:61:0f:c3:11 ``` -Requesting a token outside the TTL bounds (between 1-2600 seconds) will return **400 - Bad Request:**

oh no! anything like 1.*2 has been replaced :#

brycahta

comment created time in a month

Pull request review commentaws/amazon-ec2-metadata-mock

🥑🤖 v1.3.0 release prep

 local-ipv4 mac network/interfaces/macs/0e:49:61:0f:c3:11/device-number network/interfaces/macs/0e:49:61:0f:c3:11/interface-id-network/interfaces/macs/0e:49:61:0f:c3:11/ipv4-associations/192.0.2.54

oops. looks like we found a bug in the automation script!

brycahta

comment created time in a month

pull request commentaws/amazon-ec2-metadata-mock

Refactor mux to align with IMDS

LGTM 👍

brycahta

comment created time in a month

Pull request review commentaws/amazon-ec2-metadata-mock

Refactor mux to align with IMDS

+// Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.+//+// Licensed under the Apache License, Version 2.0 (the "License"). You may+// not use this file except in compliance with the License. A copy of the+// License is located at+//+//     http://aws.amazon.com/apache2.0/+//+// or in the "license" file accompanying this file. This file is distributed+// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either+// express or implied. See the License for the specific language governing+// permissions and limitations under the License.++package handlers++import (+	"log"+	"net/http"+	"sort"+	"strings"++	"github.com/aws/amazon-ec2-metadata-mock/pkg/mock/dynamic"+	"github.com/aws/amazon-ec2-metadata-mock/pkg/mock/static"+	"github.com/aws/amazon-ec2-metadata-mock/pkg/server"+)++const (+	// shortestRouteLength represents smallest metadata path without prefix + "/" ex: "mac/"+	shortestRouteLength = 4+	versionsPath        = "/"+	latestPath          = "/latest"+)++var (+	routeLookupTable = make(map[string][]string)++	supportedVersions   = []string{"latest"}+	supportedCategories = []string{"dynamic", "meta-data"}++	// trimmedRoutes represents the list of routes served by the http server without "latest/meta-data/" prefix+	trimmedRoutes        []string+	trimmedRoutesDynamic []string+)++// CatchAllHandler returns subpath listings, if available; 404 status code otherwise+func CatchAllHandler(res http.ResponseWriter, req *http.Request) {+	log.Println("Received request to CatchAllHandler: ", req.URL.Path)+	// CatchAllHandler may be invoked before ListRoutesHandler+	if len(trimmedRoutes) == 0 {+		formatRoutes()+	}++	var routes, results []string++	// Clean request path and determine which route list to search+	trimmedRoute := strings.TrimSuffix(req.URL.Path, "/")+	log.Println("removing suffix slash: ", trimmedRoute)+	if strings.HasPrefix(trimmedRoute, static.ServicePath) {+		trimmedRoute = strings.TrimPrefix(trimmedRoute, static.ServicePath+"/")+		log.Println("static prefix detected..trimming: ", trimmedRoute)+		routes = trimmedRoutes+	} else if strings.HasPrefix(trimmedRoute, dynamic.ServicePath) {+		trimmedRoute = strings.TrimPrefix(trimmedRoute, dynamic.ServicePath+"/")+		log.Println("dynamic prefix detected..trimming: ", trimmedRoute)+		routes = trimmedRoutesDynamic+	} else {+		server.ReturnNotFoundResponse(res)+		return+	}++	if paths, ok := routeLookupTable[trimmedRoute]; ok {+		log.Printf("CatchAllHandler entry %s already in map: %v \n", trimmedRoute, routeLookupTable[trimmedRoute])+		server.FormatAndReturnTextResponse(res, strings.Join(paths, "\n"))+		return+	}++	appendToResults := true

will be great if you can add some comments for this block and the at L#71

brycahta

comment created time in a month

Pull request review commentaws/amazon-ec2-metadata-mock

Refactor mux to align with IMDS

+// Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.+//+// Licensed under the Apache License, Version 2.0 (the "License"). You may+// not use this file except in compliance with the License. A copy of the+// License is located at+//+//     http://aws.amazon.com/apache2.0/+//+// or in the "license" file accompanying this file. This file is distributed+// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either+// express or implied. See the License for the specific language governing+// permissions and limitations under the License.++package handlers++import (+	"log"+	"net/http"+	"sort"+	"strings"++	"github.com/aws/amazon-ec2-metadata-mock/pkg/mock/dynamic"+	"github.com/aws/amazon-ec2-metadata-mock/pkg/mock/static"+	"github.com/aws/amazon-ec2-metadata-mock/pkg/server"+)++const (+	// shortestRouteLength represents smallest metadata path without prefix + "/" ex: "mac/"+	shortestRouteLength = 4+	versionsPath        = "/"+	latestPath          = "/latest"+)++var (+	routeLookupTable = make(map[string][]string)++	supportedVersions   = []string{"latest"}+	supportedCategories = []string{"dynamic", "meta-data"}++	// trimmedRoutes represents the list of routes served by the http server without "latest/meta-data/" prefix+	trimmedRoutes        []string+	trimmedRoutesDynamic []string+)++// CatchAllHandler returns subpath listings, if available; 404 status code otherwise+func CatchAllHandler(res http.ResponseWriter, req *http.Request) {+	log.Println("Received request to CatchAllHandler: ", req.URL.Path)+	// CatchAllHandler may be invoked before ListRoutesHandler+	if len(trimmedRoutes) == 0 {+		formatRoutes()+	}++	var routes, results []string++	// Clean request path and determine which route list to search+	trimmedRoute := strings.TrimSuffix(req.URL.Path, "/")

does trailingSlashMiddleware handle this?

brycahta

comment created time in a month

Pull request review commentaws/amazon-ec2-metadata-mock

Refactor mux to align with IMDS

 var (  	// ServicePath defines the static service path

static -> dynamic

the var is self-explanatory I think

brycahta

comment created time in a month

Pull request review commentaws/amazon-ec2-metadata-mock

Refactor mux to align with IMDS

 func Handler(res http.ResponseWriter, req *http.Request) { 	} } -// RegisterHandlers registers handlers for ALL static paths+// RegisterHandlers registers handlers for dynamic paths

nice catch:)

brycahta

comment created time in a month

Pull request review commentaws/amazon-ec2-metadata-mock

Refactor mux to align with IMDS

 func ReturnUnauthorizedResponse(w http.ResponseWriter) { 	http.Error(w, UnauthorizedResponse, http.StatusUnauthorized) 	return }++// trailingSlashMiddleware will remove trailing slashes and forward the request to the correct handler+func trailingSlashMiddleware(next http.Handler) http.Handler {

curious about the name next for the handler here. Can you provide some context.

brycahta

comment created time in a month

Pull request review commentaws/amazon-ec2-metadata-mock

Refactor mux to align with IMDS

+// Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.+//+// Licensed under the Apache License, Version 2.0 (the "License"). You may+// not use this file except in compliance with the License. A copy of the+// License is located at+//+//     http://aws.amazon.com/apache2.0/+//+// or in the "license" file accompanying this file. This file is distributed+// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either+// express or implied. See the License for the specific language governing+// permissions and limitations under the License.++package handlers++import (+	"log"+	"net/http"+	"sort"+	"strings"++	"github.com/aws/amazon-ec2-metadata-mock/pkg/mock/dynamic"+	"github.com/aws/amazon-ec2-metadata-mock/pkg/mock/static"+	"github.com/aws/amazon-ec2-metadata-mock/pkg/server"+)++const (+	// shortestRouteLength represents smallest metadata path without prefix + "/" ex: "mac/"+	shortestRouteLength = 4+	versionsPath        = "/"+	latestPath          = "/latest"+)++var (+	routeLookupTable = make(map[string][]string)

I still think the catch all handler can be simplified and the optimization of storing the subpaths might be an overkill here.

A simple example here - https://play.golang.org/p/PBIg_H8gtuA. We can talk more, I might be missing some context.

brycahta

comment created time in a month

Pull request review commentaws/amazon-ec2-metadata-mock

Refactor mux to align with IMDS

 func getHandlerPairs(cmd *cobra.Command, config cfg.Config) []handlerPair {  	return handlerPairs }++// registerStatic registers handlers for ALL static paths+func registerStatic(config cfg.Config) {

registerStatic and registerDynamic have specific logic concerning static and dynamic paths. They are probably not a good fit in cmdutil.go.

Curious as to why they were moved.

brycahta

comment created time in a month

Pull request review commentaws/amazon-ec2-metadata-mock

Refactor mux to align with IMDS

+#! /usr/bin/env bash++set -euo pipefail++SPOT_TEST_PATH="http://$HOSTNAME:$AEMM_PORT/latest/meta-data/spot"+SPOT_TEST_PATH_TRAILING="http://$HOSTNAME:$AEMM_PORT/latest/meta-data/spot/"+SPOT_IA_TEST_PATH_TRAILING="http://$HOSTNAME:$AEMM_PORT/latest/meta-data/spot/instance-action/"+SPOT_TT_TEST_PATH_TRAILING="http://$HOSTNAME:$AEMM_PORT/latest/meta-data/spot/termination-time/"++function test_subpaths() {

may be a good test to add is with a req path - '/latest/meta-data/network/interfaces/macs/<mac>/' to test ipv4-associations/ with trailing slash

brycahta

comment created time in a month

Pull request review commentaws/amazon-ec2-metadata-mock

Refactor mux to align with IMDS

+// Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.+//+// Licensed under the Apache License, Version 2.0 (the "License"). You may+// not use this file except in compliance with the License. A copy of the+// License is located at+//+//     http://aws.amazon.com/apache2.0/+//+// or in the "license" file accompanying this file. This file is distributed+// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either+// express or implied. See the License for the specific language governing+// permissions and limitations under the License.++package handlers++import (+	"log"+	"net/http"+	"sort"+	"strings"++	"github.com/aws/amazon-ec2-metadata-mock/pkg/mock/dynamic"+	"github.com/aws/amazon-ec2-metadata-mock/pkg/mock/static"+	"github.com/aws/amazon-ec2-metadata-mock/pkg/server"+)++const (+	// shortestRouteLength represents smallest metadata path without prefix + "/" ex: "mac/"+	shortestRouteLength = 4+	versionsPath        = "/"+	latestPath          = "/latest"+)++var (+	routeLookupTable = make(map[string][]string)++	supportedVersions   = []string{"latest"}+	supportedCategories = []string{"dynamic", "meta-data"}++	// trimmedRoutes represents the list of routes served by the http server without "latest/meta-data/" prefix+	trimmedRoutes        []string+	trimmedRoutesDynamic []string+)++// CatchAllHandler returns subpath listings, if available; 404 status code otherwise+func CatchAllHandler(res http.ResponseWriter, req *http.Request) {+	log.Println("Received request to CatchAllHandler: ", req.URL.Path)+	// CatchAllHandler may be invoked before ListRoutesHandler+	if len(trimmedRoutes) == 0 {+		formatRoutes()+	}++	var routes, results []string++	// Clean request path and determine which route list to search+	trimmedRoute := strings.TrimSuffix(req.URL.Path, "/")+	log.Println("removing suffix slash: ", trimmedRoute)+	if strings.HasPrefix(trimmedRoute, static.ServicePath) {+		trimmedRoute = strings.TrimPrefix(trimmedRoute, static.ServicePath+"/")+		log.Println("static prefix detected..trimming: ", trimmedRoute)+		routes = trimmedRoutes+	} else if strings.HasPrefix(trimmedRoute, dynamic.ServicePath) {+		trimmedRoute = strings.TrimPrefix(trimmedRoute, dynamic.ServicePath+"/")+		log.Println("dynamic prefix detected..trimming: ", trimmedRoute)+		routes = trimmedRoutesDynamic+	} else {+		server.ReturnNotFoundResponse(res)+		return+	}++	if paths, ok := routeLookupTable[trimmedRoute]; ok {+		log.Printf("CatchAllHandler entry %s already in map: %v \n", trimmedRoute, routeLookupTable[trimmedRoute])+		server.FormatAndReturnTextResponse(res, strings.Join(paths, "\n"))+		return+	}++	appendToResults := true+	for _, route := range routes {+		if strings.Contains(route, trimmedRoute) {+			log.Printf("route: %s   contains trimmed route: %s \n", route, trimmedRoute)+			// ex: iam/security-credentials --> security-credentials+			route = strings.TrimPrefix(route, trimmedRoute+"/")+			for i, existingRoute := range results {+				// ex: security-credentials/baskinc-role contains security-credentials+				if strings.Contains(route, existingRoute) {+					log.Printf("route: %s   contains existingRoute: %s \n", route, existingRoute)+					// display as security-credentials/+					results[i] = existingRoute + "/"+					log.Printf("updated existingRoute: %s \n", existingRoute)+					appendToResults = false+					break+				}+			}+			if appendToResults {+				log.Printf("adding route: %s to results\n", route)+				results = append(results, route)+			}+			appendToResults = true+		}+	}++	if len(results) <= 0 {+		server.ReturnNotFoundResponse(res)+		return+	}++	routeLookupTable[trimmedRoute] = results+	log.Printf("CatchAllHandler: adding  %s  and its routes: %v to the map\n", trimmedRoute, results)+	server.FormatAndReturnTextResponse(res, strings.Join(results, "\n"))+	return+}++// ListRoutesHandler returns the list of supported paths+func ListRoutesHandler(res http.ResponseWriter, req *http.Request) {+	log.Println("Received request to display paths: ", req.URL.Path)+	// Routes are not available until runtime; only want to do this ONCE+	if len(trimmedRoutes) == 0 {+		formatRoutes()+	}++	// these paths do not use routeLookupTable due to inconsistency of trailing "/" with IMDS+	switch req.URL.Path {+	case static.ServicePath:+		server.FormatAndReturnTextResponse(res, strings.Join(trimmedRoutes, "\n")+"\n")+	case dynamic.ServicePath:+		server.FormatAndReturnTextResponse(res, strings.Join(trimmedRoutesDynamic, "\n")+"\n")+	case latestPath:+		server.FormatAndReturnTextResponse(res, strings.Join(supportedCategories, "\n")+"\n")+	case versionsPath:+		server.FormatAndReturnTextResponse(res, strings.Join(supportedVersions, "\n")+"\n")+	default:+		server.ReturnNotFoundResponse(res)+	}++	return+}++func formatRoutes() {+	var trimmedRoute string+	for _, route := range server.Routes {++		if strings.HasPrefix(route, dynamic.ServicePath) {+			// Omit /latest/dynamic

why not omit latest/dynamic/ and remove L#147?

same comment for the else block

brycahta

comment created time in a month

Pull request review commentaws/amazon-ec2-metadata-mock

Refactor mux to align with IMDS

 func ReturnUnauthorizedResponse(w http.ResponseWriter) { 	http.Error(w, UnauthorizedResponse, http.StatusUnauthorized) 	return }++// trailingSlashMiddleware will remove trailing slashes and forward the request to the correct handler+func trailingSlashMiddleware(next http.Handler) http.Handler {+	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {+		// support "/" as a valid path+		if r.URL.Path != "/" {+			r.URL.Path = strings.TrimSuffix(r.URL.Path, "/")+		}+		log.Println(r.RequestURI)

add text to the log to include some context.

brycahta

comment created time in a month

Pull request review commentaws/amazon-ec2-metadata-mock

Refactor mux to align with IMDS

 func ReturnUnauthorizedResponse(w http.ResponseWriter) { 	http.Error(w, UnauthorizedResponse, http.StatusUnauthorized) 	return }++// trailingSlashMiddleware will remove trailing slashes and forward the request to the correct handler+func trailingSlashMiddleware(next http.Handler) http.Handler {+	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {+		// support "/" as a valid path+		if r.URL.Path != "/" {

if r.URL.Path != "/" && strings.HasSuffix(r.URL.Path, "/") ?

brycahta

comment created time in a month

push eventpdk27/halyard

Clay McCoy

commit sha 17ee007b4915fcc673312349692a3656de57bb21

fix(dependencies): update clouddriver (#1766) Also updated some modules to add clouddriver-api dep so that it would still compile.

view details

Raphaël Rondeau

commit sha 2cbf7f57d738c90669d1fb9e3fc43b72cf2cf26b

fix(kubernetes): fix custom service annotations (#1767)

view details

push time in a month

push eventpdk27/deck

Jason Coffman

commit sha cf33dcbf3fe11da00a872f0cf7a81f6be2aaca62

fix(functions): available lambda runtimes not up to date (#8472) Co-authored-by: Ubuntu <ubuntu@ip-172-31-52-143.ec2.internal> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

push time in a month

push eventpdk27/orca

Mark Vulfson

commit sha 69b33e1fa964553e4fd599d238073203c7d5de9a

fix(execution promoter): Only enable execution promoter if enabled (#3842) This way, if an orca cluster is not running the queue we don't enable the promoter

view details

Ubuntu

commit sha 113ea7c12ebcf50a31968157c3480b5a01d6a0b0

Merge remote-tracking branch 'upstream/master'

view details

push time in a month

push eventpdk27/kayenta

dwest-netflix

commit sha 44346d1f5228cfb5428d517ea1671dcd23d19e5d

fix(retry): Retry logic wasn't properly checking the response for nulls (#775)

view details

dwest-netflix

commit sha f2a33022003de65d98e83ce09032d8de12b73a5b

fix(canary): Fix Canary Indefinitely Retrying (#776) If you were to supply a config with no metrics, orca would loop indefinitely as it waited for non existent stages to finish (#776)

view details

spinnakerbot

commit sha b09adb8feb015160da230ace1555a8d7e132ab8d

chore(dependencies): Autobump orcaVersion (#779) Co-authored-by: root <root@60e37a2f202d>

view details

push time in a month

push eventpdk27/igor

Jared Stehler

commit sha 8eb26f9061b016f91364289bd6f640f308706e0d

fix(concourse): handle missing branch in git metadata (#826) Sets branch name to the sha1 short-ref if missing from concourse metadata

view details

push time in a month

push eventpdk27/gate

Michael Plump

commit sha d953120a320840ceb947e6dfe3795dbdae992a80

chore(spotless): upgrade spinnaker gradle plugin (#1294) This includes updates to google-java-format and ktlint, so requires some formatting changes. These were made with a simple `./gradlew spotlessApply`. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Emily Burns

commit sha e369f8706fddddbe524c947529fcde3430a4cb2f

fix(md): update swagger text for remove veto (#1299)

view details

Karl

commit sha f7842e41c6fdb6a4a0b3412af264a812bf521ae2

feat(gate): Add support for Redis SSL (#1295) * feat(gate): Add support for Redis SSL Follow Kork's existing pattern and check for presence of rediss in the URI Scheme. Gate doesn't initialise JedisPool() pool with parameters like Kork so follow Gate conventions and use function to enable SSL. * style(gate): fix indentation of redis ssl function Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

push time in a month

push eventpdk27/front50

Chris Smalley

commit sha 5ed028d628e64f135020f8932fdde0cf8a447fd9

feat(plugins): Add remote extensions field to a plugin info release (#917) * feat(plugins): Add remote extensions field to plugin info * chore(plugins): Addressing comments

view details

Sairam Rekapalli

commit sha 173b435fc1b7772b84b38e8779267e51052542a2

fix(misc): Recover application permission also when we undo delete op… (#916) * fix(misc): Recover application permission also when we undo delete operation on application * fix(misc): Fix formatting * fix(misc): Update code comment Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

push time in a month

push eventpdk27/fiat

Michael Plump

commit sha 9596559252831f1ade0cf48cb34c7ec0810233c8

chore(spotless): upgrade spinnaker gradle plugin (#740) This includes updates to google-java-format and ktlint, so requires some formatting changes. These were made with a simple `./gradlew spotlessApply`.

view details

Karl

commit sha e2a09da936b288995f9313e403119e6a8c1b1998

feat(fiat): Add support for Redis SSL (#741) Follow Kork's existing pattern and check for presence of `rediss` in the URI Scheme. Follow Kork's existing usage of JedisPool() and supply optional parameter designating if SSL is enabled or disabled. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

push time in a month

push eventpdk27/echo

Daniel Peach

commit sha b344d337d71b779b01850e275055e78d88f7d1c6

feat(notifications): add switch for supplying custom notification UI (#985)

view details

Michael Plump

commit sha bfaf9910b7cd33599dbfda5bef0fcd5084eff4dc

chore(spotless): upgrade spinnaker gradle plugin (#984) This includes updates to google-java-format and ktlint, so requires some formatting changes. These were made with a simple `./gradlew spotlessApply`.

view details

Mark Vulfson

commit sha ef1d1d1b80ad674ce053770820a214ee95e862d3

fix(trigger): handle quartz errors better (#987) * fix(trigger): handle quartz errors better We want to know when `echo` fails to register a trigger with quartz but only if it's not a user error (e.g. bad cron express, cron expression in the past, etc). Quartz, unfortunately, often throws a non-descript `SchedulerException` which doesn't provide machine identifiable way to decipher if this is a user error or a system error. This change replicates some logic that's in [quartz](https://github.com/quartz-scheduler/quartz/blob/939a9a25fbf3b374608de59e413405aebe10c089/quartz-core/src/main/java/org/quartz/core/QuartzScheduler.java#L882-L896) to decide if the trigger is valid, if not we will log a warning, but won't increment any failure metrics. If the are exceptions/errors outside of the trigger validation path, those will still log errors and increment failure metrics * fixup! fix(trigger): handle quartz errors better * fixup! fixup! fix(trigger): handle quartz errors better

view details

push time in a month

push eventpdk27/deck

caseyhebebrand

commit sha a7c3441586423b56d2565f99af9ede2a714a8b66

fix(core/nav): Apply new class to Page App Owner (#8442)

view details

Chris Thielen

commit sha a7312539380a95562d28028c4a52768d81892725

chore(package): publish core 0.0.495 kubernetes 0.0.43 (#8443)

view details

Chris Thielen

commit sha 5a502e7422c4de7331d71360f3cbd296c9d23ae3

fix(core/securityGroup): Clone cached data before mutating it (#8447) Closes #8444

view details

Chris Thielen

commit sha 37c7ba506dd5230601681329acbaa133fa903964

chore(package): publish core 0.0.496 (#8448)

view details

dependabot-preview[bot]

commit sha aac862ab13bc9485d8197ec90a833a7638760cc8

chore(deps): [security] bump elliptic from 6.4.0 to 6.5.3 (#8445) Bumps [elliptic](https://github.com/indutny/elliptic) from 6.4.0 to 6.5.3. **This update includes a security fix.** - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](https://github.com/indutny/elliptic/compare/v6.4.0...v6.5.3) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

view details

Billy

commit sha 602122834365212d88ba6db6f07a96d021937a37

style(appengine): Fix typo in Server Group settings (#8449)

view details

Maggie Neterval

commit sha 30a07842244b1871be0ade3c2cfde1e92f92d98f

refactor(kubernetes): clean up infrastructure interfaces (#8450) * refactor(kubernetes): colocate kubernetes infrastructure interfaces The kubernetes infrastructure interfaces currently represent an amalgam of data received from clouddriver from each logical kind request and data from a separate request for the full resource manifest. There is also some overlap among these interfaces. Let's colocate them to improve readability of the upcoming refactor, at the top level because these logical kind interfaces are relevant beyond the details directories. * refactor(core): remove redundant namespace check from cluster.service.ts Clouddriver sets Kubernetes server groups' `region` equal to their `namespace`, so we should not need to check both ([source](https://github.com/spinnaker/clouddriver/blob/master/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/caching/view/model/ManifestBasedModel.java#L46)). * refactor(core): remove displayName from IServerGroupManager Clouddriver only guarantees that server group managers have a name ([source](https://github.com/spinnaker/clouddriver/blob/master/clouddriver-core/src/main/groovy/com/netflix/spinnaker/clouddriver/model/ServerGroupManager.java#L30)). The only extant implementation of this interface is the Kubernetes-specific server group manager, which does guarantee a displayName, but we should use the name instead in non-Kubernetes-specific code. The result of this from a user perspective will be to include the Kubernetes kind along with the name in these entity tag labels. * refactor(core): remove namespace from IServerGroup Only the Kubernetes provider uses namespaces this way; let's not define this as an optional on the core server group interface. * refactor(kubernetes): move shared infrastructure fields to shared interface Let's move the common Kubernetes infrastructure fields of apiVersion, displayName, namespace, and kind to an interface that each logical kind interface can extend.

view details

Chris Thielen

commit sha 75f23284bc35d86a14949261aae06dd5e413506b

fix(amazon/rollback): Wait 500 ms before opening a second modal (#8451) When the react-bootstrap based confirmDialog closes, it removes modal-open class from the body tag after a 300ms fade out animation. this causes the ui-bootstrap modal to not be styled properly. Adding this delay allows the animation to complete and the modal-open class removed from the body tag. Then, ui-bootstrap re-adds modal-open when it shows the rollback dialog. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Chris Thielen

commit sha 64cd209f937ab2cd33e4f465f1f53e4c2c5398b2

refactor(instance): Migrate the instance chiclet tooltip from raw bootstrap to Tooltip component (#8437) This commit includes a performance optimization where tooltips are only shown after the chiclet has been hovered. Otherwise, the Tooltip causes massive lag n screens with large number of instances. This happens when scrolling due to virtualized scrolling and the overhad of the mount/unmount cycle. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Maggie Neterval

commit sha 1d14327aff787219fc5b5264b01821a2592a7cfa

refactor(kubernetes): do not augment infrastructure data with manifest data (#8452) Depends on: https://github.com/spinnaker/clouddriver/pull/4765 Instead of adding data from each resource manifest to the data received from Clouddriver, just receive all the data from Clouddriver. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Chris Thielen

commit sha bad8b297e9f01fb820c49de595e5457eb14436ac

fix(core/config): Make app config account dropdowns wider (#8453) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Chris Thielen

commit sha 86308a41fe10ab79d3e83b8e43b4f7405089de74

fix(core/projects): fix layout for projects view (#8456) this fixes a problem viewing a pipeline execution in the context of a project where the details content width was 30,000px wide Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Chris Thielen

commit sha dcb8ceff74e7013d20a85bd8ac747b453d40bfe5

chore(package): publish amazon 0.0.260 appengine 0.0.14 core 0.0.497 kubernetes 0.0.44 titus 0.0.139 (#8457)

view details

Vignesh Murugesan

commit sha df435ac3580e734eea740ae6707ac62950fce67e

fix(managed): Add a fixed width for logo in environments header

view details

Maggie Neterval

commit sha 9503258248de77a0b7193b9f7d30e71d48ea8484

refactor(kubernetes): remove some unused code (#8458) * refactor(core): remove unused ManifestService For some reason, we ended up with a KubernetesManifestService and a similar but unused core ManifestService. * refactor(kubernetes): remove unused method from KubernetesManifestService We have now removed all clients of `makeManifestRefresher`, and since we will not be adding additional Angular code, it is unlikely that we would ever need a method that directly mutates some input based on the most recent result of fetching manifests. * refactor(kubernetes): remove unused interface There is a duplicate IManifestSubscription interface in the DeployStatus component and no other uses. * refactor(core): remove unused methods from ManifestWriter Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Jossue

commit sha 92eeb4f3d48166bdf657209b63455e47242cea18

fix(helm): Fix helm artifacts not updating name and vesions (#8455) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

caseyhebebrand

commit sha 62e6878756def592f1faad0c5db1b6aa62c3e20e

feat(amazon): ASG support for features enabled by launch templates (#8326) * feat(amazon): ASG support for features enabled by launch templates * feat(amazon): Clone server group with launch template * Default spotPrice to undefined * Delete linked package.json * Remove helpfield * Instance market options for spotPricing * feat(amazon): Temporarily add setLaunchTemplate flag for testing * feat(core): Support for security groups with launch template-backed asgs * feat(core): Update command with associateIPv6Address * Protection for no security groups * remove logs * Temporarily add feature settings for testing * Revert temp feature branch settings

view details

dependabot-preview[bot]

commit sha cb71e811c49dc1e92f96045c436b4ce2bb1e167d

chore(deps): bump @spinnaker/kayenta from 0.0.93 to 0.0.96 (#8463) Bumps [@spinnaker/kayenta](https://github.com/spinnaker/deck-kayenta) from 0.0.93 to 0.0.96. - [Release notes](https://github.com/spinnaker/deck-kayenta/releases) - [Commits](https://github.com/spinnaker/deck-kayenta/commits) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

view details

Eric Zimanyi

commit sha 9c999ce4f6b73088450b9fb60b312e8ad51e1705

fix(kubernetes): Don't overwrite namespace on instance (#8464) * fix(kubernetes): Don't overwrite namespace on instance The namespace is already set on the instance details object; as we're about to remove region from the instance view (in favor of zone, which is the correct field for an instance) leaving this code will cause the namespace to be cleared. * fix(kubernetes): Use account instead of accountName in details view Only security groups set accountName; the convention for all others is to only set account. To prepare for removing accountName from these two objects, read account instead.

view details

Maggie Neterval

commit sha 7d9dcd1ff48d683524e5fdcf8896269bee9c7d08

fix(core/help): fix Manual Judgment help text (#8465)

view details

push time in a month

push eventpdk27/clouddriver

Evan Sebastian

commit sha c05c1839aa0d83b234af12c33e7483f68746e6a0

fix(aws): Skip AMI Sharing and Tag Syncing if Owner is not Managed by… (#4758) * fix(aws): Skip AMI Sharing and Tag Syncing if Owner is not Managed by Spinnaker * refactor(aws): Apply suggestions from code review Co-authored-by: Rob Zienert <rob@robzienert.com> Co-authored-by: Rob Zienert <rob@robzienert.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Mark Vulfson

commit sha 43a28f6849c6893111990591e34fc1c9ea338e30

fix(titus): only get the task we need (#4763) When we disable an ASG in titus we need to get all tasks associated with the job. However, it appears that we always retried ALL tasks from ALL jobs. Which is neither great for Titus nor Spinnaker since we a) run out of memory and also timeout like crazy trying to get the world Pretty sure the issue is this erroneous conditional which checks if Titus supports query by job ids

view details

Eric Zimanyi

commit sha 3d90bdeae3637e4c6b2e16cf8cd622902ef9e07c

refactor(kubernetes): Clean up KubernetesCacheUtils class (#4764) * refactor(kubernetes): Extract getHandler to a function This is a minor refactor to make the upcoming changes cleaner; just pull out a function. * refactor(kubernetes): Fix type safety and null safety resourceModelFromCacheData is very unsafe; it does an unchecked cast and can also return null. The goal of that function is to allow custom overrides for how to convert cache data into a ServerGroup or a ServerGroupManager. (We have not implemented the ability to customize other types.) The problem is that we are checking if the handler is of the generic ModelHandler instead of the specific type we are interested in. We already have ServerGroupHandler and ServerGroupManagerHandler to handle these two specific cases. Split the generic resourceModelFromCacheData into to specific ones to handle these two cases. By checking if the handler implements the specific case, we can avoid unchecked casts. Finally, rather than return null if the handler doesn't specify an override, just use the default implementation. The goal here is only to allow people to override this if they want; if they don't override, we can just use the default. * refactor(kubernetes): Clean up CustomKubernetesHandlerFactory This class implemented the (raw) ModelHandler, but only ever implemented the default implementations for the kind in question. As we now fall back to the default implementations in cases where there is no override, we don't need to explicitly override them here. * refactor(kubernetes): Remove ModelHandler class Now that we're using the more specific handler classes to detect custom implementations of fromCacheData, we don't need the ModelHandler interface at all anymore; remove it. * refactor(kubernetes): Add relationshipTypes helper function Minor refactor to abstract away translating a Spinnaker kind into its relationship types. * refactor(kubernetes): Add relationshipKeys function Minor refactor to pull common logic looking up relationships on a CacheData object into a function. * refactor(kubernetes): Rename to function Rename aggregateRelationshipsBySpinnakerKind as getRelationshipKeys, because it does the same thing as the relationshipKeys function we just created, but for a SpinnakerKind. Also collect to an ImmutableList and update the return type. Similarly remove the OfSpinnakerKind from getRelationships, becase the function signature implies what the input is. * refactor(kubernetes): Update return type of mapByRelationship It will now return a Map<String, Collection<CacheData>> instead of a Map<String, List<CacheData>> because it's not actually important to callers that the values are List<?>. This will make the next commit possible. * refactor(kubernetes): mapByRelationship returns a MultiMap This is a much better data structure for mapping keys to multiple values. In particular, it has the property that .get(key) returns an empty list rather than null if there are no mappings, so we can avoid a lot of defaulting. * refactor(kubernetes): Inline a variable Inline the keys variable in loadRelationshipsFromCache; also collect the relationship keys to a Set rather than to a List. This cuts down the number of times we look up load balancers from 4 to 2; we'll still need to get that down to 1 but this is progress. * refactor(kubernetes): Rename getTransitiveRelationships Rename this function to something shorter and clearer; also update it to only accept a single CacheData as all callers are wrapping a single CacheData in a collection when calling it. * refactor(kubernetes): Require callers of to create the filter Simple refactor to push requiring the cache filter to be created to callers. (Actually caller as this is only used in one place.) * refactor(kubernetes): Require callers of getRelationships to pass data getRelationships is inherently ineffecient, as it encourages callers to require a lookup of data they already have. In 2 of the 3 callers we are either looking up the same data in a loop, or already have the data we're looking up. Require callers to first look up the cache data, then pass it in to get its relationships. * refactor(kubernetes): Rename loadRelationshipsFromCache Use getRelationships to be consistent with how we're naming other functions in this class. Also update the single-data-consuming version to call the list version with a singleton. * refactor(kubernetes): Remove loadRelationshipsFromCache This is identical to getRelationships. Also the whole class is non-null now, so move the annotation to the class level. * refactor(kubernetes): Cleanup of KubernetesCacheUtils Make the class package-private as it is only used in the package. Also add Javadoc to some methods. * refactor(kubernetes): Replace kindMap lookups with getRelationships We already have a function in cacheUtils that looks up all relationships for a SpinnakerKind; replace cases where callers map the SpinnakerKind to KubernetesKinds with just calling this function. * style(kubernetes): Fix comments Co-Authored-By: Maggie Neterval <mneterval@google.com> Co-authored-by: Maggie Neterval <mneterval@google.com>

view details

Maggie Neterval

commit sha fc2be9f2ed65126bf6dd4076e90265baaac1ccbd

feat(kubernetes): add apiVersion, displayName, and namespace to ManifestBasedModel (#4765) Deck expects instances, serverGroups, serverGroupManagers, securityGroups, and loadBalancers to each include these four properties. Currently, Deck is combining data returned from each view with data returned from each manifest. Instead, let's just include these properties in each view. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Mark Vulfson

commit sha 01c7c97f95dc46781f422cecdf4bedb6c2b272c7

fix(titus): minor clean up for titus and orchestrator (#4766) * Remove all references to "jobIds" feature flag as it's no longer a thing * Remove dangerous (and unused) call getAllTasks * Also, the default orchestrator will mark the task as "Orchestration complete" even though the task might have failed. This is very confusing in orca as it shows `error: orchestration complete`. Add some more words about failed tasks

view details

Eric Zimanyi

commit sha 1c3932bce20917d3546e3c07317df24be948d4dd

refactor(kubernetes): Further improvements to Kubernetes data providers (#4767) * refactor(kubernetes): Add Multimap-returning getRelationships This commit only affects CacheData, in preparation for some changes visible outside the class. Most notably, we'll update getRelationships to return a MultiMap when we pass in a Collection of CacheData items. This allows the caller to see the association between the input data and the output relationships, rather than flattening it to a collection where it's not possible to determine which of the output CacheData items is related to each of the input ones. In this commit, we're not taking advantage of this; in fact the two callers have been updated to: * Just call .values() to flatten the result * Query the cache directly instead of using getRelationships But in the next commit we'll push this information outward one more level of calls, which will the allow consumers to use the information to avoid duplicate work. Also update getRelationshipKeys to collect to a Set. The general idea is that we'll collect keys (String) to a Set to dedupliate but data (CacheData) to a List as deduplication by reference is not valuable. (I left one TODO in a case where we are deduplicating by reference but will fix that.) * refactor(kubernetes): Keep track of relationships when fetching In a number of places, we have a Collection of CacheData items, and we want to fetch all relationships of a particular kind. For example, we might have a List of server groups and want to load all instances. Currently we returned a flattened collection of all the related types, forcing the caller to then iterate through it to recompute which instance is associated with which server group. Greatly simplify this (and improve performance) by returning a MultiMap from getRelationships. This means, for example, that the caller can then look up the instances related to a given server group id, without needing to build another map. * refactor(kubernetes): Look up related load balancer keys directly When constructing a server group, we look up the full data for related load balancers, and then only keep the key. Instead let's look up only the keys. As this isn't making any cache calls, we don't need to keep the full map outside the loop, and can just look up the needed data inside the loop. * refactor(kubernetes): Extract loadServerGroups to a function It returns a Map so we can later get the constructed server group by id, though we are not yet using that feature. * refactor(kubernetes): Load balancer constructor accepts server groups The fromCacheData method to create a LoadBalancer requires all the cache data to create server groups as well; but in some cases we will already have constructed server groups. It will be simpler and more performant to just pass these existing server groups to fromCacheData. Add a (as yet unused) fromCacheData that takes a set of LoadBalancerServerGroups and uses those. Refactor the existing fromCacheData to pass the LoadBalancerServerGroups it constructs to this new constructor. * refactor(kubernetes): Use new fromCacheData in cluster provider Let's use the new fromCacheData we just created and pass in the server groups that we have already built. This also removes the last use of mapByRelationship, so we can remove the function. * refactor(kubernetes): Minor cleanup in loadClusters Now that only serverGroupToInstances is only used in loadClusters, look up that data in the function rather than require the caller to look it up. Similarly, the construction of the stream over load balancers is just a really complex way of getting the values of the MultiMap; use that instead. * refactor(kubernetes): Remove the old version of fromCacheData It was only used in one place; let's move the logic there. * refactor(kubernetes): Update getServerGroup to call existing function getServerGroup has its own logic for constructing server groups; instead call the loadServerGroups function we just wrote. This commit also fixes a bug; we were only loading load balancer and instance relationships with the cache data, so we never returned any server group managers. The integration tests didn't catch this because they were exercising the function only for a non-deployment-managed replica set. Add a test to catch this case. It's interesting that we only do this optimization of filtering relationships when loading a single server group, whereas it probably would be much more beneficial in the endpoints that return many. I'll leave this for now, but may revisit. * refactor(kubernetes): Extract relationshipFilter logic I'm honestly not sure that the benefit of creating this relationship filter for a single server group is worth it, but we'll keep the logic for now. Let's at least store the cache filter as an instance field so that we can re-use it, and abstract away the logic for creating it. I'm not going to include filter logic in other places as I think the correct fix for improving performance here is just to cut down the relationships we store in the cache to those that are actually needed, rather than add logic for ignoring most of them. * refactor(kubernetes): Fix one more case of manually using kindMap There is now a function for this. * refactor(kubernetes): Add helper function for looking up a item We made callers accept a MultiMap then look up the one id of interest; let's do that instead for callers. * fix(kubernetes): Stop returning multiple copies of load balancer The issue was that we were building the load balancer once per attached server group. All of the refactors up to now have not fixed it (though we did reduce the number of times it is returned from 4 to 2). The reason at this point is because .values() on a multimap returns items multiple times if they map to multiple keys. Let's apply a distinct on the stream that only takes the first for each id. We could have just done a regular distinct() because the result of getRelationships always maps a key to the same reference (so we don't have multiple instances of each load balancer, just multiple pointers to the same one). But I did not want to have to debug this issue if that ever changes, so let's be explicit and keep the first one we encounter with each id. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Adam Jordens

commit sha 658bac1b8b21121cdb1ac6fbfcb76cec16d5a410

fix(titus): Handle rate limiting that is propagated as an INVALID_ARGUMENT (#4770)

view details

German Muzquiz

commit sha 022f0e6536aeaf6945320fa838fc2a51b1df71e7

fix(kubeconfig): Don't hash missing kubeconfig files (#4768) * fix(kubeconfig): Don't hash missing kubeconfig files * fix(kubeconfig): KubeconfigFile cannot be null and doesn't use default value

view details

Eric Zimanyi

commit sha c8e29c23aa23cfc197a8b11d1956ac6dec0eb3cf

refactor(kubernetes): Remove manifest from view objects (#4769) * refactor(kubernetes): Push getAccount to implementations First, getAccountName is only needed for security groups; push that down only to the security group provider. Second, getAccount is defined in the base class, but depends on the abstract method getKey that is defined by implementations. As this is the only reason we need to have the getKey method, let's just push getAccount itself down to the implementations so that we can just access the key directly. In fact, instead of storing it at all, let's just use the key in the constructor and discard it as we don't need it for anything else. Eventually the plan will be to not read this off the key at all in the constructor as we should already be storing the account as part of the cache data we're using to construct this. * refactor(kubernetes): Push fields down from ManifestBasedModel Most of ManifestBasedModel is lookign up fields on a Manifest; we want to stop using the manifest for all of these lookups because in most cases we already store the parsed data as part of the CacheData item (and in the cases we don't, we should start doing that). In order to simplify moving to that model, push down all the manifest logic to the implementing classes. It's a bit more code now, but should make it much easier to understand. We also remove some methods that aren't necessary because they were added to the superclass even though they are only needed by one or two implementations. Add a KubernetesResource interface that keeps track of fields we're expecting to find on all kubernetes resources (mapping to the correpsonding interface in deck). This is just helpful to make sure that we get a compile-time error if we accidentally remove one of these fields. * refactor(kubernetes): Pull ImageSummary to a class This is a fairly large class to be an anonymous class; pull it out to a real class. * refactor(kubernetes): Remove manifest from view objects This commit removes the manifest from the view object models, instead reading the required fields from the manifest in the constructor, then discarding the manifest. This is an intermediate step towards not requiring the manifest in the constructor at all, and instead using the metadata we store on the cache object. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

push time in a month

startedaws/amazon-ecs-cli

started time in 2 months

startedclareliguori/spinnaker-ecs-devel

started time in 2 months

push eventpdk27/deck

caseyhebebrand

commit sha 7f8e33ee578193a8c8a0cb87cfccf41c2451e5e9

fix(titus): Update host account environment (#8076)

view details

caseyhebebrand

commit sha e2217c068146178acd45631c9535e9f1ef00d1db

chore(titus): Bump to 0.0.132 (#8078)

view details

Maggie Neterval

commit sha 11f2563fc0fda9a51697124bcd9f7887fcd53197

refactor(artifacts): clean up ArtifactReferenceService (#8075) * refactor(artifacts): clean up and add docs to ArtifactReferenceService * feat(artifacts): add method for removing multiple artifact references from stages Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Erik Munson

commit sha e51e34280569018a03a9b498c885a142d96beae0

feat(core/managed): status indicators, explanation cards on artifacts (#8069) * feat(core/managed): status indicators, explanation cards on artifacts * explicitly surface that vetoed versions were never deployed Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Chris Thielen

commit sha b3f11d468df9add880d2ce6ef592ba7fff281609

chore(package): publish core 0.0.463 (#8079)

view details

Vignesh Murugesan

commit sha 611416b3f1d4dc0d1fff5dd07201860a683f5408

feat(amazon/details): Pass application to details field (#8068) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Alan Quach

commit sha 26a02137091c63b40e94d9d28f103d118416c254

feat(core/managed): Group resources under EnvironmentRow (#8081) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Erik Munson

commit sha 84472acbe01d0246076317937148cd5a536603e6

feat(core/managed): show relevant resources on version details (#8080)

view details

Erik Munson

commit sha 185865b12d2040fd0c61fa2bbb103afb6f028114

chore(package): publish amazon 0.0.247 core 0.0.464 (#8084)

view details

Alan Quach

commit sha b6fe67b7a640a1031e320e1c270d291b25204b59

fix(core): Stop propagation of task monitor close event (#8085) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Eric Zimanyi

commit sha 8fbfe8bac2c83daa55a24810ae0c5db067388f51

chore(mergify): release-* branches require release manager approval The mergify config currently doesn't distinguish between merging to master and merging to a release branch. It currently never merges to release branches because mergify doesn't have permission to merge to these branches (due to branch protection rules). I don't want to give mergify that permission without updating the config file here, as then it would merge to release branches after any approval, whereas we only want to merge to release branches if a PR is approved by a release manager. This updates the mergify config to scope the existing rules to only apply to the master branch, and adds a new rule to merge to release branches upon approval by a release manager. Because the 1.17 branch (and likely the 1.18 branch in some repos) is still exclusively using Travis CI instead of github actions, also add a rule the merges if Travis CI passes to account for these branches. This rule can be deleted once all of the active branches in the repo are using Github actions.

view details

Greg Comstock

commit sha 7ae4177453ea11c24d89d8f0b50bbfc008198c2f

feat(core/presentation): adds svg icons for new ui designs (#8083)

view details

Vignesh Murugesan

commit sha ebe411c02d8bafda7831f434f28effd36fa8ec2f

fix(core/deploymentStrategy): Handle missing rollback property in command (#8082) * fix(core/deploymentStrategy): Handle missing rollback property in command * Update app/scripts/modules/core/src/deploymentStrategy/strategies/redblack/AdditionalFields.tsx Co-Authored-By: Erik Munson <erik@ipsumcreative.com> Co-authored-by: Erik Munson <erik@ipsumcreative.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Erik Munson

commit sha c9587ac177847108ed4aa98cfecd62e9aada6f4b

feat(core/managed): swap progress direction on artifact rollouts (#8087)

view details

Michael Plump

commit sha b2d03aced96ce2abbe22201a7b9114b72de991b6

Merge branch 'master' into update-mergify

view details

Michael Plump

commit sha fea9274a67af69ed1b3884c10aef4b9987b72d64

Merge pull request #8086 from ezimanyi/update-mergify chore(mergify): release-* branches require release manager approval

view details

Erik Munson

commit sha 1051f8c3327f1c7ad73ea3430fb6489bbe4a2187

feat(core/managed): add real icons to Environments view (#8091) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Chris Thielen

commit sha 75c2dabfe016c0af005e705f57541b8f2815f142

feat(scripts): switch show_changelog.sh --expand-links to --markdown (#8090) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Erik Munson

commit sha bbb9baeb3429e6e7441b7d564f4a45a7dc33f955

chore(package): publish core 0.0.465 (#8092)

view details

Daniel Lamando

commit sha 8d15878c544d5a8ae59ff3babc3e2aee08f47c2e

fix(webhook): Show 'Progress' as Info instead of Warning (#8088) Co-authored-by: Kevin Woo <kevinawoo@gmail.com>

view details

push time in 2 months

push eventpdk27/echo

Michael Plump

commit sha 67455b0938aba63fd85d0325681f804863b76079

chore(java11): compile with Java 11 (but using -source 8 -target 8) (#819)

view details

Michael Plump

commit sha 44dd97164b04de760d8315130eb00aad48fcf58e

Revert "chore(java11): compile with Java 11 (but using -source 8 -target 8) (#819)" (#820) This reverts commit 67455b0938aba63fd85d0325681f804863b76079.

view details

Deepak

commit sha 1ccacfde1fbbfe2040ce2c8d13eb9b2b398de2e1

fix(front50): Add SpinnakerRequestInterceptor to Front50 OkHttpClient (#816) * fix(front50): Add SpinnakerRequestInterceptor to Front50 OkHttpClient Currently, Front50 OkHttpClient in Echo does not propagate the AuthenticationRequest Headers to Front50 on API calls.  Reason for the above behaviour is due to Front50 Client created without SpinnakerRequestInterceptor. This interceptor ensures Auth Headers are propagated as part of request headers on Http calls. * fix(igor): Use SpinnakerRequestInterceptor in Igor OkHttpClient Co-authored-by: Deepak <deepak.ramakrishna@grabtaxi.com>

view details

Eric Zimanyi

commit sha 5856d633554265dbb0b01e28e14e8cc783bf3da0

chore(mergify): release-* branches require release manager approval (#824) * chore(mergify): release-* branches require release manager approval The mergify config currently doesn't distinguish between merging to master and merging to a release branch. It currently never merges to release branches because mergify doesn't have permission to merge to these branches (due to branch protection rules). I don't want to give mergify that permission without updating the config file here, as then it would merge to release branches after any approval, whereas we only want to merge to release branches if a PR is approved by a release manager. This updates the mergify config to scope the existing rules to only apply to the master branch, and adds a new rule to merge to release branches upon approval by a release manager. Because the 1.17 branch (and likely the 1.18 branch in some repos) is still exclusively using Travis CI instead of github actions, also add a rule the merges if Travis CI passes to account for these branches. This rule can be deleted once all of the active branches in the repo are using Github actions. * chore(mergify): Add missing 'h'

view details

Clay McCoy

commit sha 9e27efc0adf04db046d21d7fbe22d8e5004afff4

fix(notifications): remove notification type enum (#821) This is needed for a notification listener extension point so that notification types can be added by a plugin.

view details

spinnakerbot

commit sha 7b1002a12b9b0d6773423cdf83f18744927eefb0

chore(dependencies): Autobump korkVersion (#817) Co-authored-by: runner <runner@fv-az33>

view details

spinnakerbot

commit sha 9216760ef52ac89d7207d9e38ae4cb2f29295626

chore(dependencies): Autobump korkVersion (#825) Co-authored-by: runner <runner@fv-az51.internal.cloudapp.net>

view details

Michael Plump

commit sha cdb20b66d4d8be46772a1da4eeeef0067e5dd439

chore(java11): Compile with Java 11 (but targeting Java 8) (#826)

view details

spinnakerbot

commit sha 7f0a5690965bcdf8c53e9c2036fdc7d79058066b

chore(dependencies): Autobump korkVersion (#827) Co-authored-by: runner <runner@fv-az51>

view details

Michael Plump

commit sha af61e42ca53efe2de706cb16ca8c3be1cb674ade

chore(gha): don't run the GHA build when pushing to a fork (#828)

view details

spinnakerbot

commit sha 4abc3df15513158f752e88b6acc07288d2cefd89

chore(dependencies): Autobump korkVersion (#829) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha 89b06a0278502701c94ece331bd49b4d4ad5bf43

chore(dependencies): Autobump fiatVersion (#830) Co-authored-by: runner <runner@fv-az78>

view details

spinnakerbot

commit sha d42555f64761e4e5f34f92d92264f1222f082d94

chore(dependencies): Autobump korkVersion (#831) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha 9788ee55ee91d0a65f7d34f23811b74c876e53f9

chore(dependencies): Autobump korkVersion (#832) Co-authored-by: runner <runner@fv-az51>

view details

Freddy Chen

commit sha 1580d65c900ca201b0c7adede905bb4f054b708c

refactor(triggers): make BaseTriggerEventHandler's constructor public (#835) Make BaseTriggerEventHandler's constructor public so we can extend the class outside of the package. This makes it easier for the community to add in customized trigger event handlers. Co-authored-by: Freddy Chen <freddy.chen@airbnb.com>

view details

spinnakerbot

commit sha a51797cc88e5401fc692ad421c70d0fc915735f7

chore(dependencies): Autobump korkVersion (#836) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha ea067dbaaabba4841a49e939522bfa5d3f9b52ea

chore(dependencies): Autobump fiatVersion (#838) Co-authored-by: runner <runner@fv-az76>

view details

spinnakerbot

commit sha 117bb17fd56b6e338eed4571aa58cf0914f77d55

chore(dependencies): Autobump spinnakerGradleVersion (#841) Co-authored-by: root <root@dccee4f2e44f>

view details

Michael Plump

commit sha 81fa6db31d5ef68f5681f97cf39f902ddaf903b9

chore(mergify): if an autobump fails, request a review (#842)

view details

spinnakerbot

commit sha a79884b12c1ca8d0163f428c9ac3b98899753f77

chore(dependencies): Autobump spinnakerGradleVersion (#843) Co-authored-by: root <root@7c2d69cf985a>

view details

push time in 2 months

push eventpdk27/fiat

Cameron Fieber

commit sha 000688d82dbc097e9b68088be281d8acdfb3fbbd

fix(permissions): update order annotation on sources (#618) ensure we read the base resource permission first so other permission sources that augment Permissions are processed afterword also adds a scheduled refresh to the BaseResourceProvider cache to ensure a user request doesn't hit a cache expiration and have to wait for the cache reload

view details

Eric Zimanyi

commit sha 735bd15484aa66ee5ed47b6d19d0a6d1e8803e90

chore(mergify): release-* branches require release manager approval (#617) * chore(mergify): release-* branches require release manager approval The mergify config currently doesn't distinguish between merging to master and merging to a release branch. It currently never merges to release branches because mergify doesn't have permission to merge to these branches (due to branch protection rules). I don't want to give mergify that permission without updating the config file here, as then it would merge to release branches after any approval, whereas we only want to merge to release branches if a PR is approved by a release manager. This updates the mergify config to scope the existing rules to only apply to the master branch, and adds a new rule to merge to release branches upon approval by a release manager. Because the 1.17 branch (and likely the 1.18 branch in some repos) is still exclusively using Travis CI instead of github actions, also add a rule the merges if Travis CI passes to account for these branches. This rule can be deleted once all of the active branches in the repo are using Github actions. * chore(mergify): Update comment Co-authored-by: Michael Plump <plumpy@google.com>

view details

spinnakerbot

commit sha 2d155c7891bbe7a2320cab6cdddcf0551a61213a

chore(dependencies): Autobump korkVersion (#619) Co-authored-by: runner <runner@fv-az33>

view details

Chris Smalley

commit sha 9acb48a8c720db763833068dd4032c56d23e1500

chore(build): Break fiat bump dependencies out into separate workflow (#615)

view details

spinnakerbot

commit sha 9ba8c6cd216163bc11ddcaf11369855a5c208d78

chore(dependencies): Autobump korkVersion (#620) Co-authored-by: runner <runner@fv-az51.internal.cloudapp.net>

view details

spinnakerbot

commit sha cb2519214e7884a1006aac4ac5f531224328c9ee

chore(dependencies): Autobump korkVersion (#621) Co-authored-by: runner <runner@fv-az118.internal.cloudapp.net>

view details

spinnakerbot

commit sha 8f0fcc7f318c172c2e29cdbaaa3d231f37938a64

chore(dependencies): Autobump korkVersion (#623) Co-authored-by: runner <runner@fv-az51>

view details

Michael Plump

commit sha 531885ec4699c731ee0f0999d01cc6b2f11f656b

chore(gha): don't run the GHA build when pushing to a fork (#624)

view details

spinnakerbot

commit sha 1816dfc3828a6c51da01afda16f6e7992a6df76c

chore(dependencies): Autobump korkVersion (#625) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha 6268642e9f219f17a9d06f9a35b3ef30631ebacb

chore(dependencies): Autobump korkVersion (#626) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha 95d2e7667f6969d2cd2a1cc17d5d04eb263e5c05

chore(dependencies): Autobump korkVersion (#627) Co-authored-by: runner <runner@fv-az51>

view details

Cameron Fieber

commit sha 27e720b002dc407bbb2687b02dc38da147dce8bc

feat(serviceAccounts): enable loading full service account details for each users serviceAccount (#629) adds an expand query parameter to the /auth/:userId/serviceAccounts endpoint that returns each serviceAccount as a userPermission to allow for contextual filtering This will enable an endpoint in gate to filter user service accounts by application when populating the run as user dropdown in the UI to only include service accounts relevant for the application being configured

view details

Michael Plump

commit sha b47aef41582d3ca404dd5f63baab568b5596a8d8

chore(java11): Compile with Java 11 (but targeting Java 8) (#630) Additional differences: `UserRoleSyncer` was using `stream.map().count()` to run an operation on each element and then return the number of elements in the stream. But this doesn't work in Java 11 because "An implementation may choose to not execute the stream pipeline (either sequentially or in parallel) if it is capable of computing the count directly from the stream source." The Java 11 docs (unlike the Java 8 docs) include an explicit example of this exact thing we're doing and why it doesn't work. Fortunately we had to test to catch this. I wonder where else we're doing this... :/

view details

Repon Kumar Roy

commit sha b9b0cbd65b73072361f8226a2d7c8e9edf01f1cc

perf(auth/ldap): Use group to user mapping to role sync (#573) * perf(auth/ldap): Use group to user mapping to role sync Currently fiat sync LDAP roles by each users synchronously by making API call to LDAP server. As the number of users grow, this could cause performace issue. Ldap server maintains the Group -> User mapping denoting which users are the part of particular group. So, instead of fetching roles for each users, we can fetch the whole Group->User mapping in one API call and perform the role sync. Trade-off: * As the response of LDAP will huge compared to previous approach. This could put load on network * For small groups, the previous approach could be faster. That's why we encourage people to define a threshold after which the group call should be made. * nit * add test * nit * groupUserAttributes is set to empty string by default * rename from thresholdToUseGroupFilter to thresholdToUseGroupMembership Co-authored-by: Repon Kumar Roy <kowshik.roy@grabtaxi.com> Co-authored-by: Cameron Fieber <cfieber@netflix.com>

view details

spinnakerbot

commit sha cf28f43d5baffecae5e2bc3d0d4af137c07cbc83

chore(dependencies): Autobump korkVersion (#631) Co-authored-by: runner <runner@fv-az51>

view details

Cameron Fieber

commit sha 18b642fcf95e19a3fd4be1f0b81cfddf5ec2fafc

fix(applications): fix dedupe of front50 and clouddriver apps (#632) We were trying to dedupe on appname but each system presents them in a different case (front50 upper clouddriver lower)

view details

spinnakerbot

commit sha 309b6fa6969414aaa53ad429c195ff3e6112966e

chore(dependencies): Autobump spinnakerGradleVersion (#635) Co-authored-by: root <root@dccee4f2e44f>

view details

Michael Plump

commit sha 5529c570d0c50f7318661da8900d54d8b1652301

chore(mergify): if an autobump fails, request a review (#636)

view details

spinnakerbot

commit sha 47f35ac9b233dc11607330d724a5aecaa4f3f28a

chore(dependencies): Autobump spinnakerGradleVersion (#637) Co-authored-by: root <root@7c2d69cf985a>

view details

Michael Plump

commit sha 42a30bf89bfb5d9301e8faac24a3e3e145b7954a

chore(mergify): autobump reviews should go to oss-approvers (#638)

view details

push time in 2 months

push eventpdk27/front50

Michael Plump

commit sha 51af19176c438ec6fb067cecd09fca1b8fcd98c3

chore(java11): compile with Java 11 (but using -source 8 -target 8) (#751)

view details

Michael Plump

commit sha 53b365619e82008fd6f0df35d0dc62b75c0f2b25

Revert "chore(java11): compile with Java 11 (but using -source 8 -target 8) (#751)" (#752) This reverts commit 51af19176c438ec6fb067cecd09fca1b8fcd98c3.

view details

Eric Zimanyi

commit sha 99741e965f98af304b063ae5518dd7e736c83d7e

chore(mergify): release-* branches require release manager approval (#753) * chore(mergify): release-* branches require release manager approval The mergify config currently doesn't distinguish between merging to master and merging to a release branch. It currently never merges to release branches because mergify doesn't have permission to merge to these branches (due to branch protection rules). I don't want to give mergify that permission without updating the config file here, as then it would merge to release branches after any approval, whereas we only want to merge to release branches if a PR is approved by a release manager. This updates the mergify config to scope the existing rules to only apply to the master branch, and adds a new rule to merge to release branches upon approval by a release manager. Because the 1.17 branch (and likely the 1.18 branch in some repos) is still exclusively using Travis CI instead of github actions, also add a rule the merges if Travis CI passes to account for these branches. This rule can be deleted once all of the active branches in the repo are using Github actions. * chore(mergify): Add missing 'h'

view details

Chris Smalley

commit sha fa8a3f2aa5ce4a9de606fc749ee0618cd1908ca3

chore(build): Add GitHub Action cache step (#754)

view details

Michael Plump

commit sha ec46bb080ab98a0e999ee72ae48e1cd02593c080

chore(java11): Compile with Java 11 (but targeting Java 8) (#756) * chore(java11): Compile with Java 11 (but targeting Java 8) * fix(gha): fix the indentation on pr.yml

view details

Michael Plump

commit sha ce261c215a4d0df5c3c7f691ab2150798b1babff

chore(gha): don't run the GHA build when pushing to a fork (#758)

view details

spinnakerbot

commit sha 807300e71efc8d0aaad4ae831cbf9625b3fccc92

chore(dependencies): Autobump fiatVersion (#759) Co-authored-by: runner <runner@fv-az78>

view details

Sairam Rekapalli

commit sha 639e2ec636b836d360470522688e086bb2bc1578

Plugin upsert fix (#755) * fix(plugins): upsert release info while updating plugin info * fix(plugins): adjust new vs old releases list * fix(plugins): adjust new vs old releases list * fix(plugins): adjust new vs old releases list * fix(plugins): adjust new vs old releases list * fix(plugins): adjust new vs old releases list * fix(plugins): adjust new vs old releases list * fix(plugins): adjust new vs old releases list

view details

Michael Plump

commit sha afea96deca9ee6491b03b298591b2f55eb02164b

chore(GHA PR build): turn on the cross compiler here too (#761) Not sure why I missed this before. I suppose just because it wasn't needed. In any event, I updated my script to add this going forward.

view details

spinnakerbot

commit sha 36e31ae9bb05d6fda7a1a959d0329e2a21a7411b

chore(dependencies): Autobump fiatVersion (#762) Co-authored-by: runner <runner@fv-az76>

view details

Michael Plump

commit sha 7ae21afd309c78b298f13e95354cf3dd068c0f55

chore(mergify): if an autobump fails, request a review (#763)

view details

spinnakerbot

commit sha 8856c9f451a978c595dc9f75e17bc9b7d3bda80d

chore(dependencies): Autobump spinnakerGradleVersion (#764) Co-authored-by: root <root@d0e0826bf0ed>

view details

spinnakerbot

commit sha ba89f81d156bda5edfc5a25fb97496ced0b9ba9d

chore(dependencies): Autobump spinnakerGradleVersion (#765) Co-authored-by: root <root@7c2d69cf985a>

view details

Michael Plump

commit sha a3ec9f8e403cf1f262e99f598fb93c557d38cbf9

chore(mergify): autobump reviews should go to oss-approvers (#766)

view details

spinnakerbot

commit sha 554d9cff04f92b5e203ff5d77b8be46107b1e459

chore(dependencies): Autobump spinnakerGradleVersion (#770) Co-authored-by: root <root@6891b1263a18>

view details

spinnakerbot

commit sha 4216ad573ca6cb67b92dc2db413458c2c1e2a467

chore(dependencies): Autobump spinnakerGradleVersion (#771) Co-authored-by: root <root@458842d3571f>

view details

Michael Plump

commit sha a15fcc5610648a8afd317b8d11bdb9e8c9b08928

chore(bumpdeps): enable autobumps (#768)

view details

Eric Zimanyi

commit sha 1e9a4ac77d52e6143a6035bcd30b118ce629763e

chore(dependencies): Unpin org.jetbrains.kotlin (#772) Bumping kork on front50 is failing because at some point recently we upgraded kotlin, and it looks like it has a new artifact that isn't in the pinned version. I'm not sure why the pin was added initially, but the tests all pass when it is removed. When this is removed, kork can successfully be bumped.

view details

spinnakerbot

commit sha 3252bc6325f9f56ed5c905a0d2dec1127a504eea

chore(dependencies): Autobump korkVersion (#767) Co-authored-by: root <root@2e5c1c42d060> Co-authored-by: Rob Fletcher <robfletcher@users.noreply.github.com>

view details

spinnakerbot

commit sha c7aff9a72e09459e8d82abdeae68c3e46ae11a05

chore(dependencies): Autobump spinnakerGradleVersion (#773) Co-authored-by: root <root@e7992a1c49ce>

view details

push time in 2 months

push eventpdk27/gate

Michael Plump

commit sha e8eb0980c610129db596e34fce92964ce3176966

chore(java11): compile with Java 11 (but using -source 8 -target 8) (#1108)

view details

Michael Plump

commit sha c70c0389865794c33918dd9c0e9947f1a20cfa14

Revert "chore(java11): compile with Java 11 (but using -source 8 -target 8) (#1108)" (#1109) This reverts commit e8eb0980c610129db596e34fce92964ce3176966.

view details

Cameron Fieber

commit sha 83138e40a1eba62ad153a8506590bd7a9037fa34

feat(auth): support an optional login specific shard for fiat (#1111)

view details

Eric Zimanyi

commit sha f8404c21f67e4ff4583402323ebd2706367a3460

chore(mergify): release-* branches require release manager approval (#1113) * chore(mergify): release-* branches require release manager approval The mergify config currently doesn't distinguish between merging to master and merging to a release branch. It currently never merges to release branches because mergify doesn't have permission to merge to these branches (due to branch protection rules). I don't want to give mergify that permission without updating the config file here, as then it would merge to release branches after any approval, whereas we only want to merge to release branches if a PR is approved by a release manager. This updates the mergify config to scope the existing rules to only apply to the master branch, and adds a new rule to merge to release branches upon approval by a release manager. Because the 1.17 branch (and likely the 1.18 branch in some repos) is still exclusively using Travis CI instead of github actions, also add a rule the merges if Travis CI passes to account for these branches. This rule can be deleted once all of the active branches in the repo are using Github actions. * chore(mergify): Add missing 'h'

view details

Erik Munson

commit sha 71c6f1a7baf4737b4c8230d22c824f4376426c46

fix(managed): properly annotate YAML support on upsertManifest (#1114)

view details

Rob Zienert

commit sha 5685f798c5675f17533b0051382db3c35c05b52d

refactor(web): Move request logger to a servlet filter (#1116)

view details

Rob Zienert

commit sha d35830f89891cbecf5f834ddbbea858b2989277c

fix(spring): Add flag to request logger (#1117)

view details

Michael Plump

commit sha 4c59a6c009e84002ce229301d48eb7b53a86464e

chore(java11): Compile with Java 11 (but targeting Java 8) (#1118)

view details

Michael Plump

commit sha 99b0bde0d1d254355e751293d1683830bc871ac8

chore(java11): Turn on the cross-compiler plugin in Dockerfile.compile (#1119) This got missed because my script tries to add it before `--no-daemon`. So go ahead and add that too, for consistency and because otherwise GRADLE_OPTS does nothing useful.

view details

Michael Plump

commit sha 38aacde6bbba910486c72fdb967b046228053139

chore(gha): don't run the GHA build when pushing to a fork (#1120)

view details

spinnakerbot

commit sha 841a391cb87a924b6ad6634d4e2698f5167aa168

chore(dependencies): Autobump fiatVersion (#1121) Co-authored-by: runner <runner@fv-az78>

view details

Mark Vulfson

commit sha 85df33c19cd6bbea19fe57f7e72ddfb43223d44b

chore(formatting): fix formatting on some files (#1122)

view details

Mark Vulfson

commit sha 8f15de434dcf88a86d233d894d228e46e9d46bd2

fix(etag): removing etag filter (#1123) We noticed that `ETag` filter somehow makes it so that requests from `gate` are no longer gzipped. Since `deck` doesn't even use ETags, rather than figuring our what wrong with `ETag`s I am just removing them to get the gzip benefit (and stop wasting CPU cycles computing `ETag`s)

view details

Chris Smalley

commit sha 2f1efc108c3213e5c73db1afcd15af148f4a3d48

chore(dependencies): Bump kork to 7.31.1 and fixup PluginBundleExtractor instantiation (#1124)

view details

Emily Burns

commit sha 699cdfcc5c145735b4186f0ab43847fc25b2ccae

fix(md): update constraint endpoints (#1125)

view details

Mark Vulfson

commit sha 4f13425d99229f1b5eeafbd4e99e28d1bc6afb50

Revert "fix(etag): removing etag filter (#1123)" (#1126) This reverts commit 8f15de434dcf88a86d233d894d228e46e9d46bd2.

view details

Mark Vulfson

commit sha 4039cf5d35bcb28e34913279c0fe2f94c556c40f

fix(etag): produce weak ETag (#1127) follow up from: https://github.com/spinnaker/gate/pull/1123 We noticed that `ETag` filter somehow makes it so that requests from `gate` are no longer gzipped. Removing the filter caused the issue that responses no longer contained `Content-Length` header which means that the responses were chunked. This is a pretty big difference and a breaking change for clients that might not be able to handle chunked responses. This change sets the `ETag` to be weak which doesn't circumvent gzip but also sets the `content-length` and is thus not chunked.

view details

Michael Plump

commit sha 146590e1633432849d54037bb84caedc28660bfe

chore(GHA PR build): turn on the cross compiler here too (#1131) Not sure why I missed this before. I suppose just because it wasn't needed. In any event, I updated my script to add this going forward.

view details

Cameron Fieber

commit sha a11c6c9e2936ecbeca095271b3f981092e03f13a

feat(serviceAccounts): filter service accounts by application (#1130) enables a more meaningful list of service accounts when selecting a run as user This feature can be disabled by setting `fiat.service-accounts.filter.enabled=false`. The required authorizations for the service account on the application can be customized, by default they are either of WRITE or EXECUTE, but can be set as `fiat.service-accounts.filter.match-authorizations=READ,WRITE,EXECUTE` In the event that no service accounts match the specific application, the user's full list of service accounts is returned as a fallback.

view details

spinnakerbot

commit sha 0c23b921fe89c7666e17f7ece6712ddcbda2f776

chore(dependencies): Autobump korkVersion (#1115) Co-authored-by: runner <runner@fv-az51>

view details

push time in 2 months

push eventpdk27/halyard

Chris Smalley

commit sha fd2ef272e3e73503a6599b85ead75f9357772bf5

chore(build): Remove init-publish script (#1579)

view details

Michael Plump

commit sha c1480610d28a0b52b23f1485261be78f8e7faa6b

Revert "chore(build): Remove init-publish script (#1579)" (#1580) This reverts commit fd2ef272e3e73503a6599b85ead75f9357772bf5.

view details

Michael Plump

commit sha 138f2d8af5fda5f6fd1ca6c18a3bd45c52db8044

fix(config): Ignore any existing `plugins` stanzas. (#1583) Slack is littered with people having this issue. It looks like this was added in halyard 1.23 on 8/27/2019. So anyone with a config after that will have this issue.

view details

Eric Zimanyi

commit sha 5b5c7a0f99c9a3f728c8f32cd4a58695ee27e4ba

chore(mergify): release-* branches require release manager approval (#1584) The mergify config currently doesn't distinguish between merging to master and merging to a release branch. It currently never merges to release branches because mergify doesn't have permission to merge to these branches (due to branch protection rules). I don't want to give mergify that permission without updating the config file here, as then it would merge to release branches after any approval, whereas we only want to merge to release branches if a PR is approved by a release manager. This updates the mergify config to scope the existing rules to only apply to the master branch, and adds a new rule to merge to release branches upon approval by a release manager. Because the 1.17 branch (and likely the 1.18 branch in some repos) is still exclusively using Travis CI instead of github actions, also add a rule the merges if Travis CI passes to account for these branches. This rule can be deleted once all of the active branches in the repo are using Github actions. Co-authored-by: Michael Plump <plumpy@google.com>

view details

spinnakerbot

commit sha 1156e2cfdc37d05a0462970599f00e87a26aeea9

chore(dependencies): Autobump korkVersion (#1585) Co-authored-by: runner <runner@fv-az33>

view details

spinnakerbot

commit sha 8ed48e13e209046f47fbafb52b0399e43d540ca6

chore(dependencies): Autobump korkVersion (#1586) Co-authored-by: runner <runner@fv-az51.internal.cloudapp.net>

view details

Cameron Motevasselani

commit sha 2129fda5f52780504eda06d1ce525e912d07b0cf

fix(plugins): fix plugins-manifest.json (#1564) * fix(plugins): changing plugin-manifest.js to .json file type * fix(plugins): remove comments from json file, handle multiple plugins

view details

Cameron Motevasselani

commit sha 4ed4d2635640d97fdd5746f1ac567d664238101e

feat(plugins): add plugins to all services (#1559) * feat(plugins): add plugins to all services * refactor(plugins): remove introspection * refactor(plugins): change Boolean to boolean

view details

spinnakerbot

commit sha 7fc5147a547d2cd6ce95305d726069d638959108

chore(dependencies): Autobump korkVersion (#1587) Co-authored-by: runner <runner@fv-az118.internal.cloudapp.net>

view details

spinnakerbot

commit sha 9e758091c76ceca7efdf98ae260b21b5802bd61c

chore(dependencies): Autobump korkVersion (#1588) Co-authored-by: runner <runner@fv-az51>

view details

Michael Plump

commit sha 4c2762333c4dbca57809b1553897f55be9eb471f

chore(gha): don't run the GHA build when pushing to a fork (#1589)

view details

Eric Zimanyi

commit sha 9226003cd20a54f3080a314bfb32b2c8350fd65d

fix(plugins): Revert add plugins to all services (#1559) (#1590) This change breaks deploying any version of Spinnaker <= 1.18 using Halyard, so is being reverted. This reverts commit 4ed4d2635640d97fdd5746f1ac567d664238101e.

view details

spinnakerbot

commit sha b908d75072bd74bb5f73c8f5ec9438a333304aa8

chore(dependencies): Autobump korkVersion (#1591) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha 0639c9e972cf8826f811a7e1c292018a415fb8ca

chore(dependencies): Autobump korkVersion (#1592) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha 2584f90fa74b96d5785c0da76b01e27ae9237c1a

chore(dependencies): Autobump korkVersion (#1593) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha d30da56964533ee61025a1160ac4638acedb395a

chore(dependencies): Autobump korkVersion (#1595) Co-authored-by: runner <runner@fv-az51>

view details

Cameron Motevasselani

commit sha 813fb910d624f94e9d5b47ac8ad77a376b826886

feat(plugins): add plugins to all services (#1594) * feat(plugins): add plugins to all services * fix(regression): update version check to handle non-semver releases * fix(plugins): do not deploy to kayenta until 1.20.0

view details

David Byron

commit sha ed489c78a6d3545d04027d61d8dcfabf56d27307

fix(container): restore openssl to alpine image (#1596) removed by https://github.com/spinnaker/halyard/commit/43dfc6744ea6dbe6fd65cb349a53696d96329dae In addition to putting back something that was there previously, openssl is in the ubuntu container, so let's have it here as well. Co-authored-by: Byron David <david.byron@avast.com>

view details

spinnakerbot

commit sha 6bdf6ffa0f5526f5955401a1085d4f645e5038ed

chore(dependencies): Autobump korkVersion (#1599) Co-authored-by: runner <runner@fv-az50>

view details

Eric Zimanyi

commit sha 4a686e906fbfce8ef565c3c1aeadffa74ad6535e

fix(daemon): Don't try to kill daemon created by another user (#1600) Currently if the Halyard daemon was created by another user, we kill it and try to start one of our own (likely failing as we probably don't have permission to kill it). This is because we look up the PID in the pid file, then try to see if the process exists with 'ps' but don't pass the '-e' flag to get all processes (including those created by other users). This is particularly important given that the Halyard install process specifically asks you to specify a user with which to run Halyard.

view details

push time in 2 months

push eventpdk27/igor

Eric Zimanyi

commit sha d2f7f5e2b3abe8416e5c325795598d5793b71189

chore(mergify): release-* branches require release manager approval (#677) The mergify config currently doesn't distinguish between merging to master and merging to a release branch. It currently never merges to release branches because mergify doesn't have permission to merge to these branches (due to branch protection rules). I don't want to give mergify that permission without updating the config file here, as then it would merge to release branches after any approval, whereas we only want to merge to release branches if a PR is approved by a release manager. This updates the mergify config to scope the existing rules to only apply to the master branch, and adds a new rule to merge to release branches upon approval by a release manager. Because the 1.17 branch (and likely the 1.18 branch in some repos) is still exclusively using Travis CI instead of github actions, also add a rule the merges if Travis CI passes to account for these branches. This rule can be deleted once all of the active branches in the repo are using Github actions.

view details

spinnakerbot

commit sha 2c8d993d5bd71d4f714ecbf1ee2a951f7a9e4683

chore(dependencies): Autobump korkVersion (#678) Co-authored-by: runner <runner@fv-az33>

view details

spinnakerbot

commit sha e62fdf7332022500419c66672c52323726f0bb45

chore(dependencies): Autobump korkVersion (#679) Co-authored-by: runner <runner@fv-az51.internal.cloudapp.net>

view details

spinnakerbot

commit sha a1f3dca5f3264f2f6e575b9760c08ea82f35de54

chore(dependencies): Autobump korkVersion (#680) Co-authored-by: runner <runner@fv-az51>

view details

Michael Plump

commit sha 81fd89defac7dbc6e0b1b424f952e4ecc1829d3f

chore(gha): don't run the GHA build when pushing to a fork (#681)

view details

spinnakerbot

commit sha 811f8eee3c888361a656a7f8aca9c7ebf8a26d5a

chore(dependencies): Autobump korkVersion (#682) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha f9f787cb82469ac391b04e0961ecea43ce0ac155

chore(dependencies): Autobump fiatVersion (#683) Co-authored-by: runner <runner@fv-az78>

view details

spinnakerbot

commit sha d603bf6ca98516fb02c0123969f1cb1df9e13a62

chore(dependencies): Autobump korkVersion (#684) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha 956f3fc11f96bf2a4587d26aed0684200f3b31c0

chore(dependencies): Autobump korkVersion (#685) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha c164b48809b42c4167242a6601252e38fe647ad1

chore(dependencies): Autobump korkVersion (#688) Co-authored-by: runner <runner@fv-az51>

view details

dreynaud

commit sha 9a826466ad219b3dc354d678aa9b5445a21c53e3

chore(logs/metrics): add logging and metrics to JenkinsClient (#687) - RPC issues between igor and jenkins are hard to diagnose without proper visibility - drop InstrumentedProxy metrics in favor of the more standard OkHttpMetricsInterceptor

view details

spinnakerbot

commit sha 02543ce3322361f2331d7d327a648c2b6aa03fc5

chore(dependencies): Autobump fiatVersion (#689) Co-authored-by: runner <runner@fv-az76>

view details

Michael Plump

commit sha 20ffd9ebd8aca0858d272f223d0c30c4764f67c4

chore(mergify): if an autobump fails, request a review (#691)

view details

spinnakerbot

commit sha ae696ed407af6c241c012c2b215b0d13a9bb1a9d

chore(dependencies): Autobump spinnakerGradleVersion (#692) Co-authored-by: root <root@d0e0826bf0ed>

view details

spinnakerbot

commit sha 1385b906a9d508c7431d0723d7d0792f0e763c5d

chore(dependencies): Autobump spinnakerGradleVersion (#693) Co-authored-by: root <root@7c2d69cf985a>

view details

Michael Plump

commit sha b8891ce8c4e5cb6531fb03106904c07b51a83ec1

chore(mergify): autobump reviews should go to oss-approvers (#694)

view details

spinnakerbot

commit sha 2f1f9c6950396db1622b2b98358f24fd21802295

chore(dependencies): Autobump korkVersion (#696) Co-authored-by: root <root@630f71d41ecb>

view details

spinnakerbot

commit sha 0139e7e8770c088b7782d19febb299eb0066df19

chore(dependencies): Autobump korkVersion (#697) Co-authored-by: root <root@9be1526fc31e>

view details

spinnakerbot

commit sha a7233795a71987285e6e0e24dece1fda5e1233a8

chore(dependencies): Autobump korkVersion (#698) Co-authored-by: root <root@3bbaae2b3f97>

view details

spinnakerbot

commit sha 57d70edc7c874f0b1dc9b957c65a9c7be2f2724f

chore(dependencies): Autobump korkVersion (#699) Co-authored-by: root <root@60135c639e6f>

view details

push time in 2 months

push eventpdk27/clouddriver

spinnakerbot

commit sha 52c300dafaca0f2983eeb918aad0a433ca02acd3

chore(dependencies): Autobump korkVersion (#4483) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha c369b5d9e3c43101536cbe8e5684ea8578c4e7ef

chore(dependencies): Autobump korkVersion (#4484) Co-authored-by: runner <runner@fv-az51>

view details

Eric Zimanyi

commit sha 4831979f725312aaa1c84d268ceb0af46b8e3445

feat(config): Add ro and rw profiles (#4487) * refactor(core): Move some things back to halyard config In a recent PR I moved the server.port and server.address settings into the base config to reduce what's in the Halyard config. After further reflection, we don't want these to be overridable easily in kleat anyway as I don't think there's a common use case for this. (And in any case, it's easier to override this by just overriding these in the clouddriver-local.yml than to need to go through the services.* settings in spinnaker.yml.) So let's avoid bringing these settings along for the ride, and just leave them in the halconfig where they will still help halyard users. This restores this block of clouddriver.yml to what it was before the recent change. * feat(config): Add ro and rw profiles In order to make it easier to configure HA deployments, add profiles to support the following: * A read-only deployment that does not run caching agents, and can connect to a read-only backing store. * A read-write deployment that does not run caching agents, but connects to a writeable backing store so that it can serve mutating requests from other microservices. * fix(config): Remove default from redis-ro Change redis-ro to redisRo to match the casing in the rest of spinnaker.yml. (I don't want to take on the project of updating that file to kebab case right now.) Also remove the default; we're going to require that redisRo be defined in spinnaker.yml if you're running HA (even if it just points to the regular redis). Maybe later we'll deafult it, but it's safer to add a default later than to remove one later.

view details

Michael Plump

commit sha 4aa6378c74930851b578ece5dd618cc8e2d336c3

chore(java11): Compile with Java 11 (but targeting Java 8) (#4486) Additional differences: 1. The `Dockerfile.compile` is using Ubuntu instead of Alpine. Gradle downloads a `protoc` from Maven that is built against glibc. Alpine uses musl libc, so the downloaded `protoc` won't run. We need a glibc-based distro. For consistency, I may backport this change to the other five services I've already updated. I can't decide :/ 2. Add `--no-daemon` to the `Dockerfile.compile` for consistency and because otherwise setting `-Xmx` in `GRADLE_OPTS` doesn't do anything useful. 3. `ServerGroupManagerController.java` had to be changed a little because of some tweaks to the type inference in Java 11. I honestly don't understand why the old code wouldn't compile, but this new code is better anyway. 4. `ReconcileClassicLinkSecurityGroupsAgentSpec` had to be changed because `Instant.now()` under Java 11 returns nanosecond precision. This test converts back and forth to `Date` objects, which can't store that level of precision.

view details

spinnakerbot

commit sha 29e7f11e7c9d9d7a4140f659400c746110a980c4

chore(dependencies): Autobump korkVersion (#4488) Co-authored-by: runner <runner@fv-az51>

view details

Eric Zimanyi

commit sha 33deae17d1df225a01f2adf08d7dd32e0f51a98f

refactor(kubernetes): Clean up KubernetesManifestStrategy (#4489) We have a class KubernetesManifestStrategy to represent how to deploy a manifest, but it doesn't encapsulate itself well and pushes a lot of logic into callers. Make the following changes: * Move the logic for creating this KubernetesManifestStrategy object from annotations into the KubernetesManifestStrategy class; this allows us to move the strings representing the annotations into this class as well, increasing encapsulation. * Improve the type safety of the member variables so that callers don't need to perform redundant null-unsafe checks. In particular: * Add a DeployStrategy enum to replace (no pun intended) the replace and recreate Booleans; these are mutually exclusive as setting both to true will 'kubectl delete' then 'kubectl replace' the manifest which always fails as there's nothing to replace. * Change versioned to an enum; we do care if it's set or not because if it's unset we use the value on the deploy operation. I guess this could have just stayed a Boolean, but it seemed clearer to make this an enum with three values (TRUE, FALSE, DEFAULT) though I could be convinced otherwise, I was on the fence here. * Make maxVersionHistory an OptionalInt instead of an Integer to get some null-safety in callers * Make useSourceCapacity a boolean instead of a Boolean as we always consider null the same as false. * Make all the member variables private and final, exposing only getters of these new, more convenient return types. This simplifies a lot of the logic in callers. A few notes: * The new logic to read annotations avoids the complex logic that was in getAnnotations in KubernetesManifestAnnotater, which used an ObjectMapper instead of parseBoolean or parseInt. ObjectMapper is actually *more* strict here for booleans and would only return true if the value was exactly (case-sensitive) "true"; there is a slight change here that now we'll accept any casing of "true" (ex: "trUe", "TRUE") but I think that's sensible and probably what people would expect anyway. * A couple of the annotation strings are shared between classes in the same package so I made them package-private instead of private. Overall this ended up making KubernetesManifestStrategy larger than I might have intended at the beginning but I think this helps a lot with encapsulation, in that consumers need much less of an understanding of its internal workings.

view details

spinnakerbot

commit sha 983e403052c37e2896086daf53f72c0b4dc83126

chore(dependencies): Autobump fiatVersion (#4491) Co-authored-by: runner <runner@fv-az76>

view details

Eric Zimanyi

commit sha 0f471f319674c5887e51606ba8751fcbe0b7e946

feat(kubernetes): Apply manifests with generateName using create (#4492) * feat(kubernetes): Add support for kubectl create Some manifest need to be applied with kubectl create; one example is manifests that specify a generateName instead of a name. In this case, we can't apply or replace, as both of these operations require looking up the existing manifest which is impossible when the name changes each time. This commit adds support to KubernetesV2Credentials to create a manifest using kubectl create operation. * test(kubernetes): Add tests to CanDeploy Before lightly refactoring and adding some new functionality to the CanDeploy interface, add some tests to validate the existing behavior. * refactor(kubernetes): Use switch in CanDeploy The logic in CanDeploy is a bit too complicated; let's make it cleaner by using a switch over the enum of possible deploy strategies. * feat(kubernetes): Apply manifests with generateName using create Manifests that have a generateName instead of a name need to be created using a create operation, as other operations require looking up the existing manifest to reconcile changes, but this is not possible if we don't have the manifest's name. This change updates CanDeploy to check if the manifest has a generateName (and no name, as this would take priority), and to always use 'kubectl create' if that is the case. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Michael Plump

commit sha 044ed8ad314f2c905b087185b021daf997a3c619

chore(spotless): reformat code (#4490) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Maggie Neterval

commit sha 8c0ea6c5ccca38329d5380f27bbce890ed091ac2

fix(kubernetes): properly set isDisabled on server groups (#4494)

view details

AbdulRahmanAlHamali

commit sha 2ba2b02649daadcbaafc3251dc3264abf9dbb476

fix(Authorization): Relax restrictions in the job controller (#4328) * fix restrictions in the job controller * address PR comments * move authorization decision to inside the code * replace done with finished

view details

Eric Zimanyi

commit sha f90b6923f1a914ef3925babc70d667b6f5d338d3

refactor(kubernetes): Clean up runAndRecordMetrics (#4495) * test(kubernetes): Add tests to metric recording on kubectl calls The runAndRecordMetrics funcgtion in KubernetesV2Credentials is very complex and has no tests. Before simplifying it, add some tests to document and validate the current behavior. This commit also updates the constructor of KubernetesManifest to set the metadata to an empty map. In real code, we always create a KubernetesManifest by deserializing, so the metadata is set to a map of whatever was on the incoming manifest. But it's often useful in tests to be able to create a manifest and set a few fields on it; before this change, this wasn't possible because metadata was always null. There were functions to set various keys on the metadata, but these would all fail due to the null metadata. * refactor(kubernetes): Clean up runAndRecordMetrics The control flow in runAndRecordMetric is really confusing, in particular in that we re-throw and return from a finally block. Clean this up so that it uses better style. * fix(kubernetes): Fix some issues with kubectl metrics Cleaning up the code in the last commit surfaced a few issues that this commit cleans up. (1) We should add a failure tag if a KubectlException is thrown (2) Metric tags are intended to be short descriptors, so we shouldn't add the text of an error message. Remove that message from the cause tag and just include the class of the exception. (3) There's no reason to separately tag 'kind' and 'kinds' depending if there are more than 1 or not; just always add 'kinds' with the full list of kinds. Also sort it for consistency in the metric tags. There's probably a bit we can do to futher clean up the exception handling (deciding when to wrap the exception, etc.) and deduplicate the two catch blocks but leaving that s is for now. * refactor(kubernetes): Don't needlessly qualify KubectlException Co-Authored-By: Maggie Neterval <mneterval@google.com> * refactor(kubernetes): Fix comment and assert on class One of my comments was nonsensical; fix it, and also assert on the exception class in that test. Co-authored-by: Maggie Neterval <mneterval@google.com>

view details

Michael Plump

commit sha 8916ca2fd2bd4d201b5364d509f2fbee8630b5fd

chore(mergify): if an autobump fails, request a review (#4497)

view details

spinnakerbot

commit sha b9af062dee3a3751582bc1993e955a9d869789db

chore(dependencies): Autobump spinnakerGradleVersion (#4499) Co-authored-by: root <root@7c2d69cf985a>

view details

Michael Plump

commit sha e07e3a59d8dc62355e144b458f9942c3e1943a19

chore(mergify): autobump reviews should go to oss-approvers (#4500)

view details

Eric Zimanyi

commit sha e098c9f2100731aa0096f51d05e91cb113edd893

refactor(kubernetes): Improve error abstraction in kubectl (#4498) * refactor(kubernetes): Improve error abstraction in kubectl When parsing the output of kubectl as JSON, a few different kinds of errors can happen: (1) An IOException if we encounter an error reading from the output stream (2) A JSONSyntaxException if the call to gson.fromJson fails (3) An IllegalStateException if the JSON format is unexpected (ex: if we get a list back instead of an object and call .beginObject() on it). Currently we're propagating all these exceptions as is. Let's continue letting the IOException propagate, as this can be handled by the job executor in the same way it handles any other error reading output. Let's wrap the JSONSyntaxException and IllegalStateException in a KubectlException to provide relevant context. This is how we handle a JSONSyntaxException other places in this file when we parse non-streaming responses. (Potentially at some point this could be a specific subclass of KubectlException but for now just being consistent with what happens elsewhere in the file.) This means that now the error surface out of the KubectlJobExecutor for a JSON parse exception will be the same regardless of whether this happened in the streaming or non-streaming parser. * refactor(jobs): Throw exceptions appropriate to the abstraction The JobExecutor class throws RuntimeException in a few places; let's replace this with throwing a JobExecutionException with information about the job that failed. Let's also take the opportunity to document the contract about when the JobExecutor throws an exception vs. when it returns a JobResult with a status of FAILED. * refactor(kubernetes): Remove NoResourceTypeException This exception was added in PR2344, with the goal of in some cases catching exceptions where a type was not recognized by the API (for example if a built-in kind is not present on an old Kubernetes cluster). It appears, however, that the change in that PR never actually worked, as all relevant calls to kubectl go through runAndRecordMetrics, which wraps any exception that is not a KubectlException in a KubectlException. So the catch blocks added in that PR will never be triggered as we'll always see a KubectlException at that point. Probably what should have been done is to make NoResourceTypeException extend KubectlException (or potentially to have it special-cased in runAndRecordMetrics). In the intervening time since that PR, we've added a check the first time we try to read a kind to make sure that it's readable (mainly for permissions issues, but it would also address this case), so I'm not sure there's much value in actually fixing this. (In any case, the behavior hasn't worked in the two years since it was added and we have not heard reports of people running into unrecognized kinds, except briefly when the readable check noted earlier was broken.) This commit then does the following: (1) Removes all the catch blocks for NoResourceTypeException that are unreachable (2) Removes NoResourceTypeException itself; given that calling code is not distinguishing this particular exception, there's not much benefit to throwing it vs. a generic KubectlException (particularly given that we're relying on string parsing to do so, and that we're only throwing it in some of the methods, not others). (3) It makes the constructor of KubectlException package-private instead of protected. * refactor(kubernetes): Fix a few places where we catch KubectlException In the metrics caching agent, we catch a KubectlException and dig into the message to see if it's because metrics aren't available, then return an empty collection in that case. Let's just have topPod directly handle that so we don't leak the implementation detail of using kubectl (and the specific message); this makes sense for the other two places we call this function as well. In KubernetesV2CachingAgent, we catch, log, then re-throw an exception. This is a vestige of when we used to just return an empty list after logging, but that was change to propagate the exception, so there's not really much additional benefit from also logging. * refactor(kubernetes): Don't wrap kubectl exceptions Let's no longer wrap all exceptions that pass through runAndRecordMetrics in a KubectlException. While it does have the benefit of providing some context at that level of abstraction, it is confusing that we sometimes directly throw that in the KubectlJobExecutor and sometimes create one by wrapping it here. I think at some point we may want to create a new KubernetesAPIException here that wraps anything below (either a KubectlException of a client library exception), but for now let's just propagate whatever was thrown below. The one thing to be careful about is that this change doesn't break places where we're catching a KubectlException. I've looked through and in all cases the code is catching to deal with some expected (but non-successful) kubectl call (ex: a missing resource, logs not there, etc.). All of these remain KubectlExceptions (and in some cases we should potentially even make more specific ones and catch that specific one). What we'll no longer be catching is things like a JobExecutionException where we fail to run the job, etc, which I think actually is better in this case. * test(kubernetes): Fix tests from last commit I broke the tests I added yesterday, which I guess means they work. Update them now that we aren't wrapping all exceptions. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Eric Zimanyi

commit sha 9e3a73b1312e756f355fadd933b495188b7fcd33

refactor(kubernetes): Don't look up default namespace (#4501) * refactor(kubernetes): Convert DeployManifestOperation test to java The next refactor will require some changes to this test that are more difficult than necessary because the test is in groovy and uses more mocking than necessary. Convert the test to Java, and clean up the mocking so it's easier to follow. * refactor(kubernetes): Operations should return the created manifest When creating a manifest, the result is returned by the API, but is currently ignored in most cases by clouddriver. It is useful to use the returned manifest because there are times where it has updated information. One particular example is when we don't specify a namespace on our manifest; in that case, the manifest will be applied to the default namespace that is configured. Currently we solve this problem by separately looking up the default namespace before applying the manifest, but it would be easier to just apply it and then check what kubernetes default it to. This change will allow us to do that in a future commit. * refactor(kubernetes): Don't look up default namespace There are two places where we look up the default namespace unnecessarily. The first is on every call to kubectl so that we can pass in a "--namespace" flag; if we just leave that flag out, we'll get the default namespace already. The second is when deploying a manifest without a namespace; in that case, we look up the default namespace so that we can apply it to the manifest before deploying. Similarly, if we just deploy the manifest as is, it will get the default namespace (which we'll see on the result from the API). I tested that this works both for the serviceAccount case and for the regular kubeconfig case (testing the serviceAccount by ssh-ing to a pod set up this way to check that kubectl already detected the default). This deletes a lot of unecessary code. When we move to use the client library, we may need to solve this again as I'm not sure that it will always detect a default namespace, but this code was complicated enough and coupled pretty tightly to the kubectl implementation that I think it will be better to start from scratch at that point. (This was also broken, as the command to get the default namespace from the kubeconfig appears to fail every time so you always get 'default' regardless of what is set.) * fix(kubernetes): Fix Strings import I accidentally imported the wrong Strings package; let's use Guava.

view details

harikumarks

commit sha 5913508b981c3eeaf24608b9e943776981fed8c6

fix(azure): Enforce azure provider account permissions (#4482) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Eric Zimanyi

commit sha fc235c33431dda656b8ee78fad0d577b9148373e

refactor(kubernetes): Clean up KubernetesArtifactConverter (#4502) * refactor(kubernetes): Make KubernetesCoordinates immutable Luckily there are no existing uses that mutate it, so we can greatly reduce its API by making it a Value class. * refactor(kubernetes): Clean up KubernetesArtifactConverter There are a bunch of functions there that are no longer used, so we can significantly clean up that class (and implementations). Also move getAccount to the only place where it is used. * refactor(kubernetes): Make implementations of converter singletons It's confusing how we store an instance of each artifact converter on each KubernetesResourceProperties instance. The properties should only care whether the resource is versioned; the deployer logic can figure out what artifact converter to use based on whether the resource is versioned (and whether it has been overriden by an annotation). The goal here is less to reduce the number of created objects (which is a side benefit, though probably minimal), but more to keep KubernetesResourceProperties more focused, with the goal of one day maybe merging it with KubernetesKindProperties so we don't have so many of these classes describing kinds floating around.

view details

Eric Zimanyi

commit sha 5e288156c35af987e460f244f2c61ffe226a78dd

feat(kubernetes): Replace deploy strategy acts as upsert (#4503) Currently if using the strategy.spinnaker.io/replace annotation, the manifest will be applied with kubectl replace. This will fail the first time the pipeline is run as the object won't exist and kubectl replace fails if there is no existing resource to replace. (There is an open issue in kubernetes to make replace act as an upsert, but as of now it just as workarounds to try the replace and then create if it fails.) As this is a common issue, Spinnaker should be able to make this easier. This commit updates the behavior on doing a replace to fall back to creating the resource if the replace call fails due to the resource not existing. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

push time in 2 months

push eventpdk27/rosco

Eric Zimanyi

commit sha 6fae4618424c6a0d58a485d41e3562deb7702d8f

chore(mergify): release-* branches require release manager approval (#567) The mergify config currently doesn't distinguish between merging to master and merging to a release branch. It currently never merges to release branches because mergify doesn't have permission to merge to these branches (due to branch protection rules). I don't want to give mergify that permission without updating the config file here, as then it would merge to release branches after any approval, whereas we only want to merge to release branches if a PR is approved by a release manager. This updates the mergify config to scope the existing rules to only apply to the master branch, and adds a new rule to merge to release branches upon approval by a release manager. Because the 1.17 branch (and likely the 1.18 branch in some repos) is still exclusively using Travis CI instead of github actions, also add a rule the merges if Travis CI passes to account for these branches. This rule can be deleted once all of the active branches in the repo are using Github actions.

view details

spinnakerbot

commit sha 9ea433f4d724c65cdee817821d28753f12600a50

chore(dependencies): Autobump korkVersion (#568) Co-authored-by: runner <runner@fv-az33>

view details

spinnakerbot

commit sha 145c1baca9f5fe9e92be7e546b22e28db21e6b16

chore(dependencies): Autobump korkVersion (#569) Co-authored-by: runner <runner@fv-az51.internal.cloudapp.net>

view details

spinnakerbot

commit sha e13067b8b40b58727e743dd7e05460cf5ca78804

chore(dependencies): Autobump korkVersion (#570) Co-authored-by: runner <runner@fv-az118.internal.cloudapp.net>

view details

spinnakerbot

commit sha 85285a71d4f57886cb9d9a98231ef84facaeee63

chore(dependencies): Autobump korkVersion (#572) Co-authored-by: runner <runner@fv-az51>

view details

Michael Plump

commit sha d650b327b1fff84acf86cc803a74a1048932c956

chore(java11): Compile with Java 11 (but targeting Java 8) (#571)

view details

Michael Plump

commit sha e1279ebad6139bed62aeb34363e1296f843edb4f

chore(gha): don't run the GHA build when pushing to a fork (#573)

view details

spinnakerbot

commit sha 3ec9ad286c156731978574b1e15f8463bbc8d666

chore(dependencies): Autobump korkVersion (#574) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha d137cee1fbe878fc38122839be52d0c17c8de362

chore(dependencies): Autobump korkVersion (#575) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha e3d331dca08fab0f6d688060e90e299cd9b9452b

chore(dependencies): Autobump korkVersion (#576) Co-authored-by: runner <runner@fv-az51>

view details

Michael Plump

commit sha dc8d0d4ef1eb035903ea582b6e789e5c9af3be96

chore(GHA PR build): turn on the cross compiler here too (#578) Not sure why I missed this before. I suppose just because it wasn't needed. In any event, I updated my script to add this going forward.

view details

spinnakerbot

commit sha c65f1bec29d50050105b4356a0335825413314c5

chore(dependencies): Autobump korkVersion (#579) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha 2c4930a5d0f07fe31f47f5550967e2ca58b5fd7c

chore(dependencies): Autobump korkVersion (#580) Co-authored-by: runner <runner@fv-az50>

view details

Michael Plump

commit sha 034bb795600e6304716872e40c38fdcb77f2d087

chore(mergify): if an autobump fails, request a review (#581)

view details

spinnakerbot

commit sha 37df054df7b10be4e765008d70a307837f0002f9

chore(dependencies): Autobump spinnakerGradleVersion (#582) Co-authored-by: root <root@7c2d69cf985a>

view details

Michael Plump

commit sha 529e0ed8d884082122880d4f3189bdad8a09ed91

chore(mergify): autobump reviews should go to oss-approvers (#583)

view details

spinnakerbot

commit sha b6bbfb4e8040456131773b288c919ed8003213d0

chore(dependencies): Autobump korkVersion (#584) Co-authored-by: root <root@630f71d41ecb>

view details

spinnakerbot

commit sha f5033fc7d9d57e4c76e0d809cb02fd6a888e2f17

chore(dependencies): Autobump korkVersion (#585) Co-authored-by: root <root@9be1526fc31e>

view details

spinnakerbot

commit sha 54177cedaad4a0cb44424c531e9d639d590d09bb

chore(dependencies): Autobump korkVersion (#586) Co-authored-by: root <root@3bbaae2b3f97>

view details

spinnakerbot

commit sha 544f73a7a8fadd14864100d491d92e10a3690f05

chore(dependencies): Autobump korkVersion (#587) Co-authored-by: root <root@60135c639e6f>

view details

push time in 2 months

push eventpdk27/orca

Eric Zimanyi

commit sha 7aca9bc898a56f249a2260aa3be8a73471f3c74d

fix(kubernetes): Fix artifact binding for run job (#3540) * fix(kubernetes): Fix artifact binding for run job The Kubernetes V2 Run Job stage doesn't bind artifacts if the manifest source is text. This is because we only populate artifacts if the source is an artifact; luckily the logic to populate artifacts is independent of the aritfact source, so we can run it in either case by just removing the if condition. * fix(kubernetes): Fix tests and V1 run job The prior commit broke the V1 run job stage, as it uses the same KubernetesJobRunner but doesn't have any of the relevant fields that ManifestEvaluator tries to evaluate. The root cause of this is that the context doesn't have a Source, so inherits the default of Source.Text; this causes us to try to look up the manifest text, which is null. Ideally we'd have the V1 run job stage set a different value (maybe Source.None because we don't even really have a manifest here) or change the default. But given the impending deprecation of the V1 provider (and that it's a bit risky to change the default) let's just work around the issue by short-circuiting manifest evaluation if the source is Text but there is no text. Also, the prior commit broke some tests as we're now running manifestEvaluator.evaluate more than before; fix these tests.

view details

AbdulRahmanAlHamali

commit sha 19484521865ab2bb4424f9bcf5b9245a356a1b68

feature(Pipeline Expressions): add pipelineIdOrNull SpEl helper function (#3534) * fix(Pipeline Expressions): return null when pipelineId does not find pipeline * Revert "fix(Pipeline Expressions): return null when pipelineId does not find pipeline" This reverts commit 6e5dd8c138425dcf5d73f54b2987ffe84411e404. * feature(Pipeline Expressions): add pipelineIdOrNull function which is the same as pipelineId but returns Null when the pipeline is not found * Apply suggestions from code review Co-Authored-By: Mark Vulfson <markvu@live.com> Co-authored-by: Mark Vulfson <markvu@live.com>

view details

Mark Vulfson

commit sha 526a8fb5aa107e505cb8fcb3eebd1a2e73578b11

Revert "fix(peering): Trigger pending executions across orca peers (#3519)" (#3544) This reverts commit 1b63e1cae356f4febe2b1b69a1eeecadc28fc042.

view details

Eric Zimanyi

commit sha a0209a1cf4333ffd423f5ec2978913d6639056a4

chore(mergify): release-* branches require release manager approval (#3545) The mergify config currently doesn't distinguish between merging to master and merging to a release branch. It currently never merges to release branches because mergify doesn't have permission to merge to these branches (due to branch protection rules). I don't want to give mergify that permission without updating the config file here, as then it would merge to release branches after any approval, whereas we only want to merge to release branches if a PR is approved by a release manager. This updates the mergify config to scope the existing rules to only apply to the master branch, and adds a new rule to merge to release branches upon approval by a release manager. Because the 1.17 branch (and likely the 1.18 branch in some repos) is still exclusively using Travis CI instead of github actions, also add a rule the merges if Travis CI passes to account for these branches. This rule can be deleted once all of the active branches in the repo are using Github actions.

view details

Chris Smalley

commit sha 8365e6477ce5ddbfa22822f80933c9f82c90c2e9

chore(build): Add GitHub Action cache step (#3546)

view details

Shengyu Liu

commit sha c50372f001ae3e3a0b7eddb373c1877ee8640063

feat(tencentcloud): Add tecentcloud stages and tasks (#3486) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Rob Zienert

commit sha dbae052c9f31b8d3a6132b8cf4bdb7aa32490190

docs(api): Initial samples and some more api docs (#3521)

view details

Rob Zienert

commit sha b73b1aa645f7771de2638e1a4bf8f57d955969d5

feat(api-test): Initial scaffolding of orca-api-test harnesses (#3541) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Mark Vulfson

commit sha 133a9bd9e29633d0417a14c9e8b31efd616a2ede

fix(evaluate variables): handle null/empty variable keys (#3547) it's possible to consruct a pipeline with bad eval vars stage context as follows (both in UI and by hand): ``` "type": "evaluateVariables", "variables": [ { "key": "a", "value": 1 }, { "key": null, "value": null } ] ``` This causes an exception during exception handler of `RunTaskHandler`. This fix strips out invalid variable keys Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

Rob Zienert

commit sha b2d5404d2c0e94dfb6750cbfb4b11ab2b23cfb36

refactor(test): Move PipelineBuilder to orca-api-test (#3549) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

view details

spinnakerbot

commit sha 71039a38e6f041655a61a3f22482f506250c1e40

chore(dependencies): Autobump korkVersion (#3550) Co-authored-by: runner <runner@fv-az33>

view details

spinnakerbot

commit sha abc770510139715b311b6240cf37459955aa566b

chore(dependencies): Autobump korkVersion (#3551) Co-authored-by: runner <runner@fv-az51.internal.cloudapp.net>

view details

Mark Vulfson

commit sha 134d40a8df239429a8d6c38a15428031375f75d0

feat(peering): Pending Executions Agent (#3548) Introduces a pending execution agent which kicks off executions in the pending state. Normally, such executions will be started by the act of completing a pipeline. However, when there is a waiting execution in a different orca DB from where the current pipeline completed it doesn't work. With this change there is an agent that runs every ~15s (configurable) to see if there are any pending executions which need to be kicked off and if so, kicks them off. This is a continuation of failed attempt at implementing such functionality here: https://github.com/spinnaker/orca/pull/3544

view details

spinnakerbot

commit sha 7132bd7726c4eacff58ccc4502d00a035a082c9e

chore(dependencies): Autobump korkVersion (#3553) Co-authored-by: runner <runner@fv-az118.internal.cloudapp.net>

view details

spinnakerbot

commit sha eaec89c90edd5f64edeebf8cdfe54111017f4b33

chore(dependencies): Autobump korkVersion (#3554) Co-authored-by: runner <runner@fv-az51>

view details

Michael Plump

commit sha dbae00e128dc920c1be06f2ff5202f64c8cdc7c4

chore(gha): don't run the GHA build when pushing to a fork (#3555)

view details

spinnakerbot

commit sha 2dfb4fa1dddcba3ba19d9c5851b565a601f44a2f

chore(dependencies): Autobump korkVersion (#3556) Co-authored-by: runner <runner@fv-az51>

view details

spinnakerbot

commit sha 6cd5a6ec517bc898348cbb766456d1c9d49bf653

chore(dependencies): Autobump fiatVersion (#3557) Co-authored-by: runner <runner@fv-az78>

view details

Mark Vulfson

commit sha acc85ec0c355e91ba82d210447bb1aefa3fe17fd

perf(peering): improve peering perf (#3552) A big chunk of time was spent storing all stages of running executions. This is not necessary because most of those stages don't change (only about 8% change with ~30s agent interval) Only store stages that have a different `updated_at` timestamp (or those that don't exist). This improves peering performance by about 25%

view details

Michael Plump

commit sha 42943a0aa592aeb79446c8bf6c81ff44856af394

chore(dependencies): roll back the most recent kork bump (#3558) This causes a weird NPE in Gradle that manifests like this: > $ ./gradlew :orca-api-test:dependencies --configuration runtimeClasspath > Execution failed for task ':orca-api-test:dependencies'. > > Could not resolve all dependencies for configuration ':orca-api-test:runtimeClasspath'. > > Problems reading data from Binary store in /tmp/gradle731362267057772455.bin (exist: true) @robfletcher is working on a fix, but I'll rollback in the meantime.

view details

push time in 2 months

push eventpdk27/kayenta

Eric Zimanyi

commit sha 99c62b4009833e85b08328da8c7cc25cfc5f5afe

chore(mergify): release-* branches require release manager approval (#692) The mergify config currently doesn't distinguish between merging to master and merging to a release branch. It currently never merges to release branches because mergify doesn't have permission to merge to these branches (due to branch protection rules). I don't want to give mergify that permission without updating the config file here, as then it would merge to release branches after any approval, whereas we only want to merge to release branches if a PR is approved by a release manager. This updates the mergify config to scope the existing rules to only apply to the master branch, and adds a new rule to merge to release branches upon approval by a release manager. Because the 1.17 branch (and likely the 1.18 branch in some repos) is still exclusively using Travis CI instead of github actions, also add a rule the merges if Travis CI passes to account for these branches. This rule can be deleted once all of the active branches in the repo are using Github actions.

view details

Michael Plump

commit sha bb1ce2e86d2fae2b2b41e7d5e1dbdfa6a5ba49d5

chore(java11): Compile with Java 11 (but targeting Java 8) (#693)

view details

Michael Plump

commit sha 52f8acca18433ddafeb0504ba94b035f4b057482

chore(gha): don't run the GHA build when pushing to a fork (#694)

view details

Michael Plump

commit sha 35cab0ffb7d4b5cc9ec0dfeef341a56bc436a238

chore(GHA PR build): turn on the cross compiler here too (#696) Not sure why I missed this before. I suppose just because it wasn't needed. In any event, I updated my script to add this going forward.

view details

Cameron Motevasselani

commit sha f5503f6ecd85dfb36c428399d8ebb1044f04ee10

fix(plugins): add an option for strict plugin loading (#697) * fix(plugins): add an option for strict plugin loading * Trigger re-build * chore(dependencies): updating kayenta to work with fix

view details

Nastya Smirnova

commit sha 02df761d5b465556f048a6c2de851987196b26b6

refactor(prometheus): extract metricDescriptorsCache to PrometheusMetricDescriptorsCache (#690) fix(web): remove erroneous second call to getMetadata in MetricsServiceMetadataController

view details

Michael Plump

commit sha 150abb1a3250fdb41bc6b41d3dc250c9443206bf

chore(mergify): if an autobump fails, request a review (#701)

view details

spinnakerbot

commit sha 39f2734d723fcf321f525fe0ad782a946377d7d1

chore(dependencies): Autobump spinnakerGradleVersion (#702) Co-authored-by: root <root@7c2d69cf985a>

view details

Michael Plump

commit sha a62cfc966cb1ec14ffd97fda2f0088ec6131761b

chore(mergify): autobump reviews should go to oss-approvers (#703)

view details

spinnakerbot

commit sha c2dd4c53873d96cd4ed451a2bfe87cd2dcce1ec6

chore(dependencies): Autobump spinnakerGradleVersion (#704) Co-authored-by: root <root@6891b1263a18>

view details

spinnakerbot

commit sha 46171f4ee5f5fc12789b0eb083f2d0d267c4a49c

chore(dependencies): Autobump spinnakerGradleVersion (#705) Co-authored-by: root <root@458842d3571f>

view details

spinnakerbot

commit sha 87c96a8e67c82a61e5eda511b7a2150e89e28b37

chore(dependencies): Autobump spinnakerGradleVersion (#706) Co-authored-by: root <root@e7992a1c49ce>

view details

Cameron Fieber

commit sha 72978453283c1605c37bf46b17a67e43dc8ac8ad

chore(build): update to newer spinnaker project plugin (#708) updates to gradle 6.3 updates to kotlin 1.3.70 updates github actions workflows for new release flags

view details

spinnakerbot

commit sha 33b85910d6814b3dd68992fe98d3d4b25d90d26f

chore(dependencies): Autobump spinnakerGradleVersion (#709) Co-authored-by: root <root@27f6a48b6497>

view details

spinnakerbot

commit sha 9f89cd2b8a869c6812a543e3c0eb05816ff67b03

chore(dependencies): Autobump spinnakerGradleVersion (#710) Co-authored-by: root <root@4d3736916f82>

view details

spinnakerbot

commit sha ace0f83384f1298b3c97f15525f41df4f257165d

chore(dependencies): Autobump spinnakerGradleVersion (#711) Co-authored-by: root <root@7cfcb65d82e3>

view details

spinnakerbot

commit sha f6db7b607723c7f4a714537892f5c390c2db44ca

chore(dependencies): Autobump spinnakerGradleVersion (#712) Co-authored-by: root <root@0e23aba3091b>

view details

spinnakerbot

commit sha 18681f5ffe92bce697e02416eb6ac71961fe3017

chore(dependencies): Autobump spinnakerGradleVersion (#713) Co-authored-by: root <root@7c412b00885f>

view details

Cameron Motevasselani

commit sha b42df55143e9a05474a65ecea9839077ae585316

feat(plugins): plugin support for kayenta (#714) * feat(plugins): plugin support for kayenta * refactor(plugins): put plugins in web module

view details

Nastya Smirnova

commit sha 88279beddb2c2b010fc11bcebbd9812327ddcf9f

fix(standalone-canary-analysis): custom parent pipeline execution id is not used (#699) Co-authored-by: Justin Field <justin.field@armory.io>

view details

push time in 2 months

startedaws-samples/amazon-eks-apache-spark-etl-sample

started time in 2 months

startedgoulinkh/podcast-cli

started time in 2 months

startedawslabs/cdk8s

started time in 2 months

startednchammas/flintrock

started time in 2 months

pull request commentaws/amazon-ec2-metadata-mock

🥑🤖 v1.2.0 release prep

LGTM

brycahta

comment created time in 2 months

fork pdk27/spark-on-k8s-operator

Kubernetes operator for managing the lifecycle of Apache Spark applications on Kubernetes.

fork in 2 months

issue closedaws/amazon-ec2-metadata-mock

Problems implementing the tools without helm

Environment
Kubernetes:
cli: Major:"1", Minor:"18", GitVersion:"v1.18.3"
server: Major:"1", Minor:"16+"

Tool:
amazon-ec2-metadata-mock:v0.9.4
Steps to reproduce it
  1. Download yaml file: https://github.com/aws/amazon-ec2-metadata-mock/releases/download/v0.9.4/all-resources.yaml
  2. Change configuration for DaemonSet as follows:
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: amazon-ec2-metadata-mock
  # namespace: kube-system
  labels:
    app.kubernetes.io/name: amazon-ec2-metadata-mock
    app.kubernetes.io/instance: amazon-ec2-metadata-mock
    app.kubernetes.io/version: "v0.9.4"
spec:
  updateStrategy:
    type: RollingUpdate
  selector:
    matchLabels:
      app.kubernetes.io/name: amazon-ec2-metadata-mock
      app.kubernetes.io/instance: amazon-ec2-metadata-mock
  template:
    metadata:
      labels:
        app.kubernetes.io/name: amazon-ec2-metadata-mock
        app.kubernetes.io/instance: amazon-ec2-metadata-mock
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: "beta.kubernetes.io/os"
                operator: In
                values:
                - linux
              - key: "beta.kubernetes.io/arch"
                operator: In
                values:
                - amd64
                - arm
                - arm64
      serviceAccountName: amazon-ec2-metadata-mock-service-account
      hostNetwork: false # turn off host network to prevent undesired exposure of AEMM web server
      containers:
      - name: amazon-ec2-metadata-mock
        image: amazon/amazon-ec2-metadata-mock:v0.9.4
        imagePullPolicy: IfNotPresent
        securityContext:
          readOnlyRootFilesystem: true
          runAsNonRoot: true
          runAsUser: 1000
          runAsGroup: 1000
          allowPrivilegeEscalation: false
        args:
          - -c /var/mocks/aemm-config.json
        volumeMounts:
          - name: mocks
            mountPath: /var/mocks
      volumes:
      - name: mocks
        configMap:
          name: aemm-config
  1. Apply all resources using kubectl apply -f ...
Observed result
2020/06/18 20:50:04 Error while attempting to apply overrides from  /var/mocks/aemm-config.json: open  /var/mocks/aemm-config.json: no such file or directory

closed time in 2 months

diegosanchez

issue commentaws/amazon-ec2-metadata-mock

Problems implementing the tools without helm

Closing as it seems like the issue has been resolved. Feel free to reopen if needed.

diegosanchez

comment created time in 2 months

pull request commentaws/eks-charts

aws-node-termination-handler: fix nodeSelector arg passing

LGTM 👍

bwagner5

comment created time in 2 months

Pull request review commentaws/amazon-ec2-metadata-mock

sync to homebrew aws/tap

+#!/bin/bash+set -euo pipefail++SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"+BUILD_DIR="${SCRIPTPATH}/../build"+BUILD_ID=$(uuidgen | cut -d'-' -f1 | tr '[:upper:]' '[:lower:]')++TAP_REPO="aws/homebrew-tap"+TAP_NAME=$(echo ${TAP_REPO} | cut -d'/' -f2)++SYNC_DIR="${BUILD_DIR}/homebrew-sync"+FORK_DIR="${SYNC_DIR}/${TAP_NAME}"+DOWNLOAD_DIR="${BUILD_DIR}/downloads"+BREW_CONFIG_DIR="${BUILD_DIR}/brew-config"++REPO=$(make -s -f "${SCRIPTPATH}/../Makefile" repo-full-name)+BINARY_BASE=""+PLATFORMS=("darwin/amd64" "linux/amd64")+DRY_RUN=0++GH_CLI_VERSION="0.10.1"+GH_CLI_CONFIG_PATH="${HOME}/.config/gh/config.yml"+KERNEL=$(uname -s | tr '[:upper:]' '[:lower:]')+OS="${KERNEL}"+if [[ "${KERNEL}" == "darwin" ]]; then +  OS="macOS"+fi++VERSION_REGEX="^v[0-9]+\.[0-9]+\.[0-9]+\$"+VERSION=$(make -s -f "${SCRIPTPATH}/../Makefile" version)++USAGE=$(cat << EOM+  Usage: sync-to-aws-homebrew-tap  -r <repo> -b <binary-basename> -p <platform_pairs>+  Syncs tar.gz\'d binaries to the aws/homebrew-tap++  Example: sync-to-aws-homebrew-tap -r "aws/amazon-ec2-instance-selector"+          Required:+            -b          Binary basename (i.e. -b "ec2-instance-selector")++          Optional:+            -r          Github repo to sync to in the form of "org/name"  (i.e. -r "aws/amazon-ec2-instance-selector") [DEFAULT: output of \`make repo-full-name\`]+            -v          VERSION: The application version of the docker image [DEFAULT: output of \`make version\`]+            -p          Platform pair list (os/architecture) [DEFAULT: linux/amd64]+            -d          Dry-Run will do all steps except pushing to git and opening the sync PR+EOM+)++# Process our input arguments+while getopts "p:b:r:v:d" opt; do+  case ${opt} in+    r ) # Github repo+        REPO="$OPTARG"+      ;;+    b ) # binary basename+        BINARY_BASE="$OPTARG"+      ;;+    p ) # Supported Platforms+        IFS=',' read -ra PLATFORMS <<< "$OPTARG"+      ;;+    v ) # App Version+        VERSION="$OPTARG"+      ;;+    d ) # Dry Run+        DRY_RUN=1+      ;;+    \? )+        echo "$USAGE" 1>&2+        exit+      ;;+  esac+done++if [[ -z "${BINARY_BASE}" ]]; then +  echo "Binary Basename (-b) must be specified"+  exit 3+fi++if [[ ! "${VERSION}" =~ $VERSION_REGEX ]]; then+  echo "🙈 Not on a current release, so not syncing with tap $TAP_REPO"+  exit 3+fi++if [[ -z "${REPO}" ]]; then +  echo "Repo (-r) must be specified if no \"make repo-full-name\" target exists"+fi++if [[ -z $(command -v gh) ]] || [[ ! $(gh --version) =~ $GH_CLI_VERSION ]]; then+  mkdir -p ${BUILD_DIR}/gh+  curl -Lo ${BUILD_DIR}/gh/gh.tar.gz "https://github.com/cli/cli/releases/download/v${GH_CLI_VERSION}/gh_${GH_CLI_VERSION}_${OS}_amd64.tar.gz"+  tar -C ${BUILD_DIR}/gh -xvf "${BUILD_DIR}/gh/gh.tar.gz"+  export PATH="${BUILD_DIR}/gh/gh_${GH_CLI_VERSION}_${OS}_amd64/bin:$PATH"+  if [[ ! $(gh --version) =~ $GH_CLI_VERSION ]]; then+    echo "❌ Failed install of github cli"+    exit 4+  fi+fi++function restore_gh_config() {+  mv -f "${GH_CLI_CONFIG_PATH}.bkup" "${GH_CLI_CONFIG_PATH}" || :+}++if [[ -n $(env | grep GITHUB_TOKEN) ]] && [[ -n "${GITHUB_TOKEN}" ]]; then+  trap restore_gh_config EXIT INT TERM ERR+  mkdir -p "${HOME}/.config/gh"+  cp -f "${GH_CLI_CONFIG_PATH}" "${GH_CLI_CONFIG_PATH}.bkup" || :+  cat << EOF > "${GH_CLI_CONFIG_PATH}"+hosts:+    github.com:+        oauth_token: ${GITHUB_TOKEN}+        user: ${GITHUB_USERNAME}+EOF+fi++VERSION_NUM=$(echo "${VERSION}" | cut -c 2- | tr -d '\n')++function fail() {+  echo "❌ Homebrew sync failed"+  exit 5+}++trap fail ERR TERM INT++rm -rf "${DOWNLOAD_DIR}" "${SYNC_DIR}" "${BREW_CONFIG_DIR}"+mkdir -p "${DOWNLOAD_DIR}" "${SYNC_DIR}" "${BREW_CONFIG_DIR}"++BASE_ASSET_URL="https://github.com/${REPO}/releases/download/${VERSION}/${BINARY_BASE}"+MAC_HASH=""+LINUX_HASH=""+LINUX_ARM64_HASH=""++function hash_file() {+  local file="${1}"+  echo "$(openssl dgst -sha256 "${file}" | cut -d' ' -f2 | tr -d '\n')"+}++for os_arch in "${PLATFORMS[@]}"; do+    os=$(echo "${os_arch}" | cut -d'/' -f1)+    arch=$(echo "${os_arch}" | cut -d'/' -f2)++    ## Windows is not supported with homebrew+    if [[ "${os}" == "windows" ]]; then +      continue+    fi++    asset_url="${BASE_ASSET_URL}-${os}-${arch}.tar.gz"+    asset_file="${BINARY_BASE}-${os}-${arch}.tar.gz"+    asset_file_path="${DOWNLOAD_DIR}/${asset_file}"++    curl -H 'Cache-Control: no-cache' -Lo "${asset_file_path}" "${asset_url}?$(date +%s)"++    asset_file_size=$(du -k "${asset_file_path}" | cut -f1)+    if [[ "${asset_file_size}" -lt 100 ]]; then+      ## If we cannot download and dry-run is set, build it locally+      if [[ "${DRY_RUN}" -eq 1 ]]; then +        ${SCRIPTPATH}/build-binaries -d -v "${VERSION}" -p "${os_arch}"+        cp "${BUILD_DIR}/bin/${asset_file}" ${asset_file_path}+      else +        echo "❗️${asset_file_path} is empty, skipping"+        continue+      fi+    fi++    if [[ "${os}" == "darwin" ]]; then+      MAC_HASH=$(hash_file "${asset_file_path}")+    elif [[ "${os}" == "linux" && "${arch}" == "amd64" ]]; then+      LINUX_HASH=$(hash_file "${asset_file_path}")+    elif [[ "${os}" == "linux" && "${arch}" == "arm64" ]]; then+      LINUX_ARM64_HASH=$(hash_file "${asset_file_path}")+    fi++done++cat << EOM > "${BREW_CONFIG_DIR}/${BINARY_BASE}.json"+{+    "name": "${BINARY_BASE}",+    "version": "${VERSION_NUM}",+    "bin": "${BINARY_BASE}",+    "bottle": {+        "root_url": "${BASE_ASSET_URL}",+        "sha256": {+            "sierra": "${MAC_HASH}",+            "linux": "${LINUX_HASH}",+            "linux_arm": "${LINUX_ARM64_HASH}"+        }+    }+}+EOM++if [[ "${DRY_RUN}" -eq 0 ]]; then +  if [[ -z "${MAC_HASH}" ]] && [[ -z "${LINUX_HASH}" ]] && [[ -z "${LINUX_ARM64_HASH}" ]]; then +    echo "❌ No hashes were calculated and dry-run is NOT engaged. Bailing out so we don't open a bad PR to the tap."+    exit 4+  fi+  cd "${SYNC_DIR}"+  gh repo fork $TAP_REPO --clone --remote+  cd "${FORK_DIR}"+  git remote set-url origin https://${GITHUB_USERNAME}:${GITHUB_TOKEN}@github.com/${GITHUB_USERNAME}/${TAP_NAME}.git+  DEFAULT_BRANCH=$(git rev-parse --abbrev-ref HEAD | tr -d '\n')++  cp "${BREW_CONFIG_DIR}/${BINARY_BASE}.json" "${FORK_DIR}/bottle-configs/${BINARY_BASE}.json"++  FORK_RELEASE_BRANCH="${BINARY_BASE}-${VERSION}-${BUILD_ID}"++  git config user.name "ec2-bot 🤖"

may be the ec2-bot git setup part can be extracted out to be reused in other scripts?

the GITHUB_TOKEN needs to be the one for ec2-bot, right? If not, what would the failure message say? Just curious to know if it makes the issue clear.

bwagner5

comment created time in 2 months

more