forked from RemoteSync/librnms-helm-charts
Add Makefile and helm-docs for value injection into readme
Adjust readme, add comments to values Bump chart version
This commit is contained in:
parent
ad1590bbf0
commit
c9551703a0
40
Makefile
Normal file
40
Makefile
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
DOCS_IMAGE_VERSION="v1.14.2"
|
||||||
|
|
||||||
|
LINT_IMAGE_VERSION="v3.8.0"
|
||||||
|
|
||||||
|
# Charts's path relative to the current directory.
|
||||||
|
CHARTS := $(wildcard ./charts/*)
|
||||||
|
|
||||||
|
CHARTS_NAMES := $(notdir $(CHARTS))
|
||||||
|
|
||||||
|
.PHONY: lint
|
||||||
|
lint: helm-deps-update $(addprefix lint-, $(CHARTS_NAMES))
|
||||||
|
|
||||||
|
lint-%:
|
||||||
|
@docker run \
|
||||||
|
-it \
|
||||||
|
-e HOME=/home/ct \
|
||||||
|
--mount type=tmpfs,destination=/home/ct \
|
||||||
|
--workdir=/data \
|
||||||
|
--volume $$(pwd):/data \
|
||||||
|
-u $$(id -u) \
|
||||||
|
quay.io/helmpack/chart-testing:$(LINT_IMAGE_VERSION) \
|
||||||
|
ct lint --config ./ct.yaml --charts ./charts/$*
|
||||||
|
|
||||||
|
.PHONY: docs
|
||||||
|
docs: $(addprefix docs-, $(CHARTS_NAMES))
|
||||||
|
|
||||||
|
docs-%:
|
||||||
|
@docker run \
|
||||||
|
--rm \
|
||||||
|
--workdir=/helm-docs \
|
||||||
|
--volume "$$(pwd):/helm-docs" \
|
||||||
|
-u $$(id -u) \
|
||||||
|
jnorwood/helm-docs:$(DOCS_IMAGE_VERSION) \
|
||||||
|
helm-docs -c ./charts/$* -t ./README.gotmpl -o ./README.md
|
||||||
|
|
||||||
|
.PHONY: helm-deps-update
|
||||||
|
helm-deps-update: $(addprefix helm-deps-update-, $(CHARTS_NAMES))
|
||||||
|
|
||||||
|
helm-deps-update-%:
|
||||||
|
helm dependency update ./charts/$*
|
@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
name: librenms
|
name: librenms
|
||||||
description: LibreNMS is an autodiscovering PHP/MySQL-based network monitoring system.
|
description: LibreNMS is an autodiscovering PHP/MySQL-based network monitoring system.
|
||||||
type: application
|
type: application
|
||||||
version: 3.11.0
|
version: 3.11.1
|
||||||
appVersion: "24.5.0"
|
appVersion: "24.5.0"
|
||||||
maintainers:
|
maintainers:
|
||||||
- name: TheChef23
|
- name: TheChef23
|
||||||
|
66
charts/librenms/README.gotmpl
Normal file
66
charts/librenms/README.gotmpl
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
# LibreNMS
|
||||||
|
{{ template "chart.badgesSection" . }}
|
||||||
|
|
||||||
|
## TL;DR
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ helm repo add librenms https://www.librenms.org/helm-charts
|
||||||
|
$ helm install my-release librenms/librenms --set appkey=<LibreNMS Application key>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- This chart has only been tested on Kubernetes 1.18+, but should work on 1.14+
|
||||||
|
- Recent versions of Helm 3 are supported
|
||||||
|
|
||||||
|
## Installing the Chart
|
||||||
|
|
||||||
|
To install the chart with the release name `my-release` and default configuration:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ helm repo add librenms https://www.librenms.org/helm-charts
|
||||||
|
$ helm install my-release librenms/librenms --set appkey=<LibreNMS Application key>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Values
|
||||||
|
Check the [values.yaml](./values.yaml) file for the available settings for this chart and its
|
||||||
|
dependencies.
|
||||||
|
|
||||||
|
### Required values:
|
||||||
|
```
|
||||||
|
librenms:
|
||||||
|
appkey:
|
||||||
|
```
|
||||||
|
|
||||||
|
This should be filled with a laravel appkey, this can be generated using the laravel artisan command:
|
||||||
|
```
|
||||||
|
php artisan key:generate
|
||||||
|
```
|
||||||
|
The value should look like:
|
||||||
|
```
|
||||||
|
librenms:
|
||||||
|
appkey: base64:RTMmh+i10E2RMcDxookMu47BTzJQy87hOU+k/zcuPnA=
|
||||||
|
```
|
||||||
|
### Recommendations
|
||||||
|
|
||||||
|
* `librenms.poller.replicas`: Depending on the scale of your installation, the amount of poller pods needs to b scaled up. Use the poller page in the LibreNMS interface to check for scaling issues.
|
||||||
|
|
||||||
|
### Available values
|
||||||
|
|
||||||
|
The following table lists the main configurable parameters of the {{ template "chart.name" . }} chart v{{ template "chart.version" . }} and their default values. Please, refer to [values.yaml](./values.yaml) for the full list of configurable parameters.
|
||||||
|
|
||||||
|
{{ template "chart.valuesSection" . }}
|
||||||
|
|
||||||
|
## Uninstalling the Chart
|
||||||
|
|
||||||
|
To delete the chart:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ helm delete my-release
|
||||||
|
```
|
||||||
|
|
||||||
|
{{ template "chart.requirementsSection" . }}
|
||||||
|
|
||||||
|
{{ template "chart.maintainersSection" . }}
|
||||||
|
|
||||||
|
{{ template "helm-docs.versionFooter" . }}
|
@ -1,7 +1,5 @@
|
|||||||
# LibreNMS
|
# LibreNMS
|
||||||
|
  
|
||||||
[LibreNMS](https://docs.librenms.org/) is an IP address management (IPAM) and
|
|
||||||
data center infrastructure management (DCIM) tool.
|
|
||||||
|
|
||||||
## TL;DR
|
## TL;DR
|
||||||
|
|
||||||
@ -25,7 +23,7 @@ $ helm install my-release librenms/librenms --set appkey=<LibreNMS Application k
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Values
|
## Values
|
||||||
Check the [values.yaml](/librenms/helm-charts/charts/librenms/blob/main/values.yaml) file for the available settings for this chart and its
|
Check the [values.yaml](./values.yaml) file for the available settings for this chart and its
|
||||||
dependencies.
|
dependencies.
|
||||||
|
|
||||||
### Required values:
|
### Required values:
|
||||||
@ -34,6 +32,60 @@ librenms:
|
|||||||
appkey:
|
appkey:
|
||||||
```
|
```
|
||||||
|
|
||||||
|
This should be filled with a laravel appkey, this can be generated using the laravel artisan command:
|
||||||
|
```
|
||||||
|
php artisan key:generate
|
||||||
|
```
|
||||||
|
The value should look like:
|
||||||
|
```
|
||||||
|
librenms:
|
||||||
|
appkey: base64:RTMmh+i10E2RMcDxookMu47BTzJQy87hOU+k/zcuPnA=
|
||||||
|
```
|
||||||
|
### Recommendations
|
||||||
|
|
||||||
|
* `librenms.poller.replicas`: Depending on the scale of your installation, the amount of poller pods needs to b scaled up. Use the poller page in the LibreNMS interface to check for scaling issues.
|
||||||
|
|
||||||
|
### Available values
|
||||||
|
|
||||||
|
The following table lists the main configurable parameters of the librenms chart v3.11.0 and their default values. Please, refer to [values.yaml](./values.yaml) for the full list of configurable parameters.
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
| librenms.appkey | string | `nil` | Laravel appkey used by LibreNMS, this should be generated by you and is a required setting. See the README for more information |
|
||||||
|
| librenms.configuration | string | `"$config['distributed_poller_group'] = '0';\n$config['distributed_poller'] = true;\n"` | Custom configuration options for LibreNMS. Fore more infomation on options in this file check the following link: https://docs.librenms.org/Support/Configuration/ |
|
||||||
|
| librenms.extraEnvs | object | `{}` | LibreNMS frontend extra envs |
|
||||||
|
| librenms.frontend.readinessProbe.httpGet.path | string | `"/login"` | Check endpoint path |
|
||||||
|
| librenms.frontend.readinessProbe.httpGet.port | int | `8000` | Check endpoint port |
|
||||||
|
| librenms.frontend.readinessProbe.initialDelaySeconds | int | `30` | |
|
||||||
|
| librenms.frontend.readinessProbe.periodSeconds | int | `60` | |
|
||||||
|
| librenms.frontend.readinessProbe.timeoutSeconds | int | `10` | |
|
||||||
|
| librenms.frontend.replicas | int | `1` | Frontend replicas |
|
||||||
|
| librenms.frontend.resources | object | `{}` | resources defines the computing resources (CPU and memory) that are allocated to the containers running within the Pod. |
|
||||||
|
| librenms.image.repository | string | `"librenms/librenms"` | repository is the image repository to pull from. |
|
||||||
|
| librenms.image.tag | string | `"24.5.0"` | tag is image tag to pull. |
|
||||||
|
| librenms.poller.replicas | int | `2` | Poller replicas |
|
||||||
|
| librenms.poller.resources | object | `{}` | resources defines the computing resources (CPU and memory) that are allocated to the containers running within the Pod. |
|
||||||
|
| librenms.rrdcached | object | `{"envs":[{"name":"TZ","value":"Europe/Amsterdam"},{"name":"WRITE_JITTER","value":"1800"},{"name":"WRITE_TIMEOUT","value":"1800"}],"extraEnvs":{},"image":{"repository":"crazymax/rrdcached","tag":"1.8.0"},"livenessProbe":{"initialDelaySeconds":15,"periodSeconds":20,"tcpSocket":{"port":42217}},"persistence":{"enabled":true,"journal":{"size":"1Gi"},"rrdcached":{"size":"10Gi"}},"resources":{}}` | RRD cached is the tool that allows for distributed polling and is mandatory in this LibreNMS helm chart. See the rrdcached documentation for more information: https://oss.oetiker.ch/rrdtool/doc/rrdcached.en.html |
|
||||||
|
| librenms.rrdcached.envs[0] | object | `{"name":"TZ","value":"Europe/Amsterdam"}` | env variables RRD Cached |
|
||||||
|
| librenms.rrdcached.extraEnvs | object | `{}` | Extra environment variable for RRDCACHED container |
|
||||||
|
| librenms.rrdcached.image.repository | string | `"crazymax/rrdcached"` | repository is the image repository to pull from. |
|
||||||
|
| librenms.rrdcached.image.tag | string | `"1.8.0"` | tag is image tag to pull. |
|
||||||
|
| librenms.rrdcached.livenessProbe.tcpSocket | object | `{"port":42217}` | RRD cached liveness probe |
|
||||||
|
| librenms.rrdcached.persistence.enabled | bool | `true` | RRDCached persistent volume enabled |
|
||||||
|
| librenms.rrdcached.persistence.journal.size | string | `"1Gi"` | RRDCached journal PV size |
|
||||||
|
| librenms.rrdcached.persistence.rrdcached.size | string | `"10Gi"` | RRDCached RRD storage PV size |
|
||||||
|
| librenms.rrdcached.resources | object | `{}` | resources defines the computing resources (CPU and memory) that are allocated to the containers running within the Pod. |
|
||||||
|
| librenms.snmp_scanner | object | `{"cron":"15 * * * *","enabled":false,"extraEnvs":{},"resources":{}}` | SNMP network discovery scanner cron job. This job is optional and only use when having snmp network discovery enabled. For this to work either set the 'nets' confifuration in the custom config on in the admin interface See the following link for more information: https://docs.librenms.org/Extensions/Auto-Discovery/ |
|
||||||
|
| librenms.snmp_scanner.cron | string | `"15 * * * *"` | SNMP scanner cornjob syntac interval |
|
||||||
|
| librenms.snmp_scanner.enabled | bool | `false` | SNMP scanner enabled |
|
||||||
|
| librenms.snmp_scanner.extraEnvs | object | `{}` | SNMP scanner extra envs |
|
||||||
|
| librenms.snmp_scanner.resources | object | `{}` | resources defines the computing resources (CPU and memory) that are allocated to the containers running within the Pod. |
|
||||||
|
| librenms.timezone | string | `"UTC"` | Timezone used by librenms for communication with RRD cached |
|
||||||
|
| mysql | object | `{"auth":{"database":"librenms","username":"librenms"},"enabled":true}` | Configuration for MySQL dependency chart by Bitnami. See their chart for more information: https://github.com/bitnami/charts/tree/master/bitnami/mysql |
|
||||||
|
| redis | object | `{"architecture":"standalone","auth":{"enabled":false,"sentinel":false},"enabled":true,"master":{"disableCommands":[]},"sentinel":{"enabled":false}}` | Configuration for redis dependency chart by Bitnami. See their chart for more information: https://github.com/bitnami/charts/tree/master/bitnami/redis |
|
||||||
|
|
||||||
## Uninstalling the Chart
|
## Uninstalling the Chart
|
||||||
|
|
||||||
To delete the chart:
|
To delete the chart:
|
||||||
@ -42,21 +94,18 @@ To delete the chart:
|
|||||||
$ helm delete my-release
|
$ helm delete my-release
|
||||||
```
|
```
|
||||||
|
|
||||||
## License
|
## Requirements
|
||||||
|
|
||||||
> The following notice applies to all files contained within this Helm Chart and
|
| Repository | Name | Version |
|
||||||
> the Git repository which contains it:
|
|------------|------|---------|
|
||||||
>
|
| https://charts.bitnami.com/bitnami | mysql | ~11.1.0 |
|
||||||
> Copyright 2022 Jochem Bruijns
|
| https://charts.bitnami.com/bitnami | redis | ~19.6.0 |
|
||||||
>
|
|
||||||
> Licensed under the Apache License, Version 2.0 (the "License");
|
## Maintainers
|
||||||
> you may not use this file except in compliance with the License.
|
|
||||||
> You may obtain a copy of the License at
|
| Name | Email | Url |
|
||||||
>
|
| ---- | ------ | --- |
|
||||||
> http://www.apache.org/licenses/LICENSE-2.0
|
| TheChef23 | | <https://github.com/TheChef23> |
|
||||||
>
|
|
||||||
> Unless required by applicable law or agreed to in writing, software
|
----------------------------------------------
|
||||||
> distributed under the License is distributed on an "AS IS" BASIS,
|
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
|
||||||
> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
> See the License for the specific language governing permissions and
|
|
||||||
> limitations under the License.
|
|
||||||
|
@ -3,88 +3,116 @@
|
|||||||
# Declare variables to be passed into your templates.
|
# Declare variables to be passed into your templates.
|
||||||
librenms:
|
librenms:
|
||||||
image:
|
image:
|
||||||
|
# -- repository is the image repository to pull from.
|
||||||
repository: librenms/librenms
|
repository: librenms/librenms
|
||||||
|
# -- tag is image tag to pull.
|
||||||
tag: 24.5.0
|
tag: 24.5.0
|
||||||
|
|
||||||
# Laravel appkey used by LibreNMS, a default is set for useability it is
|
# -- Laravel appkey used by LibreNMS, this should be generated by you and is a
|
||||||
# recommended to replace this with your own key
|
# required setting. See the README for more information
|
||||||
# THIS A REQUIRED SETTINGS
|
|
||||||
appkey:
|
appkey:
|
||||||
|
|
||||||
# Timezone used by librenms for communication with RRD cached
|
# -- Timezone used by librenms for communication with RRD cached
|
||||||
timezone: UTC
|
timezone: UTC
|
||||||
|
|
||||||
# Custom configuration options for LibreNMS. Fore more infomation on options
|
# -- Custom configuration options for LibreNMS. Fore more infomation on options
|
||||||
# in this file check the following link:
|
# in this file check the following link:
|
||||||
# https://docs.librenms.org/Support/Configuration/
|
# https://docs.librenms.org/Support/Configuration/
|
||||||
configuration: |-
|
configuration: |
|
||||||
$config['distributed_poller_group'] = '0';
|
$config['distributed_poller_group'] = '0';
|
||||||
$config['distributed_poller'] = true;
|
$config['distributed_poller'] = true;
|
||||||
|
|
||||||
# Frontend container configurations options
|
# Frontend container configurations options
|
||||||
frontend:
|
frontend:
|
||||||
|
# -- Frontend replicas
|
||||||
replicas: 1
|
replicas: 1
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
|
# -- Check endpoint path
|
||||||
path: /login
|
path: /login
|
||||||
|
# -- Check endpoint port
|
||||||
port: 8000
|
port: 8000
|
||||||
initialDelaySeconds: 30
|
initialDelaySeconds: 30
|
||||||
periodSeconds: 60
|
periodSeconds: 60
|
||||||
timeoutSeconds: 10
|
timeoutSeconds: 10
|
||||||
|
# -- resources defines the computing resources (CPU and memory)
|
||||||
|
# that are allocated to the containers running within the Pod.
|
||||||
resources: {}
|
resources: {}
|
||||||
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||||
|
# choice for the user. This also increases chances charts run on environments with little
|
||||||
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||||
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||||
# requests:
|
# requests:
|
||||||
# cpu: 50m
|
# cpu: 50m
|
||||||
# memory: 150M
|
# memory: 150M
|
||||||
|
|
||||||
# Distributed poller container configurations options
|
# Distributed poller container configurations options
|
||||||
poller:
|
poller:
|
||||||
|
# -- Poller replicas
|
||||||
replicas: 2
|
replicas: 2
|
||||||
|
# -- resources defines the computing resources (CPU and memory)
|
||||||
|
# that are allocated to the containers running within the Pod.
|
||||||
resources: {}
|
resources: {}
|
||||||
# requests:
|
# requests:
|
||||||
# cpu: 500m
|
# cpu: 500m
|
||||||
# memory: 200M
|
# memory: 200M
|
||||||
|
|
||||||
# SNMP network discovery scanner cron job. This job is optional and only use
|
# -- SNMP network discovery scanner cron job. This job is optional and only use
|
||||||
# when having snmp network discovery enabled. For this to work either set the
|
# when having snmp network discovery enabled. For this to work either set the
|
||||||
# 'nets' confifuration in the custom config on in the admin interface
|
# 'nets' confifuration in the custom config on in the admin interface
|
||||||
# See the following link for more information:
|
# See the following link for more information:
|
||||||
# https://docs.librenms.org/Extensions/Auto-Discovery/
|
# https://docs.librenms.org/Extensions/Auto-Discovery/
|
||||||
snmp_scanner:
|
snmp_scanner:
|
||||||
|
# -- SNMP scanner enabled
|
||||||
enabled: false
|
enabled: false
|
||||||
|
# -- SNMP scanner cornjob syntac interval
|
||||||
cron: 15 * * * *
|
cron: 15 * * * *
|
||||||
|
# -- resources defines the computing resources (CPU and memory)
|
||||||
|
# that are allocated to the containers running within the Pod.
|
||||||
resources: {}
|
resources: {}
|
||||||
# requests:
|
# requests:
|
||||||
# cpu: 500m
|
# cpu: 500m
|
||||||
# memory: 200M
|
# memory: 200M
|
||||||
# Extra environment variable for LibreNMS SNMP scanner container
|
# Extra environment variable for LibreNMS SNMP scanner container
|
||||||
|
# -- SNMP scanner extra envs
|
||||||
extraEnvs: {}
|
extraEnvs: {}
|
||||||
|
|
||||||
# Extra environment variable for LibreNMS container
|
# Extra environment variable for LibreNMS container
|
||||||
|
# -- LibreNMS frontend extra envs
|
||||||
extraEnvs: {}
|
extraEnvs: {}
|
||||||
|
|
||||||
# RRD cached is the tool that allows for distributed polling and is mandatory
|
# -- RRD cached is the tool that allows for distributed polling and is mandatory
|
||||||
# in this LibreNMS helm chart. See the rrdcached documentation for more
|
# in this LibreNMS helm chart. See the rrdcached documentation for more
|
||||||
# information: https://oss.oetiker.ch/rrdtool/doc/rrdcached.en.html
|
# information: https://oss.oetiker.ch/rrdtool/doc/rrdcached.en.html
|
||||||
rrdcached:
|
rrdcached:
|
||||||
image:
|
image:
|
||||||
|
# -- repository is the image repository to pull from.
|
||||||
repository: crazymax/rrdcached
|
repository: crazymax/rrdcached
|
||||||
|
# -- tag is image tag to pull.
|
||||||
tag: 1.8.0
|
tag: 1.8.0
|
||||||
persistence:
|
persistence:
|
||||||
|
# -- RRDCached persistent volume enabled
|
||||||
enabled: true
|
enabled: true
|
||||||
journal:
|
journal:
|
||||||
|
# -- RRDCached journal PV size
|
||||||
size: 1Gi
|
size: 1Gi
|
||||||
rrdcached:
|
rrdcached:
|
||||||
|
# -- RRDCached RRD storage PV size
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
|
# -- resources defines the computing resources (CPU and memory)
|
||||||
|
# that are allocated to the containers running within the Pod.
|
||||||
resources: {}
|
resources: {}
|
||||||
# requests:
|
# requests:
|
||||||
# cpu: 100m
|
# cpu: 100m
|
||||||
# memory: 500M
|
# memory: 500M
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
|
# -- RRD cached liveness probe
|
||||||
tcpSocket:
|
tcpSocket:
|
||||||
port: 42217
|
port: 42217
|
||||||
initialDelaySeconds: 15
|
initialDelaySeconds: 15
|
||||||
periodSeconds: 20
|
periodSeconds: 20
|
||||||
envs:
|
envs:
|
||||||
|
# -- env variables RRD Cached
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "Europe/Amsterdam"
|
value: "Europe/Amsterdam"
|
||||||
- name: WRITE_JITTER
|
- name: WRITE_JITTER
|
||||||
@ -92,10 +120,10 @@ librenms:
|
|||||||
- name: WRITE_TIMEOUT
|
- name: WRITE_TIMEOUT
|
||||||
value: '1800'
|
value: '1800'
|
||||||
|
|
||||||
# Extra environment variable for RRDCACHED container
|
# -- Extra environment variable for RRDCACHED container
|
||||||
extraEnvs: {}
|
extraEnvs: {}
|
||||||
|
|
||||||
# Configuration for MySQL dependency chart by Bitnami. See their chart for
|
# -- Configuration for MySQL dependency chart by Bitnami. See their chart for
|
||||||
# more information: https://github.com/bitnami/charts/tree/master/bitnami/mysql
|
# more information: https://github.com/bitnami/charts/tree/master/bitnami/mysql
|
||||||
mysql:
|
mysql:
|
||||||
enabled: true
|
enabled: true
|
||||||
@ -103,7 +131,7 @@ mysql:
|
|||||||
username: librenms
|
username: librenms
|
||||||
database: librenms
|
database: librenms
|
||||||
|
|
||||||
# Configuration for redis dependency chart by Bitnami. See their chart for
|
# -- Configuration for redis dependency chart by Bitnami. See their chart for
|
||||||
# more information: https://github.com/bitnami/charts/tree/master/bitnami/redis
|
# more information: https://github.com/bitnami/charts/tree/master/bitnami/redis
|
||||||
redis:
|
redis:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user