Files
2023-02-08 22:48:24 +00:00

90 lines
4.6 KiB
Markdown

# Seq Input GELF - Helm Chart
[![Twitter Follow](https://img.shields.io/twitter/follow/SpeckleSystems?style=social)](https://twitter.com/SpeckleSystems) [![Community forum users](https://img.shields.io/discourse/users?server=https%3A%2F%2Fdiscourse.speckle.works&style=flat-square&logo=discourse&logoColor=white)](https://discourse.speckle.works) [![website](https://img.shields.io/badge/https://-speckle.systems-royalblue?style=flat-square)](https://speckle.systems) [![docs](https://img.shields.io/badge/docs-speckle.guide-orange?style=flat-square&logo=read-the-docs&logoColor=white)](https://speckle.guide/dev/)
## Introduction
This repository contains a Helm Chart for deploying [DataLust's `seq-input-gelf`](https://docs.datalust.co/docs/using-gelf#enabling-gelf-in-docker) Docker image to a Kubernetes cluster.
If deploying `seq-input-gelf` alongside `seq`, please use DataLust's [official Helm Chart](https://github.com/datalust/helm.datalust.co/tree/main/charts/seq). This Helm Chart allows `seq-input-gelf` to be deployed independently of `seq`.
You may wish to deploy `seq-input-gelf` if you are exporting logs in Graylog Extended Log Format (GELF).
You may wish to deploy `seq-input-gelf` independently of `seq` if you have a multiple Kubernetes clusters, and wish to transfer log data from a source cluster to a target cluster, running `seq`. Alternatively, you may have `seq` deployed on a non-Kubernetes environment, and wish to export logs messages from Kubernetes to that external seq instance.
This project or repository is in no way affiliated with DataLust or Seq.
## Documentation
### Usage
1. You will require [Helm](https://helm.sh/docs/intro/install/) and access to a [Kubernetes](https://kubernetes.io/) cluster to which you have appropriate permissions to deploy resources.
1. Clone this repository and in a shell terminal, `cd` in to the root directory of the cloned repository.
1. Create a namespace to deploy into:
```shell
kubectl create namespace seq-input-gelf
```
1. Run the following command to create a secret containing your deployment key, replacing `YOURAPIKEY` with an [API key generated by your Seq instance](https://docs.datalust.co/docs/api-keys):
```shell
kubectl create secret generic seq-api-key --from-literal=api-key=YOURAPIKEY --namespace seq-input-gelf
```
1. Add the helm repository for this Helm Chart
```shell
helm repo add seq-input-gelf https://specklesystems.github.io/seq-input-gelf/stable
```
1. Update the value of `seq.url` in `./examples/values.yaml` file to match the url of your seq instance. The default example assumes seq is hosted within the same Kubernetes cluster with a Service named `seq` within a namespace named `seq`. Please adjust this as required.
1. Run the following command to install the helm chart in your kubernetes cluster. Note that this will create a new namespace named `seq-input-gelf`:
```shell
helm upgrade seq-input-gelf \
seq-input-gelf \
--namespace seq-input-gelf \
--install \
--values ./examples/values.yaml
```
1. Verify that the deployment has successfully [rolled out](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#deployment-status):
```shell
kubectl rollout status deployment/seq-input-gelf --namespace seq-input-gelf
```
### Developing & Debugging
1. Ensure the Helm chart can be templated:
```shell
helm template seq-input-gelf ./charts/seq-input-gelf
```
### Contributing
Please make sure you read the [contribution guidelines](.github/CONTRIBUTING.md) and [code of conduct](.github/CODE_OF_CONDUCT.md) for an overview of the practices we try to follow.
#### Prerequisites
1. Your code must pass our pre-commit checks in order to be accepted.
1. Install [pre-commit](https://pre-commit.com/#install).
1. In your shell terminal, `cd` to the root directory of this repository.
1. Run `pre-commit install`.
1. Review the output and adjust your contribution as necessary.
### Community
This Helm Chart is maintained by Speckle. The Speckle Community hangs out on [the forum](https://discourse.speckle.works), do join and introduce yourself & feel free to ask us questions!
## Security
For any security vulnerabilities or concerns, please contact us directly at security[at]speckle.systems.
## License
Unless otherwise described, the code in this repository is licensed under the Apache-2.0 License. Please note that some modules, extensions or code herein might be otherwise licensed. This is indicated either in the root of the containing folder under a different license file, or in the respective file's header. If you have any questions, don't hesitate to get in touch with us via [email](mailto:hello@speckle.systems).