Secrets
Use secrets to conceal sensitive configuration from the deployment manifests.
Overview
When deploying applications you often end up specifying sensitive information in your deployment to enable secure database connections, providing API keys and other parameters that you normally wouldn't commit to the codebase. Synpse secrets decouples this configuration from your regular deployment files. Application spec can reference to secrets that were created in the same namespace.
Using secrets
You can view your existing secrets by selecting the namespace applications and then going to the secrets tab via the top toolbar:

Secrets tab will let you view, created, edit and delete existing secrets:

Creating a secret
Click on the "Create Secret" button if you want to add a new secret:

You can also use CLI to create a secret:
synpse secret create database-password --secret-value very-secret
Reference a secret from application spec
Secrets can be referenced as an environment variables in the application spec:
name: my-app
scheduling:
type: AllDevices
selectors: {}
spec:
containers:
- name: my-app
image: my-organization/app:1.0.1
env:
- name: DATABASE_PASSWORD
fromSecret: database-password
Secret files
$ synpse secret create redis-config -f redis.conf
Secret can be used in application deployment by referring it in the spec
name: my-app
scheduling:
type: AllDevices
selectors: {}
spec:
containers:
- name: my-app
image: my-organization/app:1.0.1
secrets:
- name: redis-config
filepath: /path/to/redis.conf
File will be mounted to the Docker container and your application can read it from the specified file /path/to/redis.conf.
Last updated
Was this helpful?