mirror of
https://github.com/TECHNOFAB11/kubenix.git
synced 2025-12-12 16:10:05 +01:00
- Support for module features - Remove kubenix.module and rather use explicit modules - Make tests framework independent of k8s module - Remove metacontroller submodule, which will go to kubenix-modules - Improved submodule propagation and passthru - Added additional test for k8s-submodule
64 lines
1.4 KiB
Nix
64 lines
1.4 KiB
Nix
{ config, lib, pkgs, kubenix, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
nginx = pkgs.callPackage ./image.nix { };
|
|
in {
|
|
imports = with kubenix.modules; [ k8s docker ];
|
|
|
|
docker.images.nginx.image = nginx;
|
|
|
|
kubernetes.api.deployments.nginx = {
|
|
spec = {
|
|
replicas = 10;
|
|
selector.matchLabels.app = "nginx";
|
|
template = {
|
|
metadata.labels.app = "nginx";
|
|
spec = {
|
|
securityContext.fsGroup = 1000;
|
|
containers.nginx = {
|
|
image = config.docker.images.nginx.path;
|
|
imagePullPolicy = "IfNotPresent";
|
|
volumeMounts."/etc/nginx".name = "config";
|
|
volumeMounts."/var/lib/html".name = "static";
|
|
};
|
|
volumes.config.configMap.name = "nginx-config";
|
|
volumes.static.configMap.name = "nginx-static";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
kubernetes.api.configmaps.nginx-config.data."nginx.conf" = ''
|
|
user nginx nginx;
|
|
daemon off;
|
|
error_log /dev/stdout info;
|
|
pid /dev/null;
|
|
events {}
|
|
http {
|
|
access_log /dev/stdout;
|
|
server {
|
|
listen 80;
|
|
index index.html;
|
|
location / {
|
|
root /var/lib/html;
|
|
}
|
|
}
|
|
}
|
|
'';
|
|
|
|
kubernetes.api.configmaps.nginx-static.data."index.html" = ''
|
|
<html><body><h1>Hello from NGINX</h1></body></html>
|
|
'';
|
|
|
|
kubernetes.api.services.nginx = {
|
|
spec = {
|
|
ports = [{
|
|
name = "http";
|
|
port = 80;
|
|
}];
|
|
selector.app = "nginx";
|
|
};
|
|
};
|
|
}
|