Skip to content
This repository has been archived by the owner on Apr 3, 2020. It is now read-only.

deployment name is too long. 12 character limit #103

Open
hvandenb opened this issue Mar 21, 2019 · 6 comments
Open

deployment name is too long. 12 character limit #103

hvandenb opened this issue Mar 21, 2019 · 6 comments

Comments

@hvandenb
Copy link

Why is this a limitation? This is a deployment on GCP where I can't change the name of the project.

@DanielJonesEB
Copy link
Contributor

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.

@hvandenb
Copy link
Author

hvandenb commented Mar 21, 2019 via email

@crsimmons
Copy link
Contributor

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.

@hvandenb
Copy link
Author

hvandenb commented Mar 22, 2019 via email

@DanielJonesEB
Copy link
Contributor

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.

@crsimmons
Copy link
Contributor

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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants