Committing a fully-materialised cfg/dev.yaml hid the dev configuration surface and blocked the OAuth2 signing-key inlining change: the new config requires a per-dev private key that must not be committed. Replace the checked-in file with a dev-config Make target that shells out to probod-bootstrap with dev-safe defaults and a stable RSA signing key stashed under cfg/.dev-oauth2-signing-key.pem on first run. The recipe sources cfg/dev.env when present so devs can override any setting without editing the Makefile; cfg/dev.env.example ships the full list of overridable knobs. cfg/dev.yaml, cfg/dev.env, and the signing key are all gitignored. Update README, CONTRIBUTING, and contrib/claude/config.md to describe the new workflow. Signed-off-by: Bryan Frimin <bryan@getprobo.com>
137 lines
3.7 KiB
Markdown
137 lines
3.7 KiB
Markdown
<div align="center">
|
|
<h1>Probo - Open Source Compliance</h1>
|
|
|
|
[](https://discord.gg/8qfdJYfvpY)
|
|
[](LICENSE)
|
|

|
|
|
|
</div>
|
|
|
|
Probo is an open-source compliance platform built for startups that helps you
|
|
achieve SOC-2 compliance quickly and efficiently. Unlike traditional solutions,
|
|
Probo is designed to be accessible, transparent, and community-driven.
|
|
|
|
## 🚀 Getting Started
|
|
📖 [Official Documentation](https://www.getprobo.com/docs)
|
|
### Prerequisites
|
|
|
|
- Go 1.21+
|
|
- Node.js 22+
|
|
- Docker
|
|
- mkcert
|
|
|
|
### Quick Start
|
|
|
|
1. Clone the repository:
|
|
|
|
```bash
|
|
git clone --recurse-submodules https://github.com/getprobo/probo.git
|
|
cd probo
|
|
```
|
|
|
|
2. Install dependencies:
|
|
|
|
```bash
|
|
# Install Go dependencies
|
|
go mod download
|
|
|
|
# Install Node.js dependencies
|
|
npm ci
|
|
```
|
|
|
|
3. Start the development environment:
|
|
|
|
```bash
|
|
# Start infrastructure services
|
|
make stack-up
|
|
|
|
# Build the project
|
|
make build
|
|
|
|
# Generate the local dev config (writes cfg/dev.yaml)
|
|
make dev-config
|
|
|
|
# Start the application using development settings
|
|
bin/probod -cfg-file cfg/dev.yaml
|
|
```
|
|
|
|
The application will be available at:
|
|
|
|
- Application: http://localhost:8080
|
|
|
|
### Testing Custom Domains
|
|
|
|
To test the custom domains feature locally, add the CNAME target to your hosts file:
|
|
|
|
```bash
|
|
# Add this line to /etc/hosts (macOS/Linux) or C:\Windows\System32\drivers\etc\hosts (Windows)
|
|
127.0.0.1 custom.getprobo.com
|
|
```
|
|
|
|
This allows you to test custom trust center domains on your local machine. The generated `cfg/dev.yaml` sets the CNAME target via `custom-domains.cname-target`; change `CUSTOM_DOMAINS_CNAME_TARGET` before running `make dev-config` to override it.
|
|
|
|
For detailed setup instructions, see our [Contributing Guide](CONTRIBUTING.md).
|
|
|
|
## 🏗️ Current Status
|
|
|
|
Probo is in early development, focusing on building a solid foundation for
|
|
compliance management.
|
|
|
|
## 🛠️ Tech Stack
|
|
|
|
### Backend
|
|
|
|
- [Go](https://go.dev/) - API server
|
|
- [PostgreSQL](https://www.postgresql.org/) - Data storage
|
|
- [GraphQL](https://graphql.org/) - API layer
|
|
|
|
### Frontend
|
|
|
|
- [React](https://react.dev/) with [TypeScript](https://www.typescriptlang.org/)
|
|
- [Relay](https://relay.dev/) - Data fetching
|
|
- [TailwindCSS](https://tailwindcss.com/) - Styling
|
|
|
|
### Infrastructure
|
|
|
|
- [Docker](https://www.docker.com/) - Containerization
|
|
- [OpenTelemetry](https://opentelemetry.io/) - Observability
|
|
- [GitHub Actions](https://github.com/features/actions) - CI/CD
|
|
|
|
### Observability
|
|
|
|
- Grafana - Metrics visualization
|
|
- Prometheus - Metrics collection
|
|
- Loki - Log aggregation
|
|
- Tempo - Distributed tracing
|
|
|
|
## 🤝 Contributing
|
|
|
|
We love contributions from our community! There are many ways to contribute:
|
|
|
|
- 🌟 Star the repository to show your support
|
|
- 🐛 [Report bugs](https://github.com/getprobo/probo/issues/new)
|
|
- 💡 [Request features](https://github.com/getprobo/probo/issues/new)
|
|
- 🔧 Submit pull requests
|
|
- 📖 Improve documentation
|
|
|
|
Please read our [Contributing Guide](CONTRIBUTING.md) before making a pull
|
|
request.
|
|
|
|
|
|
## 📚 Documentation
|
|
|
|
- 📖 [Official Documentation](https://www.getprobo.com/docs)
|
|
- 💬 [Discord Community](https://discord.gg/8qfdJYfvpY)
|
|
- 📝 [Blog](https://www.getprobo.com/blog)
|
|
|
|
## 🌐 Community & Support
|
|
|
|
- Join our [Discord community](https://discord.gg/8qfdJYfvpY)
|
|
- Follow us on [Twitter](https://twitter.com/getprobo)
|
|
- Connect on [LinkedIn](https://www.linkedin.com/company/getprobo)
|
|
- Visit our [website](https://www.getprobo.com)
|
|
|
|
## 📄 License
|
|
|
|
Probo is [MIT licensed](LICENSE).
|