Skip to content

Latest commit

 

History

History
76 lines (48 loc) · 2.42 KB

CONTRIBUTING.md

File metadata and controls

76 lines (48 loc) · 2.42 KB

Contributing Guide

Setting up a development environment

Using Vagrant

  1. Install vagrant as per https://developer.hashicorp.com/vagrant/downloads
  2. Configure a provider
  3. Run vagrant up and then vagrant ssh

There is a prepared Vagrant environment with microk8s set up for collection tests, for details see here.

ARM hosts (Apple M1, and so on)

You'll need to use QEMU instead of VirtualBox to use Vagrant on ARM. The following instructions will assume an M1 Mac as the host:

  1. Install QEMU: brew install qemu
  2. Install the QEMU vagrant provider: vagrant plugin install vagrant-qemu
  3. Set the default Vagrant provider to QEMU:
echo 'export VAGRANT_DEFAULT_PROVIDER=qemu' >> ~/.zshrc
source ~/.zshrc
  1. Enable SMB sharing:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist
  1. Provision the VM with the provider: vagrant up

If asked for a username and password, enter your macOS user credentials.

Using nix

  1. Install nix

    sh <(curl -L https://nixos.org/nix/install) --daemon
    
  2. Run nix-shell in the project root and wait for dependencies to be installed

  3. In order to run integration tests, you'll need the Docker daemon installed separately

Use direnv to automatically load the shell when entering the directory

  1. Install direnv You can use nix for this by running nix-env -i direnv.
  2. Hook it into your shell
  3. Run direnv allow . in the project root

Releasing guide

In order to relase, please follow the releasing guide.

Updating OpenTelemetry Collector image

Example:

make update-otc OTC_CURRENT_VERSION=0.73.0-sumo-1 OTC_NEW_VERSION=0.74.0-sumo-0

Note: this make target uses GNU sed. If you're on a Mac, see e.g. here.

You should examine the resulting changes as the automated tool can make mistakes. It's just a dummy "search and replace" under the hood.

What it does is:

  • It updates the OTC image version (for logs, metrics and traces) in the chart's values file and README file.
  • It updates the OTC image version in test files.
  • It updates the links to the documentation of OTC components, e.g. here.