README incorrect/inconsistent
- Dominant language
- Shell
- Stars
- 17
- Forks
- 9
- PR merge metrics
- No merged PRs in 30d
Description
### Actual behavior
If using the configuration set in the README, Shredder will fail to start.
### Expected Behavior
Configuration as described in README to work.
### Steps to reproduce
Try to get Shredder to work with the described configuration
Issue 1:
It's not made explicit that the operator will need to manually create the SNS topic. This should be made clear.
Issue 2:
`reference.conf` uses the SNS topic name `spinnaker-lifecycle-pending`, while the README indicates `spinnaker-shutdown-pending`. The lifecycle hook, whether it be manually created or done via Spinnaker, will fail due to this name mismatch.
Issue 3:
IAM permissions for the EC2 instances are incomplete and, in some cases, incorrect. Firstly, when attempting to run Shredder, the instance was unable to identify its autoscaling group due to missing the permissions `autoscaling:DescribeAutoScalingInstances` and `autoscaling:DescribeLifecycleHooks`.
Secondly, Shredder was unable to create the necessary SQS resources because the formatting of the `Resource` in the instance IAM permissions is incorrect. Instead of `arn:aws:sqs:*::*:*`, it should be `arn:aws:sqs:*::*`.
Thirdly, Shredder throws a warning when attempting to leverage the `RecordLifecycleActionHeartbeat` or `CompleteLifecycleAction` permissions because it wants the `Resource` to be formatted as `arn:aws:autoscaling:*:*:autoScalingGroup:*` instead of `arn:aws:autoscaling:*:*:*`.
Issue 4:
The provided 2.1.0 release debian did not seem to work out of the box, and attempting to create it via `gradlew` required manual modifications of `./shredder-ec2/build.gradle`, specifically the `archStr` needed to be changed from `noarch` to `all` to successfullly build the debian.
Contributor guide
Research direction
Compare the AWS configuration and permissions described in README with reference.conf, then inspect shredder-ec2/build.gradle and the 2.1.0 Debian packaging path. Verify the SNS topic names, required autoscaling and SQS permissions, and package architecture setting against a startup or build attempt. Done means the documented setup works and the Debian package builds successfully without manual edits.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, debian, java, shell
- Domain
- build-system, cloud, documentation
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100