docker-registry{,-proxy}.hades
This commit is contained in:
parent
30450f4750
commit
3c1556b185
4 changed files with 90 additions and 2 deletions
|
@ -111,6 +111,7 @@
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
apply-local
|
apply-local
|
||||||
colmena.packages.${system}.colmena
|
colmena.packages.${system}.colmena
|
||||||
|
cachix
|
||||||
fluxcd
|
fluxcd
|
||||||
k9s
|
k9s
|
||||||
kubectl
|
kubectl
|
||||||
|
|
|
@ -131,7 +131,6 @@
|
||||||
hostname = "docker-registry-proxy";
|
hostname = "docker-registry-proxy";
|
||||||
ip = "192.168.0.128";
|
ip = "192.168.0.128";
|
||||||
mac = "0e:11:65:62:66:9f";
|
mac = "0e:11:65:62:66:9f";
|
||||||
nix = false;
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
hostname = "hassio";
|
hostname = "hassio";
|
||||||
|
@ -143,7 +142,6 @@
|
||||||
hostname = "docker-registry";
|
hostname = "docker-registry";
|
||||||
ip = "192.168.0.130";
|
ip = "192.168.0.130";
|
||||||
mac = "5e:0e:a6:cf:64:70";
|
mac = "5e:0e:a6:cf:64:70";
|
||||||
nix = false;
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
hostname = "minecraft";
|
hostname = "minecraft";
|
||||||
|
|
40
nixos/hosts/hades/docker-registry-proxy/configuration.nix
Normal file
40
nixos/hosts/hades/docker-registry-proxy/configuration.nix
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
let vs = config.vault-secrets.secrets; in
|
||||||
|
{
|
||||||
|
system.stateVersion = "22.05";
|
||||||
|
|
||||||
|
networking.interfaces.eth0.useDHCP = true;
|
||||||
|
|
||||||
|
# the registry port and metrics port
|
||||||
|
networking.firewall.allowedTCPPorts = [ config.services.dockerRegistry.port 5001 ];
|
||||||
|
|
||||||
|
vault-secrets.secrets.docker-registry = { };
|
||||||
|
|
||||||
|
# Sets the minio user and password
|
||||||
|
systemd.services.docker-registry.serviceConfig.EnvironmentFile = "${vs.docker-registry}/environment";
|
||||||
|
|
||||||
|
services.dockerRegistry = {
|
||||||
|
enable = true;
|
||||||
|
enableDelete = true;
|
||||||
|
enableGarbageCollect = true;
|
||||||
|
listenAddress = "0.0.0.0";
|
||||||
|
storagePath = null; # We want to store in s3
|
||||||
|
garbageCollectDates = "weekly";
|
||||||
|
extraConfig = {
|
||||||
|
# S3 Storages
|
||||||
|
storage.s3 = {
|
||||||
|
regionendpoint = "https://o.xirion.net";
|
||||||
|
bucket = "docker-registry-proxy";
|
||||||
|
region = "us-east-1"; # Fake but needed
|
||||||
|
};
|
||||||
|
|
||||||
|
# The actual proxy
|
||||||
|
proxy.remoteurl = "https://registry-1.docker.io";
|
||||||
|
|
||||||
|
# Enable prom under :5001/metrics
|
||||||
|
http.debug.addr = "0.0.0.0:5001";
|
||||||
|
http.debug.prometheus.enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
49
nixos/hosts/hades/docker-registry/configuration.nix
Normal file
49
nixos/hosts/hades/docker-registry/configuration.nix
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
let vs = config.vault-secrets.secrets; in
|
||||||
|
{
|
||||||
|
system.stateVersion = "22.05";
|
||||||
|
|
||||||
|
networking.interfaces.eth0.useDHCP = true;
|
||||||
|
|
||||||
|
# the registry port and metrics port
|
||||||
|
networking.firewall.allowedTCPPorts = [ config.services.dockerRegistry.port 5001 ];
|
||||||
|
|
||||||
|
vault-secrets.secrets.docker-registry = { };
|
||||||
|
|
||||||
|
# Sets the minio user and password
|
||||||
|
systemd.services.docker-registry.serviceConfig.EnvironmentFile = "${vs.docker-registry}/environment";
|
||||||
|
|
||||||
|
services.dockerRegistry = {
|
||||||
|
enable = true;
|
||||||
|
enableDelete = true;
|
||||||
|
enableGarbageCollect = true;
|
||||||
|
listenAddress = "0.0.0.0";
|
||||||
|
storagePath = null; # We want to store in s3
|
||||||
|
garbageCollectDates = "weekly";
|
||||||
|
|
||||||
|
extraConfig = {
|
||||||
|
# S3 Storages
|
||||||
|
storage.s3 = {
|
||||||
|
regionendpoint = "https://o.xirion.net";
|
||||||
|
bucket = "docker-registry";
|
||||||
|
region = "us-east-1"; # Fake but needed
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable prom under :5001/metrics
|
||||||
|
http.debug.addr = "0.0.0.0:5001";
|
||||||
|
http.debug.prometheus.enabled = true;
|
||||||
|
|
||||||
|
# Webhooks
|
||||||
|
notifications.endpoints = [
|
||||||
|
{
|
||||||
|
name = "keel";
|
||||||
|
url = "http://10.10.10.17:9300/v1/webhooks/registry";
|
||||||
|
timeout = "500ms";
|
||||||
|
treshold = 5;
|
||||||
|
backoff = "1s";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue