Docs and polish
ci/woodpecker/push/woodpecker Pipeline was successful Details

This commit is contained in:
Colin 2024-06-12 14:23:16 -04:00
parent 7e640a84b8
commit 98df5665e2
1 changed files with 116 additions and 1 deletions

117
README.md
View File

@ -1 +1,116 @@
<!-- build 1 -->
<!-- build 0 -->
# Oculus Toolchain
Oculus is a toolchain for monitoring and handling Docker container diffs. It includes three main components:
- **filter**: Filters the diff outputs based on ignore patterns.
- **api**: Provides an API to fetch container details and diffs.
- **main**: The main monitoring application that uses the API and filter components to manage container diffs.
## Installation
To install the Oculus toolchain, you can use the provided `install.sh` script. This script will download and install the appropriate binaries for your system.
### Prerequisites
- **curl**: Make sure `curl` is installed on your system.
- **sudo**: Required if you do not have write permission to `/usr/local/bin`.
### Installation Steps
1. **Download the Install Script**:
```sh
curl -sSL https://git.nixc.us/colin/Oculus/raw/branch/main/install.sh -o install.sh
```
2. **Make the Script Executable**:
```sh
chmod +x install.sh
```
3. **Run the Install Script**:
```sh
./install.sh
```
This will download and install the following components to `/usr/local/bin`:
- `oculus_filter`
- `oculus_api`
- `oculus_main`
## Usage
After installation, you can start using the Oculus toolchain. Below are the basic usage instructions for each component:
### Starting the API Server
To start the API server, run:
```sh
oculus_api
```
This will start the API server on port 8080.
### Running the Main Monitoring Application
Before running the main monitoring application, ensure that the API server is running and the environment variables are set:
```sh
export API_ADDRESS="http://localhost:8080"
export GLITCHTIP_DSN="your-glitchtip-dsn"
oculus_main
```
### Filtering Diff Outputs
To manually filter a diff output file, you can use the `filter` component:
```sh
oculus_filter /path/to/diff/file "ignore_pattern1" "ignore_pattern2"
```
## Docker Integration
You can integrate Oculus into your Docker setup by including the installation script in your Dockerfile. Below is an example Dockerfile:
```dockerfile
FROM ubuntu:latest
# Install dependencies
RUN apt-get update && apt-get install -y curl
# Download and run the Oculus install script
RUN curl -sSL https://git.nixc.us/colin/Oculus/raw/branch/main/install.sh -o install.sh && \
chmod +x install.sh && \
./install.sh
# Set environment variables
ENV API_ADDRESS="http://localhost:8080"
ENV GLITCHTIP_DSN="your-glitchtip-dsn"
# Start the API server and the main application
CMD ["sh", "-c", "oculus_api & oculus_main"]
```
### Building the Docker Image
To build the Docker image, run:
```sh
docker build -t oculus-toolchain .
```
### Running the Docker Container
To run the Docker container, use:
```sh
docker run -d --name oculus-toolchain oculus-toolchain
```
## Contributing
We welcome contributions! Please open an issue or submit a pull request on [GitHub](https://github.com/your-repo/Oculus).
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.