Skip to content

Enable Snowflake emulator#186

Merged
anisaoshafi merged 8 commits intomainfrom
drg-742-support-snowflake
Apr 27, 2026
Merged

Enable Snowflake emulator#186
anisaoshafi merged 8 commits intomainfrom
drg-742-support-snowflake

Conversation

@anisaoshafi
Copy link
Copy Markdown
Contributor

@anisaoshafi anisaoshafi commented Apr 9, 2026

Enable support for Snowflake emulator.

ℹ️ Licensing checks are skipped for snowflake at the moment, there are efforts to improve this but not in lstk scope for now. Improvements will be incorporated by lstk when ready on the platform side of the things.

There is going to be follow up PRs to smoothen multi-emulator experience (PRO-198, DRG-381)

@anisaoshafi anisaoshafi force-pushed the drg-742-support-snowflake branch from 9901607 to 0a0cd1a Compare April 9, 2026 17:52
@anisaoshafi anisaoshafi force-pushed the drg-742-support-snowflake branch 3 times, most recently from d073241 to e599bc0 Compare April 23, 2026 08:23
@anisaoshafi anisaoshafi changed the title Support Snowflake Enable Snowflake emulator Apr 23, 2026
@anisaoshafi anisaoshafi force-pushed the drg-742-support-snowflake branch 2 times, most recently from 556b5c4 to 3ba78eb Compare April 24, 2026 15:11
Comment thread internal/container/label.go Outdated
tag := c.Tag
if tag == "" || tag == "latest" {
if c.Type == config.EmulatorSnowflake {
return "LocalStack Snowflake", false
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The licensing for snowflake is complex and out of scope for now, it makes the TUI header inaccurate because we'd default to (No License) [1] as we've no easy way to determine it.

@gtsiolis what do you think about changing it to LocalStack Snowflake [2] for now?

1 2
Image Image

Copy link
Copy Markdown
Member

@gtsiolis gtsiolis Apr 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Totally valid, we need to clarify this on the product side. Can we ...

  1. Show LocalStack here until we clarify the licensing? This would avoid leaking back confusing terminology that does not exist, like LocalStack Snowflake.
  2. Hide the tip row when running SNO, until we figure out the licensing parts if it's trivial?

@anisaoshafi anisaoshafi marked this pull request as ready for review April 24, 2026 15:40
@anisaoshafi anisaoshafi requested a review from gtsiolis April 24, 2026 15:40
Copy link
Copy Markdown
Collaborator

@carole-lavillonniere carole-lavillonniere left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It all looks good, I'm just thinking we could add a few integration tests for the cases where the behavior is slightly different than for aws:

  • status command
  • start skips license validation
    WDYT?

@anisaoshafi
Copy link
Copy Markdown
Contributor Author

It all looks good, I'm just thinking we could add a few integration tests for the cases where the behavior is slightly different than for aws:

  • status command
  • start skips license validation
    WDYT?

I had some test for skipping license validation, but decided to remove them. Will add it back together with something for status, it's better to clarify what's currently supported in tests.

@anisaoshafi anisaoshafi force-pushed the drg-742-support-snowflake branch from 3ba78eb to 8835f03 Compare April 27, 2026 12:56

[[containers]]
type = "aws" # Emulator type. Currently supported: "aws"
type = "aws" # Emulator type. Currently supported: "aws", "snowflake"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

praise: Thanks for updating the config! 😁

Comment thread internal/config/default_config.toml Outdated
Comment on lines +15 to +20
# To use the Snowflake emulator instead, comment out the AWS block above and uncomment this one.
# [[containers]]
# type = "snowflake"
# tag = "latest"
# port = "4566"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: I'd leave default config do the explaining, to avoid also encouraging multiple containers. Thoughts?

Suggested change
# To use the Snowflake emulator instead, comment out the AWS block above and uncomment this one.
# [[containers]]
# type = "snowflake"
# tag = "latest"
# port = "4566"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, thanks George. Done ✅

Comment thread internal/container/label.go Outdated
tag := c.Tag
if tag == "" || tag == "latest" {
if c.Type == config.EmulatorSnowflake {
return "LocalStack Snowflake", false
Copy link
Copy Markdown
Member

@gtsiolis gtsiolis Apr 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Totally valid, we need to clarify this on the product side. Can we ...

  1. Show LocalStack here until we clarify the licensing? This would avoid leaking back confusing terminology that does not exist, like LocalStack Snowflake.
  2. Hide the tip row when running SNO, until we figure out the licensing parts if it's trivial?

@anisaoshafi anisaoshafi requested a review from gtsiolis April 27, 2026 13:09
@anisaoshafi
Copy link
Copy Markdown
Contributor Author

@gtsiolis thanks for your feedback. Feel free to take another look 🙏🏼

@anisaoshafi anisaoshafi force-pushed the drg-742-support-snowflake branch from 425b583 to 9afa20d Compare April 27, 2026 14:22
@anisaoshafi anisaoshafi force-pushed the drg-742-support-snowflake branch from 9afa20d to fe1fad0 Compare April 27, 2026 15:31
@anisaoshafi anisaoshafi enabled auto-merge (squash) April 27, 2026 15:56
@anisaoshafi anisaoshafi disabled auto-merge April 27, 2026 15:56
@anisaoshafi
Copy link
Copy Markdown
Contributor Author

anisaoshafi commented Apr 27, 2026

ℹ️ The default tests timeout is 10 mins for go. The tests in ubuntu are taking longer than 10 min now, so increased the limit to 15m for now to unblock my PR.
We'll try to parallelize the tests, but it's out of scope for this PR 🤞🏼

@anisaoshafi anisaoshafi merged commit 5c36562 into main Apr 27, 2026
8 checks passed
@anisaoshafi anisaoshafi deleted the drg-742-support-snowflake branch April 27, 2026 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants