Replies: 3 comments
I like the project name which also can contain multicloud configuration. That means different Credentials for different cloud providers. Project Test
|
|
I think “Workspace” makes the most sense. It’s simple and works across AWS, Azure, and GCP without sounding tied to one platform. For v1, I’d keep it simple with separate credentials/configs, separate local state, easy workspace switching, saved sessions I wouldn’t do full runtime/container isolation yet. That can come later once the base structure is stable. Also agree that opening multiple workspaces at once would be useful later, but probably not needed for MVP. |
|
Uh oh!
There was an error while loading. Please reload this page.
Overview
Currently, floci-ui supports multiple cloud providers through a provider switch mechanism (AWS, Azure, and future GCP support), allowing users to dynamically interact with different cloud ecosystems from a unified interface.
The next architectural step is introducing isolated environments/workspaces similar to what major cloud providers offer:
AWS → Accounts / Organizations
Azure → Tenants / Subscriptions
GCP → Projects / Organizations
The goal of this discussion is to define:
the abstraction model
the isolation boundaries
the user experience
the provider mappings
and the initial implementation scope
before any major implementation begins.
Why This Matters
Real cloud environments are rarely single-context systems.
Users typically manage:
multiple environments
multiple teams
multiple companies
multiple isolated configurations
multiple credentials
multiple billing scopes
multiple regions/accounts/projects
Without a workspace isolation model, floci-ui may become difficult to scale for real-world usage patterns.
Proposed Concept
Introduce a provider-agnostic abstraction layer tentatively called:
Workspace
Tenant
Project Space
Cloud Space
Environment
(Needs discussion)
This abstraction would represent an isolated execution/configuration boundary inside floci-ui.
Example:
Key Discussion Points
1. Naming
What should the abstraction be called?
Options:
Workspace
Tenant
Project
Environment
Cloud Space
Context
Important:
The naming should remain provider-agnostic.
2. Isolation Scope
What exactly should be isolated?
Potential isolation boundaries:
credentials
regions
provider configuration
service state
emulator state
runtime containers
logs
telemetry
local storage/cache
UI state/preferences
Question:
Should workspaces behave like "lightweight profiles" or "fully isolated cloud environments"?
3. Provider Mapping
How should floci-ui internally map cloud provider concepts?
floci-ui | AWS | Azure | GCP -- | -- | -- | -- Workspace | Account | Subscription | ProjectIs this enough?
Or do we need additional hierarchy support later?
Examples:
AWS Organizations
Azure Management Groups
GCP Folders
4. Runtime Isolation
Should each workspace have:
its own floci-core instance?
isolated containers/processes?
isolated adapter pipelines?
isolated persistence?
Or should isolation initially remain logical/UI-level only?
5. Scope of v1
Suggested v1 scope:
create/edit/delete workspaces
provider selection per workspace
isolated credentials/configuration
isolated local state
workspace switcher in UI
persistent workspace sessions
Potentially OUT OF SCOPE for v1:
RBAC
multi-user collaboration
organization hierarchy
billing simulation
distributed isolation
cross-workspace networking
6. UI/UX Discussion
Potential UX ideas:
top-level workspace selector
provider badge
recent workspaces
color-coded environments
quick switch support
provider-aware navigation
isolated tabs/sessions
Question:
Should users be able to open multiple workspaces simultaneously?
7. Persistence Model
How should workspace configuration be stored?
Options:
local filesystem
embedded database
provider-specific config
encrypted credential storage
8. Future Considerations
Possible future roadmap:
Workspace templates
Team collaboration
RBAC
Shared environments
Cloud federation
Cross-workspace observability
Workspace snapshots/import/export
Remote workspace execution
Kubernetes-backed isolation
Goals of This Discussion
This issue is intended to:
align architecture decisions early
avoid provider-specific coupling
define clear isolation boundaries
establish naming conventions
define MVP scope
prevent future breaking refactors
Non-Goals
This discussion is NOT about:
implementing RBAC
enterprise billing
distributed orchestration
SaaS tenancy
authentication providers
production-grade security models
Those can be discussed in future RFCs/issues.
Open Questions
What should the abstraction be called?
How deep should isolation go in v1?
Should runtime isolation exist initially?
Should workspace switching be instant?
Should multiple workspaces be open simultaneously?
What belongs in the MVP?
What must explicitly stay out of scope?
Goal
Define a clean, scalable, provider-agnostic workspace isolation architecture for floci-ui that can evolve incrementally without requiring major future redesigns.
All reactions