Skip to content

Instantly share code, notes, and snippets.

@LnL7
Created June 17, 2020 20:54
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LnL7/42c40d94c1fb8cce2e9b85b531beacfb to your computer and use it in GitHub Desktop.
Save LnL7/42c40d94c1fb8cce2e9b85b531beacfb to your computer and use it in GitHub Desktop.
OfBorg Configuration
{
"runner": {
"identity": "test-builder"
},
"checkout": {
"root": "/tmp/ofborg"
},
"nix": {
"system": "x86_64-linux",
"remote": "daemon",
"build_timeout_seconds": 1800
},
"rabbitmq": {
"ssl": false,
"host": "192.168.0.31",
"virtualhost": "%2f",
"username": "builder-1",
"password": "AAAAAAAAAAAAAAAAAAAAAAAA"
},
"feedback": {
"full_logs": true
}
}
{ pkgs, ... }:
{
# Management IO available at http://127.0.0.1:15672.
# Create users:
# $ rabbitmqctl add_user admin AAAAAAAAAAAAAAAAAAAAAAAA
# $ rabbitmqctl set_user_tags admin administrator
# $ rabbitmqctl add_user builder-1 AAAAAAAAAAAAAAAAAAAAAAAA
services.rabbitmq.enable = true;
services.rabbitmq.listenAddress = "0.0.0.0";
services.rabbitmq.plugins = [ "rabbitmq_management" "rabbitmq_web_stomp" ];
# Optional, if you want to test something related to the rabbitmq metrics.
systemd.services."prometheus-rabbitmq-exporter".serviceConfig.ExecStart = "${pkgs.prometheus-rabbitmq-exporter}/bin/rabbitmq_exporter";
systemd.services."prometheus-rabbitmq-exporter".wantedBy = [ "multi-user.target" ];
systemd.services."prometheus-rabbitmq-exporter".serviceConfig.DynamicUser = "yes";
systemd.services."prometheus-rabbitmq-exporter".environment.PUBLISH_PORT = "9419";
systemd.services."prometheus-rabbitmq-exporter".environment.RABBIT_CAPABILITIE = "bert,no_sort";
systemd.services."prometheus-rabbitmq-exporter".environment.RABBIT_EXPORTERS = "connections,exchange,node,queue";
systemd.services."prometheus-rabbitmq-exporter".environment.RABBIT_USER = "node-exporter";
systemd.services."prometheus-rabbitmq-exporter".environment.RABBIT_PASSWORD_FILE = "/run/keys/rabbitmq_exporter";
# Optional, forward logging to loki.
systemd.services."promtail".after = [ "loki.service" ];
systemd.services."promtail".wantedBy = [ "multi-user.target" ];
systemd.services."promtail".serviceConfig.ExecStart = "${pkgs.grafana-loki}/bin/promtail -config.file ${./promtail.yml}";
containers.ofborg.config =
{ config, pkgs, ... }:
{
systemd.services.ofborg = {
wantedBy = [ "multi-user.target" ];
path = [ pkgs.git pkgs.nix ];
environment.GIT_AUTHOR_NAME = "Ofborg";
environment.GIT_AUTHOR_EMAIL = "ofborg@nixos.org";
environment.RUST_LOG = "debug,async_std=error";
# environment.RUST_LOG_JSON = "1";
# Place config.json in /var/lib/containers/ofborg/home/ofborg/config.json.
serviceConfig.ExecStart = "${ofborg.ofborg.rs}/bin/builder /home/ofborg/config.json";
serviceConfig.User = "ofborg";
serviceConfig.Group = "ofborg";
};
users.users.ofborg = { uid = 542; group = "ofborg"; };
users.groups.ofborg = { gid = 542; };
};
}
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://127.0.0.1:3100/loki/api/v1/push
scrape_configs:
- job_name: journal
journal:
json: false
max_age: 12h
path: /var/log/journal
labels:
job: systemd-journal
relabel_configs:
- source_labels: ['__journal__systemd_unit']
target_label: 'unit'
- source_labels:
- __journal__hostname
target_label: nodename
pipeline_stages:
- match:
selector: '{unit=~"ofborg.*.service"}'
stages:
- json:
expressions:
level:
timestamp:
target:
fields:
span:
- json:
expressions:
message:
source: fields
- json:
expressions:
name:
pr:
source: span
- labels:
level:
target:
pr:
- output:
source: message
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment