Rune is a command-line interface (CLI) tool designed to simplify the process of setting up Version Control System (VCS) integrations and Kubernetes secrets. It currently supports GitHub and GitLab as VCS providers.
Features
Authenticate with GitHub or GitLab
Generate GPG and SSH key pairs
Create Kubernetes secrets (in-cluster or as YAML files)
Add deploy keys to GitHub repositories or GitLab projects
Prerequisites
Go 1.16 or later
Access to GitHub or GitLab account
(Optional) Access to a Kubernetes cluster
Installation
Clone the repository:
git clone git@github.com:The-Mines/Rune.git
Build the project:
go build -o rune .
(Optional) Move the binary to a directory in your PATH for easy access:
sudo mv rune /usr/local/bin/
Usage
Basic Command Structure
./rune bootstrap [flags]
Flags
--vcs-type: VCS type (github or gitlab)
--vcs-token: VCS Personal Access Token
--vcs-repo: VCS repository (owner/repo for GitHub, namespace/project-name for GitLab)
--gpg-name: Name for GPG key
--gpg-email: Email for GPG key
--key-length: Key length for both GPG and SSH keys
--gpg-expiry-days: GPG key expiry in days (0 for no expiry)
--kube-config: Path to Kubernetes config file
--kube-namespace: Kubernetes namespace for resources
--output-file: Path to output file for Kubernetes secret YAML