log_level = "warn"
[tx_index]
indexer = "null"
Setting the log_level = "warn"
isn't critical, but it does reduce disk usage
Setting indexer = "null"
will prevent your validator from running transaction indexing which is disk intensive.
The above configuration does prevent your validator from being able to query transaction and events... but that's OK you can have another node provide that. The key here is to optimize the "validator" for validating.
pruning = "everything"
[state-sync]
snapshot-interval = 0
Setting pruning = "everything"
will save space, and require your validator to sift through less data.
Setting snapshot-interval = 0
will save space, and prevent your valdiator from taking snapshots... which is disk intensive.
The above configuration does put your validator at some risk of being difficult to recover in an outage. Again, we're optimizing for validator performance, so having a hot-backup ready or a well scripted recovery can mitigate this.