Convert a Debian Microsatellite package to RPM

Microsatellites aren’t supported for organizations hosted in the EU data center.

Follow these instructions if you need to install using an RPM file instead of a Deb file.

This method may not create an RPM compatible with CentOS 7.

  1. Start a virtual machine (VM) on Google Cloud (or other host), using Ubuntu as the OS.
  2. Install Alien on the VM. Alien is software that converts Linux packages. You also need the universe repository.
    • Connect to your new VM.
    • Run the following commands:
    1
    2
    3
    
      sudo add-apt-repository universe
      sudo apt-get update
      sudo apt-get install alien
    
  3. Download the latest Satellite from https://packagecloud.io/lightstep/microsatellite.

    Replace <light-step-collector-version> with the version you are downloading, for example lightstep-collector_2019.03.04.19.38.40Z_amd64

    1
    
     wget --content-disposition https://packagecloud.io/lightstep/collector/packages/ubuntu/<ubuntu-version>/<lightstep-collector_version>.deb/download.deb
    

    The .deb file is downloaded to your home directory.

  4. Unpack the .deb file.

    Replace <light-step-collector-version> with the version you downloaded.

    1
    
     sudo alien --scripts -r -g -v lightstep-collector_<light-step-collector-version>.deb
    
  5. Change directory to the created directory and run the following commands:

    1
    2
    
     sudo sed -i 's#%dir "/"##' lightstep-collector*.spec
     sudo sed -i 's#%dir "/etc/init.d/"##' lightstep-collector*.spec
    
  6. Edit the lightstep-collector-<light-step-collector-version>.spec file as follows:
    • Replace addgroup and adduser lines with: useradd -M -r -U $USER || true

    • Replace update-rc.d and /etc/init.d/lightstep-collector restart lines with:

      1
      2
      3
      
      systemctl daemon-reload >/dev/null || true
      systemctl enable lightstep-collector || true
      systemctl restart lightstep-collector || true
      
  7. Completely remove everything between the two “Automatically added” sections inclusively.
    • Replace invoke-rc.d lightstep-collector stop line with:

      1
      
      systemctl stop lightstep-collector || exit $?
      
    • Replace the entire if [ "$1" = "purge" ] block with:

      1
      2
      3
      
      if [ "$1" = "remove" ] ; then
        systemctl disable lightstep-collector >/dev/null
      fi
      
  8. Build and install the RPM.

    Replace the buildroot with your own, and change directories to match the version and spec file you are using.

    1
    
     sudo rpmbuild --target=x86_64 --buildroot /home/<build-root>/lightstep-collector-<light-step-collector-version>/ -bb lightstep-collector-<light-step-collector-version>.spec
    
  9. Use this RPM to install your Satellite.
    • Install Satellite by running this command sudo yum install lightstep-collector-2019.03.04.19.38.40Z-2.x86_64.rpm
    • Edit the /etc/lightstep/collector.yaml file to add your Satellite key.
  10. Start the service:
    sudo service lightstep-collector start

    It should run some self diagnostic to see if it can connect to Cloud Observability.

    Stop the service by running:
    sudo service lightstep-collector stop

You can now configure your Satellite by further editing the /etc/lightstep/collector.yaml file.

Follow these instructions to further validate your installation and troubleshoot any issues.

You configure your Cloud Observability tracers to communicate with your Satellites by providing their location. If you are using a single Satellite, you provide the DNS name or IP address of that Satellite. For more than one, use the name or address of the load balancer you’ve deployed. Find out how to do that in the language-specific Quickstart guides.

By default, client libraries use secure connections. If you’ve configured your Satellites to use plainport connections, you must configure your tracer appropriately.

See also

Microsatellite configuration parameters

Updated Apr 6, 2021