Generally, fine gravel is best for weed prevention, such as 1/4" pea gravel or breeze (decomposed granite). I would avoid 3/4” or bigger gravel for the top layer; the big gaps between rocks are a nice, friendly invitation for weeds. Fine gravel is nicer to walk on as well.
You want a layer about 4” thick for effective rock mulch. You can do a drainage layer of 2” using 3/4” or larger as the base and 2” of 1/4” on top (this is typical for paths or walkways). The pea gravel we get in bags at the local hardware stores is nice gray mountain granite, so that’s what we usually go with. If you have a decent rock supply store near you, they should have more options, though.
If you put down the appropriate depth of gravel, you don’t really need to use landscaping fabric, but you can if you want; it certainly won’t hurt. Weeds tend to grow on top of the substrate, rather than come up from below, so fabric often does little to nothing. Unless you have some existing problems with tuberous weeds deep in the soil in that area, then it might be helpful. Bindweed, for example, but I would dig out and replace the dirt in that case.
I tend to use the modular black/brown painted metal edging you can find at hardware stores, the kind with the stakes at the ends that join together. But this is really down to your personal preference and what’s available. Corten is awesome, but a little more expensive usually. Bend-a-board is a great (thick) plastic/wood composite material. You may be able to find it at landscape supply stores. Most of the edging that comes in plastic rolls from Amazon, the big box stores, etc, is awful quality (too thin, doesn't hold its shape, and is easily damaged), so I would avoid that stuff.