mirror of
https://github.com/TECHNOFAB11/kubenix.git
synced 2025-12-12 16:10:05 +01:00
feat(examples): add nginx deployment
This commit is contained in:
parent
5d8b66f8a0
commit
432cc9e347
6 changed files with 140 additions and 0 deletions
64
examples/nginx-deployment/module.nix
Normal file
64
examples/nginx-deployment/module.nix
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
{ config, lib, pkgs, test, kubenix, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
nginx = pkgs.callPackage ./image.nix { };
|
||||
in {
|
||||
imports = [ kubenix.module ];
|
||||
|
||||
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.persistentVolumeClaim.claimName = "config";
|
||||
volumes.static.persistentVolumeClaim.claimName = "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";
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue