WARN[0000] Your Skaffold version might be too old. Download the latest version (1.0.1) at https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64

Problem

You would like to follow the example for working with skaffold by using the skaffold dev command but you are getting the following error:

kosmas:getting-started (master)$ skaffold dev
WARN[0000] Your Skaffold version might be too old. Download the latest version (1.0.1) at https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64 

Solution

Download the latest release from here https://github.com/GoogleContainerTools/skaffold/releases and follow the instructions for installing it in your system (ie linux):

 curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v1.0.1/skaffold-linux-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin

Using nginx to redirect to a different port

Problem

You have a docker container with an application running in a port different than port 80 (ie port 3000), and would like to access it without specifying the port, by using the domain name only.

Solution

Use the nginx proxy_pass as follows:

server {
  listen 80;

  server_name your_server_domain_name.com;
  location / {
    proxy_set_header  X-Real-IP $remote_addr;
    proxy_set_header  Host $http_host;
    proxy_pass        http://127.0.0.1:3000;
  }
}

Removing DEFINER from MySQL < 5.7 dump files

Problem

You are using the dump files from MySQL (earlier version than 5.7), that outputs the DEFINER keyword in Functions and Views, which causes en error when trying to import in a different database that the users do not exist.

Solution

Use the following in your database dump to remove these keywords:

For FUNCTIONS

sed -i 's/DEFINER=\S*\sFUNCTION/FUNCTION/' mysql_dump

For VIEWS

sed -i '/50013\sDEFINER/d' mysql_dump

Problems using snap autossh

Problem

You would like to use autossh to keep a connection open (ie database) between two hosts, but while the ssh equivalent command to start a tunnel works, the autossh does not.

You might be seeing the following errors (using AUTOSSH_DEBUG=1):

autossh[7471]: ssh exited prematurely with status 255; autossh exiting

or if you look at /var/logs/syslog you could also see entries like the following:

 apparmor="DENIED" operation="open" profile="snap.autossh.autossh" name="/home/autossh/.ssh/id_rsa.pub" pid=7447 comm="ssh" requested_mask="r" denied_mask="r" fsuid=1002 ouid=1002

Solution

You have used snap to install autossh which is not allowed by apparmor.

Remove the snap package and install autossh as a normal debian package:

sudo snap remove autossh
sudo apt install autossh

Connect your Shivr bluetooth headphones in Linux

To connect your new Shivr headphones but it would probably work with other bluetooth headphones too, find the MAC address from your headphones (by connection with an Android device first) and do the following from the command line:

sudo apt install bluez-tools
bt-device -l (that will list the available devices)
bt-device -c AA:11:22:33:44:BB

and make sure you change your Music Player Daemon Output (Audio Volume Settings -> Applications) settings to use your new headphones.

Setup your own gitlab runner

To add your own gitlab runner, follow the steps below

  • Create your runner, in EC2, Google, or any other cloud provider and have ssh access to it.
  • Login to your runner from the previous step and install the gitlab-runner (there are various methods described here: https://docs.gitlab.com/runner/install/. We install using Gitlab’s repositories)
  • Register the gitlab-runner by following the instructions here: https://docs.gitlab.com/runner/register/index.html . You would need to get the token for each project you want to register your runner with (Gitlab -> Settings -> CI/CD -> Runners -> Expand). You can use different executors for your running during the registration such as docker, shell etc.
  • Go to your Gitlab project and find the runner you register above and enable it for the project. You should also add the tags: name_of_your_runner in your .gitlab-ci.yml file.