Aurora Data API support

Ouverte
#2,506 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Calme
Stack technique
aws, mysql, postgresql, swift
Domaine
database

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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

Langage dominant
Swift
Étoiles
6.2k
Forks
412
Merge moyen
3 h 56 min
PR mergées (30 j)
669

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de TableProApp/TablePro

Toutes les issues de TableProApp/TablePro

Issues similaires

Plus d'issues Swift

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.