We are updating the marketplace: tell us how better?

We are updating the marketplace: tell us how better?

This year we set ourselves ambitious goals for product improvement.

Some tasks require serious preparation, for which we collect feedback from users: we invite developers, system administrators, team leaders, and Kubernetes specialists to the office.

In some, we give out servers in response to feedback, as for example it was with Blurred Education students. We have very busy chats with UI/UX discussions, a backlog of tutorial articles in the guide, and big plans to improve the user experience.

Most of the changes require a large number of development hours, but marketplace is a completely different story. With the advent of snapshots, we have the opportunity to involve external system administrators who can prepare an image so that we can include it in the marketplace literally in a day.

How to contribute to marketplace RUVDS and what it will be, we will show on the example of our new image prepared by our client takezi β€” GitLab

How the Gitlab template was created on Centos 8

To install Gitlab, Yura chose a server with 8 GB of RAM and 2 CPU cores (you can use 4 GB and 1 CPU, but in this case you will have to use a swap file, and Gitlab performance in this case is noticeably lower.

We are updating the marketplace: tell us how better?

Let's make sure that the necessary packages for installing Gitlab are installed:

sudo dnf install -y curl policycoreutils

Let's open access to ports 80 and 443:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

Let's add the Gitlab repository:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

If the server has a configured DNS name, then Gitlab can be installed using that. If you specify the https:// prefix, Gitlab will automatically generate Lets Encrypt certificates.

In our case, since Since we made a template for a virtual machine, Yura set a template address (which can then be changed without problems in the future):

sudo EXTERNAL_URL="http://0.0.0.0" dnf install -y gitlab-ee

After that, you can check that the Gitlab services are running by going to

http://vps_ip_address/

the system will prompt you to set an initial password for the root administrator account.

At this stage, we will make a snapshot of the server, and then we will already configure using it.

We are updating the marketplace: tell us how better?

And yet!

Bonus: we will tell you what you can do interesting by deploying virtual machine with a GitLab image.

Monitoring Gitlab with Grafana

Three years ago, the Gitlab team implemented a monitoring system to manage a huge amount of metrics related to Gitlab services.

Since then, Gitlab has been shipping its installation package with Prometheus to enable its users to take advantage of the monitoring capabilities provided by Prometheus.

Prometheus is an open source (Apache 2.0) time series DBMS written in Go and originally developed by SoundCloud. In other words, this thing stores your metrics. An interesting feature of Prometheus is that it pulls metrics from a given set of services (does a pull). Due to this, Prometheus cannot get any queues or something like that, which means that monitoring will never become a bottleneck in the system. The project is also interesting in that it fundamentally does not offer any horizontal scaling or high availability.

A little over a year ago, the Gitlab team concluded that metrics are not very useful without dashboards. So they integrated Grafana with customized dashboards to help their users visualize data without having to install Grafana manually.

Since version 12.0, Gitlab has Grafana integrated, configured with SSO by default, and available at this URL.

There are two different parts of the Gitlab integration with Prometheus:

  • GitLab Monitoring (Omnibus)
  • Monitoring Individual GitLab Applications in a Kubernetes Cluster

How to use it

β€œOmnibus” is what GitLab calls its main installation package.

We are updating the marketplace: tell us how better?

How to set up Grafana

Login with login and password in Grafana is disabled by default (only SSO login is allowed), but if there is a need to log in to an account with administrator rights or be able to login with login and password, you need to enable this in the Gitlab configuration file /etc/gitlab/gitlab .rb by editing the appropriate line:

grafana['disable_login_form'] = false

And reconfigure Gitlab to apply the changes:

sudo gitlab-ctl reconfigure

In case you started Gitlab using our virtual machine template from our marketplace, you need to assign your URL to the server by changing the corresponding line in /etc/gitlab/gitlab.rb:

external_url = 'http://gitlab.mydomain.ru'

Perform reconfiguration:

sudo gitlab-ctl reconfigure

And change Redirect URI for Grafana accordingly in

Admin Area > Applications > GitLab Grafana

gitlab.mydomain.ru/-/grafana/login/gitlab

We are updating the marketplace: tell us how better?

The first time you log in using SSO, Gitlab will ask you for permission to log in to Grafana.

We are updating the marketplace: tell us how better?

Metrics

In Grafana, ready-made dashboards of the main services are configured and available in the Gitlab Omnibus category.

We are updating the marketplace: tell us how better?
Overview dashboard

We are updating the marketplace: tell us how better?
Service Platform Metrics Dashboard

  • Overview - an overview dashboard showing the status of services, queues and server resource usage
  • Gitaly - service monitoring providing RPC access to Gitlab repositories
  • NGINX VTS - statistics on service traffic and HTTP codes per request
  • PostgreSQL - statistics on availability and load on the PostgreSQL database
  • Praefect - High Availability Storage Load Monitoring Praefect
  • Rails App - Overview Dashboard for Rails Applications
  • Redis - monitoring the load on the Redis service
  • Registry - image registry monitoring
  • Service Platform Metrics - service metrics showing Gitlab's resource utilization, service availability, number of RPC requests, and number of errors.

The integration is quite complex and Gitlab users have the ability to analyze visualized Gitlab metrics right out of the box.

At Gitlab, dashboards are maintained and updated by a separate team, and according to Ben Kochie, Gitlab SRE Engineer, the default settings and prepared dashboards will suit most users.

And now the main thing: let's make a marketplace together

We want to invite the entire Habr community to participate in the creation of a marketplace. There are three options for how you can join:

Prepare the image yourself and get 3000 rubles on your balance

If you are ready to immediately rush into battle and create the image that you lack yourself, we will credit you with 3000 rubles to your internal balance - you can spend it on servers.

How to create your image:

  1. Create an account with us Online
  2. Tell support that you are going to create and test images
  3. We will credit you 3000 rubles and enable the ability to create snapshots
  4. Order a virtual server with a clean operating system
  5. Install the software on this VPS and set it up
  6. Write instructions or script for software deployment
  7. Create a snapshot for the configured server
  8. Order a new virtual server by selecting the previously created snapshot in the "Server template" drop-down list
  9. In case of successful creation of the server, transfer the materials received at step 6 to technical support
  10. In case of an error, you can check with support for the reason and repeat the setup

For business owners: offer your software

If you are a software developer that is deployed and used on a VPS, then we can include you in the marketplace. This is how we can help you bring in new customers, traffic and visibility. Write to us

Just suggest us an image in the comments

Write, what kind of software would you like to be able to deploy virtual machines in one click?

What do you miss in the RUVDS marketplace?

What should every self-respecting hosting company include in their marketplace?

We are updating the marketplace: tell us how better?

We are updating the marketplace: tell us how better?

Only registered users can participate in the survey. Sign in, you are welcome.

What images should we include in the marketplace first?

  • 50,0%LEMP10

  • 15,0%Drupal3

  • 10,0%Joomla2

  • 5,0%Dokku1

  • 0,0%PacVim0

  • 0,0%Runcloud0

  • 5,0%code-server1

  • 15,0%Ghost3

  • 5,0%WikiJs1

  • 0,0%Discourse0

  • 0,0%Rstudio0

  • 5,0%opencart1

  • 35,0%Django7

  • 40,0%Laravel8

  • 20,0%Ruby on Rails4

  • 55,0%NodeJs11

20 users voted. 12 users abstained.

Source: habr.com

Add a comment