An open API service indexing awesome lists of open source software.

https://github.com/viveksyngh/kube-sync

A CLI to sync configmaps and secrets in a kubernetes cluster
https://github.com/viveksyngh/kube-sync

cli hacktoberfest kubernetes

Last synced: about 1 year ago
JSON representation

A CLI to sync configmaps and secrets in a kubernetes cluster

Awesome Lists containing this project

README

          

# kube-sync
Kube Sync is a CLI application to copy/sync ConfigMaps and secrets from one namespace to another.

# Motivation

While working with Kubernetes, all of us might have encountered a situation where applications deployed in a new namespace were failing because of missing image pull secret, which we forgot to create in the new namespace. This tool helps us in copying such secrets or ConfigMaps from an already existing namespace to a new namespace.

# Installation

Stable binaries are also available on the [releases](https://github.com/viveksyngh/kube-sync/releases) page. Stable releases are generally recommended for CI usage in particular. To install, download the binary for your platform from "Assets" and place this into your $PATH:

## For Linux:
```
curl -Lo ./kube-sync https://github.com/viveksyngh/kube-sync/releases/download/v0.1.0/kube-sync-$(uname)-amd64
chmod +x ./kube-sync
mv ./kube-sync /usr/local/bin/kube-sync
```

## On macOS via Bash:
```
curl -Lo ./kube-sync https://github.com/viveksyngh/kube-sync/releases/download/v0.1.0/kube-sync-darwin-amd64
chmod +x ./kube-sync
mv ./kube-sync /usr/local/bin/kube-sync
```
## On Windows:
```
curl.exe -Lo kube-sync-windows-amd64.exe https://github.com/viveksyngh/kube-sync/releases/download/v0.1.0/kube-sync-windows-amd64
Move-Item .\kube-sync-windows-amd64.exe c:\some-dir-in-your-PATH\kube-sync-windows-amd64.exe
```
# Usage

```
NAME:
kube-sync - A CLI to sync kubernetes resources

USAGE:
kube-sync [global options] command [command options] [arguments...]

DESCRIPTION:
A CLI to sync resources in a kubernetes cluster

COMMANDS:
configmap, cm Copy a configmap from one namespace to another
secret, sec Copy a secret from one namespace to another
version, v print version
help, h Shows a list of commands or help for one command

GLOBAL OPTIONS:
--kubeconfig value path to the kubeconfig file to use for CLI requests (default: "~/.kube/config") [$KUBECONFIG]
--namespace value, -n value namespace of the source resource (default: "default")
--target-namespace value, --tn value target namespace in which resource will be copied (default: "default")
--help, -h show help (default: false)
```

### Sync/Copy a configmap

```
kube-sync configmap --help
NAME:
kube-sync configmap - Copy a configmap from one namespace to another

USAGE:
kube-sync configmap [command options] NAME

OPTIONS:
--help, -h show help (default: false)
```

```
kube-sync --namespace source-ns --target-namespace target-ns configmap configmap-name

kube-sync --namespace source-ns --target-namespace target-ns cm configmap-name
```

### Sync/Copy a secret
```
kube-sync secret --help
NAME:
kube-sync secret - Copy a secret from one namespace to another

USAGE:
kube-sync secret [command options] NAME

OPTIONS:
--help, -h show help (default: false)
```

```
kube-sync --namespace source-ns --target-namespace target-ns secret secret-name

kube-sync --namespace source-ns --target-namespace target-ns sec secret-name
```