I think you are just missing one line needed to create classifications from the color ramp:

<!-- language-all: pyqgis -->

    ramp_shader.classifyColorRamp()

So, your modified run() method would look like:

    def run(self):
        # not my actual file, but one which seems to reproduce the problem
        path = "/vsicurl/http://oin-hotosm.s3.amazonaws.com/59d33df023c8440011d7b26d/0/b378087a-c2a5-43a0-abec-71fcfb051150.tif"
        layer_intensity = self.iface.addRasterLayer(path, 'intensity')
    
        color_ramp = qgis.core.QgsStyle().defaultStyle().colorRamp('Viridis')
        ramp_shader = qgis.core.QgsColorRampShader(1, 255, color_ramp)
        ramp_shader.classifyColorRamp()# Add this line
        raster_shader = qgis.core.QgsRasterShader()
        raster_shader.setRasterShaderFunction(ramp_shader)
    
        renderer = qgis.core.QgsSingleBandPseudoColorRenderer(layer_intensity.dataProvider(), 1, raster_shader)
    
        layer_intensity.setRenderer(renderer)
        layer_intensity.triggerRepaint()

When I copy the logic from the method above and run directly in the QGIS Python console (after removing references to self) I get the following result:

[![enter image description here][1]][1]

A broader example involves retrieving the actual max and min values from the raster using the `bandStatistics()` method of `QgsRasterDataProvider` and passing them to the `QgsColorRampShader` constructor:

    rl = iface.activeLayer()
    prov = rl.dataProvider()
    stats = prov.bandStatistics(1, QgsRasterBandStats.All, rl.extent(), 0)
    min = stats.minimumValue
    max = stats.maximumValue
    color_ramp = QgsStyle().defaultStyle().colorRamp('Viridis')
    ramp_shader = QgsColorRampShader(min, max, color_ramp)
    ramp_shader.classifyColorRamp()# Add this line
    raster_shader = QgsRasterShader()
    raster_shader.setRasterShaderFunction(ramp_shader)
    renderer = QgsSingleBandPseudoColorRenderer(rl.dataProvider(), 1, raster_shader)
    rl.setRenderer(renderer)
    rl.triggerRepaint()

Results on a test DEM layer:

[![enter image description here][2]][2]


  [1]: https://i.sstatic.net/QcCJX.png
  [2]: https://i.sstatic.net/rigKS.png