Skip to content

sangkan-dev/gapura

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gapura (ꦒꦥꦸꦫ)

Gapura adalah “pintu masuk utama” untuk akses SSH di cluster/homelab: smart contract EVM menjadi source of truth untuk siapa yang boleh login, dan OpenSSH memanggil sentinel untuk mengambil authorized_keys secara dinamis.

Gapura adalah produk dari Sangkan (ꦱꦁꦏꦤ꧀).

Spesifikasi produk: PRD.md. Task list: TASK.md.

Struktur repo

  • contracts/: Foundry + kontrak Gapura.sol + test + deploy script
  • sentinel/: binary gapura-sentinel (OpenSSH AuthorizedKeysCommand)
  • cli/: binary gapura (admin CLI)
  • docs/: runbook, install, sshd, sentinel config, checklist E2E
  • scripts/: smoke test lokal dan installer

Quickstart

Contracts (Foundry)

cd contracts
forge build
forge test

Deploy (lihat juga contracts/README.md):

cd contracts
forge script script/Gapura.s.sol:GapuraScript --rpc-url base_sepolia --broadcast --verify -vvv

CLI (admin) — gapura

cd cli
cargo build --release
./target/release/gapura --help

Contoh pakai:

./target/release/gapura init --rpc-url "<RPC_URL>" --private-key-path "<PATH_TO_HEX_KEY>" --contract "<GAPURA_CONTRACT>"
./target/release/gapura grant <wallet> "ssh-ed25519 AAAA..."
./target/release/gapura revoke <wallet>
./target/release/gapura status --wallet <wallet>
./target/release/gapura audit --from-block 0

Sentinel (host) — gapura-sentinel

Install (recommended, from GitHub Release):

curl -fsSL https://raw.githubusercontent.com/sangkan-dev/gapura/main/scripts/install.sh -o install.sh
chmod +x install.sh
./install.sh

Build from source (alternative):

cd sentinel
cargo build --release

Install di host SSH:

Doctor check (di host):

sudo -u gapura-sentinel /usr/local/bin/gapura-sentinel doctor

Smoke test (lokal, tanpa sshd)

./scripts/dev-smoke.sh

Security notes

  • Gunakan private RPC endpoint (Alchemy/QuickNode) dan simpan API key sebagai environment variable / secret manager.
  • Jangan commit file .env atau config real /etc/gapura/*.toml.

License

MIT — lihat LICENSE.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors