Skip to content

Self Hosting Release#463

Merged
felix-schultz merged 25 commits intoalphafrom
dev
Jan 19, 2026
Merged

Self Hosting Release#463
felix-schultz merged 25 commits intoalphafrom
dev

Conversation

@felix-schultz
Copy link
Copy Markdown
Member

This pull request introduces significant improvements to the project's backend infrastructure, especially for AWS execution and deployment. The main changes include restructuring and expanding the AWS executor codebase, refining workspace dependencies, and updating documentation and configuration files for improved clarity and maintainability.

AWS Executor Infrastructure and Features:

  • Added a new aws-executor Lambda with streaming support, replacing the previous runtime, and providing endpoints for async execution, NDJSON streaming, and SSE, along with a health check. (apps/backend/aws/executor/src/main.rs, apps/backend/aws/executor/Cargo.toml) [1] [2]
  • Introduced aws-executor-async as an SQS consumer Lambda for processing execution requests from SQS queues, including a new execution handler and detailed documentation. (apps/backend/aws/executor-async/Cargo.toml, apps/backend/aws/executor-async/src/execution.rs, apps/backend/aws/executor-async/README.md, apps/backend/aws/executor-async/src/main.rs) [1] [2] [3] [4]

Workspace and Dependency Management:

  • Refactored the Cargo workspace to add new backend and catalog packages, update dependencies, and enable/disable features for more granular control. (Cargo.toml) [1] [2] [3]
  • Updated apps/backend/aws/api/Cargo.toml to include additional features for flow-like-api and added a direct dependency on flow-like. (apps/backend/aws/api/Cargo.toml)

Documentation and Instructions:

  • Improved and expanded documentation for the AWS async executor, including architecture diagrams, environment variables, and SQS configuration. (apps/backend/aws/executor-async/README.md)
  • Updated node creation instructions to clarify error handling and simplified code examples by removing unnecessary state parameters and imports. (.github/instructions/node-creation.instructions.md) [1] [2] [3] [4] [5] [6] [7] [8] [9]

Configuration and Ignore Files:

  • Overhauled .dockerignore for better coverage of build artifacts, secrets, and development files, improving Docker build hygiene. (.dockerignore)
  • Added a run configuration for MacOS development in JetBrains IDEs. (.run/Dev MacOS.run.xml)
  • Updated pre-commit config to exclude certain Helm template files from YAML checks. (.pre-commit-config.yaml)

Minor Improvements and Fixes:

  • Updated application code to use the new catalog getter and streamlined initialization logic. (apps/backend/aws/api/src/main.rs) [1] [2]

These changes collectively modernize the backend execution pipeline, improve maintainability, and set the stage for more scalable AWS-based workflows.

felix-schultz and others added 25 commits December 10, 2025 11:33
- Implemented DateTimeDurationNode to add or subtract durations from a date.
- Created DateTimeFormatNode to format DateTime objects into strings.
- Added DateTimeNowNode to return the current UTC date and time.
- Developed DateTimeParseNode to parse strings into DateTime objects with auto-detection of formats.
- Introduced DateTimeToDateNode to extract date components from DateTime.
- Added DateTimeToTimeNode to extract time components from DateTime.
- Updated try_transform utility to handle new DateTime formats and conversions.
- Enhanced date array, set, and variable components to support new DateTime handling.
- Introduced shortcuts component for better navigation and project management.
feat(datetime): add utility nodes for date and time manipulation
…default-variable-dialogs

feat: replace Textarea with MonacoTextEditor for enhanced editing exp…
- Add SpotlightProvider component to manage spotlight functionality and static items.
- Create QuickProjectCreate component for quick project creation.
- Introduce SpotlightTrigger component for opening the spotlight.
- Implement useFlowBoardSpotlight hook for managing spotlight items in flow boards.
- Add useSpotlight hook and related utilities for spotlight state management.
- Create spotlight state management using Zustand for dynamic and static items.
- Enhance spotlight functionality with keyboard shortcuts and item usage tracking.
- Updated version in tauri configuration from 0.0.6 to 0.0.7.
- Added new ModelCard and ModelDetailSheet components to the UI.
- Updated index.ts to export new model components.
- Implemented download and profile management functionalities in the new components.
…tion-in-the-application

Feature/150 spotlight like navigation in the application
…d and backend credentials

- added rake, yake and ai keyword extraction
- Create configuration, database, executor, helm, installation, local development, overview, prerequisites, scripts, and security documentation for Kubernetes deployment.
- Introduce a getting started guide and a detailed explanation of what Flow-Like is.
- Revamp the homepage to highlight key features and provide quick links to essential documentation.
- Ensure all new files are properly linked in the sidebar for easy navigation.
…d options

- Added `skipConsentCheck` option to `IExecuteEventOptions` and `IEventState` interfaces.
- Introduced new interface `IAddColumnPayload` for adding columns to database tables.
- Expanded `IDatabaseState` interface with methods for adding, dropping, and altering columns, as well as optimizing tables and updating items.
- Implemented placeholder methods in `EmptyDatabaseState` for the newly added database functionalities.
- Introduced `flow-template-selector` component with associated types.
- Updated `LayerNode` to include a new toolbar for actions like rename, comment, edit, extend, delete, and explain.
- Refactored context menu in `LayerNode` to use the new toolbar.
- Added `NewVariableDialog` for creating new variables with type and value selection.
- Enhanced `VariablesMenu` to include the new variable dialog.
- Improved log message formatting and rendering in `Traces`.
- Updated tooltip styles for better visibility.
- Added support for explaining nodes in the flow board.
- Adjusted log aggregation state management to clear metadata on board changes.
- Integrated translation functionality in the following sections:
  - integrations.astro
  - performance.astro
  - portability.astro
  - problem-solution.astro
  - process-combination.astro
  - reading.astro
  - storage.astro
  - target-audience.astro (new section)
  - theming.astro
  - use-cases.astro
  - zero-to-prod.astro

- Updated static text to use translation keys for better localization.
- Enhanced user experience by providing localized content across the website.
…s, UX improvements, Execution on the Server, fixed local Server, R2 + Azure Blob Storage + GCP Storage + AWS
fix: Include headers when there's no attachment
@felix-schultz felix-schultz merged commit 4a52bdd into alpha Jan 19, 2026
10 of 29 checks passed
@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello @felix-schultz, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request delivers a major release focused on expanding self-hosting capabilities, modernizing backend execution, and enhancing the desktop application's user experience. It introduces robust Docker Compose and Kubernetes deployment options, completely overhauls the AWS executor for streaming and asynchronous processing, and refactors core backend dependencies for improved modularity. On the frontend, users will find a redesigned model catalog with powerful filtering, new quick-access Spotlight and Shortcuts features, and expanded database management tools. The release is also accompanied by comprehensive documentation for new self-hosting guides and A2UI integration.

Highlights

  • New Self-Hosting Options: Introduced comprehensive Docker Compose and Kubernetes deployment options, allowing users to host the Flow-Like backend in various environments with detailed setup and monitoring configurations.
  • AWS Executor Rework: Replaced the previous AWS runtime with a new aws-executor Lambda featuring streaming support (NDJSON, SSE) and an aws-executor-async SQS consumer Lambda for efficient asynchronous execution processing.
  • Core Backend Refactoring: Performed significant refactoring of the Cargo workspace, adding new backend and catalog packages, updating dependencies, and simplifying node logic by removing the FlowLikeState parameter from node definitions.
  • Enhanced Desktop UI/UX: Implemented a redesigned model catalog with advanced filtering, sorting, and view modes, alongside new Spotlight and Shortcuts features for improved navigation and quick access within the desktop application.
  • Expanded Database Management: Added new Tauri commands and remote API calls for advanced database operations, including optimizing tables, updating items, and managing columns and indices directly from the UI.
  • Comprehensive Documentation: Provided extensive new documentation covering self-hosting guides for Docker Compose and Kubernetes, as well as detailed information on A2UI integration for agent-driven interfaces.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This is an outstanding pull request that introduces a comprehensive self-hosting solution for both Docker Compose and Kubernetes. The new backend infrastructure is well-architected, with excellent documentation, configuration examples, and production-ready features like Helm charts and monitoring dashboards. The refactoring of the AWS executor and the addition of new async capabilities are significant improvements.
On the desktop app side, the new Spotlight command palette and shortcuts are fantastic UX enhancements. The underlying refactoring of the streaming fetcher and the expansion of the database management capabilities are also very well done.
The overall code quality is excellent. I have only a couple of minor suggestions for improving maintainability. Great work on this massive effort!

Comment on lines +22 to +27
#[allow(dead_code)]
user_id: String,
credentials: serde_json::Value,
executor_jwt: String,
#[allow(dead_code)]
callback_url: String,
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The fields user_id and callback_url are marked with #[allow(dead_code)]. While this suppresses compiler warnings, it can hide the fact that these fields are not being used. If they are truly unnecessary for this executor, consider removing them from the DispatchPayload struct to keep it focused on what's needed. If they are intended for future use, adding a // TODO: ... comment would be more descriptive about their purpose.

Comment on lines +127 to +143
// Convert oauth_tokens from API type to executor type
let oauth_tokens: Option<HashMap<String, OAuthTokenInput>> = job.oauth_tokens.map(|tokens| {
tokens
.into_iter()
.map(|(k, v)| {
(
k,
OAuthTokenInput {
access_token: v.access_token,
refresh_token: v.refresh_token,
token_type: v.token_type,
expires_at: v.expires_at,
},
)
})
.collect()
});
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

This manual conversion of oauth_tokens from the flow-like-api type (QueuedJob) to the flow-like-executor type (ExecutionRequest) suggests a type mismatch between the crates. To improve maintainability and avoid this boilerplate, I'd recommend defining the OAuthTokenInput struct in a shared crate (e.g., flow-like-types) that both flow-like-api and flow-like-executor can depend on. This would ensure type consistency and remove the need for this conversion logic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant