Faunadb dev:固定密钥

问题描述

我正在使用开发容器,我需要一个固定的密钥。 这是我当前创建容器和数据库的脚本。

#!/usr/bin/env bash

docker pull fauna/faunadb
docker container stop faunadb || true && docker container rm faunadb || true
docker run --name faunadb -d \
        --health-cmd="faunadb-admin status" --health-interval=5s \
        -p 8443:8443 \
        -p 8084:8084 \
        fauna/faunadb
./docker/wait-for-healthy.sh faunadb 30

echo n | fauna add-endpoint http://localhost:8443/ --alias localhost --key secret
fauna create-database generator_dev --endpoint=localhost
fauna create-key generator_dev --endpoint=localhost

curl -u secret: http://localhost:8084/import --data-binary "@functions/schemas/schema.graphql"

我希望这个命令总是返回相同的密钥

fauna create-key generator_dev --endpoint=localhost

这可能吗? 我需要一个固定的秘钥,因为我需要在下一步中导入架构,所以简单的方法是拥有一个已知秘钥

任何想法都值得赞赏

解决方法

默认情况下,Fauna Dev Docker 映像使用 secret 作为根级管理密钥的秘密。这将提供您所寻求的一致性,而无需额外生成密钥。

当您创建密钥时,会使用 BCrypt 算法,并将受雪花启发的文档 ID 合并到哈希中。这意味着无法多次“生成”一致的密钥。

对于模拟生产工作负载的大多数情况,您必须创建一个新密钥,捕获返回的密钥,并在后续查询中使用该密钥。你如何做到这一点取决于你。