serverless

command
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 3, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

README

Copy the config-sample.yaml and rename to config.yaml and fill in the values to config your usage or use the cli flags directly See config yaml and/or main.go cmd flags for more details and groupings of flags

######################################
##    Automation Step Selection     ##
######################################

# you can replace all with a comma separated list of steps to run
# e.g. only run step 7 to verify the lambda function
# or only step 9 to send the validator deposits

# STEP "1", "createSecretsAndStoreInAWS"
# STEP "2", "createInternalLambdaUser":
# STEP "3", "generateValidatorDeposits":
# STEP "4", "createLambdaFunctionKeystoresLayer":
# STEP "5", "createLambdaFunction":
# STEP "6", "createExternalLambdaUser":
# STEP "7", "verifyLambdaFunction":
# STEP "8", "createValidatorServiceRequestOnZeus":
# STEP "9", "sendValidatorDeposits":

# AUTOMATION_STEPS: set this config variable with keywords

# ACTIONS keywords
# all        - will run steps 1-9
# serverless - will run steps 1-7

# HELPERS: keywords
# use these keywords to fetch the secrets from aws secret manager and print them to the console

# getAgeEncryptionKeySecret
# getMnemonicHDWalletPasswordSecret
# getExternalLambdaAccessKeys

# updateLambdaKeystoresLayerToLatest - this will update the lambda function with the latest keystores layer, if you run createLambdaFunctionKeystoresLayer
# again it will create a new layer with the latest keystores.zip, so you need to run this to update the lambda function with the latest layer (e.g. if you want to add more keystores)
Usage:
  Validator Key Generation and AWS Lambda Serverless Setup Automation [flags]

Flags:
      --age-private-key string           AGE_PRIVKEY: age private key
      --age-public-key string            AGE_PUBKEY: age public key
      --automation-steps string          AUTOMATION_STEPS: select which steps to automate and which order, using a comma separated list of numbers. default is all steps in order (default "all")
      --aws-access-key string            AWS_ACCESS_KEY: your private aws access key, which needs permissions to create iam users, roles, policies, secrets, and lambda functions and layers 
      --aws-account-number string        AWS_ACCOUNT_NUMBER: aws account number
      --aws-automation-on                AWS_AUTOMATION: automate the entire setup process on aws, requires you provide aws credentials
      --aws-secret-key string            AWS_SECRET_KEY: your private aws secret key 
      --bearer string                    BEARER: bearer token for validator service on zeus
      --eth1-addr-priv-key string        ETH1_PRIVATE_KEY: eth1 address private key for submitting deposits
      --ext-aws-access-key string        AWS_EXTERNAL_ACCESS_KEY: external access token for validator service on zeus
      --ext-aws-age-secret-name string   AWS_AGE_DECRYPTION_SECRET_NAME: the name of the secret that holds your age decryption keys for validator service on zeus
      --ext-aws-lambda-url string        AWS_LAMBDA_FUNC_URL: your lambda func url for validator service on zeus
      --ext-aws-secret-key string        AWS_EXTERNAL_SECRET_KEY: external secret token for validator service on zeus
      --fee-recipient string             FEE_RECIPIENT_ADDR: fee recipient address for validators service on zeus
      --hd-offset int                    HD_OFFSET_VALIDATORS: offset to start generating keys from hd wallet
      --hd-wallet-pw string              HD_WALLET_PASSWORD: hd wallet password (default is a randomly generated string)
  -h, --help                             help for Validator
      --key-group-name string            KEY_GROUP_NAME: name for validator service group on zeus
      --keygen                           KEYGEN_SECRETS: generates secrets for validator encryption and generation (default true)
      --keygen-validators                KEYGEN_VALIDATORS: generates validator deposits, with additional encrypted age keystore (default true)
      --keystores-dir-in string          KEYSTORE_DIR_IN: keystores directory in location (relative to builds dir) (default "./serverless/keystores")
      --keystores-dir-out string         KEYSTORE_DIR_OUT: keystores directory out location (relative to builds dir) (default "./serverless/keystores")
      --mnemonic string                  MNEMONIC_24_WORDS: twenty four word mnemonic to generate keystores
      --network string                   NETWORK: network to run on mainnet, goerli, ephemery, etc (default "ephemery")
      --node-url string                  NODE_URL: beacon for getting network data for validator deposit generation & submitting deposits (default "https://eth.ephemeral.zeus.fyi")
      --submit-deposits                  SUBMIT_DEPOSITS: submits validator deposits in keystore directory to the network for activation
      --submit-validator-service-req     SUBMIT_SERVICE_REQUEST: sends a request to zeus to setup a validator service
      --validator-count int              VALIDATORS_COUNT: number of keys to generate 

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL