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

Create terraform to deploy documentation proxy #3216

Open
2 of 4 tasks
Tracked by #2512
jameshochadel opened this issue Nov 18, 2024 · 1 comment
Open
2 of 4 tasks
Tracked by #2512

Create terraform to deploy documentation proxy #3216

jameshochadel opened this issue Nov 18, 2024 · 1 comment
Assignees

Comments

@jameshochadel
Copy link
Contributor

jameshochadel commented Nov 18, 2024

Related to #3111 and #3215, create terraform to deploy the documentation proxy docproxy.

  • Update the doc proxy to be ready for production (configurable port, broker URL)
  • Build a docker image for csb-docproxy
  • Create the terraform in deploy-cf
  • Create path route for csb that forwards /docs to doc proxy
@jameshochadel
Copy link
Contributor Author

I'm documenting a decision here for future reference. The datagov-ssb is a buildpack (not Docker) app. The Terraform creates a ZIP from the CSB source, which is available at apply time. The cloudfoundry_app references the Terraform ZIP resource.

Unfortunately, the deploy-cf apply step that's used to deploy the CSB is used in several other places in the pipeline and cannot be modified to accept additional inputs. That means we can't provide the CSB source to deploy the docproxy or other services as buildpack apps. I considered a few solutions to this:

  1. Modify the step to accept another input, for generic use. But, the ability to only add one would not be enough for my use case since I need to deploy two services, and there is no way to combine inputs in the job when they're already configured in the task config.
  2. Build a Docker image instead. But, to build a Go app without leaving the Go toolchain on the image, you need a builder image. So, this requires adding builder image support to common-pipelines.
  3. Add the CSB repo as a Git submodule to deploy-cf. This makes the source available and could scale to multiple repos, resolving the issues in (1). But, submodules are not automatically updated as branch refs change; they need to be updated manually, like any other git repo. Concourse does have a submodule_remote parameter which appears to solve this, but it has issues with the Concourse resource cache.

I think (3) would be the nicest option if I understand the behavior of submodule_remote correctly because it requires no other code changes. But, since I am not certain and it's reportedly buggy, I went with option (2).

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

No branches or pull requests

1 participant