mirror of
https://github.com/CloudNebulaProject/barycenter.git
synced 2026-04-10 13:10:42 +00:00
Replace all remaining references to "crabidp" with "barycenter" across: - Source code (error diagnostics, CLI name, comments) - Configuration files and defaults - Environment variable prefixes (CRABIDP__ → BARYCENTER__) - Documentation (CLAUDE.md, README.md, DEPLOYMENT.md) - Deployment configurations (Docker Compose, Helm, systemd, FreeBSD, illumos) - Database filenames (crabidp.db → barycenter.db) Add Kubernetes Gateway API support to Helm chart: - New HTTPRoute template for Gateway API - Configurable parentRefs, hostnames, filters, and weights - Support for advanced traffic management features - Gateway API as modern alternative to traditional Ingress - Documentation and examples in DEPLOYMENT.md Benefits of Gateway API: - More expressive and extensible routing - Role-oriented design with separation of concerns - Better vendor portability - Advanced traffic management capabilities The Helm chart now supports both traditional Ingress and Gateway API, allowing users to choose based on their cluster capabilities and requirements. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
108 lines
2.5 KiB
Markdown
108 lines
2.5 KiB
Markdown
# FreeBSD Deployment
|
|
|
|
This directory contains rc.d script for running Barycenter on FreeBSD systems.
|
|
|
|
## Installation
|
|
|
|
1. **Install Rust and build the binary:**
|
|
```bash
|
|
pkg install rust
|
|
cargo build --release
|
|
```
|
|
|
|
2. **Create the barycenter user:**
|
|
```bash
|
|
pw useradd barycenter -d /var/db/barycenter -s /usr/sbin/nologin -c "Barycenter IdP"
|
|
```
|
|
|
|
3. **Create required directories:**
|
|
```bash
|
|
mkdir -p /usr/local/etc/barycenter
|
|
mkdir -p /var/db/barycenter/data
|
|
chown -R barycenter:barycenter /var/db/barycenter
|
|
```
|
|
|
|
4. **Install the binary:**
|
|
```bash
|
|
install -m 755 target/release/barycenter /usr/local/bin/
|
|
```
|
|
|
|
5. **Install the configuration:**
|
|
```bash
|
|
cp config.toml /usr/local/etc/barycenter/config.toml
|
|
chown root:barycenter /usr/local/etc/barycenter/config.toml
|
|
chmod 640 /usr/local/etc/barycenter/config.toml
|
|
```
|
|
|
|
Edit `/usr/local/etc/barycenter/config.toml` and update paths:
|
|
```toml
|
|
[database]
|
|
url = "sqlite:///var/db/barycenter/barycenter.db?mode=rwc"
|
|
|
|
[keys]
|
|
jwks_path = "/var/db/barycenter/data/jwks.json"
|
|
private_key_path = "/var/db/barycenter/data/private_key.pem"
|
|
```
|
|
|
|
6. **Install the rc.d script:**
|
|
```bash
|
|
install -m 755 deploy/freebsd/barycenter /usr/local/etc/rc.d/
|
|
```
|
|
|
|
7. **Enable the service in /etc/rc.conf:**
|
|
```bash
|
|
echo 'barycenter_enable="YES"' >> /etc/rc.conf
|
|
```
|
|
|
|
Optional configuration:
|
|
```bash
|
|
echo 'barycenter_config="/usr/local/etc/barycenter/config.toml"' >> /etc/rc.conf
|
|
echo 'barycenter_env="RUST_LOG=info"' >> /etc/rc.conf
|
|
```
|
|
|
|
8. **Start the service:**
|
|
```bash
|
|
service barycenter start
|
|
```
|
|
|
|
## Management
|
|
|
|
**Check status:**
|
|
```bash
|
|
service barycenter status
|
|
```
|
|
|
|
**View logs:**
|
|
```bash
|
|
tail -f /var/log/messages | grep barycenter
|
|
```
|
|
|
|
**Restart service:**
|
|
```bash
|
|
service barycenter restart
|
|
```
|
|
|
|
**Stop service:**
|
|
```bash
|
|
service barycenter stop
|
|
```
|
|
|
|
## Configuration Options
|
|
|
|
All configuration options are set in `/etc/rc.conf`:
|
|
|
|
- `barycenter_enable` - Enable/disable the service (YES/NO)
|
|
- `barycenter_user` - User to run as (default: barycenter)
|
|
- `barycenter_group` - Group to run as (default: barycenter)
|
|
- `barycenter_config` - Path to config file
|
|
- `barycenter_env` - Environment variables (e.g., "RUST_LOG=debug")
|
|
|
|
## Logging
|
|
|
|
By default, output goes to syslog. To configure separate log file, update newsyslog:
|
|
|
|
```bash
|
|
echo "/var/log/barycenter.log barycenter:barycenter 644 7 * @T00 JC" >> /etc/newsyslog.conf
|
|
touch /var/log/barycenter.log
|
|
chown barycenter:barycenter /var/log/barycenter.log
|
|
```
|