feat: Initial commit

This commit is contained in:
Tanguy Herbron 2024-12-01 00:19:22 +01:00
commit 2fb09b447a
9 changed files with 110 additions and 0 deletions

9
README.md Normal file
View File

@ -0,0 +1,9 @@
# Headlamp
## Configuration
Once all manifests have been applied, use the following command to get the authentication token:
```bash
kubectl create token headlamp-admin -n headlamp
```

View File

@ -0,0 +1,12 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: headlamp-admin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: headlamp-admin
namespace: headlamp

32
manifests/deployment.yaml Normal file
View File

@ -0,0 +1,32 @@
kind: Deployment
apiVersion: apps/v1
metadata:
name: headlamp
namespace: headlamp
spec:
replicas: 1
selector:
matchLabels:
k8s-app: headlamp
template:
metadata:
labels:
k8s-app: headlamp
spec:
containers:
- name: headlamp
image: ghcr.io/headlamp-k8s/headlamp:v0.26.0
args:
- "-in-cluster"
- "-plugins-dir=/headlamp/plugins"
ports:
- containerPort: 4466
livenessProbe:
httpGet:
scheme: HTTP
path: /
port: 4466
initialDelaySeconds: 30
timeoutSeconds: 30
nodeSelector:
'kubernetes.io/os': linux

18
manifests/ingress.yaml Normal file
View File

@ -0,0 +1,18 @@
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: headlamp
namespace: headlamp
annotations:
kubernetes.io/ingress.class: "traefik-inter"
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`headlamp.entos`)
services:
- name: headlamp-svc
port: 80
tls:
certResolver: default

View File

@ -0,0 +1,11 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- namespace.yaml
- deployment.yaml
- serviceaccount.yaml
- clusterrolebinding.yaml
- service.yaml
- ingress.yaml
- secret.yaml

4
manifests/namespace.yaml Normal file
View File

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: headlamp

8
manifests/secret.yaml Normal file
View File

@ -0,0 +1,8 @@
kind: Secret
apiVersion: v1
metadata:
name: headlamp-admin
namespace: headlamp
annotations:
kubernetes.io/service-account.name: "headlamp-admin"
type: kubernetes.io/service-account-token

11
manifests/service.yaml Normal file
View File

@ -0,0 +1,11 @@
kind: Service
apiVersion: v1
metadata:
name: headlamp-svc
namespace: headlamp
spec:
ports:
- port: 80
targetPort: 4466
selector:
k8s-app: headlamp

View File

@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: headlamp-admin
namespace: headlamp