mirror of https://github.com/fluxcd/flux2.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
3.3 KiB
Markdown
88 lines
3.3 KiB
Markdown
---
|
|
title: "flux create secret git command"
|
|
---
|
|
## flux create secret git
|
|
|
|
Create or update a Kubernetes secret for Git authentication
|
|
|
|
### Synopsis
|
|
|
|
The create secret git command generates a Kubernetes secret with Git credentials.
|
|
For Git over SSH, the host and SSH keys are automatically generated and stored in the secret.
|
|
For Git over HTTP/S, the provided basic authentication credentials are stored in the secret.
|
|
|
|
```
|
|
flux create secret git [name] [flags]
|
|
```
|
|
|
|
### Examples
|
|
|
|
```
|
|
# Create a Git SSH authentication secret using an ECDSA P-521 curve public key
|
|
|
|
flux create secret git podinfo-auth \
|
|
--url=ssh://git@github.com/stefanprodan/podinfo \
|
|
--ssh-key-algorithm=ecdsa \
|
|
--ssh-ecdsa-curve=p521
|
|
|
|
# Create a Git SSH authentication secret with a passwordless private key from file
|
|
# The public SSH host key will still be gathered from the host
|
|
flux create secret git podinfo-auth \
|
|
--url=ssh://git@github.com/stefanprodan/podinfo \
|
|
--private-key-file=./private.key
|
|
|
|
# Create a secret for a Git repository using basic authentication
|
|
flux create secret git podinfo-auth \
|
|
--url=https://github.com/stefanprodan/podinfo \
|
|
--username=username \
|
|
--password=password
|
|
|
|
# Create a Git SSH secret on disk and print the deploy key
|
|
flux create secret git podinfo-auth \
|
|
--url=ssh://git@github.com/stefanprodan/podinfo \
|
|
--export > podinfo-auth.yaml
|
|
|
|
yq read podinfo-auth.yaml 'data."identity.pub"' | base64 --decode
|
|
|
|
# Create a Git SSH secret on disk and encrypt it with Mozilla SOPS
|
|
flux create secret git podinfo-auth \
|
|
--namespace=apps \
|
|
--url=ssh://git@github.com/stefanprodan/podinfo \
|
|
--export > podinfo-auth.yaml
|
|
|
|
sops --encrypt --encrypted-regex '^(data|stringData)$' \
|
|
--in-place podinfo-auth.yaml
|
|
```
|
|
|
|
### Options
|
|
|
|
```
|
|
--ca-file string path to TLS CA file used for validating self-signed certificates
|
|
-h, --help help for git
|
|
-p, --password string basic authentication password
|
|
--private-key-file string path to a passwordless private key file used for authenticating to the Git SSH server
|
|
--ssh-ecdsa-curve ecdsaCurve SSH ECDSA public key curve (p256, p384, p521) (default p384)
|
|
--ssh-key-algorithm publicKeyAlgorithm SSH public key algorithm (rsa, ecdsa, ed25519) (default rsa)
|
|
--ssh-rsa-bits rsaKeyBits SSH RSA public key bit size (multiplies of 8) (default 2048)
|
|
--url string git address, e.g. ssh://git@host/org/repository
|
|
-u, --username string basic authentication username
|
|
```
|
|
|
|
### Options inherited from parent commands
|
|
|
|
```
|
|
--context string kubernetes context to use
|
|
--export export in YAML format to stdout
|
|
--interval duration source sync interval (default 1m0s)
|
|
--kubeconfig string absolute path to the kubeconfig file
|
|
--label strings set labels on the resource (can specify multiple labels with commas: label1=value1,label2=value2)
|
|
-n, --namespace string the namespace scope for this operation (default "flux-system")
|
|
--timeout duration timeout for this operation (default 5m0s)
|
|
--verbose print generated objects
|
|
```
|
|
|
|
### SEE ALSO
|
|
|
|
* [flux create secret](../flux_create_secret/) - Create or update Kubernetes secrets
|
|
|