AWS OIDC: DeployDatabaseService per VPC#35899
Conversation
ace5cf5 to
b935e96
Compare
There was a problem hiding this comment.
Currently, the Auto-Upgrade service expects a single ECS Service on the cluster, and with a specific name.
This PR changes that assumption: we now have multiple services and their name depends on the VPCs.
So, Auto-Upgrade is broken for this new version of the DeployService.
To get multiple ECS Services from a ECS Cluster without their name, we must use the ListServices.
(DescribeServices requires the Services name as input).
Given that the Auto-Upgrader runs unattended, it has no way to ask the user to add permissions in case it lacks any.
Adding this new permission now ensures we have the required permissions and are ready to implement the Auto-Upgrader for multiple ECS Services.
A followup PR will fix the Auto-Upgrader for this new version of the DeployService.
b935e96 to
f3c8ecf
Compare
f9e9e53 to
9c692ba
Compare
9c692ba to
f8f88f4
Compare
608f3ec to
95cd53c
Compare
r0mant
left a comment
There was a problem hiding this comment.
Overall looks good but I've a question about API design.
There was a problem hiding this comment.
Any reason we're introducing a new API specifically for database services, rather than either updating existing "deployservice" to allow deploying multiple, or at least having a separate generic "deployservices"?
There was a problem hiding this comment.
The deployservice API tries to be generic for every service, but I don't think that was going to work.
When I was trying to re-use it, it didn't felt very flexible. And that's a considerable small change: deploy multiple database services instead of one.
If we changed the API, we would also need to change the UI.
This new API is more specific, and is able to handle the single RDS enrollment anyway, we just need to change the UI.
After changing the UI, the previous endpoint can be removed.
99fe3e3 to
818ee88
Compare
Co-authored-by: Lisa Kim <lisa@goteleport.com>
Co-authored-by: Lisa Kim <lisa@goteleport.com>
818ee88 to
076a8de
Compare
|
@marcoandredinis See the table below for backport results.
|
This PR adds a new method for deploying services using the AWS OIDC Integration.
It will deploy multiple, one per element in
deploymentsarray.Each one will only proxy a subset of existing Databases, using the
account-id,regionandvpc-idlabels to select them.Demo
Services running in ECS Cluster:

DB Services heartbeat back their labels
tctl get db_services:We are able to use the DatabaseService and access the Database
Logs from the DatabaseService:
