Aurora Data API support

Aberta
#2,506 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
aws, mysql, postgresql, swift
Domínio
database

Direção de pesquisa

Start by reading the DynamoDB plugin paths mentioned in the issue to understand how profile and role authentication are handled. Then investigate the MySQL and PostgreSQL connection forms and the Aurora Data API operations listed here; the issue does not name specific files or tests. Done means supporting the requested connection fields, IAM auth, query and transaction operations, and clearly stating the API limits in the form.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

enhancement platform-macos
Problem

An Aurora cluster in a private VPC with no public endpoint cannot be reached without a bastion. The RDS Data API exists exactly for that case, over HTTPS with IAM auth and no network path to the database, and TablePro cannot use it.

TablePro already signs AWS requests and resolves AWS profiles: AWSSigV4 and AWSCredentialResolver in apple/Plugins/TableProPluginKit/AWS/ serve RDS IAM authentication (connections/aws-iam.mdx), the DynamoDB plugin and Import from AWS (#2852). Nothing calls rds-data.

Proposed solution
  • A Data API transport option on the MySQL and PostgreSQL connection forms, taking a cluster ARN, a Secrets Manager secret ARN and a database name instead of a host and port.
  • AWS credentials through the same profile resolution IAM authentication uses: named profiles, IAM Identity Center, role_arn chains and credential_process (connections/aws-iam.mdx, Profiles).
  • ExecuteStatement for queries, and BeginTransaction, CommitTransaction and RollbackTransaction for transactions.
  • State the API's limits in the form rather than letting the user find them: no streaming, a cap on the result size, and no cursor. A result over the cap fails with that reason, and table tabs page within it.
  • Import from AWS offers Data API for a cluster that has it enabled.

Done means a connection to an Aurora PostgreSQL cluster with no route from the Mac lists its tables and runs a query, with only an AWS profile and the two ARNs.

Alternatives considered

A bastion host and an SSH tunnel.

Platform

macOS

Related database type

PostgreSQL

Linguagem predominante
Swift
Estrelas
6.2k
Forks
412
Merge médio
3h 56min
PRs com merge (30d)
669

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de TableProApp/TablePro

Todas as issues de TableProApp/TablePro

Issues semelhantes

Mais issues de Swift

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.