https://github.com/valiot/transfer-helper
https://github.com/valiot/transfer-helper
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/valiot/transfer-helper
- Owner: valiot
- Created: 2025-09-04T14:46:54.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-09T00:12:12.000Z (9 months ago)
- Last Synced: 2025-10-23T14:58:13.632Z (8 months ago)
- Language: Shell
- Size: 9.77 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# transfer-helper
Simple one-shot provisioning script for a fresh Ubuntu 22.04 (root) environment. Installs Docker Engine, kubectl, doctl, linode-cli, boto3, Oh My Zsh, and supporting CLI tools. Also generates an Ed25519 SSH key and prints its public part.
## Quick Start (run as root)
```bash
curl -fsSL https://raw.githubusercontent.com/valiot/transfer-helper/refs/heads/main/install.sh | bash
```
If you are not root, prepend `sudo`:
```bash
curl -fsSL https://raw.githubusercontent.com/valiot/transfer-helper/refs/heads/main/install.sh | sudo bash
```
## What It Does
- Updates and upgrades existing apt packages
- Installs: zsh, mosh, postgresql-client, ruby, git, jq, pipx, python tooling
- Removes legacy Docker-related packages, adds Docker’s official repo, installs Docker Engine + Buildx + Compose plugin
- Installs kubectl (latest stable)
- Installs DigitalOcean `doctl` (via snap if available, else tarball) and connects common interfaces
- Installs `linode-cli` and `boto3` via pipx
- Installs Oh My Zsh (non-interactive) and sets zsh as default shell for root
- Adds a helper function `lke-save` to merge Linode LKE kubeconfigs
- Creates `~/.kube` and ensures secure permissions
- Generates an Ed25519 SSH key at `/root/.ssh/id_ed25519` if absent and prints the public key
- Provides a summary of versions at the end
## Idempotency
Re-running the script is safe: it skips steps already completed (e.g., existing Docker keyring, kubectl, doctl, Oh My Zsh, SSH key, and `lke-save` function).
## After Installation
- Start a new shell or run: `exec zsh`
- Copy the printed public SSH key to any services that require it
- Use `lke-save ` to merge an LKE cluster kubeconfig into your main kubeconfig
## Notes
- Script assumes Ubuntu 22.04; a warning is shown if a different version is detected.
- Must run as root (or via sudo) because it installs system packages and modifies root’s shell.
## License
MIT