Particle Container Repository
The Particle Container Repository is a key part of the Particle Cloud Platform, acting as the secure staging ground for application containers built and deployed by users and organizations.
While it’s not a user-facing registry in the traditional sense, it underpins the entire deployment lifecycle of your application — storing the containers you push and making them available to your devices for over-the-air delivery.
What Is a Container Repository?
A container repository is a cloud-based storage service that securely holds built container images. These images can then be distributed to edge devices, virtual machines, CI/CD pipelines, or any environment that supports container runtimes.
Think of it like a library of your application builds — each one labeled, versioned, and ready to be deployed. In the traditional container world, tools like Docker Hub or GitHub Container Registry serve this role. In Particle’s world, we host this for you, integrated directly into your application workflow.
Why a Repository Is Needed
Containers are often too large, too complex, or too sensitive to be built directly on devices. A repository:
- Centralizes Deployment: Ensures all devices receive the same image.
- Enables OTA Updates: Devices can pull updates securely from a trusted source.
- Supports CI/CD: Integrates into developer workflows, staging new versions as needed.
- Preserves Versions: Enables rollback and version tracking.
- Ensures Security: Stores private images accessible only by authenticated Particle users or org members.
Particle’s Repository Design
The Particle Container Repository is tightly integrated into the Particle Cloud. It is:
- Private by default — scoped to your user or organization
- Accessed via CLI and Console, but not directly browsable like Docker Hub
- Unlimited in size, so you don’t need to worry about storage quotas
- Backed by OCI-compliant infrastructure, supporting standard Docker containers
When you run:
particle app push
…the CLI packages your container(s), authenticates using your Particle access token, and uploads them securely to the repository.
⸻
Access and Visibility
🔐 This repository is not directly exposed — it serves as an internal staging ground, not a traditional public/private registry.
You can:
• Push to it using the CLI
• List and deploy apps using the CLI and Console
• Roll back or remove app deployments from devices
• Not browse or pull from it manually
This model ensures:
• Maximum security
• Minimal user error
• Tight coupling with Particle device management and cloud services
⸻
Architecture Support
The repository supports multiple architectures. When pushing a container, the system stores metadata about which target device class it applies to — whether it’s a Linux-based device like Tachyon or another supported target.
This allows Particle to:
• Route the correct container version to the appropriate hardware
• Avoid compatibility issues on-device
• Support future multi-arch containers as new platforms are added
⸻
Versioning Model
Every time you push a container, a new version is added to the repository. Versions are:
• Immutable: once pushed, they cannot be modified
• Incremental: the system adds new versions without deleting old ones
• Linked to Deployments: when you deploy a new version, it syncs to devices accordingly
🚧 Particle does not currently remove old versions from the repository. We may offer garbage collection or cleanup policies in the future, but today, everything is retained.
⸻
Summary
• The Particle Container Repository is your private staging ground for container-based applications.
• It supports versioning, multi-arch support, and secure deployment.
• It’s not directly accessible, but fully integrated into the Particle CLI and Console for simplified workflows.
• Containers pushed here are scoped to your user or organization, and are never shared with others.
💬 If you need support for special use cases, multi-arch builds, or want to integrate custom container workflows, please reach out. We’re happy to collaborate.