Skip to main content

Reactivating /storage as Avala Cloud

Read-only inspection of marketing/AGENTS.md, marketing/DESIGN.md, ui/DESIGN.md and current source in /home/emal/Code/avala-r2-audit. No repository changes, browser requests or live operations.

Current route state

  • /storage redirects permanently to /platform/datasets, and all non-English locale variants do the same (marketing/next.config.ts:75). There is no storage page.
  • Edge ownership is already present: infra/workers/marketing-router/index.js:41 retains /storage to reach the Next redirect. Keep the prefix and update its obsolete comment during a separately approved infra-file change if required. Removing the redirect does not require an edge route addition.
  • Next localization ownership is absent: add storage to LOCALIZED_MARKETING_PREFIXES in marketing/src/lib/locales.ts:31, otherwise the English route rewrite will not route to /en/storage and localized links will not behave as marketing links.
  • marketing/src/lib/__tests__/storage-route-hidden.test.ts:14 expressly enforces the redirect and page/nav/sitemap absence. Replace with the new rendered and routing contract, do not simply delete protection.
  • Desktop and mobile menus share marketing/src/lib/header-nav-data.ts:81; the mobile menu derives items at :139. One Avala Cloud nav item in the data group covers both. Header.tsx/MobileNavSheet.tsx do not need changes.
  • Footer platform links are in marketing/src/components/Footer.tsx:54.
  • Add sitemap entry marketing/src/app/sitemap.ts:32 and metadata map marketing/src/lib/page-metadata.ts:14. New page should have a layout using createPageMetadataGenerator, patterned after platform/datasets/layout.tsx.
  • Crawler overview is marketing/src/app/llms.txt/route.ts:55; add a truthful Avala Cloud overview link. Do not add an operational service endpoint.
  • Already cached permanent redirects may remain in browsers. Removing server redirect does not invalidate those client caches. Test fresh contexts, direct locale routes and edge/origin response status when actual deployment is later approved.

Capability and copy boundary

There is an existing R2 connector in server/server/apps/dataset/models.py:3187 and serializers_storage.py:124, but an R2 connector is not proof that Avala-managed storage has migrated. Root managed storage is S3 (infra/s3.tf:886), compute includes ECS and SageMaker, and the original task explicitly keeps compute where it is. Cloudflare Worker compute currently evidenced in root IaC is marketing routing (infra/cloudflare_worker.tf:23) and docs redirect (:87). These are real edge workloads, but they do not establish a launched customer dataset compute service, GPU reconstruction, or Workers AI inference. Do not market AWS-backed conversion/autolabel/training as Cloudflare compute. No root IaC R2 bucket or Workers AI binding was found in this investigation. The migration remains Phase 0 awaiting approval. Recommended public positioning now: Avala Cloud as the product direction, with explicit planned status for Cloudflare-backed managed storage and data-processing compute. Link primary CTA to existing /demo, not a nonexistent signup, queue or provisioning flow. Do not publish provider list/DPA changes within this product PR. Do not promise 100 GB free, instant access, unlimited transfer, EU availability, performance/availability percentages, exact prices or anonymous avala.load until implementation and commercial policy are verified.

Minimal implementation file set

  1. Add marketing/src/app/[locale]/(marketing)/storage/page.tsx with existing Section, SalesSectionIntro, TypographyDisplay/SectionHeading, Button, LocalizedLink and LocalizedPageStructuredData patterns.
  2. Add marketing/src/app/[locale]/(marketing)/storage/layout.tsx with localized metadata generator.
  3. marketing/next.config.ts: remove only storage redirects; keep /en canonical redirects.
  4. marketing/src/lib/locales.ts: add storage prefix.
  5. marketing/src/lib/page-metadata.ts: add storage metadata mapping.
  6. marketing/src/app/sitemap.ts: add localized /storage page.
  7. marketing/src/lib/header-nav-data.ts: add Avala Cloud item to shared platform data group.
  8. marketing/src/components/Footer.tsx: add Avala Cloud link.
  9. All ten marketing/src/lib/locales-json/*.json: correct translations for copy/nav/footer/metadata, including explicit planned-status wording.
  10. Replace marketing/src/lib/__tests__/storage-route-hidden.test.ts with a route/rendered contract (may rename to storage-sales-contract.test.tsx), checking active page, localized canonical/sitemap/nav, absent redirect, and planned storage/compute messaging.
  11. marketing/src/app/llms.txt/route.ts: short planned-product overview link consistent with rendered copy.
  12. Optional marketing/src/lib/og/card-copy.ts: product-specific OG title, otherwise metadata fallback already works.
  13. infra/workers/marketing-router/index.js:41: comment-only stale-description fix, no routing logic change. Because task restricts infra changes, hold this comment change unless scope explicitly authorizes it. Route is already present and functional.
No shared UI token or design system changes needed. The design should use a simple data-flow explanation, not fabricated product screenshots or public customer examples.

Draft English copy

Navigation label: Avala Cloud Navigation description: Storage and compute for Physical AI data. Hero eyebrow: Avala Cloud Hero status: Planned Hero headline: A cloud for the data behind Physical AI. Hero body: We are building Avala Cloud around managed storage and data-processing compute on Cloudflare. Keep sensor recordings, dataset assets, and derived artifacts connected to the work that turns them into training data. Primary CTA: Discuss Avala Cloud Secondary CTA: Explore dataset workflows Section eyebrow: Managed storage Section headline: Keep the recordings and the results together. Section body: The planned storage service brings your MCAP, point clouds, video, and derived artifacts into Avala-managed object storage on Cloudflare R2. Private access and usage accounting are part of the design, from upload through export. Section eyebrow: Compute Section headline: Bring processing into the data workflow. Section status: Planned Section body: Cloudflare-based compute is part of the Avala Cloud roadmap. We are defining the processing workloads it will support alongside ingestion, visualization, labeling, and export. Section eyebrow: Connected workflows Section headline: From sensor capture to training data. Section body: Use Avala to organize sensor data, review it in Mission Control, coordinate labeling and quality checks, and deliver outputs to your model pipeline. Section eyebrow: Built around your data Section headline: Plan your storage and processing needs. Section body: Bring a representative dataset, your access requirements, and the processing you need to run. We will map the workflow and discuss availability with your team. CTA: Book a demo Metadata title: Avala Cloud | Storage and compute for Physical AI Metadata description: Explore Avala Cloud, our planned storage and compute offering on Cloudflare for sensor data, derived artifacts, and Physical AI workflows. Optional R2 value sentence only after current provider documentation is checked: “R2’s lack of internet egress charges informs the storage design, so serving large datasets can be less costly.” Prefer this to “free downloads” or “zero-cost data movement”, since those imply unverified Avala pricing and omit request/processing/retrieval costs. No price claim is needed to reactivate the route.

Verification after authorized implementation

Run focused route/render tests plus locale-link/header tests if affected; npm run i18n:scan, i18n:unused, lint, build, seo:locales. Verify actual rendered page at desktop and mobile, light/dark, one long-string locale, reduced motion, CTA destinations and canonical/hreflang. Confirm /storage, /fr/storage and internal /en/storage behavior using a fresh browser context. Test page/metadata/crawler copy for unqualified launched Cloudflare storage or customer compute claims. No production deployment or infra apply is included.

Data domain preference

Use data.avala.ai as the preferred Avala Cloud data-serving domain, per the user. Do not advertise it as operational or use it as a customer CTA until DNS, authentication and release-path behavior are implemented and verified. Keep the product page at avala.ai/storage.