tldr: Largely D major, with a short key change to G major in the bridge. Mostly diatonic chords, with the exception of a major II chord, E, that is used both as a borrowed Lydian chord and a secondary dominant V/V chord.
Ramble on Rose is in D major. The intro is based around a basic riff on the D major pentatonic scale, with an overall D – Em – D feel to it.
Most of the song uses standard diatonic chords, but there’s a major II chord, E, give a twist throughout. The presence of a major II primarily indicates one of three things. First, a major II is often, and maybe usually, a secondary dominant V/V chord that resolves to the V chord (here, A). Second, the raised note that makes the chord major instead of the diatonic minor chord (here, the G# note) is, from the perspective of the key, a #4 note. The Lydian mode is the major scale with a #4, so a major II could be considered borrowed from Lydian. Third, it could just be a passing chord, used for its chromatic connection to the chord that follows it. While I give my best take below on how it is used, it is subjective.
The verse chords are I – II – iii – IV – I – I – IV – V, or D – E – F#m – G – D – D – G – A. All diatonic except for the major II E chord. I view this E chord as borrowed from the Lydian mode because I don’t hear it as suggesting a change of direction towards the A, but rather as leading in a directional I – II – iii progression, which is a Lydian progression. And I take confirmation in this from Jerry, who often solos in D Lydian over both the D and E chords before switching to D major for the rest. Note that the non-diatonic G# note in the E chord leads naturally up a half-step to the A note in the F#m chord that follows it.
The chorus is also diatonic except for the E chord: I – IV – II – IV – I – V – I, or D – G – E – G – D – A – D. Here, I think the E chord is best characterized as a V/V with an interrupted and delayed resolution to the A. It’s as if the G – E “Ramble on Baby” teases the move to A, but then we retreat to G – D “Settle Down Easy” before the conclusion on A, followed by D. Note that this time, the tension introduced by the non-diatonic G# note is released by returning back down a half-step to the G of the G chord.
The bridge then changes key to G major, pivoting on the Bm chord, which is the iii chord in the new key. You can tell quickly because the bridge moves from Bm up a half-step to C, and the only diatonic chord pairing with a minor chord a half-step away from a major chord is iii – IV. With one caveat — it could be a mode instead of a key change. G major translates to D mixolydian, in which case the iii – IV would be a vi – bVII. But without a D chord for a while, and with a prominent G chord and no real mixolydian sound, it seems to me that the progression is iii – IV, iii – IV – I, iii – IV, before pivoting back to D major with D – A – Bm – E – A – D (and you know you’re back in D major by the A chord, which is non-diatonic to G but the V of D major). Here the E is clearly a V/V secondary dominant that directly resolves to the A.
Finally, the solo is over the chords of the main verses, and generally in D major. I made a video outlining the four layers I hear in different versions of the solo — D major pentatonic, D major full scale, chromatic notes connecting the notes of those scales, and D Lydian over the opening D – E, or just over the E. (Over the E, you could also view this as playing A major over the E chord, as A major is the parent scale of D Lydian, and A major would be the key of the E chord if it is a secondary dominant V/V chord for the A).
Video below; apologies in advance for the playing mistakes and long-windedness. Getting everything right in one take is harder than I thought it would be.