Skip to content

Commit 64ff47f

Browse files
authored
chore: open source check (#11)
* open source check * push image to public registry * updated license * updated license
1 parent 9d7ca1e commit 64ff47f

7 files changed

Lines changed: 82 additions & 33 deletions

File tree

.github/workflows/tag.yml

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Tag
1+
name: Release Docker image
22

33
concurrency:
44
group: splatter-server-tag-${{ github.ref_name }}
@@ -9,10 +9,6 @@ on:
99
tags:
1010
- "v*"
1111

12-
env:
13-
AWS_REGION: ${{ vars.GLOBAL_COMMON_AWS_REGION }}
14-
IMAGE_NAME: splatter-server
15-
1612
jobs:
1713
build-and-push:
1814
runs-on: ubuntu-24.04
@@ -27,25 +23,11 @@ jobs:
2723
docker system prune -af || true
2824
df -h
2925
30-
- name: Configure AWS credentials
31-
uses: aws-actions/configure-aws-credentials@v4
26+
- name: Log in to Docker Hub
27+
uses: docker/login-action@v3
3228
with:
33-
aws-access-key-id: ${{ secrets.GLOBAL_COMMON_AWS_ACCESS_KEY }}
34-
aws-secret-access-key: ${{ secrets.GLOBAL_COMMON_AWS_SECRET_ACCESS_KEY }}
35-
aws-region: ${{ env.AWS_REGION }}
36-
37-
- name: Log in to ECR
38-
id: ecr
39-
uses: aws-actions/amazon-ecr-login@v2
40-
41-
- name: Docker metadata
42-
id: meta
43-
uses: docker/metadata-action@v5
44-
with:
45-
images: ${{ steps.ecr.outputs.registry }}/${{ env.IMAGE_NAME }}
46-
tags: |
47-
type=ref,event=tag
48-
type=raw,value=latest
29+
username: ${{ secrets.DOCKER_USERNAME }}
30+
password: ${{ secrets.DOCKER_PASSWORD }}
4931

5032
- name: Set up Docker Buildx
5133
uses: docker/setup-buildx-action@v3
@@ -61,6 +43,6 @@ jobs:
6143
platforms: linux/amd64
6244
cache-from: type=gha
6345
cache-to: type=gha,mode=max
64-
tags: ${{ steps.meta.outputs.tags }}
65-
66-
# Deployment is handled by ArgoCD reconciliation; no auto-sync on tag pushes.
46+
tags: |
47+
aukilabs/splatter-server:latest
48+
aukilabs/splatter-server:${{ github.ref_name }}

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# Environment and secrets (use .env.example as template)
2+
.env
3+
*.env.local
4+
15
# Vim
26
[._]*.s[a-v][a-z]
37
!*.svg # comment out if you don't need vector files

CONTRIBUTING.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Contributing to splatter-server
2+
3+
Thank you for your interest in contributing. We welcome issues and pull requests.
4+
5+
## How to contribute
6+
7+
- **Bug reports and feature ideas:** Open an [issue](https://github.com/aukilabs/splatter-server/issues).
8+
- **Code changes:** Open a pull request (PR) against `main`. Use a branch name that matches our CI (e.g. `feature/your-feature`, `bug/fix-description`, `chore/your-change`).
9+
10+
## Development setup
11+
12+
- **Rust (compute node):** See [server/rust/README.md](server/rust/README.md). Copy `server/rust/.env.example` to `server/rust/.env` and configure for local DDS/DMS if needed.
13+
- **Docker:** From the repo root, `docker build -t splatter-server .` then run with `--env-file .env` as in the main [README](README.md).
14+
15+
## Code standards
16+
17+
- **Rust:** In `server/rust`, please run before pushing:
18+
- `cargo fmt --all`
19+
- `cargo clippy --workspace --all-targets --all-features -- -D warnings`
20+
- `cargo test --workspace --all-features`
21+
- CI runs the same checks on push; keep the pipeline green.
22+
23+
## Pull request process
24+
25+
1. Point your PR at the `main` branch.
26+
2. Ensure CI passes (Rust format, clippy, tests).
27+
3. Keep changes focused; link related issues where applicable.
28+
29+
By contributing, you agree that your contributions will be licensed under the same [MIT License](LICENSE) that covers this project.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Auki Network Limited
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# splatter-server
22

3+
Splatter compute node for the Auki Network: runs Gaussian splatting jobs (COLMAP + nerfstudio/splatfacto) as part of the reconstruction pipeline.
4+
5+
## License
6+
7+
This project is licensed under the [MIT License](LICENSE).
8+
9+
## Contributing
10+
11+
See [CONTRIBUTING.md](CONTRIBUTING.md) for how to report issues, open PRs, and run the Rust checks locally.
12+
313
## Docker
414

515
### Build
@@ -9,6 +19,9 @@ docker build -t splatter-server .
919
```
1020

1121
### Run
22+
23+
Create a `.env` from `server/rust/.env.example` and set your DMS/DDS URLs and registration secret, then:
24+
1225
```bash
1326
docker run --gpus all -p 8080:8080 --name splatter -d --env-file .env splatter-server
1427
```
@@ -42,7 +55,7 @@ python3 run.py \
4255
{job_root_path}
4356
├── Frames
4457
│ ├── {images}
45-
│ └── ...
58+
│ └── ...
4659
├── refined
4760
│ ├── nerfstudio-data
4861
│ │ └── {converted nerfstudio data from colmap}
@@ -52,4 +65,4 @@ python3 run.py \
5265
│ ├── splat_rot.splat # this is what needs to be uploaded to dmt
5366
│ └── splatfacto
5467
│ └── {splat torch model}
55-
```
68+
```

server/rust/.env.example

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Required by posemesh-compute-node
2-
DMS_BASE_URL=https://dms.dev.aukiverse.com/v1
1+
# Required by posemesh-compute-node (replace with your DMS/DDS endpoints)
2+
DMS_BASE_URL=https://dms.auki.network/v1
33
REQUEST_TIMEOUT_SECS=10
4-
DDS_BASE_URL=https://dds.dev.aukiverse.com
4+
DDS_BASE_URL=https://dds.auki.network
55
NODE_URL=https://localhost:8080
66
REG_SECRET=replace-with-dds-registration-secret
77
SECP256K1_PRIVHEX=0000000000000000000000000000000000000000000000000000000000000000

server/rust/scripts/curl-create-hello-job.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
#!/usr/bin/env bash
22
set -euo pipefail
33

4-
DMS_BASE_URL=${DMS_BASE_URL:-https://dms.dev.aukiverse.com/v1}
4+
DMS_BASE_URL=${DMS_BASE_URL:-https://dms.auki.network/v1}
55
APP_JWT=${APP_JWT:-}
66
DOMAIN_ID=${DOMAIN_ID:-}
77
OUTPUTS_PREFIX=${OUTPUTS_PREFIX:-hello-demo/}
88
MESSAGE=${MESSAGE:-Hello from curl-create-hello-job.sh}
99
TASK_LABEL=${TASK_LABEL:-hello}
1010
STAGE=${STAGE:-hello}
1111
BILLING_UNITS=${BILLING_UNITS:-1}
12-
INPUT_CID=${INPUT_CID:-} # https://domain.dev.aukiverse.com/api/v1/domains/<DOMAIN_ID>/data/<DATA_ID
12+
INPUT_CID=${INPUT_CID:-} # https://domain-server/api/v1/domains/<DOMAIN_ID>/data/<DATA_ID>
1313
CAPABILITY="/splatter/colmap/v1"
1414

1515
if [[ -z "$APP_JWT" ]]; then

0 commit comments

Comments
 (0)