Skip to content
/ crate Public

Crate is a native macOS UI for Apple’s new container ecosystem, built on the container CLI and the Containerization Swift framework.

Notifications You must be signed in to change notification settings

alechash/crate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Crate (Concept)

Crate is a macOS-native GUI client for Apple’s new container ecosystem, built on top of the container CLI and the underlying Containerization Swift framework. This project aims to provide a polished user interface for managing containers, images, logs, and runtime configuration—offering developers a visual alternative to CLI-based workflows.


Overview

Crate is designed as a lightweight and intuitive application for interacting with Apple containers. It targets developers and power users who want a native tool to manage containers on macOS without relying on Docker, Podman, or third-party runtimes.


Objectives

  • Provide a user interface for container lifecycle management using Apple’s native tooling.
  • Integrate with the Containerization framework directly for maximum performance and future compatibility.
  • Visualize containers, logs, images, and runtime details in real-time.
  • Offer practical developer utilities (image pulling, runtime config builders, quick start options).

Key Components

1. Container Management

  • List all running/stopped containers
  • View container details (ID, runtime config, filesystem, etc.)
  • Start, stop, and delete containers

2. Image Management

  • View all available images
  • Pull images from OCI registries
  • Inspect and remove images

3. Logs and Monitoring

  • Stream logs from active containers
  • Search, filter, and export logs
  • Status indicators (running, exited, error, etc.)

4. Container Creation UI

  • Build container run commands via form-based UI
  • Configure mounts, environment variables, CPU/memory limits
  • Save and reuse common configurations

5. Optional Enhancements (Planned)

  • Menu bar integration for quick access
  • Volume & network management (when/if supported)
  • CLI tool companion for scripted use cases
  • Container presets and Quick Actions (e.g. right-click a config file to run)

Technologies

Layer Tech
UI Framework SwiftUI
Container API Containerization Framework
Reactive Bindings Combine
Runtime Hooks gRPC via vsock (vminitd)
Distribution Swift Package Manager, DMG

System Requirements

  • macOS 15 (Sequoia) or later
  • Apple Silicon (M1 chip or newer)
  • Xcode 16+
  • Swift 6

Development Status

Crate is currently in the early planning and prototyping phase.

Immediate goals:

  • Define and test key API integrations using Containerization
  • Build a minimal container list UI
  • Validate real-time log streaming via vminitd
  • Design modular architecture for future extensibility

Roadmap (v0.1 - v1.0)

Version Milestone
0.1 Container list UI + lifecycle actions (start/stop/delete)
0.2 Logs streaming + filtering
0.3 Image list and image pull support
0.4 Visual container creation UI
0.5 Menu bar integration + presets
1.0 Stable release with documentation, distribution (DMG/homebrew), and tests

Contributing

This project is open to contributors interested in:

  • SwiftUI/macOS development
  • Container runtime technology
  • Native macOS developer tools

To contribute:

  1. Clone the repository
  2. Build using Xcode 16+
  3. Follow the architecture and feature roadmap

Contributor guide coming soon.


License

MIT License – Copyright © Alec Wilson


References

About

Crate is a native macOS UI for Apple’s new container ecosystem, built on the container CLI and the Containerization Swift framework.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages