Ctrl K
ComunidadGuías…

CONTRIBUTING.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
## Contribute to Beta9 📡

# Local Installation

You can run Beta9 locally, or in an existing Kubernetes cluster using our [Helm chart](https://github.com/beam-cloud/beta9/tree/main/deploy/charts/beta9).

### Setting Up the Server

k3d is used for local development. You'll need Docker to get started.

To use our fully automated setup, run the `setup` make target.

```bash
make setup
```

> **Note:** If you encounter permission errors during setup, you may need to fix ownership of the `/usr/local/bin` directory. You can do this by running:
> ```bash
> sudo chown $(whoami) /usr/local/bin
> ```


#### Local DNS

This is required to use an external file service for mulitpart uploads and range downloads. Its optional for using the subdomain middlware (host-based URLs).

```shell
brew install dnsmasq
echo 'address=/cluster.local/127.0.0.1' >> /opt/homebrew/etc/dnsmasq.conf
sudo bash -c 'mkdir -p /etc/resolver'
sudo bash -c 'echo "nameserver 127.0.0.1" > /etc/resolver/cluster.local'
sudo brew services start dnsmasq
```

To use subdomain or host-based URLs, add this to the config and rebuild the Beta9 gateway.

```yaml
gateway:
  invokeURLType: host
```

You should now be able to access your local k3s instance via a domain.

```shell
curl http://beta9-gateway.beta9.svc.cluster.local:1994/api/v1/health
```

### Setting Up the SDK

The SDK is written in Python. You'll need Python 3.8 or higher. Use the `setup-sdk` make target to get started.

```bash
make setup-sdk
```

### Using the SDK

After you've setup the server and SDK, check out the SDK readme [here](sdk/README.md).

## 🔧 Opening an Issue

All issues are managed on Github. Feel free to open a new issue using the templates below:

- [Bug Report](https://github.com/beam-cloud/beta9/issues/new?assignees=&labels=&projects=&template=bug-report.md&title=)
- [Feature Request](https://github.com/beam-cloud/beta9/issues/new?assignees=&labels=&projects=&template=feature-request.md&title=)

## 📖 Documentation

Improvements to our documentation are extremely valuable. Any PR that improves the documentation -- no matter how small -- is encouraged.

## Tutorials

Are you interested in adding new hands-on examples or tutorials for Beta9? We encourage you to make a PR with your app examples! 

Tutorials are one of the most requested features from users, and examples that demonstrate practical applications of Beta9 are very valuable for the community.

## License

By contributing to the project, you agree that your contributions will be licensed under the AGPL v3 License.