microfeed customize: add a env variable in the cloudflare/github setting
microfeed customize: add a env variable in the cloudflare/github setting
·
To add this new env variable SECRET_KEY , the following should be modified as follows:
1, add this SECRET_KEY in the github ( Actions secrets · dongzhisub/microfeed (github.com)) by new Repository secrets.
2, in the generate_vars_toml.sh, to add
SECRET_KEY = "$SECRET_KEY"
3, in the sync_project_config.js file, the {name: 'SECRET_KEY', encrypted: true, required: true} line is added as follows:
const ALLOWED_VARS = [
{name: 'CLOUDFLARE_ACCOUNT_ID', encrypted: true, required: true},
{name: 'CLOUDFLARE_PROJECT_NAME', encrypted: true, required: true},
{name: 'CLOUDFLARE_API_TOKEN', encrypted: true, required: true},
{name: 'DEPLOYMENT_ENVIRONMENT', encrypted: false, required: false},
{name: 'R2_ACCESS_KEY_ID', encrypted: true, required: true},
{name: 'R2_SECRET_ACCESS_KEY', encrypted: true, required: true},
{name: 'R2_PUBLIC_BUCKET', encrypted: true, required: false},
{name: 'R2_ENDPOINT', encrypted: true, required: true},
{name: 'R2_REGION', encrypted: true, required: true},
{name: 'SECRET_KEY', encrypted: true, required: true},
{name: 'D1_DATABASE_NAME', encrypted: true, required: false},
{name: 'NODE_VERSION', encrypted: false, required: false}, // Cloudflare Pages CI needs this to use the right Node version.
{name: 'MICROFEED_VERSION', encrypted: false, required: false},
];
4, fianlly, this variable can be used in the js as follows: ( add env in the function parameters and use it as `${env.SECRET_KEY}`; )
export async function onRequestPost({ request,env }) {
const formData = await request.formData();
const password = formData.get('password');
const redirectTo = formData.get('redirectTo') || '/admin';
//const crypto = require('crypto');
// Access the secret key from environment variables
const secretKey = `${env.SECRET_KEY}`;
5, modify .dev.vars file to add the SECRET_KEY
6, modify .github/workflow/deploy.yml file to add this variable also.
SECRET_KEY: ${{ secrets.SECRET_KEY }}