concourse-up
concourse-up copied to clipboard
deployment name is too long. 12 character limit
Why is this a limitation? This is a deployment on GCP where I can't change the name of the project.
The deployment name is used when creating the name of various components via Terraform, and the concatenation of those with the deployment name means we can't have deployment names greater than 12 characters. GCP has a significantly lower limit than AWS - although off the top of my head, I can't remember which component it is exactly that has the shortest name length limit. We can find out if you like, but it won't change the behaviour of the tool.
I hope that explains things.
No worries thanks for the explanation
On Thu, Mar 21, 2019 at 5:15 PM Daniel Jones [email protected] wrote:
The deployment name is used when creating the name of various components via Terraform, and the concatenation of those with the deployment name means we can't have deployment names greater than 12 characters. GCP has a significantly lower limit than AWS - although off the top of my head, I can't remember which component it is exactly that has the shortest name length limit. We can find out if you like, but it won't change the behaviour of the tool.
I hope that explains things.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/EngineerBetter/concourse-up/issues/103#issuecomment-475405301, or mute the thread https://github.com/notifications/unsubscribe-auth/AAYeeUaAizludnyYzIV2gK-XETXt9Jytks5vY_ZagaJpZM4cCXN4 .
--
Thanks,
Henri M.B. van den Bulk (c) 317-690-3830
To go into more detail the limitation comes from terraform's creation of a GCP service account for BOSH to use. According to the docs the service account name can be maximum 30 characters long to comply with RFC1035 (I haven't read that one).
In Concourse-up the service account name will be concourse-up-<your deployment name>-bosh
so the maximum deployment name size is 30-18=12. We made Concourse-up error out early if the name exceeds this because the alternative is a gnarly terraform regex error partway through the apply.
We do have a spike in the backlog to further investigate these limits and how we could address them but there's unfortunately not much room for improvement.
The deployment name being used is the project-name on GCP. Would it help to shorten the concourse-up part (12)
On Thu, Mar 21, 2019 at 6:18 PM Colin Simmons [email protected] wrote:
To go into more detail the limitation comes from terraform's creation of a GCP service account for BOSH to use. According to the docs https://www.terraform.io/docs/providers/google/r/google_service_account.html#account_id the service account name can be maximum 30 characters long to comply with RFC1035 (I haven't read that one).
In Concourse-up the service account name will be concourse-up-
-bosh so the maximum deployment name size is 30-18=12. We made Concourse-up error out early if the name exceeds this because the alternative is a gnarly terraform regex error partway through the apply. We do have a spike in the backlog to further investigate these limits and how we could address them but there's unfortunately not much room for improvement.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/EngineerBetter/concourse-up/issues/103#issuecomment-475424578, or mute the thread https://github.com/notifications/unsubscribe-auth/AAYeeY4Snvc4_3u3ouR8umO72Yp_ZVquks5vZAU7gaJpZM4cCXN4 .
We have considered that in the past; the downside is that when Terraform renames entities it recreates some of them, meaning that folks could lose state (RDS is a culprit here, I seem to recall). This would require maintaining two code paths for old/new deployments.
Thanks for letting us know that this is causing problems for you - we're running a lean operation, so user feedback is vital in letting us know which features to prioritise.
The deployment name in this case should just be whatever you provide in concourse-up deploy --iaas gcp <deployment-name>
. Are you able to use a shorter name when you deploy? This name is just used for naming the various components related to the Concourse within your project.