🔥 kubernetes-schemas

This commit is contained in:
auricom
2023-12-25 16:58:04 +01:00
parent 71f8fa7b88
commit 8d777d9156
8 changed files with 0 additions and 301 deletions

View File

@@ -1,19 +0,0 @@
extract_ca_crt_from_secret
kubectl get secret kubernetes-schemas-sa -o json | jq -r '.data["ca.crt"]' | base64 -d > ca.crt
get_user_token_from_secret
USER_TOKEN=$(kubectl get secret kubernetes-schemas-sa -o json | jq -r '.data["token"]' | base64 -d)
Create token
context=$(kubectl config current-context)
CLUSTER_NAME=$(kubectl config get-contexts "$context" | awk '{print $3}' | tail -n 1)
ENDPOINT=$(kubectl config view -o jsonpath="{.clusters[?(@.name == \"${CLUSTER_NAME}\")].cluster.server}")
kubectl config set-cluster "${CLUSTER_NAME}" --kubeconfig=kubernetes-schemas-config --server="${ENDPOINT}" --certificate-authority="ca.crt" --embed-certs=true
kubectl config set-credentials "kubernetes-schemas-default-${CLUSTER_NAME}" --kubeconfig="kubernetes-schemas-config" --token="${USER_TOKEN}"
kubectl config set-context "kubernetes-schemas-default-${CLUSTER_NAME}" --kubeconfig="kubernetes-schemas-config" --cluster="${CLUSTER_NAME}" --user="kubernetes-schemas-default-${CLUSTER_NAME}" --namespace="default"
kubectl config use-context "kubernetes-schemas-default-${CLUSTER_NAME}" --kubeconfig="kubernetes-schemas-config"
# Test
KUBECONFIG=kubernetes-schemas-config kubectl get pods --all-namespaces
KUBECONFIG=kubernetes-schemas-config kubectl get crds

View File

@@ -1,22 +0,0 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: kubernetes-schemas-gatus-ep
namespace: default
labels:
gatus.io/enabled: "true"
data:
config.yaml: |
endpoints:
- name: kubernetes-schemas
group: external
url: https://kubernetes-schemas.${SECRET_CLUSTER_DOMAIN}
interval: 1m
client:
dns-resolver: tcp://1.1.1.1:53
insecure: true
conditions:
- "[STATUS] == 200"
alerts:
- type: pushover

View File

@@ -1,66 +0,0 @@
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: &app kubernetes-schemas
namespace: default
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 2.4.0
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
maxHistory: 2
install:
createNamespace: true
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
values:
controllers:
main:
strategy: RollingUpdate
containers:
main:
image:
repository: ghcr.io/auricom/kubernetes-schemas
tag: latest@sha256:1a4f478a49e627d7d5d91277a04b84923fac0472a6e065609863f97339e1b94e
resources:
requests:
cpu: 10m
memory: 50Mi
limits:
memory: 100Mi
service:
main:
ports:
http:
port: 8080
ingress:
main:
enabled: true
className: nginx
annotations:
external-dns.alpha.kubernetes.io/enabled: "true"
external-dns.alpha.kubernetes.io/target: services.${SECRET_DOMAIN}.
hajimari.io/enable: "false"
hosts:
- host: &host "{{ .Release.Name }}.${SECRET_CLUSTER_DOMAIN}"
paths:
- path: /
service:
name: main
port: http
tls:
- hosts:
- *host

View File

@@ -1,9 +0,0 @@
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: default
resources:
- ./helmrelease.yaml
- ./gatus.yaml
- ./rbac.yaml

View File

@@ -1,41 +0,0 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: kubernetes-schemas
namespace: default
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: kubernetes-schemas
rules:
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kubernetes-schemas
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kubernetes-schemas
subjects:
- kind: ServiceAccount
name: kubernetes-schemas
namespace: default
---
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
name: kubernetes-schemas-sa
annotations:
kubernetes.io/service-account.name: "kubernetes-schemas"

View File

@@ -1,17 +0,0 @@
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: cluster-apps-kubernetes-schemas
namespace: flux-system
spec:
path: ./kubernetes/apps/default/kubernetes-schemas/app
prune: true
sourceRef:
kind: GitRepository
name: home-ops-kubernetes
wait: false # no flux ks dependents
interval: 30m
retryInterval: 1m
timeout: 5m

View File

@@ -28,7 +28,6 @@ resources:
- ./komf/ks.yaml
- ./komga/ks.yaml
- ./kresus/ks.yaml
- ./kubernetes-schemas/ks.yaml
- ./libmedium/ks.yaml
- ./lidarr/ks.yaml
- ./linkding/ks.yaml