# DeltaGlider Proxy > DeltaGlider Proxy is an S3-compatible proxy in front of existing storage. It stores similar files (versioned binaries, backups, builds) as xdelta3 deltas of a reference file, routes buckets across backends, and has an admin UI for IAM, SSO, replication, lifecycle, encryption, and events. Clients use the standard S3 API unchanged. Each link below is the page as plain markdown. The same pages render as HTML at the URL without the `.md` suffix. All pages in one file: https://deltaglider.com/llms-full.txt ## Start here What this is, plus guided lessons from zero to a working proxy. - [DeltaGlider Proxy](https://deltaglider.com/docs.md): An S3-compatible control plane in front of existing storage, not another object store or… - [Your first delta savings](https://deltaglider.com/docs/tutorials/first-delta-savings.md): Run the proxy, upload two firmware versions, and see the second one stored as a small… - [Securing your first proxy](https://deltaglider.com/docs/tutorials/secure-your-proxy.md): Replace open access with real credentials and a least-privilege IAM user. - [Your first Helm deployment on kind](https://deltaglider.com/docs/tutorials/kubernetes-hello-world.md): Install the Helm chart on a local kind cluster and prove it stores and returns a file. - [Common questions](https://deltaglider.com/docs/faq.md): An index, not an FAQ: each question links straight to the page that answers it properly. ## Guides: deploy & operate Recipes for installing, upgrading, watching, and debugging a running proxy. - [How to take a proxy to production](https://deltaglider.com/docs/how-to/go-to-production.md): This guide shows you how to take a working DeltaGlider Proxy from "runs on my laptop" to… - [How to deploy with Docker Compose](https://deltaglider.com/docs/how-to/deploy-with-docker-compose.md): This guide shows you how to run DeltaGlider Proxy with Docker Compose using a… - [How to deploy on Kubernetes with Helm](https://deltaglider.com/docs/how-to/deploy-on-kubernetes.md): This guide shows you how to run DeltaGlider Proxy in production on Kubernetes with the… - [How to scale out with the Kubernetes operator](https://deltaglider.com/docs/how-to/scale-out-with-the-kubernetes-operator.md): This guide shows you how to run DeltaGlider Proxy on Kubernetes with more than one pod… - [How to serve TLS](https://deltaglider.com/docs/how-to/serve-tls.md): This guide shows you how to put HTTPS in front of DeltaGlider Proxy. You can terminate… - [How to upgrade to 2.0](https://deltaglider.com/docs/how-to/upgrade-to-2-0.md): This guide takes a proxy that runs 1.19 to 2.0.0. Version 2.0.0 is a major release… - [How to upgrade the proxy](https://deltaglider.com/docs/how-to/upgrade.md): This guide shows you how to move between DeltaGlider Proxy versions safely, including… - [How to back up and restore](https://deltaglider.com/docs/how-to/back-up-and-restore.md): This guide shows you how to back up the state of DeltaGlider Proxy (config, IAM, and… - [How to run multiple instances (HA)](https://deltaglider.com/docs/how-to/run-multiple-instances.md): This guide shows you how to run more than one DeltaGlider Proxy instance against the… - [How to rotate the config DB key](https://deltaglider.com/docs/how-to/rotate-the-config-db-key.md): This guide shows you how to move the encrypted config database (deltagliderconfig.db) to… - [How to use a backend without conditional writes](https://deltaglider.com/docs/how-to/backend-capability-validation.md): Some backends, such as Backblaze B2, do not support conditional writes… - [How to diagnose a backend that isn't serving](https://deltaglider.com/docs/how-to/diagnose-backend-connectivity.md): Follow this when a bucket answers 503 ServiceUnavailable, the Backends panel shows a red… - [How to monitor with Prometheus and Grafana](https://deltaglider.com/docs/how-to/monitor-with-prometheus.md): This guide shows you how to scrape DeltaGlider Proxy with Prometheus, build the most… - [How to view live logs in the admin GUI](https://deltaglider.com/docs/how-to/view-live-logs.md): This guide shows you how to tail and filter the proxy's operational logs from the admin… - [How to trace and audit requests](https://deltaglider.com/docs/how-to/trace-requests.md): This guide shows you how to find out why the proxy allowed or denied a request. You test… - [Troubleshooting](https://deltaglider.com/docs/how-to/troubleshooting.md): This guide maps the symptoms you'll see in the wild to their fixes. If your symptom… ## Guides: storage & data How to route, migrate, compress, replicate, expire, and encrypt your data. - [How to route a bucket to a different backend](https://deltaglider.com/docs/how-to/route-a-bucket-to-a-backend.md): This guide shows you how to serve a bucket from a specific storage backend, and how to… - [How to migrate an existing S3 bucket into the proxy](https://deltaglider.com/docs/how-to/migrate-existing-data-into-the-proxy.md): This guide shows you how to put an existing S3 bucket, with years of objects already in… - [How to move a bucket to another backend](https://deltaglider.com/docs/how-to/move-a-bucket-between-backends.md): This guide shows you how to relocate the data of a bucket from one backend to another… - [How to set per-bucket compression and quotas](https://deltaglider.com/docs/how-to/set-bucket-compression-and-quotas.md): This guide shows you how to turn delta compression off for a bucket, how to make the… - [How to replicate a bucket to another backend](https://deltaglider.com/docs/how-to/replicate-a-bucket.md): This guide shows you how to mirror a bucket to a second backend with a replication rule… - [How to expire and archive objects](https://deltaglider.com/docs/how-to/expire-and-archive-objects.md): This guide shows you how to delete objects past a certain age with a lifecycle rule, or… - [How to encrypt data at rest](https://deltaglider.com/docs/how-to/encrypt-data-at-rest.md): This guide shows you how to turn on at-rest encryption on a storage backend. The… - [How to encrypt one bucket on a shared backend](https://deltaglider.com/docs/how-to/encrypt-one-bucket-on-a-shared-backend.md): This guide shows you how to encrypt one bucket with its own key while the other buckets… - [How to rotate or change encryption keys](https://deltaglider.com/docs/how-to/rotate-encryption-keys.md): This guide shows you how to change the encryption key or the encryption mode of a… - [How to send events to webhooks and Slack](https://deltaglider.com/docs/how-to/send-event-notifications.md): This guide shows you how to deliver object events (created, deleted, copied, replicated… ## Guides: access & security How to create IAM users, set up SSO, gate requests, and publish public folders. - [How to create IAM users and groups](https://deltaglider.com/docs/how-to/create-iam-users.md): Give every client its own scoped credential. The example is a CI pipeline (ci-uploader)… - [How to restrict access by IP and prefix](https://deltaglider.com/docs/how-to/restrict-access-with-conditions.md): Add conditions to IAM rules so a leaked credential is useless outside your network, and… - [How to set up OAuth/OIDC single sign-on](https://deltaglider.com/docs/how-to/set-up-sso.md): Let people sign in to the admin UI with the identity provider they already have, and… - [How to manage IAM as code (GitOps)](https://deltaglider.com/docs/how-to/manage-iam-as-code.md): Make YAML the source of truth for users, groups, and OAuth providers. You review changes… - [How to gate requests before authentication](https://deltaglider.com/docs/how-to/gate-requests-with-admission-rules.md): Reject unwanted traffic, such as requests from bad IPs, anonymous writes, or all… - [How to publish a folder publicly](https://deltaglider.com/docs/how-to/publish-a-public-folder.md): Serve one prefix to anyone, for example installers that people download with curl and no… ## Reference Facts: every field, endpoint, metric, and limit. No opinions. - [Configuration](https://deltaglider.com/docs/reference/configuration.md): You configure DeltaGlider Proxy with a YAML file, with environment variables (DGP… - [S3 API compatibility](https://deltaglider.com/docs/reference/s3-api-compatibility.md): DeltaGlider speaks the S3 wire protocol through the s3s framework, so standard tools… - [Command-line tools](https://deltaglider.com/docs/reference/cli.md): The deltagliderproxy binary is both the server and its CLI. With no subcommand it starts… - [Admin API](https://deltaglider.com/docs/reference/admin-api.md): Every endpoint under //api/admin/, grouped by purpose. - [Authentication and access](https://deltaglider.com/docs/reference/authentication.md): Reference for the proxy's authentication modes, the bootstrap password, SigV4… - [IAM permissions and conditions](https://deltaglider.com/docs/reference/iam-permissions.md): Reference for the ABAC permission model: rule shape, actions, resource patterns… - [Rate limits and concurrency](https://deltaglider.com/docs/reference/rate-limits.md): This page lists the limits that protect the proxy against overload, abuse, and resource… - [Capacity planning and hardware sizing](https://deltaglider.com/docs/reference/capacity-planning.md): This page describes the resource profile of the proxy and how to size CPU, memory, and… - [Encryption reference](https://deltaglider.com/docs/reference/encryption.md): Encryption at rest is configured per backend, and a bucket can replace the encryption of… - [Jobs](https://deltaglider.com/docs/reference/jobs.md): The proxy has one API surface for all the work that runs in the background: replication… - [Bucket replication](https://deltaglider.com/docs/reference/replication.md): Replication copies objects from a source to a destination through the engine, so… - [Lifecycle rules](https://deltaglider.com/docs/reference/lifecycle.md): Lifecycle rules act on engine-visible objects. A rule deletes old objects by age, keeps… - [Event log](https://deltaglider.com/docs/reference/event-outbox.md): After each successful S3 mutation, the proxy writes a durable object event to the… - [Declarative IAM](https://deltaglider.com/docs/reference/declarative-iam.md): GitOps-shaped IAM: YAML is the source of truth; the encrypted config DB is reconciled… - [Metrics](https://deltaglider.com/docs/reference/metrics.md): Every Prometheus metric the proxy exposes, with labels, types, and bucket boundaries. ## Concepts How it works and why — readable away from the keyboard. - [How delta compression works](https://deltaglider.com/docs/explanation/delta-compression.md): Why storing every version of a binary is mostly waste, and what the proxy does about it. - [Two ways to configure DeltaGlider](https://deltaglider.com/docs/explanation/two-ways-to-configure.md): Why the admin GUI and the YAML file are two editors of one configuration, where… - [The compute tax](https://deltaglider.com/docs/explanation/the-compute-tax.md): Delta compression and encryption both cost CPU time, and the first question an engineer… - [How migration works](https://deltaglider.com/docs/explanation/how-migration-works.md): What happens when you move an existing bucket onto the proxy, and the questions to ask… - [About multi-backend routing](https://deltaglider.com/docs/explanation/multi-backend-architecture.md): Why the proxy is a control plane over your storage, not another place your bytes live. - [About authentication and access control](https://deltaglider.com/docs/explanation/security-model.md): DeltaGlider Proxy sits between every client and every byte of stored data, so every… - [About encryption at rest](https://deltaglider.com/docs/explanation/encryption-at-rest.md): Encryption at rest in DeltaGlider Proxy is a per-backend decision with four modes: none… - [About the encryption threat model](https://deltaglider.com/docs/explanation/encryption-threat-model.md): This page describes what proxy-side encryption (aes256-gcm-proxy) protects, and what it… - [About jobs, write gates, and durability](https://deltaglider.com/docs/explanation/jobs-and-durability.md): DeltaGlider Proxy runs five kinds of background work (replication rules, lifecycle… - [DeltaGlider compression vs. S3 Object Versioning](https://deltaglider.com/docs/explanation/versioning-vs-s3-versioning.md): Two different things that both use the word "version", and why DeltaGlider does only one… - [The DeltaGlider license](https://deltaglider.com/docs/explanation/the-deltaglider-license.md): DeltaGlider Proxy is published under the Business Source License 1.1 (BUSL-1.1). This… ## Optional What changed in every published version, newest first. - [Changelog](https://deltaglider.com/docs/changelog.md): Every released version of DeltaGlider Proxy, newest first. Versions follow semantic…