Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Long controller names may break deployment with error "Value 'X' at 'roleName' failed to satisfy constraint: Member must have length less than or equal to 64" #160

Closed
genail opened this issue Jan 19, 2019 · 1 comment

Comments

@genail
Copy link
Contributor

commented Jan 19, 2019

Hey @tongueroo ,
When IAM role is generated, it is using project name + controller name to build IAM role name, but there's a 64 character constraint on it by AWS, so deployment may fail with a message like this:

1 validation error detected: Value 'patchkit-app-catalog-dev-catalogs-apps-screenshots-controller-role' at 'roleName' failed to satisfy constraint: Member must have length less than or equal to 64 (Service: AmazonIdentityManagement; Status Code: 400; Error Code: ValidationError; Request ID: 8924cd64-1be2-11e9-8391-5d4c146a6728)

Checklist

  • Upgrade Jets: Are you using the latest version of Jets? This allows Jets to fix issues fast. There's a jets upgrade command that makes this a simple task. There's also an Upgrading Guide: http://rubyonjets.com/docs/upgrading/
  • Reproducibility: Are you reporting a bug others will be able to reproduce and not asking a question. If you're unsure or want to ask a question, do so on https://community.rubyonjets.com
  • Code sample: Have you put together a code sample to reproduce the issue and make it available? Code samples help speed up fixes dramatically. If it's an easily reproducible issue, then code samples are not needed. If you're unsure, please include a code sample.

Code Sample

# I believe this one should reproduce it
class Catalogs::Apps::ScreenshotsWithReallyLongNameController < ApplicationController
end

Solution Suggestion

Either way:

  • allow custom class role names
  • generate a role name if role name is too long
@tongueroo

This comment has been minimized.

Copy link
Owner

commented Jan 19, 2019

Addressed in #161 Fixed a couple of issues:

  • Let CloudFormation generate IAM role names. This addresses really long controller names. Also addresses cross-region deploys.
  • As a part of this fixed long Lambda function names also.
  • Added function description to Lambda functions.

Released in v1.6.0 CHANGELOG

@tongueroo tongueroo closed this Jan 19, 2019

@tongueroo tongueroo referenced this issue Jul 3, 2019
1 of 3 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.