opencode_cloud_core/docker/dockerfile.rs
1//! Embedded Dockerfile content
2//!
3//! This module contains the Dockerfile for building the opencode-cloud container image,
4//! embedded at compile time for distribution with the CLI.
5
6/// The Dockerfile for building the opencode-cloud container image
7pub const DOCKERFILE: &str = include_str!("Dockerfile");
8
9// =============================================================================
10// Docker Image Naming
11// =============================================================================
12//
13// Docker images follow the naming convention: [registry/]namespace/image[:tag]
14//
15// - Registry: The server hosting the image (e.g., ghcr.io, gcr.io, docker.io)
16// When omitted, Docker Hub (docker.io) is assumed.
17// - Namespace: Usually the username or organization (e.g., prizz)
18// - Image: The image name (e.g., opencode-cloud)
19// - Tag: Version identifier (e.g., latest, v1.0.0). Defaults to "latest" if omitted.
20//
21// Examples:
22// ghcr.io/prizz/opencode-cloud:latest - GitHub Container Registry
23// prizz/opencode-cloud:latest - Docker Hub (registry omitted)
24// gcr.io/my-project/myapp:v1.0 - Google Container Registry
25//
26// We use GHCR as the primary registry since it integrates well with GitHub
27// Actions for CI/CD publishing.
28// =============================================================================
29
30/// Docker image name for GitHub Container Registry (primary registry)
31///
32/// Format: `ghcr.io/{github-username}/{image-name}`
33pub const IMAGE_NAME_GHCR: &str = "ghcr.io/prizz/opencode-cloud";
34
35/// Docker image name for Docker Hub (fallback registry)
36///
37/// Format: `{dockerhub-username}/{image-name}` (registry prefix omitted for Docker Hub)
38pub const IMAGE_NAME_DOCKERHUB: &str = "prizz/opencode-cloud";
39
40/// Default image tag
41pub const IMAGE_TAG_DEFAULT: &str = "latest";