--- title: "Mirror Settings" slug: "mirror-settings" updated: 2025-11-17T22:27:15Z published: 2025-11-17T22:27:15Z canonical: "learn.allspice.io/mirror-settings" --- > ## Documentation Index > Fetch the complete documentation index at: https://learn.allspice.io/llms.txt > Use this file to discover all available pages before exploring further. # Mirror Settings ## Mirror Settings Repository mirroring allows your AllSpice repository to stay synchronized with external Git repositories. It’s useful when you need to: - Keep an internal copy of an external project - Continuously publish changes to an upstream provider (e.g., GitHub, GitLab, Bitbucket) - Maintain redundancy or backups - Integrate with systems that require code to exist in multiple locations Mirroring helps teams work across platforms without manually duplicating commits or maintaining custom sync scripts. --- ## Overview Mirroring supports two modes: - **Push mirrors** – Send changes *from AllSpice to another repository.* - **Pull mirrors** – Bring changes *from another repository into AllSpice.* This section covers **push mirrors**. For pull mirrors, refer to [**Pulling from a Remote Repository**](/v1/docs/how-to-mirror) in the documentation. --- ## Push Mirrors The **Push Mirrors** section lists all configured mirror targets. For each mirror, it displays: - **Repository** – The destination repository URL - **Direction** – Always *push* for this section - **Last Update** – Timestamp of the most recent successful sync If no mirrors are configured, the page displays: > **No push mirrors configured.** Push mirroring is helpful when AllSpice is your source of truth but you still need to publish code to external platforms for CI/CD pipelines, vendor integrations, or public distribution. --- ## Git Remote Repository URL Specifies the URL of the remote repository you want to push to. This must be a valid Git URL, such as: - `https://github.com/example/repo.git` - `git@github.com:example/repo.git` The remote URL determines where AllSpice sends updates. If the remote requires authentication, credentials must be configured in **Authorization**. --- ## Authorization Defines the authentication method used when connecting to the remote repository. **Why this matters:** Most Git providers require credentials for pushes. Without proper authorization, mirror syncing will fail. Supported credential types depend on the external service and may include: - Personal access tokens - Deploy keys (SSH) - HTTPS credentials (username/token) --- ## Sync on Push Enable this option to trigger a mirror sync automatically whenever commits are pushed to the repository. **Why this matters:** If the mirrored repository powers CI/CD pipelines or other automated systems, Sync on Push ensures updates appear immediately, without waiting for the scheduled interval. --- ## Mirror Interval Controls how frequently AllSpice attempts automated background syncs. Useful for: - Maintaining redundancy - Ensuring mirrors stay up to date even if no new commits are pushed - Detecting and retrying missed sync attempts **Settings:** - Valid units: `h`, `m`, `s` - Minimum interval: `10m0s` - Set to `0` to disable scheduled syncing **Example:** `1h0m0s` (sync every hour) --- ## Add Push Mirror Creates a new push mirror configuration. **To add a mirror:** 1. Enter the **Remote Repository URL**. 2. Configure **Authorization** with valid credentials. 3. (Optional) Enable **Sync on Push**. 4. (Optional) Set the **Mirror Interval**. 5. Click **Add Push Mirror**. Once created, AllSpice will begin pushing updates according to your sync settings.