2024-07-04 08:39:43 +02:00
# oc-monitor
2024-07-25 18:48:25 +02:00
## Deploy in k8s (dev)
While a registry with all of the OC docker images has not been set-up we can export this image to k3s ctr
2024-08-19 11:43:40 +02:00
> docker save oc-monitord:latest | sudo k3s ctr images import -
2024-07-25 18:48:25 +02:00
2024-08-19 11:43:40 +02:00
Then in the pod manifest for oc-monitord use :
2024-07-25 18:48:25 +02:00
```
2024-08-19 11:43:40 +02:00
image: docker.io/library/oc-monitord
2024-07-25 18:48:25 +02:00
imagePullPolicy: Never
```
2024-07-26 10:30:26 +02:00
Not doing so will end up in the pod having a `ErrorImagePull`
2024-09-03 14:24:03 +02:00
## Allow argo to create services
In order for monitord to expose **open cloud services** on the node, we need to give him permission to create **k8s services** .
For that we can update the RBAC configuration for a role already created by argo :
### Manually edit the rbac authorization
> kubectl edit roles.rbac.authorization.k8s.io -n argo argo-role
In rules add a new entry :
```
- apiGroups:
- ""
resources:
- services
verbs:
- get
- create
```
### Patch the rbac authorization with a one liner
> kubectl patch role argo-role -n argo --type='json' -p='[{"op": "add", "path": "/rules/-", "value": {"apiGroups": [""], "resources": ["services"], "verbs": ["get","create"]}}]'
### Check wether the modification is effective
> kubectl auth can-i create services --as=system:serviceaccount:argo:argo -n argo
This command **must return "yes"**
2025-04-14 18:20:49 +02:00
# Notes features/admiralty-docker
- When executing monitord as a container we need to change any url with "localhost" to the container's host IP.
We can :
- declare a new parameter 'HOST_IP'
- decide that no peer can have "http://localhost" as its url and use an attribute from the peer object or isMyself() from oc-lib if a peer is the current host.
2024-09-03 15:56:16 +02:00
## TODO
2024-09-03 14:24:03 +02:00
2024-09-03 15:56:16 +02:00
- [ ] Allow the front to known on which IP the service are reachable
2024-09-03 17:46:36 +02:00
- currently doing it by using `kubectl get nodes -o wide`
### Adding ingress handling to support reverse proxing
- Test wether ingress-nginx is running or not
- Do something if not found : stop running and send error log OR start installation
-