objective categorical abstract machine language personal data server

generate-env -> gen-keys, move to its own binary

futur.blue 3c0694da 23faddda

verified
+28 -26
+1
Dockerfile
··· 31 31 RUN apt-get update && apt-get install -y libev-dev libffi-dev libgmp-dev libssl-dev libsqlite3-dev libpcre3-dev pkg-config 32 32 33 33 COPY --from=build /home/opam/pegasus/_build/default/bin/main.exe /bin/pegasus 34 + COPY --from=build /home/opam/pegasus/_build/default/bin/gen_keys.exe /bin/gen-keys 34 35 35 36 ENTRYPOINT ["/bin/pegasus"]
+6
bin/dune
··· 5 5 (libraries pegasus kleidos dream lwt lwt_ppx) 6 6 (preprocess 7 7 (pps lwt_ppx))) 8 + 9 + (executable 10 + (public_name gen-keys) 11 + (name gen_keys) 12 + (package pegasus) 13 + (libraries kleidos mirage-crypto-rng mirage-crypto-rng.unix base64))
+19
bin/gen_keys.ml
··· 1 + let () = 2 + Mirage_crypto_rng_unix.use_default () ; 3 + let rotation_key = 4 + Kleidos.K256.(generate_keypair () |> fst |> privkey_to_multikey) 5 + in 6 + let jwt_key = 7 + Kleidos.K256.(generate_keypair () |> fst |> privkey_to_multikey) 8 + in 9 + let dpop_nonce_secret = 10 + Base64.(encode ~alphabet:uri_safe_alphabet ~pad:false) 11 + (Mirage_crypto_rng_unix.getrandom 32) 12 + |> Result.get_ok 13 + in 14 + Printf.printf 15 + {|PDS_ROTATION_KEY_MULTIBASE=%s 16 + PDS_JWK_MULTIBASE=%s 17 + PDS_DPOP_NONCE_SECRET=%s 18 + |} 19 + rotation_key jwt_key dpop_nonce_secret
+2 -26
bin/main.ml
··· 229 229 print_endline "migrating all blobs to S3" ; 230 230 S3.Blob_migration.migrate_all () 231 231 232 - let generate_env () = 233 - let rotation_key = 234 - Kleidos.K256.(generate_keypair () |> fst |> privkey_to_multikey) 235 - in 236 - let jwt_key = 237 - Kleidos.K256.(generate_keypair () |> fst |> privkey_to_multikey) 238 - in 239 - let dpop_nonce_secret = 240 - Base64.(encode ~alphabet:uri_safe_alphabet ~pad:false) 241 - (Mirage_crypto_rng_unix.getrandom 32) 242 - |> Result.get_ok 243 - in 244 - print_endline 245 - @@ Printf.ksprintf String.trim 246 - {| 247 - environment variables generated: 248 - 249 - PDS_ROTATION_KEY_MULTIBASE=%s 250 - PDS_JWK_MULTIBASE=%s 251 - PDS_DPOP_NONCE_SECRET=%s 252 - |} 253 - rotation_key jwt_key dpop_nonce_secret 254 - 255 232 let print_usage () = 256 233 print_endline 257 234 @@ String.trim ··· 260 237 261 238 commands: 262 239 serve start the PDS 263 - generate-env generate required environment variables 264 240 migrate-blobs migrate all local blobs to S3 265 241 migrate-blobs <did> migrate blobs for a specific user to S3 242 + 243 + see also: gen-keys 266 244 |} 267 245 268 246 let () = ··· 270 248 match args with 271 249 | [] | ["serve"] -> 272 250 Lwt_main.run (serve ()) 273 - | ["generate-env"] -> 274 - generate_env () 275 251 | ["migrate-blobs"] -> 276 252 Lwt_main.run (migrate_blobs ()) 277 253 | ["migrate-blobs"; did] ->