Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Meta-issue: Deployment

Aberta
#359 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 2 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
20/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Pouca atividade
Stack de tecnologia
sql
Domínio
backend, cloud, security

Direção de pesquisa

Nenhum arquivo de implementação ou teste foi identificado. Comece revisando as questões de implantação para Connect a partir do Positron e do Workbench, incluindo relatórios Quarto, aplicações Shiny, versionamento, modos de conexão com o backend e modos de credenciais. O trabalho estará concluído quando o projeto tiver um design de implantação acordado e um plano de implementação definido em escopo.

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

Descrição

integration

This issue exist to track discussions around deployment. For the initial phase we will focus on Connect deployment from Positron and Workbench as this is the stack we control - others may think about deployment in other context if they wish to do so in the mean time.

Key questions:

What does ggsql deployment look like?

Right now deployment would be in the form of a quarto report or some sort. However, the R bindings also support deploying shiny applications with ggsql code inside.

I do envision a mode where you deploy a single .ggsql file and you get an embeddable visualisation. Depending on how ggsql's own multiplot support evolves this may end up being a viable dashboard solution, though I'm not sure SQL provides the best syntax for layout work. If not, do we need a new format for dashboard-y deployments or does quarto serve that need?

For deployment, we also need to think about ggsql versioning. We are in a blissful state of just having to declare a single version and not black pit of 100s of dependencies, but declare it we must somehow. Is this a Connect responsibility or should ggsql itself do something about this?

What kind of backend connection is kept - with what kind of credentials?

Our happy path is that an analyst sits on their computer, developing an analysis using ggsql either in Positron or Workbench. They have their credentials set up so they can connect to e.g. Snowflake and visualise that data directly. They arrive at an end product and hit deploy. The deployment target is send to Connect, along with the credentials and everything just magically works. We must strive for this to be the case!

However, I can see multiple modes of connection with a backend depending on the needs, and also multiple modes of credentials:

Connection modes:

  • Keep a connection to the original backend, updates to the database is reflected in the visualisation whenever it is presented
  • Cache the main data sources in a local DuckDB instance and query against that in the backend - this may be updated periodically but not real-time
  • Embed the data in a "static" deployment (i.e. connection is severed)

Credential mode:

  • Use the authors credentials/credentials provided specifically for this deployment. All visits will use the same credentials and it is up to the analyst to not expose confidential information in the visualization
  • Visitor brings their own credentials and these are used when querying the database and creating the plot. The visitor only sees data for which they have been granted access. This mode explicitly requires the first connection mode described above
Linguagem predominante
Rust
Estrelas
565
Forks
31
Merge médio
2d 12h
PRs com merge (30d)
16

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 posit-dev/ggsql

Todas as issues de posit-dev/ggsql

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

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