Skip to content

Relay outbox

Rules for whoever posts: post the text exactly as written, as a comment or new issue in the target named; never edit code; never merge; never post secrets or client data; report each link back.

ID Status Target Type Text to post
R1 POSTED 13 Oct 00:35 by the API agent (issue in moneymarche/api) GitLab moneymarche/api (new issue) Issue Title: Move the /save-nav API_KEY into configuration and script its rotation. Body: From Ajay (MMDEP doc, 12 Oct): the key is hard-coded in src/config.py (API) and lambda/navdata/lib/navdata.py (mm-crons). Atul's decision (12 Oct): (1) first list every job and service that uses this key or the database credentials (API, Lambda, crons, staging) and show how each will read them after the change; (2) change the code in both repos to read the key from configuration (environment or a config file outside git), behaviour otherwise unchanged; (3) add a rotation script that generates a new key, writes it to the API config and the Lambda configuration, restarts the API, and checks the Lambda run; (4) prove on staging that every job still reaches the database and the API before production. One MR per repo, no key values anywhere. The API restart takes about 1 minute and the Lambda runs at 15:30, so the rotation avoids that time. Relates to API !156, API !111 and MM-Cron !77. Decision: Atul via MMDEP-PM.
R2 POSTED 13 Oct 00:35 by the API agent (issue in moneymarche/mm-crons) GitLab moneymarche/mm-crons (new issue) Issue Title: Staging and production share mm_data: treat staging writes as production. Body: From Ajay (MMDEP doc, 12 Oct): the WordPress databases differ, but mm_data is common to staging and production. Until Ajay confirms whether staging jobs can write to mm_data, no staging run may write to it. Check MM-Cron !71 and !73 (fail-closed staging policy and preflight guard) against this and say whether they cover mm_data. Decision: MMDEP-PM.
R3 POSTED 13 Oct 00:35 by the API agent GitLab moneymarche/api (comment on API !111) Comment Atul's decision (12 Oct): database credentials follow the same pattern as the /save-nav key (see the new issue from relay R1): inventory of every job that uses them, code reads them from configuration, a rotation script, and a staging check that every job still reaches the database before production. Ajay notes the WordPress databases differ between staging and production while mm_data is shared, so the inventory must say which credentials each job uses. This MR's plan can be closed or updated to point to that issue.
R4 PENDING (for MWMC, next PROCEED) GitLab money-marche-testing/money-marche-sandbox (new issue, labels project::mmclone, security) Issue Title: Install a valid SSL certificate on mmclone.arevalifestyle.com. Body: MMCLONE is reachable only over http (Atul, 13 Oct: the certificate couldn't be set up). Correction (Atul, 13 Oct): MMCLONE is http://mmclone.arevalifestyle.com, a subdomain created inside the Bluehost account of the otherwise blank domain arevalifestyle.com (no separate DNS); fix SSL through Bluehost AutoSSL or Let's Encrypt for that subdomain. Plan the fix: the hosting's AutoSSL or Let's Encrypt for the subdomain (DNS and vhost first), HTTP-to-HTTPS redirect, then confirm the staging SEO guards (noindex, robots, sitemap 410, canonical to the clone host) still hold over https. Steps that change the server need Atul; write them as a support-release issue. The MMDEP collector checks the certificate hourly and will show when it is valid. Decision: Atul via MMDEP-PM.
R5 PENDING (for the MMDEP assistant or API agent; owner MMDEP) GitHub moneymarche-dev/MMDEP (new issue) Issue Title: Certificate renewal for all Money Marche domains, before expiry. Body: Atul (13 Oct): we need a job that renews SSL certificates for all our domains before they expire. Already in place: the MMDEP collector checks expiry hourly for moneymarche.com, www, api, stgapi, mmclone and wpdev and flags any certificate within 21 days of expiry. To do: (1) domain list (from GoDaddy, 13 Oct): moneymarche.com hosts @, www, api, app, crm, dev, mautic, staging, stgapi (Lightsail 65.2.119.188); wpdev, mail, portfolio-engine-dev (Bluehost 162.214.80.21); dashboard (CNAME to beta.my-planner.in, an outside domain: confirm it is ours); MMCLONE lives at mmclone.arevalifestyle.com (Bluehost). Other domains: arevalifestyle.com (Bluehost),: policymarche.com, fintechshala.com, pitchskore.com, partywarez.com. Domain auto-renew is off for all five; partywarez.com expires 22 Nov 2026; (2) for each, record where the certificate is issued (Lightsail/Bitnami bncert or certbot, Bluehost AutoSSL, other) and whether auto-renewal is on; (3) turn on auto-renewal where missing (server step by a person, as a runbook); (4) the collector alert goes to the MMDEP Actions panel 21 days ahead. Decision: Atul via MMDEP-PM.