@neolution-ch/next-with-google-secrets
starts your next application with predefined mapped google secrets in the config.
Name | Required | Description | Default |
---|---|---|---|
projectName | ✔️ | Specifies which project the secrets are read from. | null |
mapping | ✔️ | Records<string, string> to map the secrets to configuration keys | null |
filter | ❌ | A server side filter forwarded to the google api according to https://cloud.google.com/secret-manager/docs/filtering | null |
filterFn | ❌ | A filter function that will be run after the secrets are read from google (client side filtering). Supplies the Google.Cloud.SecretManager.V1.Secret as parameter and the name. If returned true the secret will be processed otherwise it will be ignored. |
{secret, name} => true |
versions | ❌ | By default the latest version of each secret is taken. But you can specify a specific version in the form of a records. Key is the secret id and value is the version to take. For example: {MySecretId: "2"} |
null |
npm install @neolution-ch/next-with-google-secrets
or
yarn add @neolution-ch/next-with-google-secrets
then use the available function in your next.config.js
like this:
...
const { withGoogleSecrets } = require("@neolution-ch/next-with-google-secrets");
...
module.export = () =>
withGoogleSecrets({
projectName: "projects/your-gcp-project-name",
mapping: { YourSecretName: "serverRuntimeConfig__yourConfigKeyYouWantToOverwrite", }
nextConfig: YourCurrentNextConfiguration....
});
now if you configured everything correctly, you will see this output log in your console:
WithGoogleSecrets - overritten config with gcp secret: serverRuntimeConfig__yourConfigKeyYouWantToOverwrite