Any ideas for secure, server-controlled worker selection? #6464
Replies: 2 comments 2 replies
-
|
One thing I didn't see you mention is team workers: That allows you to assign one or more worker to a single team. No need for tags! We currently do this for our our hush-house deployment (ci-aas that we offer internally to our org) where teams can choose to bring their own workers that other teams can't use: Further more, you can have also have team workers that are tagged. So if a team wants to isolate some of their jobs/steps, they can deploy a team worker with a tag.
the web node is the component that does all secret fetching currently and sends it to the worker as part of the step plan. Secrets are cached in-memory. Not sure if you knew that so stating it just in-case :) There are some features on the horizon that may be of interest to you, specifically Hope that helps you with your decision a bit! |
Beta Was this translation helpful? Give feedback.
-
|
Hi, I think the question mentioned in the title is still legit though. There is no way to ensure the tags are signed and trusted. Let's say we want to have a set of workers in an untrusted environments, used for testing, and a set of workers running in a more trusted environment for automated deployments purposes. We are not able to ensure the tags are really what they are supposed to be, and a compromised testing worker could spoof the "deployment" tag to gain access to more sensitive workload, which includes secrets. Any plan to add "signed tags" in Concourse ? Either through authorized_keys (adding some metadata) or including it inside SSH keys |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi there! I'm a member of the Codeberg e. V., a non-profit git hosting service, and we want to offer our users a CI service, using a "bring-your-own-worker" approach, like you may know it from GitLab CI.
I think that Concourse would be a good choice for that, but there's some feature that's missing for a use-case like this, just like in all alternatives, and we will probably have to build it ourselves: how to securely let the CI server choose a worker that can then access the secrets and build a binary that the user trusts?
As the first approach that comes into my mind, we could use Concourse's tags as a secret, but this would require (if I haven't forgotten anything) that...
Would that be a viable way, have I understood the architecture of Concourse correctly, or is there a simpler way to choose the exact worker node (or a set of possible nodes) programmatically that I have overlooked so far?
On another note, is that generally a feature we should think about as an upstream change & PR for here, or is it out of scope for Concourse and we should only implement it in a fork?
Beta Was this translation helpful? Give feedback.
All reactions