distr

repository·main·Indexed 22 days ago

https://github.com/distr-sh/distr

An open-source software distribution platform for software and AI companies to distribute applications to self-managed or BYOC (Bring Your Own Cloud) customers. It features centralized management, deployment automation via agents, license management, and an OCI-compatible container registry.

Tokens
177.6K
Snippets
291
Records
682
Agent score
71%

What's inside distr

  1. Overview of the Customer Portal

    main

    The Customer Portal is a white-labeled, simplified control plane UI designed for end customers. It allows users to manage deployments, pull artifacts, view licenses, create support bundles, and manage secrets.

    Access to specific sections within the portal is controlled by the vendor via Customer Management settings. If a section is missing from your view, you must contact your vendor to request access.

  2. What is Distr?

    main

    Distr is an open source software distribution platform designed for software and AI companies to distribute, deploy, and manage applications and artifacts in diverse customer environments. It bridges the gap between vendor-controlled cloud environments and customer-controlled environments (such as self-managed, BYOC, air-gapped, or edge deployments) by providing visibility and control with a minimal footprint.

    Key Capabilities

    • Multiple Distribution Models: Supports fully self-managed, assisted self-managed, BYOC (Bring Your Own Cloud), air-gapped, and edge deployments.
    • Tooling Integration: Works with Docker, Helm, and all OCI-compliant tools. It also integrates with GitHub Actions.
    • Package Support: Distributes Docker Compose files, Helm charts, and any OCI-compliant artifact.
    • Security & Access: Supports air-gapped environments and token-based private registry access.
    • Visibility & Management: Provides centralized monitoring of deployment status, versions, and health across all customer environments.
    • Licensing & Control: Enables enforcement of licensing at the application version level and provides tag-based access controls for individual artifacts.
    • Dual Portal System:
      • Vendor Portal: For complete control over distribution and management.
      • Customer Portal: A simplified, white-labelable interface for end-customers.

    Deployment Options

    Distr is available as both a managed SaaS and a self-hosted solution.

  3. Overview of the Distr Artifact Registry

    main

    The Distr Artifact Registry is an OCI-compliant registry integrated natively into Distr. It is designed to simplify self-hosted software distribution for vendors and their customers by providing a robust way to manage and distribute container images, Helm charts, WASM modules, and any other OCI-compliant artifacts.

    Key capabilities include:

    • OCI Compliance: Supports Docker images, Helm charts, WASM modules, and any other format following the OCI specification.
    • License-based Access Control: Vendors can grant or revoke permissions to artifacts at the tag level using Artifacts licenses. Permissions update instantly when entitlements change.
    • Visual Management: A built-in UI allows users to view artifact versions/tags, track deployment status across environments, and monitor consumption via granular download audit logs.
    • Auditability: Detailed logs show which customer pulled which artifact and when.
  4. Overview of the Distr Distribution Platform

    main

    The Distr Distribution Platform provides tools to manage the commercial and operational aspects of software distribution. It is divided into five core functional areas:

    1. License Management: Controls access to applications and artifacts via entitlements and signed license keys.
    2. Support: Provides diagnostic tools like support bundles, Kubernetes compatibility validation, and vulnerability scanning.
    3. Customer Portal: A white-labeled interface for end-customers to access artifacts, manage deployments, view licenses, create support bundles, and manage secrets.
    4. Customer Management: Tools for creating customer organizations, inviting users, and managing branding/white-labeling.
    5. User Management: Implements Role-Based Access Control (RBAC) to manage permissions across different organizations.
  5. Overview of @distr-sh/distr-sdk

    main
    The @distr-sh/distr-sdk is the official JavaScript/TypeScript SDK for interacting with the Distr platform. It provides high-level classes, interfaces, and type definitions to manage applications, deployments, organizations, and support bundles programmatically.
  6. Distribute Software to Customer Environments with Distr

    main

    Distr is an open-source software distribution platform designed for vendors to ship applications to diverse customer environments, including self-hosted, BYOC (Bring Your Own Cloud), on-premises, air-gapped, and edge locations.

    Key capabilities provided by Distr include:

    • OCI-compliant artifact registry: Manages software versions with customer-specific access controls.
    • Customer portal: Enables self-service deployment and management for end-users.
    • License management: Controls software versions, specific features, and entitlements on a per-customer basis.
    • Deployment agents: Automates installation and updates directly within customer infrastructure.
    • Health monitoring: Provides visibility and telemetry across all distributed deployments.
    • Air-gap support: Facilitates distribution to disconnected or offline environments.
    • Deployment flexibility: Available as both a managed SaaS or a self-hosted solution.
  7. Manage software distribution via the Vendor Portal

    main

    The Vendor Portal allows you to manage the entire lifecycle of your self-managed software distribution through several key functional areas:

    • Agents & Applications: Create applications, manage deployments, set up alerts, and monitor deployment health and logs.
    • Registry: Manage artifacts and monitor consumption metrics.
    • Licenses & Entitlements: Manage entitlements (controlling which application versions or registry access customers have) and issue signed License Keys for application-level usage enforcement.
    • Customer Management: Create customer organizations, manage secrets, and control feature access per customer.
    • Support Bundles: Review diagnostic data (environment variables and container logs) collected from customer environments via one-time scripts.
    • Branding: White-label the Customer Portal with your own branding and custom domains.
    • Secrets: Securely manage and share sensitive configuration values and credentials with customer deployments.
  8. Distribute software with Distr's Container Registry

    main

    Distr provides an OCI-compliant artifact registry designed for software vendors (ISVs) to distribute applications to customers. Key features include:

    • Customer Access Management: Grant access to specific image versions based on licenses.
    • Usage Tracking: Analytics to see which customers are pulling images.
    • Customer Portal: A white-labeled portal for customers to view images and credentials.
    • Air-gap Support: Distribution to disconnected environments.
    • Deployment Options: Available as managed SaaS or self-hosted.
  9. Compare private (internal) container registries

    main

    Internal registries are designed for trusted, in-house use, integrating tightly with cloud IAM and CI/CD pipelines. They are best suited for development and deployment within the same security boundary. While they offer high security, they typically have fewer management features (like UI or analytics) compared to public registries.

    Key options include:

    • Cloud-native providers: Azure Container Registry (ACR), AWS Elastic Container Registry (ECR), Google Artifact Registry, and Oracle Container Registry (OCR).
    • Universal/Enterprise managers: JFrog Artifactory (supports 30+ formats via Local, Remote, and Virtual repositories).
    • Ecosystem-integrated: GitLab Container Registry and GitHub Container Registry (GHCR).
    • Open-source/Self-hosted: Harbor (CNCF graduated, supports OCI v1.1 and auto-SBOM generation) and Gitea (lightweight, uses personal access tokens).
  10. Distr core features for software vendors

    main

    Distr provides the following capabilities to manage on-premises software at scale:

    • Centralized artifact registry: An OCI-compliant registry for managing Docker images, Helm charts, and other artifacts.
    • Automated distribution: Push updates to thousands of customer environments with built-in version tracking.
    • License management: Enforce entitlements, expiration dates, and feature flags that function without an internet connection (offline-capable).
    • Deployment agents: Optional agents for Docker Compose and Helm to automate deployments and monitor system health.
    • Customer portal: A white-labeled self-service interface where customers can access downloads, manage deployments, and view documentation.
    • Telemetry and support: Collect metrics and logs (subject to customer permission) to facilitate remote troubleshooting.
  11. Install and use docker-autoheal

    main

    docker-autoheal is a tool maintained by Distr, adapted from the original willfarrell/docker-autoheal project. It is used to automatically monitor and restart unhealthy Docker containers.

    Distr maintains this version following the Distr release cadence. You can pull the image from the GitHub Container Registry.

    ghcr.io/distr-sh/distr/docker-autoheal