# X.509

## Using x509-Backup and Sync all Apps/pipelines with run job"

Using x509-Backup, backup, and sync all apps/pipelines with a run job

Using x509, backup and sync all apps and pipelines with a run job.

1. Please follow below repo to configuring x509

   <https://github.com/OpsMx/x509-gate>
2. Create Secret with the certs

   `kubectl create secret generic x509-certs --from-file=tls.key --from-file=tls.crt -n <NAME SPACE>`
3. If required, add an annotation for gate ingress.

   `nginx.ingress.kubernetes.io/ssl-passthrough: true`
4. Edit **spin-cli-config-secret.yaml** and provide **spin-cli** configuration

   `vi config/spin-cli-config-secret-x509.yaml`

   * **Config reference is located in spin-cli**

```
auth:
  enabled: true
  x509:
    certPath: /opt/tls.crt
    keyPath: /opt/tls.key 
gate:
  endpoint: https://spin-x509.< NAMESPACE >:8085
```

* Apply the secret yaml

  `kubectl apply -f config/spin-cli-config-secret-x509.yaml -n <NameSpace of spinnaker>`

5\.  **Jobs**

&#x20;      **Environmental variables:**

* Command decides **upload** and **download** from git&#x20;
* Application (specific app is defined, For all Application action make value as empty)&#x20;
* **Sync to git from spinnaker**

  `kubectl create -f jobs/syntogit.yaml -n <NameSpace of spinnaker>`

  * **Follow the pod logs to see the console output**
* **Sync to spinnaker from git**

  `kubectl create -f jobs/synctospinnaker.yaml -n <NameSpace of spinnaker>`

  * **Follow the pod logs to see the console output**
