revert(domains): публичный сайт → test.food-market.kz, apex 404 до релиза
Some checks are pending
CI / POS (WPF, Windows) (push) Waiting to run
CI / Backend (.NET 8) (push) Successful in 53s
CI / Web (React + Vite) (push) Successful in 38s
Docker API / Build + push API (push) Successful in 1m9s
Docker Public / Build + push Public (push) Successful in 28s
Docker Web / Build + push Web (push) Successful in 33s
Docker API / Deploy API on stage (push) Successful in 17s
Docker Public / Deploy Public on stage (push) Successful in 10s
Docker Web / Deploy Web on stage (push) Successful in 11s
Some checks are pending
CI / POS (WPF, Windows) (push) Waiting to run
CI / Backend (.NET 8) (push) Successful in 53s
CI / Web (React + Vite) (push) Successful in 38s
Docker API / Build + push API (push) Successful in 1m9s
Docker Public / Build + push Public (push) Successful in 28s
Docker Web / Build + push Web (push) Successful in 33s
Docker API / Deploy API on stage (push) Successful in 17s
Docker Public / Deploy Public on stage (push) Successful in 10s
Docker Web / Deploy Web on stage (push) Successful in 11s
Публичный сайт ещё в разработке — выносим его с food-market.kz на test.food-market.kz. На корневом домене food-market.kz пока 404. admin.food-market.kz остаётся как есть. — Заменены https-URL в src/** и deploy/: https://food-market.kz → https://test.food-market.kz (admin.food-market.kz, app.food-market.kz и emails @food-market.kz не трогаем — sed строго по https-префиксу). — public Dockerfile ARG PUBLIC_SITE_URL → test.food-market.kz. — SignupForm/Header/NoOrganizationPage указывают на admin.food-market.kz для API (без изменений с прошлого коммита). — appsettings.json CORS: test + admin.food-market.kz. Nginx (на сервере): - /etc/nginx/conf.d/test.food-market.kz.conf — новый, серт LE issued. - food-market.kz.conf — apex теперь 404 (HTTPS), серт переиспользует пару (food-market.kz + admin.food-market.kz). - food-market.zat.kz и app.food-market.zat.kz — 301 на test/admin соответственно. Smoke: test/, /signup/, admin/health, admin/login = 200; apex = 404; zat → test/admin 301; sitemap.xml отдаёт https://test.food-market.kz/.
This commit is contained in:
parent
58df887f1c
commit
79406e304e
|
|
@ -9,7 +9,7 @@ Config (/etc/food-market/telegram.env or env vars):
|
|||
TELEGRAM_BOT_TOKEN — bot token (required)
|
||||
TELEGRAM_CHAT_ID — single whitelisted chat id (required)
|
||||
TELEGRAM_WEBHOOK_URL — public URL Telegram should POST to
|
||||
(default: https://food-market.kz/tg-webhook)
|
||||
(default: https://test.food-market.kz/tg-webhook)
|
||||
TELEGRAM_WEBHOOK_SECRET — random secret; bridge validates the
|
||||
X-Telegram-Bot-Api-Secret-Token header on every
|
||||
incoming request and Telegram sends it back so
|
||||
|
|
@ -143,7 +143,7 @@ def main() -> int:
|
|||
token = env.get("TELEGRAM_BOT_TOKEN", "").strip()
|
||||
chat_id_raw = env.get("TELEGRAM_CHAT_ID", "").strip()
|
||||
secret = env.get("TELEGRAM_WEBHOOK_SECRET", "").strip()
|
||||
webhook_url = env.get("TELEGRAM_WEBHOOK_URL", "https://food-market.kz/tg-webhook").strip()
|
||||
webhook_url = env.get("TELEGRAM_WEBHOOK_URL", "https://test.food-market.kz/tg-webhook").strip()
|
||||
if not token or not chat_id_raw:
|
||||
print("ERROR: TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID required", file=sys.stderr)
|
||||
return 78
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
"AllowedOrigins": [
|
||||
"http://localhost:5173",
|
||||
"http://localhost:4173",
|
||||
"https://food-market.kz",
|
||||
"https://test.food-market.kz",
|
||||
"https://admin.food-market.kz"
|
||||
]
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# Публичный URL самого сайта (canonical, OG, sitemap)
|
||||
PUBLIC_SITE_URL=https://food-market.kz
|
||||
PUBLIC_SITE_URL=https://test.food-market.kz
|
||||
|
||||
# Админка / API — куда уходит юзер после signup, и куда шлются POST /api/auth/signup
|
||||
PUBLIC_APP_URL=https://food-market.zat.kz
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Multi-stage build для Astro static site.
|
||||
# Build envs:
|
||||
# PUBLIC_SITE_URL — публичный URL сайта (canonical/OG/sitemap), default https://food-market.kz
|
||||
# PUBLIC_SITE_URL — публичный URL сайта (canonical/OG/sitemap), default https://test.food-market.kz
|
||||
# PUBLIC_APP_URL — admin/API endpoint (для Header «Войти» и signup-формы)
|
||||
FROM node:20-alpine AS build
|
||||
WORKDIR /app
|
||||
|
|
@ -10,8 +10,8 @@ RUN corepack enable && corepack prepare pnpm@10 --activate
|
|||
COPY pnpm-lock.yaml* ./
|
||||
RUN pnpm install --frozen-lockfile || pnpm install
|
||||
COPY . .
|
||||
ARG PUBLIC_SITE_URL=https://food-market.kz
|
||||
ARG PUBLIC_APP_URL=https://food-market.kz
|
||||
ARG PUBLIC_SITE_URL=https://test.food-market.kz
|
||||
ARG PUBLIC_APP_URL=https://test.food-market.kz
|
||||
ENV PUBLIC_SITE_URL=$PUBLIC_SITE_URL
|
||||
ENV PUBLIC_APP_URL=$PUBLIC_APP_URL
|
||||
RUN pnpm build
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import tailwind from '@astrojs/tailwind'
|
|||
// astro:build:done hook'е). Добавим обратно после фикса плагина или
|
||||
// заменим на ручную генерацию sitemap.xml.
|
||||
export default defineConfig({
|
||||
site: process.env.PUBLIC_SITE_URL || 'https://food-market.kz',
|
||||
site: process.env.PUBLIC_SITE_URL || 'https://test.food-market.kz',
|
||||
integrations: [react(), tailwind({ applyBaseStyles: false })],
|
||||
output: 'static',
|
||||
build: { inlineStylesheets: 'auto' },
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
User-agent: *
|
||||
Allow: /
|
||||
Sitemap: https://food-market.kz/sitemap-index.xml
|
||||
Sitemap: https://test.food-market.kz/sitemap-index.xml
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
import Logo from './Logo.astro'
|
||||
const APP_URL = import.meta.env.PUBLIC_APP_URL || 'https://food-market.kz'
|
||||
const APP_URL = import.meta.env.PUBLIC_APP_URL || 'https://test.food-market.kz'
|
||||
---
|
||||
<header class="sticky top-0 z-40 bg-white/95 backdrop-blur border-b border-slate-200">
|
||||
<div class="max-w-7xl mx-auto px-4 sm:px-6 h-14 flex items-center justify-between gap-4">
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ last_updated: 2026-04-26
|
|||
|
||||
---
|
||||
|
||||
Настоящим я, как субъект персональных данных, регистрируясь в сервисе **Food Market** (далее — «**Сервис**»), размещённом на сайте https://food-market.kz, и проставляя отметку в чекбоксе «Согласен с офертой и политикой обработки персональных данных» при создании учётной записи, в соответствии со статьёй 8 Закона Республики Казахстан от 21 мая 2013 года № 94-V «О персональных данных и их защите», свободно, своей волей и в своём интересе даю своё согласие **ТОО «[НАЗВАНИЕ ТОО]»**, БИН [БИН], юридический адрес: [Юр.адрес] (далее — «**Оператор**»), на сбор, обработку, хранение, использование, обезличивание и уничтожение моих персональных данных в нижеуказанном объёме и для нижеуказанных целей.
|
||||
Настоящим я, как субъект персональных данных, регистрируясь в сервисе **Food Market** (далее — «**Сервис**»), размещённом на сайте https://test.food-market.kz, и проставляя отметку в чекбоксе «Согласен с офертой и политикой обработки персональных данных» при создании учётной записи, в соответствии со статьёй 8 Закона Республики Казахстан от 21 мая 2013 года № 94-V «О персональных данных и их защите», свободно, своей волей и в своём интересе даю своё согласие **ТОО «[НАЗВАНИЕ ТОО]»**, БИН [БИН], юридический адрес: [Юр.адрес] (далее — «**Оператор**»), на сбор, обработку, хранение, использование, обезличивание и уничтожение моих персональных данных в нижеуказанном объёме и для нижеуказанных целей.
|
||||
|
||||
## 1. Перечень персональных данных, на обработку которых даётся согласие
|
||||
|
||||
|
|
@ -92,7 +92,7 @@ last_updated: 2026-04-26
|
|||
|
||||
Я подтверждаю, что ознакомлен с:
|
||||
|
||||
6.1. Политикой обработки персональных данных Оператора, размещённой на сайте https://food-market.kz/legal/privacy.
|
||||
6.1. Политикой обработки персональных данных Оператора, размещённой на сайте https://test.food-market.kz/legal/privacy.
|
||||
|
||||
6.2. Своими правами, предусмотренными Законом о ПДн, в том числе правом:
|
||||
- получать информацию об обработке моих персональных данных;
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ last_updated: 2026-04-26
|
|||
1.2. Лицензиаром Сервиса выступает **ТОО «[НАЗВАНИЕ ТОО]»**, БИН [БИН], зарегистрированное в соответствии с законодательством Республики Казахстан (далее — «**Лицензиар**»). Полные реквизиты Лицензиара указаны в разделе «Реквизиты» сайта.
|
||||
|
||||
1.3. Безусловным акцептом настоящей Оферты в соответствии с пунктом 3 статьи 396 ГК РК являются следующие действия Пользователя, совершённые в совокупности:
|
||||
- регистрация учётной записи на сайте https://food-market.kz (или ином доменном имени, используемом Лицензиаром);
|
||||
- регистрация учётной записи на сайте https://test.food-market.kz (или ином доменном имени, используемом Лицензиаром);
|
||||
- проставление отметки в чекбоксе «Согласен с офертой и политикой обработки персональных данных»;
|
||||
- начало использования Сервиса.
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ last_updated: 2026-04-26
|
|||
|
||||
## 2. Термины и определения
|
||||
|
||||
**Сервис** — программный продукт «Food Market», представляющий собой облачную систему учёта розничной торговли с функциями управления товарами, складом, продажами, кассовыми операциями, аналитикой и сопутствующими сервисами, размещённый по адресу https://food-market.kz и связанных с ним поддоменах.
|
||||
**Сервис** — программный продукт «Food Market», представляющий собой облачную систему учёта розничной торговли с функциями управления товарами, складом, продажами, кассовыми операциями, аналитикой и сопутствующими сервисами, размещённый по адресу https://test.food-market.kz и связанных с ним поддоменах.
|
||||
|
||||
**Учётная запись** — совокупность данных Пользователя, обеспечивающих его идентификацию и авторизацию в Сервисе.
|
||||
|
||||
|
|
@ -75,7 +75,7 @@ last_updated: 2026-04-26
|
|||
|
||||
## 6. Тарифы и порядок оплаты
|
||||
|
||||
6.1. Стоимость использования Сервиса определяется выбранным Пользователем Тарифом. Актуальная сетка Тарифов и их состав публикуются на сайте Лицензиара по адресу https://food-market.kz/pricing.
|
||||
6.1. Стоимость использования Сервиса определяется выбранным Пользователем Тарифом. Актуальная сетка Тарифов и их состав публикуются на сайте Лицензиара по адресу https://test.food-market.kz/pricing.
|
||||
|
||||
6.2. Оплата Подписки производится авансом за выбранный период (1, 3, 6 или 12 месяцев) посредством платёжных систем, указанных на сайте Лицензиара.
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ last_updated: 2026-04-26
|
|||
|
||||
1.3. Настоящая Политика применяется ко всем персональным данным, обрабатываемым Оператором с использованием средств автоматизации и без таковых.
|
||||
|
||||
1.4. Действующая редакция Политики постоянно доступна на сайте Оператора по адресу https://food-market.kz/legal/privacy.
|
||||
1.4. Действующая редакция Политики постоянно доступна на сайте Оператора по адресу https://test.food-market.kz/legal/privacy.
|
||||
|
||||
## 2. Термины и определения
|
||||
|
||||
|
|
@ -213,7 +213,7 @@ last_updated: 2026-04-26
|
|||
|
||||
## 12. Изменения в Политике
|
||||
|
||||
12.1. Оператор вправе вносить изменения в настоящую Политику. Актуальная версия размещается на сайте Оператора по адресу https://food-market.kz/legal/privacy с указанием даты последнего обновления.
|
||||
12.1. Оператор вправе вносить изменения в настоящую Политику. Актуальная версия размещается на сайте Оператора по адресу https://test.food-market.kz/legal/privacy с указанием даты последнего обновления.
|
||||
|
||||
12.2. Существенные изменения, затрагивающие права субъектов ПДн, вступают в силу не ранее чем через 14 (четырнадцать) календарных дней после публикации новой редакции, с уведомлением Пользователей по адресу электронной почты, указанному в учётной записи.
|
||||
|
||||
|
|
|
|||
|
|
@ -57,4 +57,4 @@ last_updated: 2026-04-26
|
|||
|
||||
---
|
||||
|
||||
*Реквизиты могут уточняться. Актуальная редакция всегда размещена по адресу https://food-market.kz/legal/requisites.*
|
||||
*Реквизиты могут уточняться. Актуальная редакция всегда размещена по адресу https://test.food-market.kz/legal/requisites.*
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ const PAGES = [
|
|||
]
|
||||
|
||||
export const GET: APIRoute = ({ site }) => {
|
||||
const base = (site?.toString() ?? 'https://food-market.kz').replace(/\/$/, '')
|
||||
const base = (site?.toString() ?? 'https://test.food-market.kz').replace(/\/$/, '')
|
||||
const urls = PAGES.map((p) => `<url><loc>${base}/${p}</loc></url>`).join('\n ')
|
||||
const xml = `<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { Logo } from '@/components/Logo'
|
|||
import { logout } from '@/lib/auth'
|
||||
import { useMe } from '@/lib/useMe'
|
||||
|
||||
const PUBLIC_SITE = (import.meta.env.VITE_PUBLIC_SITE_URL as string | undefined) ?? 'https://food-market.kz'
|
||||
const PUBLIC_SITE = (import.meta.env.VITE_PUBLIC_SITE_URL as string | undefined) ?? 'https://test.food-market.kz'
|
||||
|
||||
/** Fallback-экран для AppUser без активного Employee в живой Organization.
|
||||
* Возможные причины: его org удалена SuperAdmin'ом, его Employee
|
||||
|
|
|
|||
Loading…
Reference in a new issue