github.com/kotalco/kotal@v0.3.0/config/crd/bases/ethereum.kotal.io_nodes.yaml (about)

     1  ---
     2  apiVersion: apiextensions.k8s.io/v1
     3  kind: CustomResourceDefinition
     4  metadata:
     5    annotations:
     6      controller-gen.kubebuilder.io/version: v0.8.0
     7    creationTimestamp: null
     8    name: nodes.ethereum.kotal.io
     9  spec:
    10    group: ethereum.kotal.io
    11    names:
    12      kind: Node
    13      listKind: NodeList
    14      plural: nodes
    15      singular: node
    16    scope: Namespaced
    17    versions:
    18    - additionalPrinterColumns:
    19      - jsonPath: .spec.client
    20        name: Client
    21        type: string
    22      - jsonPath: .status.consensus
    23        name: Consensus
    24        type: string
    25      - jsonPath: .status.network
    26        name: Network
    27        type: string
    28      - jsonPath: .status.enodeURL
    29        name: enodeURL
    30        priority: 10
    31        type: string
    32      name: v1alpha1
    33      schema:
    34        openAPIV3Schema:
    35          description: Node is the Schema for the nodes API
    36          properties:
    37            apiVersion:
    38              description: 'APIVersion defines the versioned schema of this representation
    39                of an object. Servers should convert recognized schemas to the latest
    40                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    41              type: string
    42            kind:
    43              description: 'Kind is a string value representing the REST resource this
    44                object represents. Servers may infer this from the endpoint the client
    45                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    46              type: string
    47            metadata:
    48              type: object
    49            spec:
    50              description: NodeSpec is the specification of the node
    51              properties:
    52                bootnodes:
    53                  description: Bootnodes is set of ethereum node URLS for p2p discovery
    54                    bootstrap
    55                  items:
    56                    description: Enode is ethereum node url
    57                    type: string
    58                  type: array
    59                  x-kubernetes-list-type: set
    60                client:
    61                  description: Client is ethereum client running on the node
    62                  enum:
    63                  - besu
    64                  - geth
    65                  - nethermind
    66                  type: string
    67                coinbase:
    68                  description: Coinbase is the account to which mining rewards are paid
    69                  pattern: ^0[xX][0-9a-fA-F]{40}$
    70                  type: string
    71                corsDomains:
    72                  description: CORSDomains is the domains from which to accept cross
    73                    origin requests
    74                  items:
    75                    type: string
    76                  type: array
    77                  x-kubernetes-list-type: set
    78                engine:
    79                  description: Engine enables authenticated Engine RPC APIs
    80                  type: boolean
    81                enginePort:
    82                  description: EnginePort is engine authenticated RPC APIs port
    83                  type: integer
    84                extraArgs:
    85                  additionalProperties:
    86                    type: string
    87                  description: ExtraArgs is extra arguments to pass down to the cli
    88                  type: object
    89                genesis:
    90                  description: Genesis is genesis block configuration
    91                  properties:
    92                    accounts:
    93                      description: Accounts is array of accounts to fund or associate
    94                        with code and storage
    95                      items:
    96                        description: Account is Ethereum account
    97                        properties:
    98                          address:
    99                            description: Address is account address
   100                            pattern: ^0[xX][0-9a-fA-F]{40}$
   101                            type: string
   102                          balance:
   103                            description: Balance is account balance in wei
   104                            pattern: ^0[xX][0-9a-fA-F]+$
   105                            type: string
   106                          code:
   107                            description: Code is account contract byte code
   108                            pattern: ^0[xX][0-9a-fA-F]+$
   109                            type: string
   110                          storage:
   111                            additionalProperties:
   112                              description: HexString is String in hexadecial format
   113                              pattern: ^0[xX][0-9a-fA-F]+$
   114                              type: string
   115                            description: Storage is account contract storage as key
   116                              value pair
   117                            type: object
   118                        required:
   119                        - address
   120                        type: object
   121                      type: array
   122                    chainId:
   123                      description: ChainID is the the chain ID used in transaction signature
   124                        to prevent reply attack more details https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md
   125                      type: integer
   126                    clique:
   127                      description: Clique PoA engine cinfiguration
   128                      properties:
   129                        blockPeriod:
   130                          description: BlockPeriod is block time in seconds
   131                          type: integer
   132                        epochLength:
   133                          description: EpochLength is the Number of blocks after which
   134                            to reset all votes
   135                          type: integer
   136                        signers:
   137                          description: Signers are PoA initial signers, at least one
   138                            signer is required
   139                          items:
   140                            description: EthereumAddress is ethereum address
   141                            pattern: ^0[xX][0-9a-fA-F]{40}$
   142                            type: string
   143                          minItems: 1
   144                          type: array
   145                      type: object
   146                    coinbase:
   147                      description: Address to pay mining rewards to
   148                      pattern: ^0[xX][0-9a-fA-F]{40}$
   149                      type: string
   150                    difficulty:
   151                      description: Difficulty is the diffculty of the genesis block
   152                      pattern: ^0[xX][0-9a-fA-F]+$
   153                      type: string
   154                    ethash:
   155                      description: Ethash PoW engine configuration
   156                      properties:
   157                        fixedDifficulty:
   158                          description: FixedDifficulty is fixed difficulty to be used
   159                            in private PoW networks
   160                          type: integer
   161                      type: object
   162                    forks:
   163                      description: Forks is supported forks (network upgrade) and corresponding
   164                        block number
   165                      properties:
   166                        arrowGlacier:
   167                          description: ArrowGlacier fork
   168                          type: integer
   169                        berlin:
   170                          description: Berlin fork
   171                          type: integer
   172                        byzantium:
   173                          description: Byzantium fork
   174                          type: integer
   175                        constantinople:
   176                          description: Constantinople fork
   177                          type: integer
   178                        dao:
   179                          description: DAO fork
   180                          type: integer
   181                        eip150:
   182                          description: EIP150 (Tangerine Whistle) fork
   183                          type: integer
   184                        eip155:
   185                          description: EIP155 (Spurious Dragon) fork
   186                          type: integer
   187                        eip158:
   188                          description: EIP158 (state trie clearing) fork
   189                          type: integer
   190                        homestead:
   191                          description: Homestead fork
   192                          type: integer
   193                        istanbul:
   194                          description: Istanbul fork
   195                          type: integer
   196                        london:
   197                          description: London fork
   198                          type: integer
   199                        muirglacier:
   200                          description: MuirGlacier fork
   201                          type: integer
   202                        petersburg:
   203                          description: Petersburg fork
   204                          type: integer
   205                      type: object
   206                    gasLimit:
   207                      description: GastLimit is the total gas limit for all transactions
   208                        in a block
   209                      pattern: ^0[xX][0-9a-fA-F]+$
   210                      type: string
   211                    ibft2:
   212                      description: IBFT2 PoA engine configuration
   213                      properties:
   214                        blockPeriod:
   215                          description: BlockPeriod is block time in seconds
   216                          type: integer
   217                        duplicateMessageLimit:
   218                          description: DuplicateMessageLimit is duplicate messages limit
   219                          type: integer
   220                        epochLength:
   221                          description: EpochLength is the Number of blocks after which
   222                            to reset all votes
   223                          type: integer
   224                        futureMessagesLimit:
   225                          description: futureMessagesLimit is future messages buffer
   226                            limit
   227                          type: integer
   228                        futureMessagesMaxDistance:
   229                          description: FutureMessagesMaxDistance is maximum height from
   230                            current chain height for buffering future messages
   231                          type: integer
   232                        messageQueueLimit:
   233                          description: MessageQueueLimit is the message queue limit
   234                          type: integer
   235                        requestTimeout:
   236                          description: RequestTimeout is the timeout for each consensus
   237                            round in seconds
   238                          type: integer
   239                        validators:
   240                          description: Validators are initial ibft2 validators
   241                          items:
   242                            description: EthereumAddress is ethereum address
   243                            pattern: ^0[xX][0-9a-fA-F]{40}$
   244                            type: string
   245                          minItems: 1
   246                          type: array
   247                      type: object
   248                    mixHash:
   249                      description: MixHash is hash combined with nonce to prove effort
   250                        spent to create block
   251                      pattern: ^0[xX][0-9a-fA-F]{64}$
   252                      type: string
   253                    networkId:
   254                      description: NetworkID is network id
   255                      type: integer
   256                    nonce:
   257                      description: Nonce is random number used in block computation
   258                      pattern: ^0[xX][0-9a-fA-F]+$
   259                      type: string
   260                    timestamp:
   261                      description: Timestamp is block creation date
   262                      pattern: ^0[xX][0-9a-fA-F]+$
   263                      type: string
   264                  required:
   265                  - chainId
   266                  - networkId
   267                  type: object
   268                graphql:
   269                  description: GraphQL is whether GraphQL server is enabled or not
   270                  type: boolean
   271                graphqlPort:
   272                  description: GraphQLPort is the GraphQL server listening port
   273                  type: integer
   274                hosts:
   275                  description: Hosts is a list of hostnames to to whitelist for RPC
   276                    access
   277                  items:
   278                    type: string
   279                  type: array
   280                  x-kubernetes-list-type: set
   281                image:
   282                  description: Image is Ethereum node client image
   283                  type: string
   284                import:
   285                  description: import is account to import
   286                  properties:
   287                    passwordSecretName:
   288                      description: PasswordSecretName is the secret holding password
   289                        used to encrypt account private key
   290                      type: string
   291                    privateKeySecretName:
   292                      description: PrivateKeySecretName is the secret name holding account
   293                        private key
   294                      type: string
   295                  required:
   296                  - passwordSecretName
   297                  - privateKeySecretName
   298                  type: object
   299                jwtSecretName:
   300                  description: JWTSecretName is kubernetes secret name holding JWT secret
   301                  type: string
   302                logging:
   303                  description: Logging is logging verboisty level
   304                  enum:
   305                  - "off"
   306                  - fatal
   307                  - error
   308                  - warn
   309                  - info
   310                  - debug
   311                  - trace
   312                  - all
   313                  type: string
   314                miner:
   315                  description: Miner is whether node is mining/validating blocks or
   316                    no
   317                  type: boolean
   318                network:
   319                  description: Network specifies the network to join
   320                  type: string
   321                nodePrivateKeySecretName:
   322                  description: NodePrivateKeySecretName is the secret name holding node
   323                    private key
   324                  type: string
   325                p2pPort:
   326                  description: P2PPort is port used for peer to peer communication
   327                  type: integer
   328                replicas:
   329                  description: Replicas is number of replicas
   330                  enum:
   331                  - 0
   332                  - 1
   333                  type: integer
   334                resources:
   335                  description: Resources is node compute and storage resources
   336                  properties:
   337                    cpu:
   338                      description: CPU is cpu cores the node requires
   339                      pattern: ^[1-9][0-9]*m?$
   340                      type: string
   341                    cpuLimit:
   342                      description: CPULimit is cpu cores the node is limited to
   343                      pattern: ^[1-9][0-9]*m?$
   344                      type: string
   345                    memory:
   346                      description: Memory is memmory requirements
   347                      pattern: ^[1-9][0-9]*[KMGTPE]i$
   348                      type: string
   349                    memoryLimit:
   350                      description: MemoryLimit is cpu cores the node is limited to
   351                      pattern: ^[1-9][0-9]*[KMGTPE]i$
   352                      type: string
   353                    storage:
   354                      description: Storage is disk space storage requirements
   355                      pattern: ^[1-9][0-9]*[KMGTPE]i$
   356                      type: string
   357                    storageClass:
   358                      description: StorageClass is the volume storage class
   359                      type: string
   360                  type: object
   361                rpc:
   362                  description: RPC is whether HTTP-RPC server is enabled or not
   363                  type: boolean
   364                rpcAPI:
   365                  description: RPCAPI is a list of rpc services to enable
   366                  items:
   367                    description: API is RPC API to be exposed by RPC or web socket server
   368                    enum:
   369                    - admin
   370                    - clique
   371                    - debug
   372                    - eea
   373                    - eth
   374                    - ibft
   375                    - miner
   376                    - net
   377                    - perm
   378                    - plugins
   379                    - priv
   380                    - txpool
   381                    - web3
   382                    type: string
   383                  type: array
   384                  x-kubernetes-list-type: set
   385                rpcPort:
   386                  description: RPCPort is HTTP-RPC server listening port
   387                  type: integer
   388                staticNodes:
   389                  description: StaticNodes is a set of ethereum nodes to maintain connection
   390                    to
   391                  items:
   392                    description: Enode is ethereum node url
   393                    type: string
   394                  type: array
   395                  x-kubernetes-list-type: set
   396                syncMode:
   397                  description: SyncMode is the node synchronization mode
   398                  enum:
   399                  - fast
   400                  - full
   401                  - light
   402                  - snap
   403                  type: string
   404                ws:
   405                  description: WS is whether web socket server is enabled or not
   406                  type: boolean
   407                wsAPI:
   408                  description: WSAPI is a list of WS services to enable
   409                  items:
   410                    description: API is RPC API to be exposed by RPC or web socket server
   411                    enum:
   412                    - admin
   413                    - clique
   414                    - debug
   415                    - eea
   416                    - eth
   417                    - ibft
   418                    - miner
   419                    - net
   420                    - perm
   421                    - plugins
   422                    - priv
   423                    - txpool
   424                    - web3
   425                    type: string
   426                  type: array
   427                  x-kubernetes-list-type: set
   428                wsPort:
   429                  description: WSPort is the web socket server listening port
   430                  type: integer
   431              required:
   432              - client
   433              type: object
   434            status:
   435              description: NodeStatus defines the observed state of Node
   436              properties:
   437                consensus:
   438                  description: Consensus is network consensus algorithm
   439                  type: string
   440                enodeURL:
   441                  description: EnodeURL is the node URL
   442                  type: string
   443                network:
   444                  description: Network is the network this node is joining
   445                  type: string
   446              type: object
   447          type: object
   448      served: true
   449      storage: true
   450      subresources:
   451        status: {}
   452  status:
   453    acceptedNames:
   454      kind: ""
   455      plural: ""
   456    conditions: []
   457    storedVersions: []