Compare commits

...

9 Commits

6 changed files with 100 additions and 9 deletions

View File

@@ -6,3 +6,6 @@ prometheus:
webhook: webhook:
timeoutSeconds: 4 timeoutSeconds: 4
enableCertificateOwnerRef: true enableCertificateOwnerRef: true
extraArgs:
- "--dns01-recursive-nameservers-only"
- "--dns01-recursive-nameservers=1.1.1.1:53"

View File

@@ -3,11 +3,6 @@ image:
providers: providers:
kubernetesCRD: kubernetesCRD:
allowCrossNamespace: true allowCrossNamespace: true
ingress:
ingressClass:
enabled: false
isDefaultClass: true
name: traefik
deployment: deployment:
replicas: 1 replicas: 1
podLabels: podLabels:

View File

@@ -0,0 +1,55 @@
---
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
name: elasticsearch
namespace: elastic-system
spec:
version: 8.15.2
http:
tls:
certificate:
secretName: elasticsearch-es-http-tls-internal
nodeSets:
- name: master
count: 3
podTemplate:
spec:
containers:
- name: elasticsearch
resources:
limits:
memory: 8Gi
volumeClaimTemplates:
- metadata:
name: elasticsearch-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: longhorn
config:
node.roles: ["master"]
- name: data
count: 3
podTemplate:
spec:
containers:
- name: elasticsearch
resources:
limits:
memory: 8Gi
volumeClaimTemplates:
- metadata:
name: elasticsearch-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 50Gi
storageClassName: longhorn
config:
node.roles: ["data", "ingest"]

16
elasticsearch/kibana.yaml Normal file
View File

@@ -0,0 +1,16 @@
---
apiVersion: kibana.k8s.elastic.co/v1beta1
kind: Kibana
metadata:
name: kibana
namespace: elastic-system
spec:
version: 8.15.2
count: 1
elasticsearchRef:
name: elasticsearch
http:
tls:
certificate:
secretName: kibana-kb-http-tls-internal

View File

@@ -3,8 +3,8 @@ import { TerraformStack } from "cdktf";
import { KubernetesProvider } from "@cdktf/provider-kubernetes/lib/provider"; import { KubernetesProvider } from "@cdktf/provider-kubernetes/lib/provider";
import { NamespaceV1 } from "@cdktf/provider-kubernetes/lib/namespace-v1"; import { NamespaceV1 } from "@cdktf/provider-kubernetes/lib/namespace-v1";
import { OnePasswordSecret } from "../../utils"; import { OnePasswordSecret } from "../../utils";
import { TerraFirmaGreg } from "./tfg"; // import { TerraFirmaGreg } from "./tfg";
import { GTNH } from "./gtnh"; // import { GTNH } from "./gtnh";
export class GamingServices extends TerraformStack { export class GamingServices extends TerraformStack {
constructor(scope: Construct, id: string) { constructor(scope: Construct, id: string) {
@@ -29,7 +29,7 @@ export class GamingServices extends TerraformStack {
itemPath: "vaults/Lab/items/curseforge", itemPath: "vaults/Lab/items/curseforge",
}); });
new TerraFirmaGreg(this, "tfg", provider, namespace); // new TerraFirmaGreg(this, "tfg", provider, namespace);
new GTNH(this, "gtnh", provider, namespace); // new GTNH(this, "gtnh", provider, namespace);
} }
} }

View File

@@ -8,6 +8,7 @@ import { GiteaRunner, GiteaServer } from "./gitea";
import { AuthentikServer } from "./authentik"; import { AuthentikServer } from "./authentik";
import { PostgresCluster } from "./postgres"; import { PostgresCluster } from "./postgres";
import { DynamicDNS } from "./dynamic-dns"; import { DynamicDNS } from "./dynamic-dns";
import { PublicIngressRoute } from "../utils";
export class UtilityServices extends TerraformStack { export class UtilityServices extends TerraformStack {
constructor(scope: Construct, id: string) { constructor(scope: Construct, id: string) {
@@ -72,6 +73,7 @@ export class UtilityServices extends TerraformStack {
"npm.dogar.dev", "npm.dogar.dev",
"go.dogar.dev", "go.dogar.dev",
"elastic.dogar.dev", "elastic.dogar.dev",
"kibana.dogar.dev",
], ],
}); });
@@ -115,5 +117,25 @@ export class UtilityServices extends TerraformStack {
name: "gitea-runner", name: "gitea-runner",
replicas: 3, replicas: 3,
}); });
new PublicIngressRoute(this, "elasticsearch", {
provider: kubernetes,
namespace: "elastic-system",
name: "elasticsearch",
host: "elastic.dogar.dev",
serviceName: "elasticsearch-es-http",
servicePort: 9200,
serviceProtocol: "https",
});
new PublicIngressRoute(this, "kibana", {
provider: kubernetes,
namespace: "elastic-system",
name: "kibana",
host: "kibana.dogar.dev",
serviceName: "kibana-kb-http",
servicePort: 5601,
serviceProtocol: "https",
});
} }
} }