Signed-off-by: Harald Albers <github@albersweb.de>
(cherry picked from commit 324dd3cfec756109df58128376b888684d8cf521)
Signed-off-by: Victor Vieux <vieux@docker.com>
| ... | ... |
@@ -23,6 +23,7 @@ |
| 23 | 23 |
# DOCKER_COMPLETION_SHOW_CONTAINER_IDS |
| 24 | 24 |
# DOCKER_COMPLETION_SHOW_NETWORK_IDS |
| 25 | 25 |
# DOCKER_COMPLETION_SHOW_NODE_IDS |
| 26 |
+# DOCKER_COMPLETION_SHOW_SECRET_IDS |
|
| 26 | 27 |
# DOCKER_COMPLETION_SHOW_SERVICE_IDS |
| 27 | 28 |
# "no" - Show names only (default) |
| 28 | 29 |
# "yes" - Show names and ids |
| ... | ... |
@@ -311,6 +312,22 @@ __docker_complete_runtimes() {
|
| 311 | 311 |
COMPREPLY=( $(compgen -W "$(__docker_runtimes)" -- "$cur") ) |
| 312 | 312 |
} |
| 313 | 313 |
|
| 314 |
+# __docker_secrets returns a list of all secrets. |
|
| 315 |
+# By default, only names of secrets are returned. |
|
| 316 |
+# Set DOCKER_COMPLETION_SHOW_SECRET_IDS=yes to also complete IDs of secrets. |
|
| 317 |
+__docker_secrets() {
|
|
| 318 |
+ local fields='$2' # default: name only |
|
| 319 |
+ [ "${DOCKER_COMPLETION_SHOW_SECRET_IDS}" = yes ] && fields='$1,$2' # ID and name
|
|
| 320 |
+ |
|
| 321 |
+ __docker_q secret ls | awk "NR>1 {print $fields}"
|
|
| 322 |
+} |
|
| 323 |
+ |
|
| 324 |
+# __docker_complete_secrets applies completion of secrets based on the current value |
|
| 325 |
+# of `$cur`. |
|
| 326 |
+__docker_complete_secrets() {
|
|
| 327 |
+ COMPREPLY=( $(compgen -W "$(__docker_secrets)" -- "$cur") ) |
|
| 328 |
+} |
|
| 329 |
+ |
|
| 314 | 330 |
# __docker_stacks returns a list of all stacks. |
| 315 | 331 |
__docker_stacks() {
|
| 316 | 332 |
__docker_q stack ls | awk 'NR>1 {print $1}'
|
| ... | ... |
@@ -2736,6 +2753,7 @@ _docker_service_update() {
|
| 2736 | 2736 |
--mode |
| 2737 | 2737 |
--name |
| 2738 | 2738 |
--port |
| 2739 |
+ --secret |
|
| 2739 | 2740 |
" |
| 2740 | 2741 |
|
| 2741 | 2742 |
case "$prev" in |
| ... | ... |
@@ -2755,6 +2773,10 @@ _docker_service_update() {
|
| 2755 | 2755 |
COMPREPLY=( $( compgen -W "global replicated" -- "$cur" ) ) |
| 2756 | 2756 |
return |
| 2757 | 2757 |
;; |
| 2758 |
+ --secret) |
|
| 2759 |
+ __docker_complete_secrets |
|
| 2760 |
+ return |
|
| 2761 |
+ ;; |
|
| 2758 | 2762 |
--group) |
| 2759 | 2763 |
COMPREPLY=( $(compgen -g -- "$cur") ) |
| 2760 | 2764 |
return |
| ... | ... |
@@ -2779,6 +2801,8 @@ _docker_service_update() {
|
| 2779 | 2779 |
--image |
| 2780 | 2780 |
--port-add |
| 2781 | 2781 |
--port-rm |
| 2782 |
+ --secret-add |
|
| 2783 |
+ --secret-rm |
|
| 2782 | 2784 |
" |
| 2783 | 2785 |
|
| 2784 | 2786 |
case "$prev" in |
| ... | ... |
@@ -2802,6 +2826,10 @@ _docker_service_update() {
|
| 2802 | 2802 |
__docker_complete_image_repos_and_tags |
| 2803 | 2803 |
return |
| 2804 | 2804 |
;; |
| 2805 |
+ --secret-add|--secret-rm) |
|
| 2806 |
+ __docker_complete_secrets |
|
| 2807 |
+ return |
|
| 2808 |
+ ;; |
|
| 2805 | 2809 |
esac |
| 2806 | 2810 |
fi |
| 2807 | 2811 |
|
| ... | ... |
@@ -3329,6 +3357,90 @@ _docker_save() {
|
| 3329 | 3329 |
_docker_image_save |
| 3330 | 3330 |
} |
| 3331 | 3331 |
|
| 3332 |
+ |
|
| 3333 |
+_docker_secret() {
|
|
| 3334 |
+ local subcommands=" |
|
| 3335 |
+ create |
|
| 3336 |
+ inspect |
|
| 3337 |
+ ls |
|
| 3338 |
+ rm |
|
| 3339 |
+ " |
|
| 3340 |
+ local aliases=" |
|
| 3341 |
+ list |
|
| 3342 |
+ remove |
|
| 3343 |
+ " |
|
| 3344 |
+ __docker_subcommands "$subcommands $aliases" && return |
|
| 3345 |
+ |
|
| 3346 |
+ case "$cur" in |
|
| 3347 |
+ -*) |
|
| 3348 |
+ COMPREPLY=( $( compgen -W "--help" -- "$cur" ) ) |
|
| 3349 |
+ ;; |
|
| 3350 |
+ *) |
|
| 3351 |
+ COMPREPLY=( $( compgen -W "$subcommands" -- "$cur" ) ) |
|
| 3352 |
+ ;; |
|
| 3353 |
+ esac |
|
| 3354 |
+} |
|
| 3355 |
+ |
|
| 3356 |
+_docker_secret_create() {
|
|
| 3357 |
+ case "$prev" in |
|
| 3358 |
+ --label|-l) |
|
| 3359 |
+ return |
|
| 3360 |
+ ;; |
|
| 3361 |
+ esac |
|
| 3362 |
+ |
|
| 3363 |
+ case "$cur" in |
|
| 3364 |
+ -*) |
|
| 3365 |
+ COMPREPLY=( $( compgen -W "--help --label -l" -- "$cur" ) ) |
|
| 3366 |
+ ;; |
|
| 3367 |
+ esac |
|
| 3368 |
+} |
|
| 3369 |
+ |
|
| 3370 |
+_docker_secret_inspect() {
|
|
| 3371 |
+ case "$prev" in |
|
| 3372 |
+ --format|-f) |
|
| 3373 |
+ return |
|
| 3374 |
+ ;; |
|
| 3375 |
+ esac |
|
| 3376 |
+ |
|
| 3377 |
+ case "$cur" in |
|
| 3378 |
+ -*) |
|
| 3379 |
+ COMPREPLY=( $( compgen -W "--format -f --help" -- "$cur" ) ) |
|
| 3380 |
+ ;; |
|
| 3381 |
+ *) |
|
| 3382 |
+ __docker_complete_secrets |
|
| 3383 |
+ ;; |
|
| 3384 |
+ esac |
|
| 3385 |
+} |
|
| 3386 |
+ |
|
| 3387 |
+_docker_secret_list() {
|
|
| 3388 |
+ _docker_secret_ls |
|
| 3389 |
+} |
|
| 3390 |
+ |
|
| 3391 |
+_docker_secret_ls() {
|
|
| 3392 |
+ case "$cur" in |
|
| 3393 |
+ -*) |
|
| 3394 |
+ COMPREPLY=( $( compgen -W "--help --quiet -q" -- "$cur" ) ) |
|
| 3395 |
+ ;; |
|
| 3396 |
+ esac |
|
| 3397 |
+} |
|
| 3398 |
+ |
|
| 3399 |
+_docker_secret_remove() {
|
|
| 3400 |
+ case "$cur" in |
|
| 3401 |
+ -*) |
|
| 3402 |
+ COMPREPLY=( $( compgen -W "--help" -- "$cur" ) ) |
|
| 3403 |
+ ;; |
|
| 3404 |
+ *) |
|
| 3405 |
+ __docker_complete_secrets |
|
| 3406 |
+ ;; |
|
| 3407 |
+ esac |
|
| 3408 |
+} |
|
| 3409 |
+ |
|
| 3410 |
+_docker_secret_rm() {
|
|
| 3411 |
+ _docker_secret_remove |
|
| 3412 |
+} |
|
| 3413 |
+ |
|
| 3414 |
+ |
|
| 3415 |
+ |
|
| 3332 | 3416 |
_docker_search() {
|
| 3333 | 3417 |
local key=$(__docker_map_key_of_current_option '--filter|-f') |
| 3334 | 3418 |
case "$key" in |
| ... | ... |
@@ -3852,6 +3964,7 @@ _docker() {
|
| 3852 | 3852 |
run |
| 3853 | 3853 |
save |
| 3854 | 3854 |
search |
| 3855 |
+ secret |
|
| 3855 | 3856 |
service |
| 3856 | 3857 |
stack |
| 3857 | 3858 |
start |