several solutions
Mossberg 590 guy here and I wanted to do the same.
Here a a couple of ways:
this cost $50@gunshow:
off ebay[$45] fits aa requirments:
but i think this is what you really want:
This is a $12 led flashlight[includes batteries,strap & multi colored light filters].
The mount is a $10 - 30 mm with a black piece rubber for a spacer.
The on/off is in the tail,takes 3 aaa batteries.
Walmart has them in the sporting goods with the flashlights,make sure you get GARITY.
This is the only off the shelf that fits a 30 mm with a little bushing[old innertube]
The light emitted is perfectly round and a lite blue in color.
This is mounted on the barrel of a ruger 10/22 in a bulpup stock.
The clamp on barrel adapter is a triple 5 space mount UTG unit for an ak stlye rifle.
A laser is mounted opposite and on the bottom a shorty harris bipod[currenty on my AR15]
This is really soilid way to mount the light,so much so a bit of my plastic forearm rail on my 590 chipped off!
I got the fore arm with pistol grip from cdnn sports,inc , I dont recommend it.
The one from ebay is good,but the mount is adjustable[30mm].