Skip to content
This repository was archived by the owner on Jul 26, 2022. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: external-secrets/kubernetes-external-secrets
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2.2.0
Choose a base ref
...
head repository: external-secrets/kubernetes-external-secrets
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 2.2.1
Choose a head ref
  • 15 commits
  • 17 files changed
  • 10 contributors

Commits on Nov 15, 2019

  1. fix(kv-backend): Add empty keyOptions for dataFrom case. (#221)

    Cameron Boulton authored and Flydiverny committed Nov 15, 2019

    Unverified

    This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
    Copy the full SHA
    8e838ee View commit details
  2. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    db3491b View commit details

Commits on Nov 17, 2019

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    2b54f34 View commit details

Commits on Nov 20, 2019

  1. chore(update): update various dependencies (#225)

    Silas Boyd-Wickizer authored Nov 20, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    47a6c26 View commit details

Commits on Nov 21, 2019

  1. Add podLabels value in chart (#226)

    vasrem authored and keweilu committed Nov 21, 2019
    Copy the full SHA
    065b479 View commit details
  2. chore(dependencies): upgrade kubernetes-client to 8.3.6 (#227)

    Silas Boyd-Wickizer authored Nov 21, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    32cfa52 View commit details

Commits on Nov 22, 2019

  1. chore(dependencies): bump nodemon to 2.0.1 (#229)

    Silas Boyd-Wickizer authored Nov 22, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    2ae2a1a View commit details

Commits on Nov 25, 2019

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    ae0aabd View commit details

Commits on Nov 26, 2019

  1. chore(vault): require vaultRole, vaultMountPoint, and key (#234)

    Silas Boyd-Wickizer authored Nov 26, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    60f0557 View commit details

Commits on Nov 27, 2019

  1. chore(vault): add better tests (#223)

    Pluies authored and Silas Boyd-Wickizer committed Nov 27, 2019
    Copy the full SHA
    3e34ac0 View commit details

Commits on Dec 3, 2019

  1. docs: document Vault backend with self-signed CA (#239)

    It is not uncommon for Vault backends to be using a cert issues by a self-signed CA. This
    documents configuration changes required to use with such a backend.
    bchrobot authored and Flydiverny committed Dec 3, 2019

    Unverified

    This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
    Copy the full SHA
    ea05961 View commit details
  2. chore(lint): add helm chart lint (#241)

    * chore(lint): add helm chart lint
    keweilu authored Dec 3, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    b9b20a7 View commit details

Commits on Dec 5, 2019

  1. fix: do not skew binary data (#244)

    arruzk authored and Flydiverny committed Dec 5, 2019

    Unverified

    This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
    Copy the full SHA
    01e0ca2 View commit details
  2. docs: fix typo (#243)

    rubenv authored and Flydiverny committed Dec 5, 2019

    Unverified

    This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
    Copy the full SHA
    99884c0 View commit details

Commits on Dec 6, 2019

  1. chore(release): 2.2.1

    klu6-godaddy committed Dec 6, 2019
    Copy the full SHA
    35999f8 View commit details
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -21,3 +21,4 @@ install: npm install
script:
- npm test
- npm run test-e2e
- helm lint charts/kubernetes-external-secrets
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -2,6 +2,16 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

### [2.2.1](https://github.com/godaddy/kubernetes-external-secrets/compare/2.2.0...2.2.1) (2019-12-06)


### Bug Fixes

* bump pino and sub dependency flatstr, fixes [#218](https://github.com/godaddy/kubernetes-external-secrets/issues/218) ([#219](https://github.com/godaddy/kubernetes-external-secrets/issues/219)) ([db3491b](https://github.com/godaddy/kubernetes-external-secrets/commit/db3491b))
* **chart:** remove one of the duplicate securityContext ([#222](https://github.com/godaddy/kubernetes-external-secrets/issues/222)) ([2b54f34](https://github.com/godaddy/kubernetes-external-secrets/commit/2b54f34))
* **kv-backend:** Add empty keyOptions for dataFrom case. ([#221](https://github.com/godaddy/kubernetes-external-secrets/issues/221)) ([8e838ee](https://github.com/godaddy/kubernetes-external-secrets/commit/8e838ee))
* do not skew binary data ([#244](https://github.com/godaddy/kubernetes-external-secrets/issues/244)) ([01e0ca2](https://github.com/godaddy/kubernetes-external-secrets/commit/01e0ca2))

## [2.2.0](https://github.com/godaddy/kubernetes-external-secrets/compare/2.1.0...2.2.0) (2019-11-14)


21 changes: 20 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -304,6 +304,25 @@ spec:
property: api-key
```
If Vault uses a certificate issued by a self-signed CA you will need to provide that certificate:
```sh
# Create secret with CA
kubectl create secret generic vault-ca --from-file=./ca.pem
```

```yml
# values.yaml
env:
VAULT_ADDR: https://vault.domain.tld
NODE_EXTRA_CA_CERTS: "/usr/local/share/ca-certificates/ca.pem"

filesFromSecret:
certificate-authority:
secret: vault-ca
mountPath: /usr/local/share/ca-certificates
```
## Metrics
kubernetes-external-secrets exposes the following metrics over a prometheus endpoint:
@@ -350,5 +369,5 @@ npm run local
Add secrets using the AWS cli (example)

```sh
aws --endpoint-url=http://localhost:4584 secretsmanager create-secret --name hello-service/password --secret-string "1234"
AWS_ACCESS_KEY_ID=foobar AWS_SECRET_ACCESS_KEY=foobar aws --region=us-west-2 --endpoint-url=http://localhost:4584 secretsmanager create-secret --name hello-service/password --secret-string "1234"
```
1 change: 1 addition & 0 deletions charts/kubernetes-external-secrets/README.md
Original file line number Diff line number Diff line change
@@ -63,6 +63,7 @@ The following table lists the configurable parameters of the `kubernetes-externa
| `serviceAccount.name` | Service account to be used. | automatically generated |
| `serviceAccount.annotations` | Annotations to be added to service account | `nil` |
| `podAnnotations` | Annotations to be added to pods | `{}` |
| `podLabels` | Additional labels to be added to pods | `{}` |
| `replicaCount` | Number of replicas | `1` |
| `nodeSelector` | node labels for pod assignment | `{}` |
| `tolerations` | List of node taints to tolerate (requires Kubernetes >= 1.6) | `[]` |
6 changes: 3 additions & 3 deletions charts/kubernetes-external-secrets/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -18,15 +18,15 @@ spec:
labels:
app.kubernetes.io/name: {{ include "kubernetes-external-secrets.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- if .Values.podLabels }}
{{- toYaml .Values.podLabels | nindent 8 }}
{{- end }}
annotations:
{{- if .Values.podAnnotations }}
{{- toYaml .Values.podAnnotations | nindent 8 }}
{{- end }}
spec:
serviceAccountName: {{ template "kubernetes-external-secrets.serviceAccountName" . }}
{{- if .Values.securityContext }}
securityContext: {{ toYaml .Values.securityContext | nindent 8 }}
{{- end }}
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
1 change: 1 addition & 0 deletions charts/kubernetes-external-secrets/values.yaml
Original file line number Diff line number Diff line change
@@ -49,6 +49,7 @@ nameOverride: ""
fullnameOverride: ""

podAnnotations: {}
podLabels: {}

securityContext: {}
# fsGroup: 65534
22 changes: 20 additions & 2 deletions crd.yaml
Original file line number Diff line number Diff line change
@@ -42,6 +42,12 @@ spec:
- secretsManager
- systemManager
- vault
vaultRole:
type: string
vaultMountPoint:
type: string
key:
type: string
dataFrom:
type: array
items:
@@ -64,8 +70,20 @@ spec:
- key
roleArn:
type: string
required:
- backendType
oneOf:
- properties:
backendType:
enum:
- secretsManager
- systemManager
- properties:
backendType:
enum:
- vault
required:
- vaultRole
- vaultMountPoint
- key
anyOf:
- required:
- data
32 changes: 17 additions & 15 deletions e2e/tests/crd.test.js
Original file line number Diff line number Diff line change
@@ -27,22 +27,24 @@ describe('CRD', () => {
kubeClient
.apis[customResourceManifest.spec.group]
.v1.namespaces('default')[customResourceManifest.spec.names.plural]
.post({ body: {
apiVersion: 'kubernetes-client.io/v1',
kind: 'ExternalSecret',
metadata: {
name: `e2e-test-validation-${uuid}`
},
secretDescriptor: {
backendType: 'systemManager',
data: [
{
key: `/e2e/${uuid}/name`,
name: 'name'
}
]
.post({
body: {
apiVersion: 'kubernetes-client.io/v1',
kind: 'ExternalSecret',
metadata: {
name: `e2e-test-validation-${uuid}`
},
secretDescriptor: {
backendType: 'systemManager',
data: [
{
key: `/e2e/${uuid}/name`,
name: 'name'
}
]
}
}
} })
})
.catch(err => expect(err).to.be.an('error'))
})
})
140 changes: 73 additions & 67 deletions e2e/tests/secrets-manager.test.js
Original file line number Diff line number Diff line change
@@ -31,28 +31,30 @@ describe('secretsmanager', async () => {
result = await kubeClient
.apis[customResourceManifest.spec.group]
.v1.namespaces('default')[customResourceManifest.spec.names.plural]
.post({ body: {
apiVersion: 'kubernetes-client.io/v1',
kind: 'ExternalSecret',
metadata: {
name: `e2e-secretmanager-${uuid}`
},
spec: {
backendType: 'secretsManager',
data: [
{
key: `e2e/${uuid}/credentials`,
property: 'password',
name: 'password'
},
{
key: `e2e/${uuid}/credentials`,
property: 'username',
name: 'username'
}
]
.post({
body: {
apiVersion: 'kubernetes-client.io/v1',
kind: 'ExternalSecret',
metadata: {
name: `e2e-secretmanager-${uuid}`
},
spec: {
backendType: 'secretsManager',
data: [
{
key: `e2e/${uuid}/credentials`,
property: 'password',
name: 'password'
},
{
key: `e2e/${uuid}/credentials`,
property: 'username',
name: 'username'
}
]
}
}
} })
})

expect(result).to.not.equal(undefined)
expect(result.statusCode).to.equal(201)
@@ -86,29 +88,31 @@ describe('secretsmanager', async () => {
result = await kubeClient
.apis[customResourceManifest.spec.group]
.v1.namespaces('default')[customResourceManifest.spec.names.plural]
.post({ body: {
apiVersion: 'kubernetes-client.io/v1',
kind: 'ExternalSecret',
metadata: {
name: `e2e-secretmanager-tls-${uuid}`
},
spec: {
backendType: 'secretsManager',
type: 'kubernetes.io/tls',
data: [
{
key: `e2e/${uuid}/tls/cert`,
property: 'crt',
name: 'tls.crt'
},
{
key: `e2e/${uuid}/tls/cert`,
property: 'key',
name: 'tls.key'
}
]
.post({
body: {
apiVersion: 'kubernetes-client.io/v1',
kind: 'ExternalSecret',
metadata: {
name: `e2e-secretmanager-tls-${uuid}`
},
spec: {
backendType: 'secretsManager',
type: 'kubernetes.io/tls',
data: [
{
key: `e2e/${uuid}/tls/cert`,
property: 'crt',
name: 'tls.crt'
},
{
key: `e2e/${uuid}/tls/cert`,
property: 'key',
name: 'tls.key'
}
]
}
}
} })
})

expect(result).to.not.equal(undefined)
expect(result.statusCode).to.equal(201)
@@ -156,31 +160,33 @@ describe('secretsmanager', async () => {
result = await kubeClient
.apis[customResourceManifest.spec.group]
.v1.namespaces('default')[customResourceManifest.spec.names.plural]
.post({ body: {
apiVersion: 'kubernetes-client.io/v1',
kind: 'ExternalSecret',
metadata: {
name: `e2e-secretmanager-permitted-tls-${uuid}`
},
spec: {
backendType: 'secretsManager',
type: 'kubernetes.io/tls',
// this should not be allowed
roleArn: 'let-me-be-root',
data: [
{
key: `e2e/${uuid}/tls/permitted`,
property: 'crt',
name: 'tls.crt'
},
{
key: `e2e/${uuid}/tls/permitted`,
property: 'key',
name: 'tls.key'
}
]
.post({
body: {
apiVersion: 'kubernetes-client.io/v1',
kind: 'ExternalSecret',
metadata: {
name: `e2e-secretmanager-permitted-tls-${uuid}`
},
spec: {
backendType: 'secretsManager',
type: 'kubernetes.io/tls',
// this should not be allowed
roleArn: 'let-me-be-root',
data: [
{
key: `e2e/${uuid}/tls/permitted`,
property: 'crt',
name: 'tls.crt'
},
{
key: `e2e/${uuid}/tls/permitted`,
property: 'key',
name: 'tls.key'
}
]
}
}
} })
})

expect(result).to.not.equal(undefined)
expect(result.statusCode).to.equal(201)
Loading