https://github.com/vulnebify/miseptr
A lightweight Kubernetes controller that watches new nodes and automatically updates their DNS records.
https://github.com/vulnebify/miseptr
k8s k8s-controller kubernetes kubernetes-controller node-controller ptr reverse-dns reverse-dns-utility vultr
Last synced: 17 days ago
JSON representation
A lightweight Kubernetes controller that watches new nodes and automatically updates their DNS records.
- Host: GitHub
- URL: https://github.com/vulnebify/miseptr
- Owner: vulnebify
- License: mit
- Created: 2025-04-28T14:02:12.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-15T11:19:17.000Z (10 months ago)
- Last Synced: 2025-08-15T11:22:03.964Z (10 months ago)
- Topics: k8s, k8s-controller, kubernetes, kubernetes-controller, node-controller, ptr, reverse-dns, reverse-dns-utility, vultr
- Language: Go
- Homepage:
- Size: 40 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# misePTR
**misePTR** is a lightweight Kubernetes controller that watches new nodes and automatically updates their **DNS records**.
[](https://github.com/vulnebify/miseptr/actions/workflows/test.yaml)
---
## Installation
### Build locally
```bash
make build
```
---
## Usage
```bash
./bin/miseptr watch --provider vultr --suffix example.com
```
✅ Connects automatically to in-cluster Kubernetes or local `~/.kube/config`.
---
## Commands
| Command | Description |
|-------------------------|--------------------------------------------|
| `miseptr watch` | Watch nodes and update PTR records |
### Flags
| Flag | Description | Default |
|--------------|---------------------------------------|------------|
| `--provider` | Hosting provider (e.g. `vultr`) | `vultr` |
| `--dns` | DNS provider (e.g. `cloudflare`) | *optional* |
| `--suffix` | Suffix for PTR template (`%s.suffix`) | *required* |
---
## Testing
Install setup-envtest and run tests:
```bash
make test
```
✅ This sets up a local Kubernetes control plane for integration testing.
---
## GitHub Release
To create a versioned release:
```bash
git tag v1.0.0
git push origin v1.0.0
```
The binary will appear under [Releases](../../releases).
---
## License
This project is licensed under the [MIT License](./LICENSE).