diff --git a/README.md b/README.md index 2f9b52c32..7e198749b 100755 --- a/README.md +++ b/README.md @@ -26,28 +26,85 @@ At the moment, PubPub isn't particularly well setup for outside contributors. Ho User-facing documentation is a work in progress, and can be found at https://help.pubpub.org. If you're interested in helping contribute to documentation, we'd love to hear from you. Please send a note to [hello@pubpub.org](mailto:hello@pubpub.org?subject=Documentation%20Contribution) introducing yourself and describing how you'd like to contribute. -## To Install - -``` +## Local Development + +### Prerequisites + +- **Docker & Docker Compose** +- **pnpm** (see `packageManager` in `package.json`; `corepack enable` to activate) +- **SOPS + age** for decrypting environment secrets: + ``` + brew install sops age + ``` +- **Age key** — ask a team member for the private key, then place it at: + ``` + ~/.config/sops/age/keys.txt + ``` +- **pandoc + poppler** (macOS): + ``` + brew install pandoc poppler + ``` + (See `Aptfile` for equivalent Debian packages) + +### Quick Start + +PubPub requires [KF Auth](https://github.com/knowledgefutures/kf-auth-v3) for authentication. Start it first: + +```bash +# Terminal 1: Start KF Auth +cd ../kf-auth-v3 pnpm install +pnpm dev +``` +```bash +# Terminal 2: Start PubPub +pnpm install +pnpm dev ``` -To run locally on a Mac, use [Homebrew](https://brew.sh/) to install a handful of dependencies: +On first run, `pnpm dev` will: +1. Auto-decrypt `infra/.env.local.enc` into `infra/.env.local` (requires age key) +2. Start PostgreSQL, RabbitMQ, app server, and worker via Docker +3. Seed a demo community if the database is empty -``` -brew install pandoc poppler -``` +Navigate to `http://localhost:9876` -(See `Aptfile` for a list of equivalent Debian packages to install) +### Default Credentials -## To Run Dev Mode +Sign in at http://localhost:9876 using the KF Auth seed admin account: +- **Email:** `admin@kfauth.org` +- **Password:** `admin123` -``` -pnpm dev +### Useful URLs + +| URL | Service | +|-----|---------| +| http://localhost:9876 | PubPub | +| http://localhost:3000 | KF Auth (sign-in) | +| http://localhost:3001 | KF Auth account dashboard | +| http://localhost:9999 | Inbucket (email inbox for dev) | + +### Secrets + +Environment secrets are encrypted with SOPS + age. Decryption happens automatically +on `pnpm dev`, but you can also run manually: + +```bash +pnpm secrets:decrypt:local # infra/.env.local.enc → infra/.env.local +pnpm secrets:encrypt:local # infra/.env.local → infra/.env.local.enc (after changes) ``` -Navigate to `localhost:9876` +### Troubleshooting + +**`env file infra/.env.local not found`** +Auto-decrypt may have failed. Ensure your age key is at `~/.config/sops/age/keys.txt`, then run `pnpm secrets:decrypt:local`. + +**Every page returns 404** +The demo community may not have been seeded. Check Docker logs for `[seed]` messages. To reset from scratch: `docker compose -f infra/docker-compose.dev.yml down -v && pnpm dev` + +**Cannot log in / redirect loop** +Make sure KF Auth is running on port 3000. PubPub expects the OIDC issuer at `http://localhost:3000`. ## Fonts diff --git a/infra/.env.dev.enc b/infra/.env.dev.enc index 30595f867..b35003d39 100644 --- a/infra/.env.dev.enc +++ b/infra/.env.dev.enc @@ -1,61 +1,61 @@ -AES_ENCRYPTION_KEY=ENC[AES256_GCM,data:h7qbTJxJeUHu8b1cfCrCBK8M/LJfaxEozxdQVILgr3tb4VggkzsPpbr4KNOtK8pRBDXft4dxfdvTTcckk/KzwQ==,iv:Qv5WoB8JJ44uNf44/Zhbn9NamsM4b3zBCYesDM16BwE=,tag:LlxtNGy64+eVqsf0/RKqcw==,type:str] -ALTCHA_HMAC_KEY=ENC[AES256_GCM,data:wdeZ4XbAsrqx+7K/LKXj5oeco1Mx4P/PAKeYMuOgJXyrd6G6kuy0vnJkrCr/0NpqIybvQhT6hi9C0mxkL2rm1g==,iv:kI4o3TaKl5vGzQe1qypmMXCuxO5NnuWsVh3/n1PU4x8=,tag:aBmIjqFdB+MtW/BZifh5RQ==,type:str] -AWS_ACCESS_KEY_ID=ENC[AES256_GCM,data:j5xHwp86kVe+Q43O2nM4mI9PqEU=,iv:E1rhuegAEZMFwgLJi1wlq8Sl0SsCxZL5BvgZK9lfBpE=,tag:ZI82fECFJ77UyXMPcLFp5w==,type:str] -AWS_BACKUP_ACCESS_KEY_ID=ENC[AES256_GCM,data:QUJkXAnMIbLkb07T1zekSQRX8sc=,iv:gUkgc1oU1rPHUXQrhj58qxkfde0jJdmQxBTZs5u/6bM=,tag:QJmtOzeH67JVn5tr4PHEiQ==,type:str] -AWS_BACKUP_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:eu7hz2BeK5ww+90nphpbFB2rxQs/hAgGAQZVMioDvqFymeoAJuaN7Q==,iv:AVpEozYwF0tQqv7suBwuvC6d+e5n1GUXp85xutajZ78=,tag:/3cIpBaVHWMTIHxMHKpSeQ==,type:str] -AWS_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:nIwH+UU2+F5l9047iQPRkEqB7A2h4mMFYKfem66L6uDKoouvKV9BWA==,iv:60GYLILKK11erR1eVLgW1H4NNiAligZaE9D1tSLd9jg=,tag:EH7sgJR2vkLZlCY51wnBBQ==,type:str] -BACKUPS_SECRET=ENC[AES256_GCM,data:5sQqL/w7ZpDC122QJCSumSDjh4bPSq5wVAvZXs2qI67dVKvBHeDoMZdyFr0=,iv:Z3NwyZH1tDQTeys+YnR5yt89FQ5yeKTong0JsC5Ek2Q=,tag:Tiezth3nfwje7jSH73V3lA==,type:str] -CLOUDFLARE_ANALYTICS_API_TOKEN=ENC[AES256_GCM,data:Rlm1/xO2Brfw/Ori0ERKtRhuvt4ljMh8p2RzO9nUDQUEwcLtHJ2LqcZxqq/xyuQXIJ61grw=,iv:FMnKOZDde8L90W+7nN/yG5sbLYppVWYv0c33py04ubc=,tag:T2V5DmNP1iazPxQjNd3A+w==,type:str] -CLOUDFLARE_CUSTOM_HOSTNAME_API_TOKEN=ENC[AES256_GCM,data:g6kJke1ZjaaxB/yY2PF+B1yrL5SKOoUIxFuE3t2K+RCQtI96e8EjAluI8/IzbG3dYzOsQFs=,iv:PuIHMwELLVGzv3/znFe/qs4HPgoc1sED7yvsW5DbbwA=,tag:Jqy/VfP9KePPf3KQpzw8IA==,type:str] -CLOUDFLARE_ZONE_TAG=ENC[AES256_GCM,data:uCGuHryb2PlYtRHkQUwrm7EPf75JRBXh4KWj6iiHqcs=,iv:udBUrPTyMntEluWHwp+iKLmLt1RqXoUOXGQg4sg7a6E=,tag:0dgxRDzYHjXS4rETNFocBw==,type:str] -CONTENT_SEARCH_TERMS=ENC[AES256_GCM,data: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,iv:mwYtebAqKsnihje7S67mrm5iXokE8xUKe5Oc/0RJ9rg=,tag:40SWkzDbjXDvaumVHofFSw==,type:str] -DATABASE_URL=ENC[AES256_GCM,data:I1XJzlgkaK8+vzwXOlPxAS4KCpxlh9di1cB+PjowKgNE9S2B2QnXwKRERMw=,iv:ZTd+wHr9D6S0l9J6quPkMDepZFc2Tq5r1g2Z79eFtA8=,tag:UZBDsm2jEaTYn4jhZpwX2A==,type:str] -DATACITE_DEPOSIT_URL=ENC[AES256_GCM,data:V5UsSaEeBwniXO7gcuZgRkGBzQS+wXTHzz8SqV2FDLvhPA==,iv:nCZkem7NJcJF4AYorqTtRh0WRx6kmccxojGfhj+wd9c=,tag:PQBxwom9tFR0BsuHLQXMyw==,type:str] -DOI_LOGIN_ID=ENC[AES256_GCM,data:aNSNmRff,iv:Iq+j9h+N5H0JGZ99Rk4I50opWPgAlCAwkMgXzNHVId8=,tag:bjtqMU2Ng6iu9TjlfJ1Exw==,type:str] -DOI_LOGIN_PASSWORD=ENC[AES256_GCM,data:7O636rpkjtDE09mcsBTNFD4HtiE=,iv:7wTPpEaTGyV6J2NGFmQMqaSgMT24qSIs/TP9waArXWs=,tag:KRdUZT+IjFHbXIDy7YZhTg==,type:str] -DOI_SUBMISSION_URL=ENC[AES256_GCM,data:eIo9vFwqznuI/2zDZv/8P9CMWg0XvNVebycPYaM/xVdxmfj3ASUqMTY=,iv:i0FWp1P4GUCTJEziwBV90VS518otmu7ojvmbV7HdA7s=,tag:8iM8GU4bwGQxDVdIiZP1yQ==,type:str] -FASTLY_PURGE_TOKEN=ENC[AES256_GCM,data:BTg92mvw6xmYQHpFlqLbtHFO7QeL5ayJgaqo71Jlr1A=,iv:lzr1hhomKMx9q+K7uDnuFr9W4mJFMHkG2sBj2+wi+80=,tag:o0wm6ws9zkC/RjX/aMjDvQ==,type:str] -FASTLY_SERVICE_ID=ENC[AES256_GCM,data:LmtEdR7CieGtOFPGkIYSNvoHj/aM9Q==,iv:ORwDwVXHMCCQ82AwNlRHICkCAXzW00ckMET8wlUjkFo=,tag:b23qbLhlm9zBBV2dB0u+xg==,type:str] -FIREBASE_SERVICE_ACCOUNT_BASE64=ENC[AES256_GCM,data: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,iv:d/IlvuqRqxjxgUXyHE71+qsi3brjh8M7y6W+xvGe9No=,tag:r9fzNRKVxrwtEY1chk1smw==,type:str] -IS_DUQDUQ=ENC[AES256_GCM,data:pGhSBw==,iv:88vE4NAY3P9UtI4Jal9TzFgfc90J3r0VDvLR8Dj9PxM=,tag:vJm3ej/3DKZXa7KUVgJdmA==,type:str] -JWT_SIGNING_SECRET=ENC[AES256_GCM,data:F47NxQuvKoO9/Ylu9KpFmlSxzGdRcjdn5EiBSDwStYidyPdYqGJsr44nUtOvCpIEZR1NnCAbccGtJlUgdxkYKRA0WqBVeQhkgA2DWN6J2Gwt8hFLrJJ0981USz+nTNiEjalmN8ebwOKmm6Zu25zL6kOUZI+nndeW9QBFW2ce1PLi3TXc4GrTrJrRDdOXHiCSpUeDmKxC0MM0Ieai9DvBURQL8LrfHDkCx5mgFO7E3o55aS82MZngdpqT3zwBgC++gbpXI//PV6Dql0RqM1ffHUtPxye+bDvvjFzTrbRnSOtCa8OGmhZO5be1notI+gGZVNPyc4x9g+VzFwgZa6VUNr5s+1JCpvSwsttYscXIB82OTMso3XIbiYIxH886/V2Y+kxlzS37sXrebDF+ptjjFAZc3VPpFERWeR1TuMZCFn+OSyvPfpMKO33f9NGOnYAs+UnVOeuemW3QnM4XvOTl+4+Ln8HHN5Lc1spJGnmGdLVkeJhwYOVyvsgMrY5TbN56DHqz9D2eSqiZ1KPM4i2ElGMA7OJ2P0BoUd9YXpUrx9SWcY7UFuwpgURr9uNrORK83RI07o7sFlwFM2/qBKz2D3LX9Jugx29z+P1CNj3q/209NM8sneNBaz5TgNoYJ6nm7+F6/krBmIeoB6Jp9YPeLLA6vk8rEFjm6ezwcpkCIYbzVfWZcojxlLF1IKPu5uLPxrzoV4k5ev2fo9Sya8x0mxPOEm30u2dSw5o2FDJjQmx3QCulpWIYlMZXUNE8ZeN3Ugh2AWpEqGfEDG5OaUXytKYHAmJ7aSJN8DyM/TJlgiLMssNGT/LGT3Zff+CTOBLI3d0nD/3g5yL1zdk1V4SdJp95inMJaywZ3cK6iJubaqicFe7ymqlJgglVjcwbWOsQB1rR+LU6ImWY+20ZmudVCJfBgvOY0kXE/zahG6dyr4Vxicj06NYg4IFu4faNVWLN/G6M4hEL1zqwbsoi+y3Ar0Pf2olPrr6jqGbcZRvUd0QtlWr5mP0kwJ+kSmOj+6qoVAF/WziWPEmZJwBYLPJEqXZUKOygAoxVU2NpbAzDR12muUyATEdTSDOilF7jaJ/epQDk6gOfBoptUcp1h9tGEx6ZBO+waOGJSmZpt0qMqsJg4hELfFdzOFnlDgAOiodEV9iU8HqXE4w90z2FxXmuNpfIg5AhgeO96tm3X6CIxanawvc/XWioal7N/7JZd/ZAxsNnqRsx/TU/TtTalinrJvWcfFzLrcPIwU3uWr8MCsVJWiFcE75J0CZBDizc7VlakDykjLD2h7xuDvH+4+mI3ENIALb/Q4/mTUaz0eW3LZdC67YULiCc5Ap3tBbCT8yTbJGrV7Ur7AiRkwum5ffrVA==,iv:NCxgW7WAv5AggPhBC+Fw/r2Yuu+7ByrQ8j1qxKhSPg4=,tag:Je7/Of8STALswBOTnXSn7w==,type:str] -MAILCHIMP_API_KEY=ENC[AES256_GCM,data:ftsngh2Qpdrs1JLDSXfWqRl96Ch6yhFxXBfuOhHyM+tslyXm,iv:Ej+WO4Tr60wcykHyzhMa0nPeD5woOkLFO5WvGJ/4/DM=,tag:vVCzLVzOt4QD7twvUOuq5w==,type:str] -MAILGUN_API_KEY=ENC[AES256_GCM,data:mz9UnNUJs9cDYHkZVUyXl4a5MCL7Xn77ZJ+ZD/SLjU5VjF6q,iv:4dWbkQd8cgCd9hTBySyeHaMhUPsOQm0Ze7xvdfiGO0g=,tag:VsXL3xVWnHe/fiWMyVgr9w==,type:str] -NODE_ENV=ENC[AES256_GCM,data:TtZv0z18OJO89A==,iv:QpcprV2W9l9kttjA+smPgo5xu1ENopcMJnwJEwkCl+4=,tag:uXFoaihKBLpZCFEI1paqdg==,type:str] -S3_BACKUP_ACCESS_KEY=ENC[AES256_GCM,data:tx87aZS1vv+I/hBUkPybzDkjA3A=,iv:IlYOJwByvJIS7vc/BTd0wt/HTFs/BbVM9X6Jo1g/qQY=,tag:UJuHx1XgeKSorMVY1BwpNA==,type:str] -S3_BACKUP_BUCKET=ENC[AES256_GCM,data:I5nxBWNEkxFLkPA=,iv:O8J67Ekfi0N1hf1NrcJVghPvko+kYFucjTMICtLVWAw=,tag:1Q3pJlDN3ls6OHlBfoLiMg==,type:str] -S3_BACKUP_ENDPOINT=ENC[AES256_GCM,data:TJAUdaPjFETxSUfxllGZSwnOwNOpdlUoRapJJpVywnDSCL8=,iv:ZnQQcvv2L9JMQQh9SJMmEQYRYtcRGVz7VOq01gWDmgc=,tag:FwPrlOCS3f+KcLfN6KepbQ==,type:str] -S3_BACKUP_SECRET_KEY=ENC[AES256_GCM,data:iqtDRv9nwW0dBzRZV+sDnOfpec6v6I41xGJwu4eNZh2dvAfTi36LRA==,iv:EGtyqD/J0vq6hWejFUvHSPxyGCLn2ge0W8aFl179W/0=,tag:G4xp6MIfm6S/hSYf96CL9w==,type:str] -SENTRY_AUTH_TOKEN=ENC[AES256_GCM,data:ywVghraC+mTNLZw1IYutAjpgWqWfV8fNSibYxLGuXAKspdM/tM6RAMf+de9G1+NwQK64+aqdRuBOXIsHndDI7ppQPksJXfrSCBXnz5V+KE7ulIq9gK27jnLJZz7AefXZ/iRdsDCM6ebsO78obWhVULrYghM/5lENUSsMY6PwRbwyyqiiRkPG7Rf3CiEFpCrAx57/dvCb+Lqi/Odhtu5tQym2eJZnve6AXFL2anxiuymeR5n9eNDrBx7+qg==,iv:k9ty58qA8NLOPYeDrRaed6PaN7yz7bQanDpeCY1U79M=,tag:qe7g2mGO9lG6uQPTkvaWLg==,type:str] -SENTRY_ORG=ENC[AES256_GCM,data:karx,iv:rOJAiUiXF9JqruqfkkT5+piujdQiTugmmk7v1ebO9Es=,tag:nrio3OXjezRpToALGropMw==,type:str] -SEQUELIZE_MAX_CONNECTIONS=ENC[AES256_GCM,data:SQI=,iv:2Lkoi0oqfIc0zmjN9Vhnx2VzY1wrJRkSqBlvNp+Uo94=,tag:DZBh8W2H7bUiw9DxM+cPDA==,type:str] -SLACK_WEBHOOK_URL=ENC[AES256_GCM,data:NfNjTbF1osVIAEF6Y1TPDpTlPkHBCKInPeZ1Rs3PCim2hXshPsQ5QHcwW8g0pUHo/2CnWja/8TBO24NyPHDjzntRZTQ/tOC6eev3nqJ6Pg==,iv:Ot3Gpm9vIKRTindhjT3wqAUQStwUnKV625Inj6pmrII=,tag:arLmEwlueAif36JhDnBTAQ==,type:str] -SMTP_HOST=ENC[AES256_GCM,data:e3DJ1gpIzxtGVXHf6n2PP8UkX5rZL1uRRcfMlXveDXj+SA==,iv:9MQ41GRAEAAmxWNyWOYSoyVeQmBFBNKoeFkson18YkM=,tag:LaDIH6q7pzp0PShuXMQtpg==,type:str] -SMTP_PASS=ENC[AES256_GCM,data:rG7Xp9JfDixk1GChjZQ1jqHc0q3dHo7E9Qrp/omKqPL4G49enesqxpaQOuk=,iv:by4sItUvFc2joqEFFA+XXviMYrzMBtTtYHE6uQALYJQ=,tag:FTSnskt6fXIT813q8ma7tA==,type:str] -SMTP_USER=ENC[AES256_GCM,data:4rwX5MnYhjkkmZI2S4uP8YGsF88=,iv:kVTS2/QYw9pB3lAdXwe1aamGyIY9uDL1YjG+690f5Vw=,tag:+ndWvP7bbOx0uZ8TSNYX7A==,type:str] -ZOTERO_CLIENT_KEY=ENC[AES256_GCM,data:HQ0WvuyNpLPePrhxW+amDBAdhAY=,iv:t4j9BlVkk6ORUKs15+yRq+yG29iOjZ4ALbYxpXfPGPA=,tag:aLjAvQdOQIU6tcNivGb1Jw==,type:str] -ZOTERO_CLIENT_SECRET=ENC[AES256_GCM,data:yyEB00EblTeQaetIki+HkkJD9Qc=,iv:rB7LgTZ+njQyIgweksvYE4N5wBp3oFdiD7REp8dE34k=,tag:b3O0JZ4is6njdayVSDZXjw==,type:str] -#ENC[AES256_GCM,data:q+qpSfYB6Syd2xwtZ4eiA3T89SI=,iv:UJm2dIhU0FtVLqKLhhT4vdrUBaMg5sKw4px0N+hcebU=,tag:kqaThaRFZwMC3kdi18nrQQ==,type:comment] -OIDC_ISSUER_URL=ENC[AES256_GCM,data:V/vxb+Sfye9R5mhdi5XrGeOZNx+XgUhXekeY3+LRrGIlKb0n4A==,iv:LVGeobkyOMACijrNhyzyDszeGBtY7vSVB7eyJFTLWso=,tag:hlnA7HE6z9j4XfMyg61fMw==,type:str] -OIDC_CLIENT_ID=ENC[AES256_GCM,data:VohyOKTn+u7Z,iv:rWl4sR7LoP41EEKnc9KXaYtoHU+xqZxABSllCnEapjY=,tag:M6/SZ4PzGfB3IVihVtdXSQ==,type:str] -OIDC_CLIENT_SECRET=ENC[AES256_GCM,data:BrW90K5Uql3VB0Ebpl41mEOTAUCvmuJP2KqYu6KfxLmIuziogR0BlzeeWSkFUtAY4LgLBc5F0ln5UCikv9FIKQ==,iv:DYXu2L1t/FISiZ6c5Ys8Ejnxv1w6jIITUeE6KzJOuYk=,tag:4ZavC2+jtmpxYTAUoE/9+g==,type:str] -AUTH_INTERNAL_API_KEY=ENC[AES256_GCM,data:ZrCI90bZIuiqxSa5xowJctgM89ctasZ4ebuoXGAmPQo8EXEn2QSnkcLVUhGzQFU4pp9A9ulqa8IGnNIGuZ0FXw==,iv:GVlcG3D1oiheEfuYBeXj3Sb8K8nEQ8xFiqOqE6deFGs=,tag:I/+ae413+vRpCHXIc+kcaQ==,type:str] -OIDC_ACCOUNT_URL=ENC[AES256_GCM,data:e4loM3VLHL/1JoJKg7sHoO2wm+uNmpdxx/YdIBcUYjFhZMlOusRmnw==,iv:B+K0Q3vgMDJu192TJSV223XUxbbL4+EyWZQUmNBna0E=,tag:MW/LJJ2tApiKjmWCySJy1A==,type:str] -APP_URL=ENC[AES256_GCM,data:IouJCKBAaOvbiVQIZVP5tiPBC90CEg==,iv:RUkURLLViwqSLzDm3ImyZ0BRpXOlpKUVm8eUvkj/NdI=,tag:ohj0zEZGJ0DmVOBMNJfLFA==,type:str] -SESSION_SECRET=ENC[AES256_GCM,data:sqDkEZf705q66q+H0PT3W9baJbBuBmMmwP11IoXiQWR8LNoUqSN68KmwAyeKOp7xcApO+xUoUBGDQGORvrbYV3zflRDpQx/7b1cFw0WScY3npVgkpdttXvOZRvEc/Vdd8OEgNinSsrWNo0qaQGCCeg2HJm2VIpfjMbuuEepLjH8=,iv:FWsQPSXfC7eKDnHIj0QcMxygEal7sJGEh/agUfv1z6o=,tag:udi4h2X2m3995oJYPlYPaA==,type:str] -sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuTmNnZ3JFb2RZMDVISFZE\nQ2Q1ZUFrWDZvSUdJSkRKRU9Mb0FST1o3VDJFCklTNW84TzN5TUlWU0FBUVVjVENG\naUQ5SzBLYUFiZEIxWTh1VWloRG9MUkkKLS0tIG9GalM0bkl0NU4wU2R2bE1qTitB\nU0ZYdlF5S3pWVytNSk9TUnY4UFMxWUEKA/bBNRcTmd6mpLrDCz2irehIZZolTXLj\n3y+et9IKE57/xAfNB1n1OHvtQMKEG7VORnccz3zIx7a+y+WH4AixEw==\n-----END AGE ENCRYPTED FILE-----\n +AES_ENCRYPTION_KEY=ENC[AES256_GCM,data:Skf6rST1VkXVfLvh6ADI06GQoHfAkgs2QXTAgBzqLhduqQAwkskr6/gS0mq2v6H1S1tyKNiuNoH1YGGJ/KkAIA==,iv:PTnPQzw8/KWXTe8q1LeD42unD3y3k5Sss5z6g054BGU=,tag:iLe+7YKU5u0rdetLDlQzIQ==,type:str] +ALTCHA_HMAC_KEY=ENC[AES256_GCM,data:YcMqtgnjnkF+7mpOImIR47aT/OcaQgNDyc/u3buSI9Z5bKcm7KrmfU0lB73t2S9LkyxrqJZnklV9fKgUAMlkWg==,iv:ib75yJzK3CjuioQ18UuEklL59tLCJeHLVk3TA3/FEoU=,tag:iS5QerYNNb8A2QZZNq5Avw==,type:str] +AWS_ACCESS_KEY_ID=ENC[AES256_GCM,data:eJpQ9Q5RpA5bSeUpgxRTjGeQbo4=,iv:Zl6HTDnamdTpAGhom9TvsROYUi5/B8i8tJG5GCgUwSU=,tag:32R5NKO80rh6sdARGwygHQ==,type:str] +AWS_BACKUP_ACCESS_KEY_ID=ENC[AES256_GCM,data:gvU7zgL4/H2ETahrI26JgrODGyM=,iv:Z2OiSgVbi2uvmcLWYxdm7fn+0iutO3M2agoEX83qJ10=,tag:gvKs3xTUj36rlAD0y7zs2Q==,type:str] +AWS_BACKUP_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:IxWAsH9xzBe4z8xbqRGrbe3EaQZhO6/53QR19n5XASoXneZb1Wna6w==,iv:XeNjcTFDouvGc+pRK4e9wI9t1Crknv5rguQmHE95FXI=,tag:5htuK08kgsu0QXcLHoUlkQ==,type:str] +AWS_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:zkpFdxPSSEyY90EJmVrxMTo0tCWF1ZEWt1Nj04VW38qImBypbwV4Yw==,iv:Gc1qOi8eGpHlVPqeghh5OlIDucAhJpugPLHPTOGRTt8=,tag:Agaf6vW1Q8L9IskO85miNA==,type:str] +BACKUPS_SECRET=ENC[AES256_GCM,data:enmXVchNQRJOb27EDgm2G53uqvtGlADZE7D0J4SvpSnff5ogBb7FG/5usOI=,iv:HjsEPOZUUoEkWV0w5OLDssKDH6Jm+TEsFHa6IHrhRl4=,tag:VMUjCfPRRVHXMpD0uliRhA==,type:str] +CLOUDFLARE_ANALYTICS_API_TOKEN=ENC[AES256_GCM,data:H2voX0qslKuhk40r1KHdlCaM6PoSFZkggPmwOlE4ZOrIy2tiwra+lZMTOaHCj9CvPef53fs=,iv:HQ9vAiovq2Bv36TUj23hAXCfeJcXROOoV661lSbJ6/U=,tag:AtnhOaCKsuDFJg30GJGAmA==,type:str] +CLOUDFLARE_CUSTOM_HOSTNAME_API_TOKEN=ENC[AES256_GCM,data:rB0Ie2+CQyVg36bRLZorOygdxbvfXjof+rCqDmcNM0465znpy1uNBUexdcnlhCCgcQVtteI=,iv:5izGQX9KsRcBDwGhCVrWdrKIyivJXvd6924WnisvL9k=,tag:7GbH65+kTa6Yd7TEilkIOQ==,type:str] +CLOUDFLARE_ZONE_TAG=ENC[AES256_GCM,data:1bRjmbA8WbxPzCQ5s34gysDdRnEmz6NDXDXftYIBlHI=,iv:Y49xBzHiCDGa2r397ym/rzyVADmGBjJd4U3QyBoT54k=,tag:6z+egpaRK0Y4TMWPfhG47A==,type:str] +CONTENT_SEARCH_TERMS=ENC[AES256_GCM,data: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,iv:BwcT8A7p5JBs1f3AWeQ4e/qku20CT9h+sCDhR0h6k64=,tag:12XUMLig2DgGba7pmXqIrw==,type:str] +DATABASE_URL=ENC[AES256_GCM,data:6qwsuHTeh+dxdtEfIEsAQ2A/DedleWpXUikp1YuKM3125m8Ek0K+X47zrns=,iv:byvKYrmieggKuS3VHd890rEMD2QqthOEWZmkrjeWBEM=,tag:g1wOw6Laus0XVnpK1HMw9w==,type:str] +DATACITE_DEPOSIT_URL=ENC[AES256_GCM,data:lN/GOuBOAzIgAALsQIDEAnaHc4xAC7QqKzBEG2rFHb6XLw==,iv:YYvvj1g70RM1p4Hcmw+Yns4N9c20FOTLvcpnEm/b3XY=,tag:TKOn8ZclQZA2CPh/pR6gyA==,type:str] +DOI_LOGIN_ID=ENC[AES256_GCM,data:wxgdZrj8,iv:RERoIn2h7lwokm3z+e/8IkUUroauASPbwewEG953TfE=,tag:84cZejzkYLhB62UkM8/Twg==,type:str] +DOI_LOGIN_PASSWORD=ENC[AES256_GCM,data:rn9l68U/VbtCJmNgedCNsaLJTls=,iv:mHs8jUoR9001W5Zu3TDnA/hlRWtFxgzNoMEs/81Rq20=,tag:IbYRpSUegv7qMASVfwvzeQ==,type:str] +DOI_SUBMISSION_URL=ENC[AES256_GCM,data:kfzEf4bOFjoRzZAY/iQXXePlECoZ4r2I8uV+GI/2IWIn6uVT5vr2gIA=,iv:UMZPTgY8u9nc4x5D/E3o7dWlMUuPWKkjp2H4zum+Kj4=,tag:iWlyUrQGe2h9M3gA+/fY/w==,type:str] +FASTLY_PURGE_TOKEN=ENC[AES256_GCM,data:iTAGTSFuC6gnL+U/bCMdt7gLqxr0gMXLGz+azIVrTrs=,iv:U/H0ltYtr7Mlw8b59Qbbameg2dSz8KQfzmWqqBBRKus=,tag:3iSWjwtIqCZKeeM3HOnG1g==,type:str] +FASTLY_SERVICE_ID=ENC[AES256_GCM,data:kApyy+9FYzNexiMUrZYlNihI9FODbg==,iv:/+Kb80LlYa5hSuW9PrrwpVtj5eEGhhs42Hu+Ej+G4y8=,tag:2D+7rElE5EF2Z8xkH/J6rw==,type:str] +FIREBASE_SERVICE_ACCOUNT_BASE64=ENC[AES256_GCM,data:ZWGlf04GU1I2qcE0y5Xbr6oZpBI2vPCd/6yzCor8x7KPPsT5uEQmXvE5f5ec9i5O26j0oY3SzlPb2v2u8JDAWjmXNimKAHfym5z3A6kpmnTYU77IRp283qGK5FQbGzjzabcsL7R4pnWjLhkGChE08Yc7RTbmVsmWHOfZWgMP8QtZAMUD78RInXCd7tW7OnS9EsjBBufyXYTB8bWKb3fLTo7Yog474GkY1b+F1WmKUUaiQkfn1zRESmH+1T/VVdzKoYWZteU6cLNDkUlT2elRIAfbMoZYweYmgZF3EJvsyKO8QpoejIhaugVgiYGfRW5LxWV9NDbaY+3hNjH3dOjVLspxutAMsX2/W58oybtn4I5sykHi//b6SiY/p0B0/UPGR2Z/dwOfjKLP64hBq+tUOwYOWHh2tEioMr8wf4qfRfvaqx0UST11TpZ/Kh2ena1NUnghjx13EzIwld2JqHv6jyjLrRd3BRoOz6rnpPi2xRrMnGhiNDVWOUxGD3XX7cGJ9NNyp7R8qXvAIw1Mtoku9wXBC+UbqFfT7vBr04+025oVX+X2KUGuWrIajRV17NjrBl6vJyU41lCCLlrPlVRk6RmaoVgLf6lmLi6zdGTNsTdYeF5FzgO5Rm7XELmok6R8GIRm42O7S9yVJKYkBmdIQcRHwVoAwdfmL1+TU7QzGOioHxJqC4GmkA7sD8ZTPrkpktb+L/GF9rtVvY3KB69d2UoxaKYo0MGNtXhrIocRBH/xhDAj1C3JUoe+toK8GSbXHCX/YHgyWY/UPhL2l65T3NRgoxbDwAhXXFzoYcup4jPjxaVnqW7iZaq7SMenLphOazGc4HB8hk8CbwRrQmwpU3Djj4beLXwef0uCEH1QCfLXalsxRB3qI612bM0EBG1SXkWzwNnPMquPVIIj0K82PoKcZggi6ZscTofzI527n3A2rOaYukrukpZXh1R4pNX+AbMhlIhBX+stqvVS1p3oMJeAWL2xrUAaeH9rVIUFhj9pLxtBw9dXjGlDlCXJnpyZbgCSZLmgNfnufMefkUk6vJHB37lYok5BA+VBTT1gjpKGeo5MVsBAiQcsUCvIpCCSJtdtdRf2HhUEmSphnYehIqThJNco3moTcV4NpxgWVOUcB11HmiIpY6vXjuDNOOfO9DmDEUM18QF8H049pfuh6eSgP9CRPMag4MW+4NFb1SCQbPn1XYA80kUV8wIHwQ0i79WXWlF+yyQseDPcNyxu2LXWxGYQffUHcMVN8uk91vWrxuSLtWdUl/5XQg6YE7ocApb6sIfATyd9jBB9isPziMvynPlsql0RmnO2zj0e6FTugdw5WGXf+hz0DfQFdpUb7/reOGfIV1ALjXopBPhjAEcaUH/nSDa5ebUleq08Aiz5sgN/NlvBUkvy8ovtxXo9AT3JTbMqV1LKwHgx60yFbXNc5mFbP0G3OuDHbGVAGyilVAWLvezvqTP7VOawCtroUwO8q7ab/GjBZOJsBg6z4QH91JAlhaXy1RqLSSxSxIKPAjSQgjBaqeAYrjv6cl85Es67H6ElnNHvPLxlkZoYrOMuFk+MuK1HnX94QdR0xYSXMIjVcPWip2Ji/GCVOIuC0VI7TW4W1CJ9a7VwOD1yv2mnE4lecYpoXy/GpS2kXjznezThqOlajnF1kdZrjI/XO/2nvFG5udZ+UKYdvYBMwMY7W/CAsEmyawbZm8OKJ/kYZ7e0GPTkqcBopIhTrw6uZ8/c+uOmxfOD7jZ4tBiqeUjElDRJEo/HiE5dCPxiZeztISBxhB38Kc/K7uVxwrtECNq4QDLBDPqjhiNX1duBvI64YWMQsBsl7zy1lIddvj1kws5KRuVi7syQqL3LWN4luTKHRGHv3ozk88JE+3G49q9ySWXpQaDJUpDnP9MfMhMHDjxfvS9mR7izPFhUpiRjdydCV57mGTL+iAhzS0q0uym5IvxmVXC7mWG7saWfil6uc9nur683JEbr5Z2f7R1c4Ie2PsfhcmRhHdYsYXuiCdkhFa/bJAMsbI8d0xjqtEaOJSL7enU1L4N1+7SfhQoXfrQCzkNeQuCTYfqk4j23muBojkALNSTF6FHCPSzEGstHLvsl2mMeOQHQ/Y5NLFCm74xAf9GbHxIeHNT1EJCNgplsd6TyCWJmMOOHuOOpRZN8udny6ReZNzwivD7dDb40nWE0RMHAXHcr3vpmZWw7x7rW6cYzHO1A7hCjI8TyXEaDuarwAZvPa19y7ug25BbkMlS6iVIfxvdaPCprJhvnREYi/vu9IfUvYMMeTXCI7zzTnp7d3OgkXKF7kexo2+Mx3PhtGXZLpQOylKixVANIp9pDOaumofLp1DYwjZJ3PQw0l5kFjCfhTKWRwy8CsLLHGLmM0QY3M41FcVlyKMbRIGvA5YBDMETXEBp0Wp2CKaI3d68qM9L9EEUCHGHttl58qpGeW6Ac+CPDue2uWNAJxrnK9F6rp+jrGUnm8Wnk03nbk6SweFK+WeRsh7MdcvScwlHlL4vam+y+HZu7iF3L8nZJWMh0V7tlFR36inCY3yUShelgZZKDATNZ8MXlWXc+e9ycLzvj5sr0wiBb6/JzjjrFCNM4hli8kvAFqTGoKNJv8C3qaYN6kQs/vESK4CQ8axBIXhsl5xAsi4vDfUvGdsTq7M+7/uhhCduTWgqaud33q9GWAQowRp6dZPnLxB59dT0vM4+vL8FlhunIA9uPQYfIpgPt76fDfYuc8G4qxYk8FUvIP83C13W8TSGz3XvUCeu7qBzr9fwze0r/W6Bm1Cp4RfZEtDQ5/ngG10I408DIkwN32agA85tqGmC+gSExA9hCNf7W9giJ9/aHtG8KQvl9rr5L04/FfltB3P8iKrnORoRkQLLrKsz4mDDxjC9KinU1xHU41FMqR8V3XmfRq/1Od8Bq/PIZhFKo2+axBQj6ZMC/AUSfDascZBumbImwAHtRW9p4ypGBWukolAU8Gg78HvBGhQP9LZy6IdBlnM74ozETbg1KCJc9p2t1PpGBqXN4eB8MAnp6+MLKngwwpG5MHnHnYPH2NT0D516sOUf19G2TxrVxBzLLcJ+io4FrFEjiVROO1abuJQBWUO0l9lO/C6dflEhxd0yFn99k6+deMrYuadbyBN9lGJL2vxXIlywL5TxeW6f8O+OYfAx0MqfsHmsVvFNnHXKnA+Y7lmZYCkVBebzjIlRYbdY79ZChvulAyiOn1dtlz7E/vuOvJTwMpoWYff/Tm7KP9TY+glJAFSO9SUIu91lNSaApOp0a7LLyDL2dpY6+pq8FUF2Ik9CFw61jrjLHV4mlyEvjD0iWRo4+HoakFSMwTBnrIzE+/rYIQt5tBkZbBgmgXTQqmgo1UQ9qmaYuCrlSZnhi+mClzMhd6C08mPHfNp47Ojj/N39/UdJ14i+o9b+ECLP/q9kHlGQHg/jTI9k4x+hs80sdR+AZ8/Wt7erOIe2fIska83PLK5j6qDRhfBvOjGY3+XjtP/i6gSBE8nBj3qdvncbTHG0tUrlP7+fhARGm7m/1eBSWImoilPOog41h/tCCUmVjNx1fuqI/Jc3+ZESvB+6lrQIzbDgKk7qtzioclBtNK3FgMobkeH6j+POOPEKojp5SeM+AikiS9ZkAhaoXj7q3OUPCNfOB3hxMdZ4XO22j4xOy1syHhRel6fIBxk5wI3ElU9oG2QB9nbzeH5ukSgEPvm1v+EeEPZT47dqVesN06DqXwq7TSftaX+sn+UhDHFDARu5wZHvrG6DeQ5o9mHtmI/amOi02SWNePQCMmq0DFQNXcuUImUSYzoevmnEoY6lAcgXq+ycEpaYdMTeG21zEG1Q3KecifB0q9Etq3M/hkdIruF6dXOjGaJMEgkqcqA0N6qu3CHQFu/7zwOqwbUN0Tgkwzq7r4TIwQukYfa8o8VTbmuShkIH9hIeXudTfrCxBK9yBsehe0y934U3408knydMgB2vTmZdMX3XnVKWZytAa+Rs2UfNgFQkijSpllUi2HIPyUNB5Cq09d6NtAtg6Iy0/OXI8gSOxTH1aEzjHfg+FgUE2yfgdy35GDUlDOGcsR7YNM4yzOWKtqhFnciSA/FIylfrg2ubfPd2kCLufnLtZg1YLYCZi3XQgw6eccEVcwbrQ+PgBLso//QYt6ww=,iv:cff8wloo537XpBTfJ00rslrrQSDTh8VtCe1J57wCEuI=,tag:KZ2wBysKNvUJ/mSGHhl33g==,type:str] +IS_DUQDUQ=ENC[AES256_GCM,data:Qy50Dg==,iv:14X1YiDZm4muSLshXaP6IIj7NzOH1MBKRLCYUDBRu08=,tag:1hETsuqWxcQ0VetKsHrbtg==,type:str] +JWT_SIGNING_SECRET=ENC[AES256_GCM,data:nFq5t81ZxDVLgVQr6CijqM/5bN4q4DZO/qn3v8fi0le7e+fFApK+p3qMbVS0Gmn/g31FI3f0TOX3QOi2A2ag6ojcTjrUM1tLKB6spBczi/X1C7VFQ5Efq3T5ddG+kHtlyIPW2ghzM/K9wdbk1YDfh9tnH3PO3hkEC3jDRIao9HMp127gZAkfSlqparSPWSaX7kGX3G1cPekyrv2dP/IfJ/9jgGWe3zhOla62h6fYAbLcZPAtoDYFzLsW2N1oh+VWd6hQLzrFEjhPqQND2ZUqxsnwVeLBjKAGhGbvLQf4JLvRx4FBR4bB0shpa7X6gnGZMimRSrDuTkycBwGw1et/7YDJva+3JZk+ZCbilyEYklrUoaPP+qHvkLrzz60mUva5GOEpiKv2sgNYxs2FLY0g8uHqkM9p6N0pr0Bu2XmVmi4py3CZ4I0igp6MdscJ7dBK3Tm0c6zuHLPb6iMraludV6sm74dt0dzVN4qQPDuc2UvuExI6vTSP1gTLvSOE8/h/pFGd4T7rtl2pOnL/sITx+E+8UZ/FSGoGZzZspljA5CW3z3E30S+M1srIYCljj9MKl/5ni4GC1Mcwy2Q0i2SPuwX4VsOOsE+tNaWC74LQ6FHNxtBaRzwB8rFKPI0oi6Zcz0D+QiDneJy14IUfXsdqjlxWWM2+dMJdO/ASBSBYGBlPQAyhiUwYi8yysHI8jrUCTjiOX9HNCXVHzehsFMM/qYWq7TpLrgZ2LWC8I6ER3wAs/2Qrwjrj+jfdX9Pt2/yWPqusQWMfmremgIh57yZVx72QBkqi5tiIbqj7Bdou5vfCQYr79Ua7ZySDhb2B9+hVP/kHmV+gDCWJdqZPHhFATV+gwAw0gnXqRe2/+637RAM/tp07aIjZTC0JdBXjgfNVaGRtmTXCdI2Vvyl3JbuQ7i0dWki4pV7ccO0Hzwfa9WMBG572EyZJ8dVkvhhwFaE1CG/zWU3tX/5Ex5L+dvYGLkuNxpdbS9SfP8Qoo8Wsmz4XRFzcLyFgSXXSbjoW+bWBQjgc5e3bVX3ZqpZatJvInz5cnvEOzuDKn+WUh9MQJQUXN0siU9lv2T39xudjlVq32HmXPleo3EJdozVCTekwsVL5c79fdhZzW/lZiaBDwGgQ8Y/B+i4nU0pe/Y7neJ8IJZaP3M0KTT7ZcSL8ZOT9i4aRduoFT59zeZJSg7GE0KYS3/8RqRP5pIXHFl3DBm/FuMeQo6xzLI+bPtbMg6ziZWuifCBVvK51PJgl8H0HPZOBWi7TsuJHf0GD9+akdf2ZaNBKu8MVNci3a+q6YXW3/crY7el9Pnv0L7QOZ78B+JtwD/IREqEabjHeiuhspce3m+ynyr57iuMwCzqi0P3s3g==,iv:yPV7FD+2fMRRV9paP+kGtzXuHgXHxMe8cHVVIFRr8q8=,tag:vM4VB0nsANTORCPyoLl64Q==,type:str] +MAILCHIMP_API_KEY=ENC[AES256_GCM,data:ODM1nUKgknWMV7LddZRAxpvssTtUe9uxwNJ8gUxAuW9STi4A,iv:WZ1ZXF41CAUJ7xOnoxf6gLwIMt4jcMzzJT51cG6Gkec=,tag:utbIbwJL84ceo216fkBL6A==,type:str] +MAILGUN_API_KEY=ENC[AES256_GCM,data:KNyyq2VdQn7HuKOBKsQE86ZB8RU60pyK0hzwFnX9C8nCYqA1,iv:TaZ2e9Y44YoBwjH5HHjZGKuPZ10gES15w9CT+14UuiI=,tag:/3RP82hmY1tTI3LDf9uw+g==,type:str] +NODE_ENV=ENC[AES256_GCM,data:nht12jlGAxD47Q==,iv:D03Pwebb4HwRp1Peu+Aa+4yJYNF8f+zalbS5NlX8qdI=,tag:c62Oy1vC7TfqkNP66c2sIA==,type:str] +S3_BACKUP_ACCESS_KEY=ENC[AES256_GCM,data:bfpXfWo3ZiDEfCoo2RyM04sEK+A=,iv:WCYgZ35vXxorg0SwN0Q6UdP+iO9+dSIb//Ntr4vPAi8=,tag:CqWwzfzfNxFlPdDDkQ2X4w==,type:str] +S3_BACKUP_BUCKET=ENC[AES256_GCM,data:22Z86QffqBqATHI=,iv:4n4USsj/gHtETE/CBYIubabgNU4uA6RHMMUmdkXLNFg=,tag:SNzeGOiLO7YeUwWiM59o/Q==,type:str] +S3_BACKUP_ENDPOINT=ENC[AES256_GCM,data:yETo7W/FKIXE5tdEFy+oRq66BPS+bXlmG2Abk3K5l9RdK4k=,iv:1vezjHO0+wJui6aEZjsICqiMdGotIOg3C1OEEgNbih4=,tag:V3rZQXP0Ip5L6vwy9rZehA==,type:str] +S3_BACKUP_SECRET_KEY=ENC[AES256_GCM,data:SZR7cbwFEsU3K8Wk9Co41LJYE2jscU2kt5TrSLHCDSuezsnI1iZc3w==,iv:6VIijZC9YYzh36b2dKs0rlIU64bgECSVzCNrl0N4kYU=,tag:uG3Tjaah/hZuaK6mdSqQrQ==,type:str] +SENTRY_AUTH_TOKEN=ENC[AES256_GCM,data:gCyw8+NmxCE11YgfAoCSaIAzcco5NDZSabHttPB9g06DF7166AtMWv4PChSfaqX7smMpnxy9ApyVSrf43mgvRGmhxakZ4nyFRBdCI4rMkIwbPO1CaPjeV5S5vJ3fzKvZuWN59z8rmjp59b/4MdJ8adEZxmyP8Tf4LtJboEtUWgnxx0q3v1ecmQ3e/49x2XoPIVswzMI/I8/cTqUixod2R4guZ94HZyk15JDxO0JU5jtfVvo+/tZiuTVOwQ==,iv:FdsjQPH/7zZW5kWrwapRSDPdby5WJ7clvwgPKne8Xos=,tag:tlP/jRO/aJSL45SLCw9tcg==,type:str] +SENTRY_ORG=ENC[AES256_GCM,data:jxHx,iv:ZI3vEsdlpqeotoaFpBDdggAvO5x/Ed8UkGYAACCgQ+E=,tag:CxLC7wypRBAdjUuP/+nypg==,type:str] +SEQUELIZE_MAX_CONNECTIONS=ENC[AES256_GCM,data:2/o=,iv:pWYBBzeV4OYQ4SHUKo3oWqir4P7WdJm4Qx/5e6lRtvw=,tag:CRKap4n+9FJZrI5Oo9+kYA==,type:str] +SLACK_WEBHOOK_URL=ENC[AES256_GCM,data:BXJkEzQlhI2zL8eFCAHW4HRn4LDddTmoHu1qzHNKnaWhWVTSEthSJVv9jtc+yOxI1TGoZqtZ45vvH+x6JK0cYrBwuY9DeGXR1msQdF8wVg==,iv:V3tvUsH7rDJTRU6IvTTIsryt6M6fk2TRieNzxAIN91w=,tag:lRsXNw8Hi9XvNnlHnVX4mg==,type:str] +SMTP_HOST=ENC[AES256_GCM,data:tByL2zWL6TPB7+ojollGt2pj9ipRWLmBFaOPE3vGCZl7/A==,iv:FVj53D4LwcX6vG4RgfwIR3lZaAkQklKogP7ghi3Vk4s=,tag:BdJ7ezHy7dHU427BsKtm+A==,type:str] +SMTP_PASS=ENC[AES256_GCM,data:mpuCXCuY0R/wssAHc19lxYa18JRxvuOxD2wfux+vbfIzXujCcrchZDqNcFo=,iv:/AxDsCibwkRG4oGbe/akki9HutMrpyouEBcwjkdfPFk=,tag:gOpP3N73SZr2HQl9+1m63Q==,type:str] +SMTP_USER=ENC[AES256_GCM,data:Ska29jb1o65Sc+pfpululp9ETwo=,iv:xtSRgC2/0kMBCcxrfF0Z5qQ0JRV4rED76pKXexYfJs0=,tag:/KiShM5lcEz8DsOEtrojig==,type:str] +ZOTERO_CLIENT_KEY=ENC[AES256_GCM,data:R3NbZm4rjZQlx4jqQy1uyAJnPCs=,iv:uXxQePczIntAl+Nwi8TKJ98nVP+7jmEf8SDVmra0qsE=,tag:fx+j/ImJiOAPpmN4xjrtGA==,type:str] +ZOTERO_CLIENT_SECRET=ENC[AES256_GCM,data:t4xsyBiKJ/jWiqJP0hvYtoJfOhE=,iv:zoUHkCaUl/vSVpcJQ/MG4UCUcHwEQeUNg7BpskRUprw=,tag:DkZrZYIqYFf19narFGQCXw==,type:str] +#ENC[AES256_GCM,data:cY/nVvAHMjvZ1Mfcajt6WQ+sWAM=,iv:zhaaZ8j3ddxMOYOoNm0ryt/heoob8dZ0G2PK6kwgdD0=,tag:aycyeLSTjqkYKZubE0wV/g==,type:comment] +OIDC_ISSUER_URL=ENC[AES256_GCM,data:cIt1iptJoQaM2wfyjb5/irqUVDiZQcQkHEOcIEey/jZAGe1Ekw==,iv:VOU0trQm0ubuIWYBVIkDTf14iXv8ErW+SwXVT2I3Fys=,tag:T5+QeNBhc/KGvN74CCMMCA==,type:str] +OIDC_CLIENT_ID=ENC[AES256_GCM,data:6Qo2X8W7x0fw,iv:Am2sZ2LvzI9Q667xOadhWN+Poo+7svrEMt4Tvh45Y3I=,tag:Ou/vbfRYs0vWl/wFmaSbHA==,type:str] +OIDC_CLIENT_SECRET=ENC[AES256_GCM,data:P2CA9+arfxuVoVaxw1m/iLYH7AfrYUhpUUQgCs96PhLm6pPGZ/Xo6Ce94ZxbEuLisdCCVxa4tyjU8hURdDI+CQ==,iv:ldDvC+QpetRrKtTfFhtZd6xFoxJMf80OcGoWnC5BUg8=,tag:MbHWAe/hLTU13gNa5CDnDg==,type:str] +AUTH_INTERNAL_API_KEY=ENC[AES256_GCM,data:coTXT7yMV8kxOZGyLSEOjTKVzzz/Hq4rlqyD3uuW3mTfvQsNZDcgkEJS9fHWW6olyptekObFRu7846tKy5+hHQ==,iv:yX5Sh6eVePk2jOIn4IKRKMVzBWUqLupQytSnrR4crBk=,tag:nlLASLl9+NzA6ktmasRC2g==,type:str] +OIDC_ACCOUNT_URL=ENC[AES256_GCM,data:wDRQRU7xAtr84gnoYjQBCVDO/8CuB6DDO7sed4MdGP+zWfS74OnNbA==,iv:OFcgSRwOutI6HDXU1e8cenODp0QfntwnMDi/65TreLg=,tag:+hnITjmlEf4NJNXcKgXU+w==,type:str] +APP_URL=ENC[AES256_GCM,data:MntMJr95AprVjW3RVuzv84kBJcp+4g==,iv:VIwN5xfwwlp/PinXJOBcTd9C1D390ySGFdrQA3DLUlM=,tag:iNPEmT1t4DzfWN/i5Kj6Og==,type:str] +SESSION_SECRET=ENC[AES256_GCM,data:dB4YueNFG3V2JKpmyHWTQXbmpMR+xVbYnWQQqT76RgST6L3KjTi9mSUSeIuNBJNJw4jPkZFiDa9pFLcvTC7KRD/gbaoDHIbaZB7+6hyphvKiHBN/uEf3nrg/Zz9iWVHd9GVVu33f5/OpiZgpCzxX0zRQx8qga24GVbSpMF8lUoU=,iv:gOWWyeltR6C+LSPH1CA2KsBysKl3/CoaGWgheyqRxl4=,tag:XihIHSmMi3KbrGyCxr2DrA==,type:str] +sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEaFBBSVVqM3BobGx5NEhr\nZUViVDdFME1nd3Q2bk8vSjRNaFRUMlU2dXdnCjRPaGkwbktlM1gzKzIvNGlyMGNY\nb1ZrNWRHQWpWSDNxNlZHMW9ZSUk1RHcKLS0tIDBXSElVbnpqTUJMeDNtR0dmdE5p\nY0RBbVl3V3ZmdUVTY3J6YW5kMUVMSTAKpOez2o7MN9llqbfnVKCAzYK1fjbt1lv2\nADq3qBR7BRZJxFGyo2z8DC0nUynRvPdXlsCLTXdbRLuvIe9ZJq3eKA==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_0__map_recipient=age1wravpjmed26772xfjhawmnsnc4933htapg6y5xseqml0jdv8z9hqemzhcr -sops_age__list_1__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1MzNsdjlwR080VGxyMld2\nRGZQWExFb0hkNk9NRThsUlFWYTNxWGszOEFVCnZYOU9qMHBKM0VCVHEvZXNPVXhy\nbGcrYnBkMmVRTU1iNFV2dEh5eVBzNU0KLS0tIDlEN0hnTHZhWGlWNVV2c1hwVTc1\nTmZsbExVT0F0WUhnMW15OTNVakp5cDgK7aP/iuRWRxG3IGxkLefUuJpiTGhnjWqz\nQ3lj13+JZoRsyhQ5PAamp5Gk9lwz0HKImcVciRak9dtbA93jh1B3Tw==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_1__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwR05ZRHVKdER0c0lGQklZ\nV0JtZ2QzbTk4U1pOUlVIQTJQdGEwdmVVbkJZClcvMGJqMVoweXpSNDFhRzFIN2Zi\neFBBUTlQQ1lWUXNQSEllWmNRdTF5MGcKLS0tIGtFS0lUQ2gvbXZlRWpSdlllWXEr\nYldkUkQrZFpabFl6U1BYZWlEU2wzMWsKuPZ94tlboasIPrXYdWuHo3Hd7tOwqufv\n0MPPupgJ079AEqoFqJBKSxdtY1D/huT5TCteymHwuJhWegbyMxOKjw==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_1__map_recipient=age1vhftscteyrwphx0jpp0yl60xxrjs77jq05mkzv88js7ckc926vcqepp2cj -sops_age__list_2__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYNDBvTjVPaXVnejhkMFV4\nTmxaVTBCSWhoWjZOMjVmYWptU2lrYTNLd0RjCmJMZ09sWVk0QmZ4TjdqQ2t6ZllP\nenIzTE13enNmUG9LSjhmQUk1UEdpZkEKLS0tIHFHVjBYNStQRXlZSXFwMkJpUUhU\ncm9WZ2QzeVdRWlBocXczZW5nazdIQzAK/tPMt5LtxsdWfkeiqyFZRhh1iOmdl40l\nurpDJagyjIxQwIwA5kF5JhyVcND2LdNFyqnfW2BCbMJpRRNleIeW0A==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_2__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnNDVOMFBEbDBZTDcxTWc4\neDVHOUJUZm9zWkkwVngxTWhvNEppR2RUa1d3CmVpWXcxM3A0NE9PZ0NFRTJJamNE\nS1JENGZMTTR5OXlIT1piSldJL3B1MUkKLS0tIFN3dTdFb1dndExVVVhzT3RHRXhn\nOUw2Y0JFSjRmNEVQNGcyS3plWXVaM1UKSFEDkq4GMagCinxYHmMulWXvGuQB6bVY\n+YFDZJCmlv4AgUvWBnJZ8fs3vcp7/yk6xj/qFBwvPmJeQRwal0Mqgg==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_2__map_recipient=age1slx6e48k7fre0ddyu7dtm2wwcqaywn5ke2mkngym3rpazxwvvuyq9qjknk -sops_age__list_3__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0ME9La0xTTlRuRHVPcE5a\nR1RWYnM1ZmNSNGJ4NGJzd1JVNFpZaWY5MFRRCnIybkl4ZmE2bGdUSmdLYkNhSkhr\nTjJoMmUyZXBkVXZ3VXl4bmRCOExpZU0KLS0tIEh4MlhjTVp5dWNNckdhNGx4S3Zh\nQlp2d3lsbTJHbk9GeS94TFdRSkYrQ1UKLsR70qm9Nca0TrL66vEsowx4K09jaCmf\n1keF5VRVIwNNtTgMsWM2UyjeqjOcXyExcqXhu6Khvrqs5qGVV+TzPQ==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_3__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPeXI1ZFd0blNnUnFnSk82\nV3VWcytoeXRuclB4QjdxRzBwaVJ4Z2ZDQldjCmVYU3VaT3ZTUElRZFpwRStRR1o3\nTEVvUC9GYVUwMkZxZVN6RWpoU0lGUlEKLS0tIG1xajJqbW5ZK282S2xOT2U5VDh2\nd0htL3BZaC9OWVppMENkV3NqZWtnOXcK+jicBIm3J9qv4sdFfwPCj4rlM4F5nQot\nXaV68Vi9v6q7XC6txj4HUEgk6PpJFC0JMwZEqIu55vEU/0mZzpNFVw==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_3__map_recipient=age1vfhyk6wmt993dezz5wjf6n3ynkd6xptv2dr0qdl6kmttev9lh5dsfjfs3h -sops_age__list_4__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaZVVSUWNXRGVhSnh6YW1y\nU244MEFCa2lNYTNTcnNPaUd1ZGlvR2txZGc0CmpjblNzalJzYllxRlNPUXEveThB\nSk15SllUanZNL3VVbFViOU1KeitzQ2MKLS0tICtkNEpjVS9VenNKY3NUcDdPSnpr\neEwwNGlGSEdudFZxdjZKTG1BWG5HMFEK0Ai4UkVQK8r7QiEtqRNVwr9T599NuHAA\ney6dypbqPfZx8SfbS+6v4wN/AQpIqyPcRQpWbwaQTdkp8ysKDkEoHg==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_4__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZNDhYR3oyTkxmMkNKTkk1\ncmtXcWk0WHBvTDRDOG9qQkJPRElsUGZqSWxJCnh2K0NaUTArMTR4eHJTMHd5MXpW\naTBpVGJ1dnVmZUlHTnhmSUxqeWFsOVUKLS0tIGlzVkVHdEtVd3N2RktCRmRZSTZi\nRUZpSnBRblZuaUtvdUl2Qm9kamlsSlkKTcTX6SWObX3XdMr7DPc9gVvgyBZiDVYI\nUcMlzz6AbITzSvFPzynW4MtoTCsLngpTPP35Jju33LIGw8Thk/kZpA==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_4__map_recipient=age1jwuvzyghfer7rx3qtqa4vs0gxyff0sg6pqgmqvp5zlhnpmvrkdlsdha4kx -sops_age__list_5__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqMzJtVGpaZVFtTkpTZEM3\nWnc5TWM2ZlM2MU9MZllQVVJOM0hBV3pCM2kwCk40K1VNbk1lVXJnQXRDT2Y2OHJM\nTVpENzhQdnAzT0NadkpvMWFXR2RKZkUKLS0tIE5OeitiQytZR1ZIelNBeHJDZzRP\neTZxUzh4RHZubktSMVpUNHo1dGdMaGcKK14ecFe+vus+/2PFBZOt6lYmBkAPV5SN\nbtaiRm1ruoGXdCISidvI2EGy/gJqVl6u/QaHlDqlP6PxG5TVF05x5Q==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_5__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBydWFabHg3dTFQbHlvRi9t\nTDR6T1lCUDM5SGNSUGgvRVh6L1hBZ2JMalMwCkJTMURaUTBLaGxES3duSCs1VHlv\nYkZIU094TmRETGFabHlvOTR4TFJlTWMKLS0tIERQMzJHR1ZBdEl5eVE1cVJ5R0l6\nemZpdlM3THo4ZEV0MmtUc2pIeVNhYTQKSuxc1oCbbKGUZoLPwCGE+u3OiKT5voo3\nGACrlJy8UBamVG8X8ukqvYFN6k5LILHyXSoawF+r+5dLR4sMrb2QLQ==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_5__map_recipient=age1pgxk292zq30wafwg03gge7hu5dlu3h7yfldp2y8kqekfaljjky7s752uwy -sops_lastmodified=2026-06-08T12:56:27Z -sops_mac=ENC[AES256_GCM,data:NzDoKEj+SWiRJgyseSMHUbs88DXUpOuwJAGjZrN9GU50yp/NuXyIxce9q7bCRluSzsvO77udMcd9+9IFgu2WQvRL6R5Fq6hrtU3JsvzInNmijfBZYYnee/44zaAB/UqvFsDazGHv6GuIDXV1KA0lzmIGpipB4+qL+wSIEKUP56s=,iv:uXwM8uddU2Tg07JS8cDPfmFuALu8TFAMn09wl7y6kxY=,tag:JiRhZhSSgYJ56OSGQLPhGw==,type:str] +sops_lastmodified=2026-06-30T14:13:37Z +sops_mac=ENC[AES256_GCM,data:oQLL+0JjhWdjtT3c8L/Ji68tNF8tcRHxgCVtNe4yRfPBViunJjJ2jBqmA6RwNFPnPTOuvr55hzBd5rtBkVEwKBbPASOfk4b9WyM0O1BwlQ3zxyW4SsAz4NNqSI/iVd6CxSl/VLCV5rkKAdXSekcUurpgsojuT5yvRavtvtJAEJc=,iv:xbtbGDBmaijt2eBo3/AwR+c9THdWbQVCn0eAETKcs+c=,tag:WcugnnCPWTAF+iJvuSsK+Q==,type:str] sops_unencrypted_suffix=_unencrypted sops_version=3.12.1 diff --git a/infra/.env.local.enc b/infra/.env.local.enc index 7c15703ed..fda856c18 100644 --- a/infra/.env.local.enc +++ b/infra/.env.local.enc @@ -1,61 +1,62 @@ -AES_ENCRYPTION_KEY=ENC[AES256_GCM,data:vIrqh66O0vIjl5yZufSBw4N0iFFa3aa8Ge4/7fsQaFu7FIaNJngDW9rY0Kssx3MeMTeTSRsQUYDKgEeuguUwWQ==,iv:U1HAoyGkJvJzsxWCvDZC+oasHj85wBFLO/KVQ/L3sEg=,tag:qkbB7uUlIYBLPtpq/oQ5wQ==,type:str] -ALTCHA_HMAC_KEY=ENC[AES256_GCM,data:4OfsN3DoUJW/S/IjG2u1CD6pVVCuimRUC1RLeWV3I+x2XLFVNVFMabRpSdWYi7A0D7Hemk6LDph3NXwrSu/yzg==,iv:ig3JqrQJ1k8QM8TEttythWE2eAbD7UAfSz+D7EWgePE=,tag:vHpOGbKI+a9Uyw8BAoboJg==,type:str] -AWS_ACCESS_KEY_ID=ENC[AES256_GCM,data:go7ZUa8BGf7XHwS9hg3ASw4bRt4=,iv:xY1SlZedf3zJPI5APuWkVAlElVVKY2AoLh19GjNSq78=,tag:mOakCQGa2m51we4/HId5VQ==,type:str] -AWS_BACKUP_ACCESS_KEY_ID=ENC[AES256_GCM,data:ux+kgdwZ89ob5NrOjX8gg6IFWEk=,iv:zEsH0RZF1oWkb8SAct1T6lLp9B0iPDs3IimN4h1wp0w=,tag:V/abHX/etKgXkq32VKbHWg==,type:str] -AWS_BACKUP_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:YTTl7jZpgj4zrkKBFa9TFQmUs2s5EBtUPrVmSJwhCYDAPEgG5cMvaQ==,iv:k2FkkDGsRO4ZBaIi8jC1KWHk9EWv1KjZ7i1INOXTmIw=,tag:1yeyZq+tmarD9Rh1ygwPrg==,type:str] -AWS_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:vQF57pHMG3xzLmyMmH0SSSaN/GHHB6e1Ys3GW6FEkK6pKMffwQVvOA==,iv:MIHd9fQG3jP3J67yGscANL249U/ZsGRoJ8zKvH1CXp0=,tag:LibPhBr9liC75tjinj1IbQ==,type:str] -BACKUPS_SECRET=ENC[AES256_GCM,data:zhX/bJBMNrEWGMvu9Cc4wRG4OIVjFU22kl1t0ryU0e5bmRx6D4u1hy9lAgA=,iv:LAyXrFZqxyYWKaz7bxTnF57V5TPFRqZTY10I+xyrEos=,tag:pgePnfjo+XxOHoVxYzlsdg==,type:str] -CLOUDFLARE_ANALYTICS_API_TOKEN=ENC[AES256_GCM,data:DyW7eeMeX1wJ/1+0FzeN2w/Wzg1kKAZ2JBCbcSwIKdmeSYZGTHCJ7tZRDOPqoz/DRabkDAo=,iv:O39bayrEyYSIiwWKdDo4R1gz2/WC+99QMgySV/CnM2g=,tag:q+yPo2RGjQDzQ6zvwkIl2w==,type:str] -CLOUDFLARE_CUSTOM_HOSTNAME_API_TOKEN=ENC[AES256_GCM,data:cLR9rTfrs6JRgRLBz96yMYt64YB0ASDU+4QissBpdHwrBuS8LqWkUDOl97x+IUL8yh/XHQI=,iv:SemyA3qERi1lQMrk3S5zMvWJn+R+zX/ELfRjlulHLhA=,tag:6Qz+l73w3KSVqFSDnWFtaQ==,type:str] -CLOUDFLARE_ZONE_TAG=ENC[AES256_GCM,data:azYYUIr+jjnc08bnQQwzIVc4HgxmVwG10rLEdMhJJro=,iv:s+de5cZF4/N1QrSK3bYXvr8Wo4AQka08cMzK5W+D8vE=,tag:TdlZqgBc+Y7hdabmK1g7uw==,type:str] -CONTENT_SEARCH_TERMS=ENC[AES256_GCM,data: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,iv:VOce1t4w1aH/6j78p8eOeN9ijamYZ0pgFWEkvkQBHz4=,tag:Kvc7d6lV55muFVebnbOaQg==,type:str] -DATABASE_URL=ENC[AES256_GCM,data:M3oNL5nTiB1vUt4lxnHVkuekQVgYcORiVZI7uHPepq2cIZFKjuf2uBfHfCA=,iv:R8Oy6X06lY0sP91yZMmS2sd6MyUzIX+5P9t0LZ22bIY=,tag:qzxOtwy4Kdab8jcWf+XA5g==,type:str] -DATACITE_DEPOSIT_URL=ENC[AES256_GCM,data:unPKZvOkD9NW5i/qu/+CJOeDw3A7/nVoV3T7Qw++059Fiw==,iv:cO9mI1M3yZ+6WD/898AU4JP2w9JAiNf6Dfuku57xygA=,tag:Osnh7hZ5O5/Vhn3vw7FKSw==,type:str] -DOI_LOGIN_ID=ENC[AES256_GCM,data:692fnKaD,iv:YoJ43peJggSsAhXtInv3AEuHX5uCxqUR2AM0NYNu9Cc=,tag:MJD9KJPtr7MDO0IP5QuoCw==,type:str] -DOI_LOGIN_PASSWORD=ENC[AES256_GCM,data:/zZsrJALUEVltMS/XK5n1gwn4KQ=,iv:lpRBEBlQvvg7lGuddPmqgqMCVgHaacQK3ToNwnlLzOw=,tag:7Ra1Fi3Tplq+AbC3PusNKw==,type:str] -DOI_SUBMISSION_URL=ENC[AES256_GCM,data:afGWmXnlK2v3ovsNWC6LXyyTN2SZkGxyRtmIrCY+PhWdmnq/kgeehGc=,iv:H1bZ4D3DvEWrFPNtYQjD9/ES4qd0UxD+VJ5pJkqm9iM=,tag:0+IB/7bifExa0Y0M9aD5Aw==,type:str] -FASTLY_PURGE_TOKEN=ENC[AES256_GCM,data:+o4L7IcjDsJFmSvU7TQX5hFoDHXuviZi+yiLoOw76sE=,iv:wJTcoR4hs+IS7DmsfFsPy1FV2wNZHugpbkPQ0PlA8MQ=,tag:/gpfMK/9vaDCq31uD5YKxw==,type:str] -FASTLY_SERVICE_ID=ENC[AES256_GCM,data:N6oV1j+eV5/hjTO9G5Cic7kWGZJ1cw==,iv:ZLYJpjSrx5r9hYgf3g6OXAzuPKxwoaIrmWwnvkGSQcs=,tag:jrI6eQuEKniYerPGPYn9Rg==,type:str] -FIREBASE_SERVICE_ACCOUNT_BASE64=ENC[AES256_GCM,data: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,iv:Us+CnNTBLETpGwtnPs/2KROsUGbPpknnu2kb8xtlMNk=,tag:SfX/hQIc8lSgvVZP3Qzsmw==,type:str] -IS_DUQDUQ=ENC[AES256_GCM,data:U1kWzw==,iv:HX2tO/dJrRHNVTG7WEhDzSJ1TgdRAijUHpDfUEAZYHY=,tag:+O5bbrsOODLwaapINpvJwg==,type:str] -JWT_SIGNING_SECRET=ENC[AES256_GCM,data:rzMTJ6WaNqnTKjbgE8ympwqq54uRSGhAB6XfI9kPVoCqZTgV1dROMSdgWKzPg8sb8kiAMEZW3hZXpfoMRvwi62tIBIHb2wRI5hkrkGGWEXI26pQaOpWQsHDQ/9Z6wBQnhX0TZ/vR7c2/9t1X89K86y25nE3WuI4ZJNrMD619xw4wcSkk6DycDV/KwfMitW5MmsP+YMBHtawMQcPvo6rk6N1vvroyry6pGlfXcUSaNrcYm078SnZTRP1kp2kXhybCbGvZo/aCBbvujQcBtGOd6GoZu5KbNSfhmWmEK6ox8C5uUy9QAUqfb+4k0+6WWtivN5ZXaGZNkQqUI9kyxwtq8V/8aGZ0BCsWvUocOHvUdufL/VoJhpEtgSB3TRv3OqEVTtmm7c3587ML55KP86E0kcjpiVLymVXVfDnaAyq5uhKLmea4l8j8mkpzkVWltTji3HWVWnhLEZDMRQa4xobfHyalOQOA0Hi6UW2i9PLfiYuHNO/86qi7+boChT2eAlgX9L68vC1sNXc4mTtcDtnuuLNKzb7UrJDlvG07VRidXvXmBoKjwgoOYfd/8p2PXhOklk92OhTR1ElG47y6/a69O6/YhSq0W3IoUzAuvtO6TN6BtjV7ONrOM4/HPN76nEKcaxh/DFnoacn6Ocx7Es4BoZ++L5oFSB+swTcA13BLPIXF95+D2kP7icvjOjKxazxJkgV3rsfa3+Vmk3clnynnPgU5puzgZ/mkrvz+elbpfe83DYFfYdMm28vt38uOyjBU0prytY1rMPrZRhRW8wOYj18FgKMNVOQqu1z8HOzqcJN3E151wpgoM5VhTYnJ1CUjpOcz46g+4NfZD0mY6kRuRJHh1ylojom4IOixcomB+l4GVB/jqoAyp420aclnkqc6pSue2qE29RcjiR0Gpu7VpGKd1aAKbGrfUCas7pxv8/WmPJ5oT8JoAn90KSSauAJ1ld7yJY6sd9v05EPJ4q/pY4ql5t0sK5LPHdhbbvd99r/VY9EmJ+/rDOePvyiTm3K7L4xsCwKi3XilmDDnJP5VsY/53gqlCziK4MqHaGt5bzhutqQZjt4Cmo/RBetydKQvkLHkEDiLaxwajb6JFLH7FNt412aKDepbItF901jYyN5QEDmaXQC4gywLp1BKQIcL+dfHi1uN7XZVaVSYY5F8SZ45a6DVTqas7fQpopDgSl4EHkbRVFFp0qh0RATlI0RT2OfWfxA6DSlrCqu9n8T31yZU90V8y2vqDU0A2WuizIueeXg2aorprU70ogRLaDG114J9uMJ7xyEpnkb+kz3mJGaqZfntUnNcEZ8kLeiA8qKk++9HkqXdZV9W/9QLSfxzqAFYpaTVipmmHTvFucsRzA==,iv:Oe95yrYzqKonTZC9YO5k7QXBmx3Sa4GEpyiFJzovgHw=,tag:UATqruNo2htBSIxywSIVAw==,type:str] -MAILCHIMP_API_KEY=ENC[AES256_GCM,data:6NmLHYMAm31e/Oa2EIxG3s09fKrTT39nverHS0ZrbHd0ijLH,iv:AiikD3j+u1oaOty7J8fwYsWW5H/6K1+03XEgKqz4KcI=,tag:0BJWnxeCdHG0Lmrha0eTUw==,type:str] -MAILGUN_API_KEY=ENC[AES256_GCM,data:2sN86sd16WtohlMDkjQ0yKuvGgr4j+xIuiY8ULyTA4Jcs/p/,iv:hlTl+AR6O9xtnnykGLTAuI+q3AFMr8k6aJ3Qa2FtlcM=,tag:yMsW1h//6ZlKiifXhK/Y3g==,type:str] -NODE_ENV=ENC[AES256_GCM,data:W2zO+aQ3AQedyw==,iv:V15cRHUEIHVy0Y/nVJutv05OKqjwGD9VmAG6Mt6+xe8=,tag:jPT6EgvFks3NGtKQZq8HlA==,type:str] -S3_BACKUP_ACCESS_KEY=ENC[AES256_GCM,data:IMO8So3hBgfBlqCV1m6FZvmo3uY=,iv:14Bq4IQE7I6LP4XeZdu4Nq8MKkBm7/uaL47gFqIVQ5s=,tag:V7mJq7liFavpyetLuokMjA==,type:str] -S3_BACKUP_BUCKET=ENC[AES256_GCM,data:qW5FvcAneutiqXg=,iv:Czx/nxOW+usXbKREDD3fXACZ4agR5CfOlvRca4hqai0=,tag:PNF6sbkagOETqfbZFQgC4g==,type:str] -S3_BACKUP_ENDPOINT=ENC[AES256_GCM,data:qbqH8J8cJghBiNG+Rrb5CB0ltCxW1kp2I3MARAZB9Gt0bbo=,iv:aPsyr2nrMneu1ng9dEs/AlRktyXaj36SKIIGzTE+KHM=,tag:OpiH7Iparyn5X16/W33AdA==,type:str] -S3_BACKUP_SECRET_KEY=ENC[AES256_GCM,data:S3gFLILtjNIW06pT8CZOJI9VRBmNQn7FiHp/qPUSRstOZmoMRMb9sg==,iv:eJJ4g/afVUiJgGgFl31JvOs4Aw7iCD0dqyD59V4M6wA=,tag:keLFkQoMt5I6xePQDcElbQ==,type:str] -SENTRY_AUTH_TOKEN=ENC[AES256_GCM,data:k+7bpMGRHSjjfkn4um4nj7h4Zz7ha6RZpFj2+tI8HTyoJRsmMWYwYoE7JM1tnrrkLJPX5v8Z8Gx0IyYpYlpdtQohGGzEqmV9FG0weLI+WzCOMMi4j4fHzQRLC8W/QCJYvUhY1FcSw0qTtJXkGqSwrJKMs2XSkwN8SgG6PQGhnoqQKFBG88SQWhVszkPc/X+qVslGykcMPURnUihTyIFf54UW5kLrCVpmZ3Wk/gmuKQ9YNQNaaV+EMWR5CQ==,iv:Crd3/4Ish05R3nKDd0SxW6u26rVr9SHHTGfsIS0Kd7E=,tag:HGSAd2KTUtjSyq1lBjsLyQ==,type:str] -SENTRY_ORG=ENC[AES256_GCM,data:zAGf,iv:sMPG/+O2lap1vfx+jIHRvPQ3/bGdCywABnZfvJpBAPI=,tag:DyLuuy2svsQlNz9yG7Hhcg==,type:str] -SEQUELIZE_MAX_CONNECTIONS=ENC[AES256_GCM,data:C5o=,iv:te0B+QUWnIOwnBhKq9lRpUhkzpwqm9ykOm5VKaXqEKg=,tag:6IzPC6t+VxVKt8f6vl0dig==,type:str] -SLACK_WEBHOOK_URL=ENC[AES256_GCM,data:PaZb6Tnx/EuLix8o1NlLXSdpXeHoRHTxaz70Nkw3vgomscx9dT45UOUqMI0Mz8sRcW29YMqr4G1LbLO10MOwlkgJpECuKsdvbG1B/uTa3Q==,iv:Qak+46OGRxwtk7br6EAuRHn3c2FxBiODugoT37htNjU=,tag:Jsfs+rGRWgA903N3EguHaw==,type:str] -SMTP_HOST=ENC[AES256_GCM,data:/HGDBiGkHHBfuS8zmvfZqq3bFnZ1z/xiag9vlPjT2KrwCw==,iv:iwQCsrrs69jwQW0RoHXr3GT7WSU7rGlUSe4b+MLY6uQ=,tag:BTy3FvSKRhdy54Bwk4Gypw==,type:str] -SMTP_PASS=ENC[AES256_GCM,data:PzXVffQ4YzY13mI4DZTpdaTivRKKXPoNCOKmrfUVeYwhXuWjOeRPr6xyOZ4=,iv:L3THYQEciHtKVSLeyzcUHoDjEGvUEeXQutLnNkbIxTU=,tag:lK4vvOxLg/Z1yUBJnjWrdQ==,type:str] -SMTP_USER=ENC[AES256_GCM,data:b5mxkDDZn8cHzzxqg3L9yiou4q0=,iv:e4wWIYD6HpV38wAjiEr5OtD49xcP9+hAhT9fREHJ/bY=,tag:FD62PoZxRxk/UIiP6PRFtA==,type:str] -ZOTERO_CLIENT_KEY=ENC[AES256_GCM,data:GQ8X1rsoxzkizLXvo0dlr6AEHY0=,iv:a8fIPhKBBqFiWmYqzzK4P3nsQyghUAVjTziZV8lEfqw=,tag:O5Mu5eKl61vehsKtOERvMg==,type:str] -ZOTERO_CLIENT_SECRET=ENC[AES256_GCM,data:tP27hLtMVBtvNkp7OZwnFgnCMgk=,iv:dCfCJ14DzqvGIun3w+WkBTw4ZtXLffxdSH2+w/gkpVY=,tag:0tdEyObg+GeW7JKyGZrgGA==,type:str] -#ENC[AES256_GCM,data:qkhNcd2cpoR7xna7lSMHVYyRkwU=,iv:xuTXXggrRr1SIxoL4g8g7aHNq3Zn/eMZDPGzpoWJSPg=,tag:YrHS3JWvk6AMAaKP7T6d+g==,type:comment] -OIDC_ISSUER_URL=ENC[AES256_GCM,data:Y6ZZZg/KO46M4xN4Itrk+/RKVqch,iv:QzhlB7rzUYQ0qvDQWfpO4g3cAFr1CZv/kVWh8hkTZEo=,tag:jrqQwc6qnAFicPpCocAoDQ==,type:str] -OIDC_ISSUER_INTERNAL_URL=ENC[AES256_GCM,data:GLZtsu+CeDo3bLg+qpnPSr8Vfsxt8Q7SMkkK0HBOgR0=,iv:nLZwEdRR+Jbleut3ydLcK6dkeeXGQr19VKeOWCCMRU4=,tag:n7U5+a1PqTaB/821Tl2HHQ==,type:str] -OIDC_CLIENT_ID=ENC[AES256_GCM,data:u/QSy8R47Bkh,iv:M5UDl6iM57cWfNfbS7c77o13il4PoKmEBhughUA4b/o=,tag:4ejq5eBXuPv4pjeZslgejQ==,type:str] -OIDC_CLIENT_SECRET=ENC[AES256_GCM,data:1owOMDVHC3wU5lISzIUvKwyHvyHkLKg36MRmctWRI78iFK7wI6tKebaQmIOwwlLdvjoVP0wk6nr8vFZHYexIDg==,iv:aN4v5vsdkH8qA9YwsQQXvqDXszqBeUkAv9OQixcqqUA=,tag:wPcjLdEeEivqaX4RgbMM+A==,type:str] -AUTH_INTERNAL_API_KEY=ENC[AES256_GCM,data:VcT4eqKsqoLmYWqJU+YCQxNYjangyvFfslBePwROz8Y=,iv:GyJxeKs6ZO3ZXggu3m9Pc6GnBlXjoCU33cBb3SPrcc4=,tag:6IziFPglbwIPXmURwTeyXQ==,type:str] -OIDC_ACCOUNT_URL=ENC[AES256_GCM,data:AfoxH2PbtJMT1YiWgVhu+zH8PeGn,iv:+n5wB8teZAQ1abEKZOpJL2/yQCW22GHglYBWMZDKju0=,tag:+EgWhvD22GWPQrE19VMCOQ==,type:str] -APP_URL=ENC[AES256_GCM,data:nzoHDC1p4LOJiT162qcS6ejrj2Zm,iv:206a8lmEpzWDQhI+5ASqwWg/a9KAs3MnWiTwjQ3YLCA=,tag:H3i1tj0xeF6rAxtR2sIVtQ==,type:str] -sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxWXZQalUyb2JaRFZzY2lW\nMTZzN2JxdWdZa3Z6NE9mNjZhVFBXaEdIUjJzClFlTjF4bDFudHIvMHdWQVVyWDNF\nY3Zvc29JUHpRaDluazlDTVROeTBiS0EKLS0tIGRLRFpkVDBJYmhUdkhpSFBSSWdC\naGFHNk1yZUxhRUtGZkt6UFYrUGc2Nk0K8MU6bWI+2I1BFuxrgJSA0yuHzIES0XaF\nSpGQXVQ9pSuMzXVc7FuiEBEt6iQN/rfMhgeNSlDH3/6P/s7btfakpg==\n-----END AGE ENCRYPTED FILE-----\n +AES_ENCRYPTION_KEY=ENC[AES256_GCM,data:vmPU3lHU/tv4uHYWiiOKp1asX0NBe7NXD3iKgrvsuaXa0PYNIP8p5sqlwIAhpNiM7MzAtopklMGoREkeh/hfZg==,iv:XGgbkq8gwF/wVhifnzeN3PCxFioZF++pnVEadz642iY=,tag:JyVndrsGO+v/Ma/ZYSiEQw==,type:str] +ALTCHA_HMAC_KEY=ENC[AES256_GCM,data:ZSeXTVCkT1m71IORE69J0HIxJwcr24PrEzj7wYugnDcOYmCCnwSI2H31H2efIbzJMdkvErQeOgPJWp8A7Ra13Q==,iv:uVnT1hNDCaYjcg8wxWZQ6AlQ5VwQjlbHPKMT2t3So1o=,tag:+7d8pBswdSCdnnl193PJqg==,type:str] +AWS_ACCESS_KEY_ID=ENC[AES256_GCM,data:LQlcHSlETlGQM/GawibTC31kCFg=,iv:60Qlzq1+IYXY9MKz7hgvvuPB9vZEQKNO6Ua4xGJWUO0=,tag:62/hCcDWy3armuCQdHIVMw==,type:str] +AWS_BACKUP_ACCESS_KEY_ID=ENC[AES256_GCM,data:/GCqPMr1zwqnedfwj1WguzZSU5Q=,iv:d4oJqLqo6+Ovjj9EIosi1RqdS65DSECNdMcz/L94QD8=,tag:+mbzZ5UORYBrz1AabLnJ3Q==,type:str] +AWS_BACKUP_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:ajLV95aU2BLR1uHqBIfD6Yry7rwlw87Eo1rfoUYzGsuUvx05Wt4T1g==,iv:ivwRjFTeOOPiMMnOMMIMecG/kXDl9QaiOIeCK+oP7NE=,tag:enPLdDnhq+z4G8RDUMY/CA==,type:str] +AWS_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:a2J0BVfu6i3nQX4WofCragaCzc0LkfN6CQmCkgPBhfC7Mdu4hiy4JQ==,iv:8F1JwzY6cTwjrU0HC0e7R8fxdNHfKJGj+WysuX/jUAQ=,tag:ne9kOov6T/ty9BE5Y+05GQ==,type:str] +BACKUPS_SECRET=ENC[AES256_GCM,data:W3iyk0AN+tVd4SzlxbYQEuEMjbzMu4l2M7ua4p1SxQ8TfnxbXzosIRbvcCg=,iv:YBwhyh8Gzv6XeDmbpcBWauStQOVItviHG/R4a3UffPw=,tag:uWicrCoX5dFs2G39oBzWYg==,type:str] +CLOUDFLARE_ANALYTICS_API_TOKEN=ENC[AES256_GCM,data:ViuOqD0h8RtZqhAlCB2BbyfDpfG+x1eSVZI1PJL0E8p+J8MQID4DiAVzOJLA4GGreQSlKn0=,iv:taYaOtNe/3bHntVVIQU+nscXCG/q/uDvKLt9W8sGD9U=,tag:2yLBFZoyFNzX9OeJf8aBlA==,type:str] +CLOUDFLARE_CUSTOM_HOSTNAME_API_TOKEN=ENC[AES256_GCM,data:PZks5G2lSJJFdRtKDptHlePs2riFjUqMspmBtRr75vxm+uQVXrGF1/N56mAe5U0ZO1oJpu8=,iv:yarrf12an6PQrGCiczzw06QCmYWs0cXqrse/G+lXIUk=,tag:UQ75K4WivIGiBRxql7HCpA==,type:str] +CLOUDFLARE_ZONE_TAG=ENC[AES256_GCM,data:0QlSEXUurZPpsPlfx65PrvSBOTKAdjco0LAgeyX0hdc=,iv:FqAkq3Nqdr6iERDvLGXW6Nnirp8tdANyLuOhZxfaDCA=,tag:uXXshkIjgnOXRDWXspsQkQ==,type:str] +CONTENT_SEARCH_TERMS=ENC[AES256_GCM,data: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,iv:6/Nu1xWchI5W34OTvSlvHVpXZhS4GCFA8011g6Tjgzw=,tag:MyZow/MK7EewXkuAMl5Yog==,type:str] +DATABASE_URL=ENC[AES256_GCM,data:anltPteImagViH3djsg4fN7v4xK/tIcExu9T3taE2r8sqFyHxfdYZCClgFE=,iv:9chFnkZ766oWQYA04gxC+n+7G50hqQR6H98fQ+p4gGs=,tag:JCNx1QYma/n7aYntZACXxQ==,type:str] +DATACITE_DEPOSIT_URL=ENC[AES256_GCM,data:7amT7WAKM38jDoqwLKBK2RNOtDfPbKbOMU1JlTDXwkjXig==,iv:9GQ94roa4eTk4rOX4VjEupKUB2vX2xSNDA5k1wfEmRc=,tag:ytCFs3vumChOQ14TM6BwlA==,type:str] +DOI_LOGIN_ID=ENC[AES256_GCM,data:iS45vatF,iv:g72dTGi2zZ0h8riCdsm/nhus3XSSLmPZ2SfmZYI9bRk=,tag:d//HnObxlUf4eprRrqOaWQ==,type:str] +DOI_LOGIN_PASSWORD=ENC[AES256_GCM,data:XCnrlpVdq22MYxw4yI65uJA/9aA=,iv:dBY3gR8Jn/q3WS7REL2wC6L25QAYw3NNR+GqoJTb9K8=,tag:ARxg2rv7XaqSKAISG/ykBQ==,type:str] +DOI_SUBMISSION_URL=ENC[AES256_GCM,data:6BEEupBJYy3C/We+v70lwem4/5NlwlICjtIFrMBITsn7w0qonA6VYYk=,iv:/djVckUZXe0zDzjbjfzJp21dZ3taKrSqwJbauKMgItE=,tag:JMVY2wd++RxgP2l5uK7HZA==,type:str] +FASTLY_PURGE_TOKEN=ENC[AES256_GCM,data:/k3XX7eXLwU2XdTgZAuV7vNkUcAVCyA0iKTVLwThKp0=,iv:x79N4cxIg8T69ywLSOuTS13iquzK4NFzkq/FvkdboEo=,tag:o7wrOrSlwdbzHRw9mZHoJA==,type:str] +FASTLY_SERVICE_ID=ENC[AES256_GCM,data:y7ktMWOsZOSibRlWug0TXZTKhG1avQ==,iv:dZI7D4xdagjh2eRbfxC/6rGI8WsnUELhXx1ML9OmW3k=,tag:lcAh7N+D+mDCTVOk00sG+Q==,type:str] +FIREBASE_SERVICE_ACCOUNT_BASE64=ENC[AES256_GCM,data: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,iv:SzAGF2BAQZKKe3l/JY5fOBgHEIE+hhefulU2kVTfkPo=,tag:9XdYS2jjtVyQHocCa4y9bQ==,type:str] +IS_DUQDUQ=ENC[AES256_GCM,data:xga1xg==,iv:8qKeQI/rbMFzFCzMbGDIEGo97fc79jh2nzp82VemUBM=,tag:WY7NPRQWyzJfL0u3VcLuwA==,type:str] +JWT_SIGNING_SECRET=ENC[AES256_GCM,data:gW4YxR+Yda5+7cESOjtFQ2HQOv5VeI10g0DWcUzPSiOWo7/heP/ueLq0ArZYz1GJzHSOkNVhOLJ54jWfnlYnAM9Sw5siilwhPEImM96lsHQa1cnGtEtp55wbKXBNlKEOKfP7G9RoYL/7XLHwOgoSQYVpocp0ep9NuiVuaDZRQfUx8fw24TePRRfrOYJfGAxLDkid836e6iSlTaW0HKhD7JV7b8sGK28A77cc7eL7dtXvAxIAMq4NOlCcBCm396L133bTjveKoIpg+r4JDiFRTH2/TmQvn9TzJ97s6azK8IqvvoMSrXsiLKxrIA649c+0GcOd4oUGsBB5A2vkhFaGVoNf98O0FqAWT7BaJ2wm0zo0DXu46fWbvXyRU498/o2YXz7+gOhXxoFso0flNNbbxkfALSK7Oezn+FKoiZ5/RJQMkvC0rFuRSiUDhVrq7VzbFwkrAbSOVzzXJUk/XQ0FH7LGMh7YpblxLM3jSWmmvVY+jV6NHDL4oNeI09RjKNjAoh3NEjQAG/Gyl/N07mqwBavtw0jKiu5ugyF0hQdkbx3wYNfJgJzvV7gjfnMfepvGGp9s0k41usI3juCyvXELmquX/cx+hmAg5dBK3dIlIXklusildLOtdFqVQDsyfvKq+IqMhb+DiRy5tLJZnZm2MXI+1YdkFcfF7etqVKlL1Ag9rKZboB4WH5QLgsF4mmEZcAJOgJtunZItVS3YXpQqFyrAOzmzfj9bWa0mCHsz4A0CsqeEuETnPdEUbmJUHUfKN1xvHR5Ta+j9ase6FRNtOeEKtYzvSFHUSr6ane2f9joxHzR1CyU3X1xs59+8iP4nM1q1SVj+wmz7CScWGe66GgOoQahQ5sBtWlkgSnMeI/jx5mmziIK38eG+NjHCCrR6fOrIDZL6fCARTKhLjWzgrZvGvb92PIY9EXZEc7UvQU1Ni38wW9U+JhnGHmf3HBrq7SOinTrL/Hs6DN1RY6SfGBR+VPmOt3o/0q1YHn5ivSk2cqpmHxMnnw7Tq+xh9GXBAzLkFXE6N9PRkpay8OGPseaTQMx5NEYJIru6obsQ1/qk5vmvFQNJiTSF/RPcQnjgEKGi0A1mDoRaGoBf01FFJEaXU8WTDSHgS13jUIH7rGjouLqzKJrkn5d7k//K2zyfNDPU/IRw2Wr5DZOS1t7r4MpVQtUDLcbaTr3+lS6uM2QWhyjIR093GAyY8OzSCcwUppBHAQvHnaexYgKyfvlBO/vwPAeOv+pnBlfx0ZPclkLks4fbv65izODVikcyUzQZTIsYz5wvusX2PF4lnLEksJEFlu1m9bru7iRVtULmnj6eOIW/eMjdmnni6yu7qXgVVp/UvjavaFxwy03sAmhf+Q==,iv:S9IuT1vtGguCoheTPUNotQC+8KPxW4HLdQaNI+XNI6w=,tag:GMO+7SIBLkGeF09PmRpFoA==,type:str] +MAILCHIMP_API_KEY=ENC[AES256_GCM,data:8vWDBg9nVQUeTLQ/DwqaAWEVP4WpryafMQC+udEA/ckgdCre,iv:L0V4mpMPe5YVEx9nrDnboCzEmYjt+S5joDxzvXKt2vo=,tag:9mL/nWL0YX1750y38LC1Dg==,type:str] +MAILGUN_API_KEY=ENC[AES256_GCM,data:8vWxxNt1/0Hk0zo/4/oUAmeZca9WBVIF16o73MNwyehTrMcX,iv:dU2VGqct1kAxZ8NX1JSTuhmRli4bxFI3p3xylgb/nKM=,tag:HOd6h7D/jchTS77OtovAug==,type:str] +NODE_ENV=ENC[AES256_GCM,data:ekAEPWx40mAp3A==,iv:4YNIjtdQYsohOBzf9jteFr2UMJSd5SgPSl9tZmFvHIA=,tag:mRCuyTucOZ0J0/ohUnBSBg==,type:str] +S3_BACKUP_ACCESS_KEY=ENC[AES256_GCM,data:q3HNHRVnTlnYwWWsBfHHRR8I9so=,iv:udzy8NbX76rs3NcT9CLUSMcZDvh64p41t4Klrd1z5Lc=,tag:dC9wdIjIHo2yvy+w41xGqA==,type:str] +S3_BACKUP_BUCKET=ENC[AES256_GCM,data:cAI8xshcHw+7GHo=,iv:4AZT7NkgXw1zGe3bK+EBJJgA9BHVcvUXBibL8ZT9vGs=,tag:BS0JeE6PKD8CEnKl8aKSDw==,type:str] +S3_BACKUP_ENDPOINT=ENC[AES256_GCM,data:rDbCz42mFtwgbWuP+VX9Uvf/PaXwuYcgtTHLA0SGjAgKS9g=,iv:vU8z+pioDmZa+oazrdnp8pgWpuvVk+Cs4IYTEvyGrP4=,tag:69e/EJn2P94p4iuQ8cfySQ==,type:str] +S3_BACKUP_SECRET_KEY=ENC[AES256_GCM,data:f9S/rmMxCu1Fcp7KBWgYQ4KtWsKujcUlxkEDV3bEm4Q0wZelSb9/kQ==,iv:gWSKIBgUkAhFiM6zE2Fb+i82cIMs15KGlBxt/ngySw4=,tag:XV1wTYeS2aEye4aL9OsJmw==,type:str] +SENTRY_AUTH_TOKEN=ENC[AES256_GCM,data:YFeiKitANaqsXaYwQ0FHfKqQ27LxnSiXyEtdrjhfcScF8sLO60e8K1N/1hixydnUahfidcXlWxYSmPJVEgrH7mmlTwicFnY6nqM4yDqQkRm+Jm1Eb0ONY+K/pXaUBrCCJnK7cJQ7TEBCQxTqSdhoovHsSbvS1lmOKkIOwLqhdQ3XfFBf60fMMyoU4hPNhgAhf+DKlcPNjytvg8qMQxp7RZAvt60nHpy5m9yqgbtEZCTHWPEWGX2lLIfvEQ==,iv:063xsBQ6LPD1QBR5kIaZVfuiFDEdDahJKuqFgYf+pFo=,tag:6VTaldzayz3Wff25aUGmcA==,type:str] +SENTRY_ORG=ENC[AES256_GCM,data:Ywx2,iv:pcEOiwHLtBATLcNaMfAdprhPeYDa0MczJtjD6Uo5IdQ=,tag:xIm6irg5r5veeHyuwPGjhg==,type:str] +SEQUELIZE_MAX_CONNECTIONS=ENC[AES256_GCM,data:QsE=,iv:ISEnBX/SRnTyg0QjN5m+kds4ebbSBzPPBIjTx2/NpiI=,tag:n9cs27mv1mdcMStPWwfTRg==,type:str] +SLACK_WEBHOOK_URL=ENC[AES256_GCM,data:uKHlfM30igYadsu52+JFN7a3ByGU7mRV2CdKOQpXhS4k8LOPcl7dTid5kjQMJgEa241Kw8pQXZFcbd15Bw6UGzWOk33G1qJBwJqAmIGlmw==,iv:PkMvMsPBMRcDkkCw1ulgjdpntsGiohOJZYyB5nWPb/4=,tag:4qPFhlJgGzoGMe4Bmj5yvg==,type:str] +SMTP_HOST=ENC[AES256_GCM,data:o0FC0O92OXGYw1G2lbgk8y4zlidO/okzLf/rJ37kROGWGQ==,iv:fjDmE+pqkn6H6dMtu1WXdNxqWFsoN1y7BDHvY2wVzSM=,tag:fmcqc2e3CAEyS+/gH1HzpA==,type:str] +SMTP_PASS=ENC[AES256_GCM,data:We6oDAK2hzo4bZXadT18aQucA0Ov+8rYwxHvY1TcbJOSPlZhnd1ZzH4LTws=,iv:3q2lhm4Ld7VjGZuqiQqfQbSxZ5/gKX+XUlC0PhJ/bPg=,tag:DHONEQBlGvAQpAEf3TtbMQ==,type:str] +SMTP_USER=ENC[AES256_GCM,data:QOsSHPWAAcOanbCpjVjSmd+TKwA=,iv:LRNNSzeH+JWIsv9o9HavsImP9iMlEaunVzTSjoyppYM=,tag:Olj8Naipsklgux7GiorRfg==,type:str] +ZOTERO_CLIENT_KEY=ENC[AES256_GCM,data:wR4kcAg4UXgeFeNLRmEGBgz9Ky8=,iv:5wI3hOCVQzz5p7HSd38pdXfDg9/eIr4K/wAb4JIU+uI=,tag:Se//a1wQ6MSmV6EDoShPPw==,type:str] +ZOTERO_CLIENT_SECRET=ENC[AES256_GCM,data:IqwNy0Z0srh5AkJUCFPdM3Zd5Eg=,iv:9lBDBRQDkbgBlJ7MXZvuZ2C0b/v5/MVv2SIg/SZSOng=,tag:qXQgLiFbEJ6LxcrzpqVdpg==,type:str] +#ENC[AES256_GCM,data:uOR8Tz7jBIx+wF7nSrZlMfqGDM8=,iv:5HvS2T3lm3fHuShMpdnDr73z0QJ/SdxKSrPtIgERMX0=,tag:zxISO/Tw4IZarC3UPXGWwQ==,type:comment] +OIDC_ISSUER_URL=ENC[AES256_GCM,data:PSudavCMky5eH2sZ5bYYkXY2P3rp,iv:8fix4Kghl4Jcmfbf0oE5qp0Phf0F+qTOy4IfnDGGS5k=,tag:nmFwkHD+3Nx+NuXLZ/Uyzg==,type:str] +OIDC_ISSUER_INTERNAL_URL=ENC[AES256_GCM,data:UtYj2MhDBPxpMbWxjuM0XXD0fxnLGC4IgGT0TnT935I=,iv:AhNqzyDTF7u93LqAdv/FJIZMx/72KiTF1tqxiPaIwQw=,tag:1jHCTlLCUE7KnnwrDO/IdA==,type:str] +OIDC_CLIENT_ID=ENC[AES256_GCM,data:J7NTUmrrlOg5,iv:aP4/i0H0Iln2E6PwCIx13vjV+iWYN6VVlR6bMF0AU4g=,tag:AU3vOsDFriXOtZGHMFklqg==,type:str] +OIDC_CLIENT_SECRET=ENC[AES256_GCM,data:NO0F7AGhNXUDkUx5Nd7OpZiMWrTLv0hPmz0Fw7xrf4z4pTGZD5QE8BfDm4owWVUQfyJmuEjDcGUIlOQc26WADQ==,iv:1KqmxQsub9FOQ5w49s22ZahlXBIDYZZAd4SM1e7+VEs=,tag:kUJqiQyOuF6WjhgW6N2ECw==,type:str] +AUTH_INTERNAL_API_KEY=ENC[AES256_GCM,data:vCmAiIh4fggymeHysxZrZkLFztOC+U708FP4Xj+gW0A=,iv:hJDA0TBLySjz3yrne8XTwWehg6/YOhlLIzV48TA1dHA=,tag:/G5GVsIk4pM9zdHHmhukEg==,type:str] +OIDC_ACCOUNT_URL=ENC[AES256_GCM,data:NJbzpnlXNE6Cy7FJddJUtxP0/CJc,iv:AzNFuptMEGXCqmQIAe/1tieG2kqWhbaQiUVbpdUQbtA=,tag:NmDfy1vU/uuJhIaDjed+Qw==,type:str] +APP_URL=ENC[AES256_GCM,data:AfjtxGVno1ZqtgEGciQ9Qnhmi3I9,iv:lSwHAIcTCio3HGeZz6BVq90l+r/uzoKqHNMBYPpAm5g=,tag:wGEIy1DgtwZ7I0ZAKupz6Q==,type:str] +SESSION_SECRET=ENC[AES256_GCM,data:FTaWEB3WSsaEaA63yuxujFFK3wbHWuhKXrzVGCLqgvF5o9tlgZFFgezw84auuMwYgIcwz0ssm/20qg4KdPrMHg==,iv:lRCRQzjYdtlABUZxSHwA7rvlrpw7XAwiqVVubS/V+78=,tag:M3ApDMgeaT3kJNoJuf1ySg==,type:str] +sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpUTRNdDRlRlE3bno5VjRi\nUVVMQjgyaE5EOVNlQTVlaHk1c25BTkVZU1V3Ck10VUlXUUd1NzZBWXQ2RkpTRDdu\nQzhIQ3NSUHJkRGh5OUkwMm1tTi9tRkkKLS0tIGdJUVNHYkREOCtycnY5akNpajMw\nNWZJckRwcHFRdXozaUsxWjh6c2MzQ2MKy+M+LmJzEgZEMSICkjKIaVknDibUVF2M\nYdz7OsyC+G8VDw6dhtd/Bg5SoGHm7puPfzSDLMaaKt9dAtKaLF8RNQ==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_0__map_recipient=age1wravpjmed26772xfjhawmnsnc4933htapg6y5xseqml0jdv8z9hqemzhcr -sops_age__list_1__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBVkFkbERML3JjK3VQcVdK\nT3JUMUdWbG1ldm5NTFRISjVSR1RlUEpMUFZvClR5K1BuREMxRmZoVVBPYTRSbm1R\nYmphWTlXdk1FMER5TkdnMEhiR3Jya00KLS0tIDhJMW1HcDBBcm94M3M5VWFVOVNs\nNHY0dFhZT1oxckNoQzR1amx4QndWYVUKgAaoyraxVST7kBjDgtJOvZfaHmP9X785\noOic81S8FsZjmDjE5d6VoxsHp62pjDkUGzyqiSGIjAjKczXiLo7ewg==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_1__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBONkFWTUJ0UTkvaUJncVJw\nV1JRQWkrbGgvTTBSRWRLNE02Z1h1cEJxZjB3CjJmQ2ttZkVXZVl6M0traWovUW9s\nQXp4azNNU216UmFLY0JDTnBWQ1FDWVkKLS0tIEdYMm96bHQzNndQV2VVSTJzdTdh\nYVgwdlJCNzJQYmd1RU9WYkNPVVhMSkEK23BRpHND7ELaN3DWVhOLzW5NPumGnag4\nxkzJQObY4KOIT1cImydgGLfqIy/AmIzQEHmW8yDPAcnxa/zjBHV8gw==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_1__map_recipient=age1vhftscteyrwphx0jpp0yl60xxrjs77jq05mkzv88js7ckc926vcqepp2cj -sops_age__list_2__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSdDdnM1gwR29XSVZoOGF3\nd3Y1RUhpdzllWTlZUXNDTUsyVm9HWWE3MWxJCnhTKzNJY2tKWDdyWXhzR2Mzc3c5\nVURyUE1hZjRranU3clhkVUk0ZVJhbHcKLS0tIGZXMzArS01FYTRRSU9NVmVXU0ND\nZlh3R1JaeXVQcG5ZQ0Y0SUp5NGJrVXMKe/Oo71jhPQNm3owxPHz9Xec9JbqiEjnV\nay9cV5nMINhEPfK3e/R94KbzJbKzbmPDidQPBuMunJ7b91GetspTKw==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_2__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1N2h1ckZhSUUzcUFuQ2Vq\nQVRuMEVsWWxseUpnWERWb3ZlTnJYZ0daSm13CmlONDFyTlYvbjk1cjA3SkpnL0xh\nTkFsdWNzMlpxazAxVGpJR2lUMTI5T0UKLS0tIEhFaGYwbTRtMXhtYkdDbmVtZHh6\ndjhTQmtaSWZXTENNQ096c0hKM3h5OEkKAbS4e/pD+GTeLBX94qElySkbay9LFIMA\nVmyimb5Ig6MjUZec6gfUaZT4qeQUKv7hDviCjo6bmwGCtUlMC7cNJw==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_2__map_recipient=age1slx6e48k7fre0ddyu7dtm2wwcqaywn5ke2mkngym3rpazxwvvuyq9qjknk -sops_age__list_3__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUVG8wZmgvcDBHNUhOUVRl\nVzRha1JRNjhxVkFCclE3YnBPT1liSmlPcHpjCk1ySDNZcEtUVEhBQ2RJNEZWaGRF\nK2VIS3UzWG82cEhJV0w2eit3b3RvVmMKLS0tIDFMUFZZZzlWZ2FrWVBlRE9ucUdI\nczB4RXliZ254ZHdPbTdlMklySnE1TU0KQKS4xxMWocaTI/7mJkoKLzxaBRq9pTKt\nzwnN4ywFYcyWuNa/qs/ZO3H3uUTZC4DAHnKz5thcTUfTrT7tc9Y8lw==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_3__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBNkRXbkwxeXlXdGJocGdl\nZXN2M3N3R0NJQlBDdnU5S2NVZlk1SjB4dENrCldzL3VkRCtyWFNQb0Vhd2o3ZXFG\naXQvcitkc0RQUEdyaEtIMGFBUzNFeW8KLS0tIDlDVHZucmsrUUJOS2prQmZRei81\nR1hVdjdUTEI2KzB6bmNqWnAyekNCRncKLNRRTQZ022ziLr5XXxMo1qMXvwOdRpXr\nzewFarEj7quuHFNKLZOakb60hcBALBZlaxQsFYO+xNP78LxgtsDAIQ==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_3__map_recipient=age1vfhyk6wmt993dezz5wjf6n3ynkd6xptv2dr0qdl6kmttev9lh5dsfjfs3h -sops_age__list_4__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWL211K3h3S1NPZm1nb1BG\nRWYza2R3OWRLMGFRNmtMRFRYSjdlUVZOc3lnCll4bGxpNVN2UFZ4ZEJnbUpxSW9D\nNFU5UTZhZVk3UlVSemVvbHZVVW16TU0KLS0tIGtnTldpM0VzcmVnMk9jOEV2c1lY\naHNOR0RYTTBNR2ozRmFod2RrWS9JdVEKgjsrRHjM/07zkVOHeTrpE49/32LOYSAQ\nw4YO0oD9G+Riv0hB+bR6K/XmvJDlfu/QOkW1PgkimIDQ7ZEnl1iiPg==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_4__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBZGN0anFIUDFtajd0V0lU\naFNiRkhNUGlqd0hLbndTd2FPN2MxcFdPdFEwClV4dXdWeU50ekpTaDBlTUZGRk9k\nTnFWQzJpcldkVXUwK21MYkdiQUwxY0EKLS0tIDRtVGhiR1RGOEZlZFU3UTR0OEVQ\nZnNKSlRlY1J5bmMzOHVHZzE1ZkQzU1kKXP6fhtgbu0AF6E9DVk1xToZOuQdK4qsa\n4Um9JVD7TXFyQPDY0WboY25S19Tod5ozPD+3h5NSc6fubrtBvaWjKQ==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_4__map_recipient=age1jwuvzyghfer7rx3qtqa4vs0gxyff0sg6pqgmqvp5zlhnpmvrkdlsdha4kx -sops_age__list_5__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsVkxWRnlxRjVqZ05kSDIv\nMlFSelhjMVJRVHpWeDlKQzQrSGxWenJmdW1rCjJiUWJZTW1yZkVUb3M1aHYwaUVI\nK0NmSGwrQ1dodzFWcXozaUFFWURuWEkKLS0tIFdteWYzQ284aWY3M2lSaDZSWVBG\ncWtxY3I5VkMwYmxYT3h1dm1yYXQyakkKW8obLgS85L7S3sSz4SNmBab34n2HPpMP\nUfwSIEBK50BwZxNikL/exYQq8N537xX/CbLR/9Z5kXjSg+aciI0cuw==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_5__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLTkRWanl5RVNTTzFXV0FE\nTzFxOElCS3haSlM4QUhmenVXTmR1T0JVMm4wCnFIN2xLNktQY2dWNTJ2dGJ6SjVr\nNUxwZ0kzc3JRZml2ZWpQVVR2dTh3K0UKLS0tIDdXb1kyL1h4eFBNRjByT0hhcWNJ\nYlRvTy94cWlZRTZWQ2NkbTdsK2hqMjgKATXzpo4uJYTJu/xm3V2Vv7LHdGUhtGnD\nsR7VTx1aDeJaLqPAiuKbffOpWbKsOtAfhMrrzj21O+zjXlQoWilNIQ==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_5__map_recipient=age1pgxk292zq30wafwg03gge7hu5dlu3h7yfldp2y8kqekfaljjky7s752uwy -sops_lastmodified=2026-05-20T17:17:29Z -sops_mac=ENC[AES256_GCM,data:uCaCv8548cz57JodHdPc7UUqGpkELBQIoaJpGYivXnLFWz42C4xHBsWB/jJ5cEdSz5JrLxIJdslIpZt+hhAe7PKry+YInIficoVfU9MIzo3FQMJxkrED9wgpNmn3NWWa/S0U00z/qp6KNVmk2J7Bqt3JB6MU/y50ApVyJ7rwtvY=,iv:W0mAYXsBM4M40mTmFrz6kRjU7DE9gBaMA7TCx3JskFQ=,tag:jM1+R5/N6ZTjR7xil3hcSQ==,type:str] +sops_lastmodified=2026-06-30T14:15:13Z +sops_mac=ENC[AES256_GCM,data:BV2KMd0AX/5nf7Kj8EDU9/K9+p3zt9TYQpkM9ISxdRmZoFZRo+q3utMSuFqtr/FOZodJ9bWd+Xb1qEoKonCTX1a+HxI5/ZcqshacDsv+xij3Y9dVT1aKwjyLDSOK4OUuw77KoNNsOFaJ3eEuK5fikbvXOfvaGoQl9kerNkyVQtc=,iv:04PE88CWFm5Fi8Q5/ceYMji/meqLsHi8qnuyx5Ib0/w=,tag:f4RIG1ekfw2ogDDZGUS1aw==,type:str] sops_unencrypted_suffix=_unencrypted -sops_version=3.11.0 +sops_version=3.12.1 diff --git a/infra/dev.sh b/infra/dev.sh index e59b54fba..8a96ae2d0 100755 --- a/infra/dev.sh +++ b/infra/dev.sh @@ -3,6 +3,31 @@ set -euo pipefail cd "$(dirname "$0")/.." +# ── Auto-decrypt local env if needed ────────────────────────────────── +ENV_FILE="infra/.env.local" +ENC_FILE="infra/.env.local.enc" + +if [[ ! -f "$ENV_FILE" ]]; then + if [[ -f "$ENC_FILE" ]]; then + echo "Decrypting $ENC_FILE → $ENV_FILE ..." + if ! sops -d --input-type dotenv --output-type dotenv \ + --output "$ENV_FILE" "$ENC_FILE" 2>/dev/null; then + echo "" + echo " Decryption failed. Make sure:" + echo " 1. sops and age are installed (brew install sops age)" + echo " 2. Your age key is at ~/.config/sops/age/keys.txt" + echo " 3. Your age public key is listed in infra/.sops.yaml" + echo "" + exit 1 + fi + echo "Decrypted successfully." + else + echo "Error: $ENV_FILE not found and no $ENC_FILE to decrypt." + echo "Run: pnpm secrets:decrypt:local" + exit 1 + fi +fi + MODE="${1:-dev}" case "$MODE" in diff --git a/infra/docker-compose.dev.yml b/infra/docker-compose.dev.yml index c3511a261..50ff206de 100644 --- a/infra/docker-compose.dev.yml +++ b/infra/docker-compose.dev.yml @@ -23,6 +23,7 @@ services: PORT: 3000 DATABASE_URL: postgres://appuser:apppassword@db:5432/appdb CLOUDAMQP_URL: amqp://appuser:apppassword@rabbitmq:5672/appvhost + PUBPUB_LOCAL_COMMUNITY: demo depends_on: - db - rabbitmq @@ -86,8 +87,6 @@ services: - "${DB_PORT:-5439}:5432" networks: [appnet] - - # cron: # build: # context: .. @@ -113,4 +112,3 @@ networks: volumes: pgdata: rabbitmqdata: - diff --git a/server/kf/oidc.server.ts b/server/kf/oidc.server.ts index e145d2489..06a796e55 100644 --- a/server/kf/oidc.server.ts +++ b/server/kf/oidc.server.ts @@ -25,6 +25,7 @@ const OIDC_CLIENT_ID = process.env.OIDC_CLIENT_ID ?? 'kf_pubpub'; const OIDC_CLIENT_SECRET = process.env.OIDC_CLIENT_SECRET ?? ''; const OIDC_ORGS_CLAIM = process.env.OIDC_ORGS_CLAIM ?? 'https://knowledgefutures.org/orgs'; +const OIDC_ROLE_CLAIM = process.env.OIDC_ROLE_CLAIM ?? 'https://knowledgefutures.org/role'; const APP_URL = process.env.APP_URL ?? 'http://localhost:9876'; const REDIRECT_URI = `${APP_URL}/auth/callback`; @@ -416,6 +417,7 @@ export { OIDC_CLIENT_ID, OIDC_CLIENT_SECRET, OIDC_ORGS_CLAIM, + OIDC_ROLE_CLAIM, OIDC_ACCOUNT_URL, APP_URL, REDIRECT_URI, diff --git a/server/kf/provisionLocalUser.ts b/server/kf/provisionLocalUser.ts index 73611768d..c66fdc8cf 100644 --- a/server/kf/provisionLocalUser.ts +++ b/server/kf/provisionLocalUser.ts @@ -5,6 +5,14 @@ import { Op } from 'sequelize'; import { User } from 'server/models'; import { slugifyString } from 'utils/strings'; +import { OIDC_ROLE_CLAIM } from './oidc.server'; + +type UserInfoFields = Partial< + Pick & { + [key: string]: unknown; + } +>; + /** * Look up the local PubPub `User` row that corresponds to a kf-auth subject, * auto-creating it from kf-auth userinfo on first contact. @@ -18,12 +26,17 @@ import { slugifyString } from 'utils/strings'; */ export async function provisionLocalUser( kfUserId: string, - userInfo: Partial< - Pick - >, + userInfo: UserInfoFields, ): Promise> { + const isSuperAdmin = userInfo[OIDC_ROLE_CLAIM] === 'admin'; + const existing = await User.findOne({ where: { id: kfUserId } }); - if (existing) return existing; + if (existing) { + if (existing.isSuperAdmin !== isSuperAdmin) { + await existing.update({ isSuperAdmin }); + } + return existing; + } const firstName = (userInfo.given_name || userInfo.name || 'New').trim(); const lastName = (userInfo.family_name || 'User').trim(); @@ -57,6 +70,7 @@ export async function provisionLocalUser( initials, email, avatar: userInfo.picture || null, + isSuperAdmin, hash: '', salt: '', } as any); diff --git a/server/seed.ts b/server/seed.ts new file mode 100644 index 000000000..f5a06f311 --- /dev/null +++ b/server/seed.ts @@ -0,0 +1,107 @@ +import crypto from 'crypto'; + +import { Community, FeatureFlag, FeatureFlagCommunity, Page, SpamTag } from './models'; + +const DEMO_SUBDOMAIN = 'demo'; + +export async function seedDevData() { + if (process.env.NODE_ENV === 'production') return; + + const existing = await Community.findOne({ + where: { subdomain: DEMO_SUBDOMAIN }, + attributes: ['id'], + }); + if (existing) return; + + console.log('[seed] Creating demo community...'); + + const communityId = crypto.randomUUID(); + const homePageId = crypto.randomUUID(); + + try { + const customFeatureFlag = await FeatureFlag.create({ + id: crypto.randomUUID(), + name: 'customScripts', + }); + + const spamTag = await SpamTag.create({ + id: crypto.randomUUID(), + status: 'confirmed-not-spam', + fields: {}, + spamScore: 0, + + spamScoreComputedAt: new Date(), + spamScoreVersion: 1, + }); + await Community.create( + { + id: communityId, + subdomain: DEMO_SUBDOMAIN, + title: 'Demo Community', + description: 'Local development community', + heroTitle: 'Demo Community', + heroText: 'Welcome to your local PubPub development environment.', + accentColorLight: '#ffffff', + accentColorDark: '#112233', + navigation: [{ type: 'page', id: homePageId }], + hideCreatePubButton: false, + spamTagId: spamTag.id, + }, + { hooks: false }, + ); + await FeatureFlagCommunity.create({ + id: crypto.randomUUID(), + featureFlagId: customFeatureFlag.id, + communityId, + enabled: true, + }); + + await Page.create({ + id: homePageId, + title: 'Home', + slug: '', + communityId, + isPublic: true, + layout: [ + { + id: crypto.randomUUID().slice(0, 8), + type: 'text', + content: { + text: { + type: 'doc', + attrs: { meta: {} }, + content: [ + { + type: 'heading', + attrs: { level: 1, fixedId: '', id: 'welcome' }, + content: [{ type: 'text', text: 'Welcome to PubPub Dev' }], + }, + { + type: 'paragraph', + attrs: { class: null }, + content: [ + { + type: 'text', + text: 'This community was automatically created for local development. Sign in with your KF Auth account to get started.', + }, + ], + }, + ], + }, + align: 'left', + title: '', + width: 'wide', + }, + }, + ], + viewHash: crypto.randomUUID().slice(0, 8), + } as any); + + console.log('[seed] Demo community created (subdomain: demo)'); + } catch (err: any) { + if (err?.name === 'SequelizeUniqueConstraintError') { + return; + } + throw err; + } +} diff --git a/server/sequelize.ts b/server/sequelize.ts index c4c245527..f9d6767ef 100644 --- a/server/sequelize.ts +++ b/server/sequelize.ts @@ -146,5 +146,12 @@ export const sequelizeSyncPromise: Promise = // take several minutes and would delay deploys. const { createSummaryViews } = await import('server/analytics/summaryViews'); await createSummaryViews(); + + if (process.env.NODE_ENV !== 'production') { + const { seedDevData } = await import('server/seed'); + await seedDevData().catch((err) => + console.error('[seed] Failed to seed dev data:', err), + ); + } })() : Promise.resolve();