objective categorical abstract machine language personal data server
65
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add generate-env CLI command

futurGH 23faddda 27d7eacd

+27 -1
+1 -1
bin/dune
··· 2 2 (public_name pegasus) 3 3 (name main) 4 4 (package pegasus) 5 - (libraries pegasus dream lwt lwt_ppx) 5 + (libraries pegasus kleidos dream lwt lwt_ppx) 6 6 (preprocess 7 7 (pps lwt_ppx)))
+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 + 232 255 let print_usage () = 233 256 print_endline 234 257 @@ String.trim ··· 237 260 238 261 commands: 239 262 serve start the PDS 263 + generate-env generate required environment variables 240 264 migrate-blobs migrate all local blobs to S3 241 265 migrate-blobs <did> migrate blobs for a specific user to S3 242 266 |} ··· 246 270 match args with 247 271 | [] | ["serve"] -> 248 272 Lwt_main.run (serve ()) 273 + | ["generate-env"] -> 274 + generate_env () 249 275 | ["migrate-blobs"] -> 250 276 Lwt_main.run (migrate_blobs ()) 251 277 | ["migrate-blobs"; did] ->