Skip to content

Commit 673882f

Browse files
authored
Add more bridged completions (#3293)
* Added `cosign` via cobra * Added `slsa-verifier` via cobra * Added `oh-my-posh` via cobra * Added `gitleaks` via cobra * Added `exercism` via cobra * Added `gitsign` via cobra * Added `cdebug` via cobra yaaay got interrupted by an oom i love mac os * Added `kustomize` via cobra * Added `k9s` via cobra * Added `aqua` via urfavecli * Added `ghalint` via urfavecli * Added `gitlint` via click * Added `ykman` via click * Added `vunnel` via click * Added `cekit` via click * Added most core ansible commands via argcomplete `ansible-test` is excluded because I have no clue what to set the description or URL to argcomplete is also not guaranteed to work depending on how ansible is installed, but this is fine until actual completers are created * Added `ansible-creator` via argcomplete * Added `kubebuilder` via cobra * Added `nox` via argcomplete * Added `hatch` via click * Added `litecli` via click * Added `mycli` via click * Added `pgcli` via click * Added `reuse` via click * Added `k6` via cobra `carapace --detect` doesn't pick this one up, but it does work, and it uses cobra so idk * Added `helmfile` via cobra * Added `pscale` via cobra * Added `gomplate` via cobra * Added `act` via cobra * Added `apko` via cobra * Added `argo` & `argocd` via cobra * Added `colima` via cobra * Added `hcloud` via cobra * Added `k3sup` via cobra * Added `pipx` via argcomplete * Added `pipenv` via click * Added `trivy` via cobra * Added `iredis` via click
1 parent beb494b commit 673882f

File tree

1 file changed

+235
-0
lines changed

1 file changed

+235
-0
lines changed

cmd/carapace/cmd/completers/bridges.go

Lines changed: 235 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,86 @@ func knownbridges() map[string]*completer.Completer {
1111
// TODO what about different variants of a command
1212
// TODO limit to target os
1313
m := map[string]*completer.Completer{
14+
"act": {
15+
Description: "Run GitHub actions locally",
16+
Url: "https://github.com/nektos/act",
17+
Variant: "cobra",
18+
},
19+
"ansible": {
20+
Description: "Define and run a single task ‘playbook’ against a set of hosts",
21+
Url: "https://docs.ansible.com/projects/ansible/latest/cli/ansible.html",
22+
Variant: "argcomplete",
23+
},
24+
"ansible-config": {
25+
Description: "View ansible configuration",
26+
Url: "https://docs.ansible.com/projects/ansible/latest/cli/ansible-config.html",
27+
Variant: "argcomplete",
28+
},
29+
"ansible-console": {
30+
Description: "REPL console for executing Ansible tasks",
31+
Url: "https://docs.ansible.com/projects/ansible/latest/cli/ansible-console.html",
32+
Variant: "argcomplete",
33+
},
34+
"ansible-creator": {
35+
Description: "The fastest way to generate all your ansible content",
36+
Url: "https://docs.ansible.com/projects/creator/",
37+
Variant: "argcomplete",
38+
},
39+
"ansible-doc": {
40+
Description: "Ansible plugin documentation tool",
41+
Url: "https://docs.ansible.com/projects/ansible/latest/cli/ansible-doc.html",
42+
Variant: "argcomplete",
43+
},
44+
"ansible-galaxy": {
45+
Description: "Perform various Role and Collection related operations",
46+
Url: "https://docs.ansible.com/projects/ansible/latest/cli/ansible-galaxy.html",
47+
Variant: "argcomplete",
48+
},
49+
"ansible-inventory": {
50+
Description: "Show Ansible inventory information",
51+
Url: "https://docs.ansible.com/projects/ansible/latest/cli/ansible-inventory.html",
52+
Variant: "argcomplete",
53+
},
54+
"ansible-playbook": {
55+
Description: "Runs Ansible playbooks, executing the defined tasks on the targeted hosts",
56+
Url: "https://docs.ansible.com/projects/ansible/latest/cli/ansible-playbook.html",
57+
Variant: "argcomplete",
58+
},
59+
"ansible-pull": {
60+
Description: "Pulls playbooks from a VCS repo and executes them on target host",
61+
Url: "https://docs.ansible.com/projects/ansible/latest/cli/ansible-pull.html",
62+
Variant: "argcomplete",
63+
},
64+
"ansible-vault": {
65+
Description: "encryption/decryption utility for Ansible data files",
66+
Url: "https://docs.ansible.com/projects/ansible/latest/cli/ansible-vault.html",
67+
Variant: "argcomplete",
68+
},
69+
"apko": {
70+
Description: "Build OCI images from APK packages directly without Dockerfile",
71+
Url: "https://github.com/chainguard-dev/apko",
72+
Variant: "cobra",
73+
},
1474
"apptainer": {
1575
Description: "Application container and unprivileged sandbox platform for Linux",
1676
Url: "https://apptainer.org/",
1777
Variant: "cobra",
1878
},
79+
"aqua": {
80+
Description: "Declarative CLI Version manager",
81+
Url: "https://aquaproj.github.io/",
82+
Variant: "urfavecli",
83+
},
84+
"argo": {
85+
Description: "Workflow Engine for Kubernetes",
86+
Url: "https://argoproj.github.io/",
87+
Variant: "cobra",
88+
},
89+
"argocd": {
90+
Description: "Declarative Continuous Deployment for Kubernetes",
91+
Url: "https://argoproj.github.io/cd/",
92+
Variant: "cobra",
93+
},
1994
"az": {
2095
Description: "Azure Command-Line Interface",
2196
Url: "https://docs.microsoft.com/en-us/cli/azure/",
@@ -26,11 +101,31 @@ func knownbridges() map[string]*completer.Completer {
26101
Url: "https://www.boundaryproject.io/downloads",
27102
Variant: "complete",
28103
},
104+
"cdebug": {
105+
Description: "A Swiss army knife of container debugging",
106+
Url: "https://github.com/iximiuz/cdebug",
107+
Variant: "cobra",
108+
},
109+
"cekit": {
110+
Description: "Container Evolution Kit",
111+
Url: "https://cekit.io/",
112+
Variant: "click",
113+
},
29114
"chezmoi": {
30115
Description: "Manage your dotfiles across multiple diverse machines, securely",
31116
Url: "https://chezmoi.io/",
32117
Variant: "cobra",
33118
},
119+
"colima": {
120+
Description: "Container runtimes on macOS (and Linux) with minimal setup",
121+
Url: "https://colima.run/",
122+
Variant: "cobra",
123+
},
124+
"cosign": {
125+
Description: "Code signing and transparency for containers and binaries",
126+
Url: "https://github.com/sigstore/cosign",
127+
Variant: "cobra",
128+
},
34129
"crc": {
35130
Description: "Local OpenShift 4.x cluster",
36131
Url: "https://crc.dev/",
@@ -56,16 +151,81 @@ func knownbridges() map[string]*completer.Completer {
56151
Url: "https://docs.digitalocean.com/reference/doctl/",
57152
Variant: "cobra",
58153
},
154+
"exercism": {
155+
Description: "A command-line interface for Exercism",
156+
Url: "https://exercism.org/",
157+
Variant: "cobra",
158+
},
59159
"flyctl": {
60160
Description: "Command line tools for fly.io services",
61161
Url: "https://fly.io/",
62162
Variant: "cobra",
63163
},
164+
"ghalint": {
165+
Description: "GitHub Actions linter",
166+
Url: "https://github.com/suzuki-shunsuke/ghalint",
167+
Variant: "urfavecli",
168+
},
169+
"gitleaks": {
170+
Description: "Gitleaks scans code, past or present, for secrets",
171+
Url: "https://gitleaks.io/",
172+
Variant: "cobra",
173+
},
174+
"gitlint": {
175+
Description: "Linting for your git commit messages",
176+
Url: "https://jorisroovers.com/gitlint/latest/",
177+
Variant: "click",
178+
},
179+
"gitsign": {
180+
Description: "Keyless Git signing using Sigstore",
181+
Url: "https://github.com/sigstore/gitsign",
182+
Variant: "cobra",
183+
},
184+
"gomplate": {
185+
Description: "Process text files with Go templates",
186+
Url: "https://gomplate.ca/",
187+
Variant: "cobra",
188+
},
189+
"hatch": {
190+
Description: "Modern, extensible Python project management",
191+
Url: "https://hatch.pypa.io/latest/",
192+
Variant: "click",
193+
},
194+
"hcloud": {
195+
Description: "A CLI for Hetzner Cloud",
196+
Url: "https://github.com/hetznercloud/cli",
197+
Variant: "cobra",
198+
},
199+
"helmfile": {
200+
Description: "Declaratively deploy Kubernetes Helm Charts",
201+
Url: "https://github.com/helmfile/helmfile",
202+
Variant: "cobra",
203+
},
64204
"incus": {
65205
Description: "Powerful system container and virtual machine manager",
66206
Url: "https://linuxcontainers.org/incus",
67207
Variant: "cobra",
68208
},
209+
"iredis": {
210+
Description: "A Terminal Client for Redis with AutoCompletion and Syntax Highlighting",
211+
Url: "https://iredis.xbin.io/",
212+
Variant: "click",
213+
},
214+
"k3sup": {
215+
Description: "Bootstrap K3s over SSH in < 60s",
216+
Url: "https://github.com/alexellis/k3sup",
217+
Variant: "cobra",
218+
},
219+
"k6": {
220+
Description: "A modern load testing tool, using Go and JavaScript",
221+
Url: "https://k6.io",
222+
Variant: "cobra",
223+
},
224+
"k9s": {
225+
Description: "K9s is a CLI to view and manage your Kubernetes clusters",
226+
Url: "https://k9scli.io/",
227+
Variant: "cobra",
228+
},
69229
"kcl": {
70230
Description: "The KCL Command Line Interface",
71231
Url: "https://github.com/kcl-lang/cli",
@@ -81,6 +241,16 @@ func knownbridges() map[string]*completer.Completer {
81241
Url: "https://sw.kovidgoyal.net/kitty/",
82242
Variant: "kitten",
83243
},
244+
"kubebuilder": {
245+
Description: "CLI tool for building Kubernetes extensions and tools",
246+
Url: "https://github.com/kubernetes-sigs/kubebuilder",
247+
Variant: "cobra",
248+
},
249+
"kustomize": {
250+
Description: "Manages declarative configuration of Kubernetes",
251+
Url: "https://github.com/kubernetes-sigs/kustomize",
252+
Variant: "cobra",
253+
},
84254
"lefthook": {
85255
Description: "Git hooks manager",
86256
Url: "https://lefthook.dev/",
@@ -91,6 +261,16 @@ func knownbridges() map[string]*completer.Completer {
91261
Url: "https://lima-vm.io/",
92262
Variant: "cobra",
93263
},
264+
"litecli": {
265+
Description: "CLI for SQLite Databases with auto-completion and syntax highlighting",
266+
Url: "https://litecli.com/",
267+
Variant: "click",
268+
},
269+
"mycli": {
270+
Description: "A MySQL terminal client with auto-completion and syntax highlighting",
271+
Url: "https://www.mycli.net/",
272+
Variant: "click",
273+
},
94274
"nerdctl": {
95275
Description: "Nerdctl is a command line interface for containerd",
96276
Url: "https://github.com/containerd/nerdctl",
@@ -101,6 +281,16 @@ func knownbridges() map[string]*completer.Completer {
101281
Url: "https://www.nomadproject.io/",
102282
Variant: "complete",
103283
},
284+
"nox": {
285+
Description: "Flexible test automation for Python",
286+
Url: "https://nox.thea.codes/",
287+
Variant: "argcomplete",
288+
},
289+
"oh-my-posh": {
290+
Description: "A cross platform tool to render your prompt",
291+
Url: "https://ohmyposh.dev/",
292+
Variant: "cobra",
293+
},
104294
"op": {
105295
Description: "1Password CLI",
106296
Url: "https://developer.1password.com/docs/cli",
@@ -112,11 +302,31 @@ func knownbridges() map[string]*completer.Completer {
112302
Url: "https://orbstack.dev/",
113303
Variant: "cobra",
114304
},
305+
"pgcli": {
306+
Description: "Postgres CLI with autocompletion and syntax highlighting",
307+
Url: "https://pgcli.com/",
308+
Variant: "click",
309+
},
310+
"pipenv": {
311+
Description: "Python Development Workflow for Humans",
312+
Url: "https://pipenv.pypa.io/",
313+
Variant: "click",
314+
},
315+
"pipx": {
316+
Description: "Install and execute apps from Python packages",
317+
Url: "https://pipx.pypa.io/",
318+
Variant: "argcomplete",
319+
},
115320
"podman": {
116321
Description: "Simple management tool for pods, containers and images",
117322
Url: "https://podman.io/",
118323
Variant: "cobra",
119324
},
325+
"pscale": {
326+
Description: "A CLI for communicating with PlanetScale's API",
327+
Url: "https://planetscale.com/docs/cli",
328+
Variant: "cobra",
329+
},
120330
"ramalama": {
121331
Description: "tool for working with LLM models",
122332
Url: "https://ramalama.ai/",
@@ -127,11 +337,26 @@ func knownbridges() map[string]*completer.Completer {
127337
Url: "https://rclone.org/",
128338
Variant: "cobra",
129339
},
340+
"reuse": {
341+
Description: "reuse is a tool for compliance with the REUSE recommendations",
342+
Url: "https://reuse.software",
343+
Variant: "click",
344+
},
345+
"slsa-verifier": {
346+
Description: "Verify provenance from SLSA compliant builders",
347+
Url: "https://github.com/slsa-framework/slsa-verifier",
348+
Variant: "cobra",
349+
},
130350
"talosctl": {
131351
Description: "A CLI for out-of-band management of Kubernetes nodes created by Talos",
132352
Url: "https://docs.siderolabs.com/talos/latest/reference/cli",
133353
Variant: "cobra",
134354
},
355+
"trivy": {
356+
Description: "Scanner for vulnerabilities in container images, file systems, and Git repos",
357+
Url: "https://trivy.dev/",
358+
Variant: "cobra",
359+
},
135360
"toolbox": {
136361
Description: "Tool for interactive command line environments on Linux",
137362
Url: "https://containertoolbx.org/",
@@ -142,6 +367,16 @@ func knownbridges() map[string]*completer.Completer {
142367
Url: "https://www.vaultproject.io/",
143368
Variant: "complete",
144369
},
370+
"vunnel": {
371+
Description: "Tool for collecting vulnerability data from various sources",
372+
Url: "https://github.com/anchore/vunnel",
373+
Variant: "click",
374+
},
375+
"ykman": {
376+
Description: "Configure your YubiKey via the command line",
377+
Url: "https://developers.yubico.com/yubikey-manager/",
378+
Variant: "click",
379+
},
145380
}
146381

147382
for name, c := range m {

0 commit comments

Comments
 (0)