Sha256: ddccd5d9ba76e2fb872695da6a066f2ad01186d9ebe6756a4fc695e760e81a2b

Contents?: true

Size: 1.75 KB

Versions: 5

Compression:

Stored size: 1.75 KB

Contents

---
title: AWS SSM Parameters
nav_text: SSM
categories: helpers-aws
---

For example if you have these secret values:

    $ aws ssm get-parameter --name /demo/development/db_user --with-decryption | jq '.Parameter.Value'
    user
    $ aws ssm get-parameter --name /demo/development/db_pass --with-decryption | jq '.Parameter.Value'
    pass

Set up a [Kubes hook](https://kubes.guru/docs/config/hooks/kubes/).

.kubes/config/hooks/kubes.rb

```ruby
ssm = KubesAws::SSM.new(upcase: true, prefix: "/demo/development/")
before("compile",
  label: "Get secrets from AWS SSM Manager",
  execute: ssm,
)
```

Then set the secrets in the YAML:

.kubes/resources/shared/secret.yaml

```yaml
apiVersion: v1
kind: Secret
metadata:
  name: demo
  labels:
    app: demo
data:
<% KubesAws::SSM.data.each do |k,v| -%>
  <%= k %>: <%= base64(v) %>
<% end -%>
```

This results in AWS secrets with the prefix the `demo/dev/` being added to the Kubernetes secret data.  The values are automatically base64 encoded. Produces:

.kubes/output/shared/secret.yaml

```yaml
metadata:
  namespace: demo
  name: demo-2a78a13682
  labels:
    app: demo
apiVersion: v1
kind: Secret
data:
  db_pass: dGVzdDEK
  db_user: dGVzdDIK
```

## Variables

These environment variables can be set:

Name | Description
---|---
AWS_SSM_PREFIX | Prefixed used to list and filter AWS SSM Parameters. IE: `demo/dev/`.

Secrets#initialize options:

Variable | Description | Default
---|---|---
base64 | Automatically base64 encode the values. | false
upcase | Automatically upcase the Kubernetes secret data keys. | false
prefix | Prefixed used to list and filter AWS secrets. IE: `demo/dev/`. Can also be set with the `AWS_SECRET_PREFIX` env variable. The env variable takes the highest precedence. | nil

{% include helpers/base64.md %}

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
kubes-0.5.1 docs/_docs/helpers/aws/ssm.md
kubes-0.5.0 docs/_docs/helpers/aws/ssm.md
kubes-0.4.7 docs/_docs/helpers/aws/ssm.md
kubes-0.4.6 docs/_docs/helpers/aws/ssm.md
kubes-0.4.5 docs/_docs/helpers/aws/ssm.md