Skip to content
This repository has been archived by the owner on Feb 22, 2022. It is now read-only.

add chart for aerospike #2107

Merged
merged 31 commits into from
Nov 23, 2017
Merged

add chart for aerospike #2107

merged 31 commits into from
Nov 23, 2017

Conversation

ghost
Copy link

@ghost ghost commented Sep 13, 2017

This is an implementation of Aerospike StatefulSet found here:

This is an implementation of Aerospike StatefulSet found here:

 * https://github.com/aerospike/aerospike-kubernetes
@k8s-ci-robot
Copy link
Contributor

Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please follow instructions at https://github.com/kubernetes/kubernetes/wiki/CLA-FAQ to sign the CLA.

It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.


  • If you've already signed a CLA, it's possible we don't have your GitHub username or you're using a different email address. Check your existing CLA data and verify that your email is set on your git commits.
  • If you signed the CLA as a corporation, please sign in with your organization's credentials at https://identity.linuxfoundation.org/projects/cncf to be authorized.
  • If you have done the above and are still having issues with the CLA being reported as unsigned, please email the CNCF helpdesk: [email protected]

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@k8s-ci-robot k8s-ci-robot added cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Sep 13, 2017
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Oct 26, 2017
… service needs to be headless so aersopike cluster nodes can find each others by name
…use of internal balancers to expose nodes when cluster is a collection of separate installtions (helm requirements alias)
Copy link
Member

@unguiculus unguiculus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR and sorry for the delay. Please update with current master.

version: 0.1.5
icon: https://s3-us-west-1.amazonaws.com/aerospike-fd/wp-content/uploads/2016/06/Aerospike_square_logo.png
sources:
- https://github.com/aerospike/aerospike-server
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add maintainers and appVersion.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks@unguiculus. added maintainers. apiVersion already there.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I meant appVersion not apiVersion


## Pre Requisites:

* Kubernetes 1.5 with beta APIs enabled and support for statefulsets
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kubernetes 1.7+ with beta APIs enabled

```

The chart can be customized using the following configurable parameters:

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Align table nicely.

apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "fullname" . }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add standard labels.

replicas: {{ .Values.replicaCount }}
template:
metadata:
labels:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only app and release labels are usually used here.

items:
- key: aerospike.conf
path: aerospike.conf
volumeClaimTemplates:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've started introducing a common pattern for persistence. See #1869. Pleae adapt and use for your PR. Here's a statefulset example:

https://github.com/kubernetes/charts/blob/master/stable/mongodb-replicaset/templates/mongodb-statefulset.yaml#L188-L214

Copy link
Author

@ghost ghost Nov 20, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@unguiculus thanks and understandable. Just one point. Aerospike needs a set of volumes normally,.Each used for a separate namespace. If I want to follow the suggestion I still need to make it an array and use that array for defining mountVolumes and volumeClaimTemplate.

https://github.com/travelaudience/charts/blob/fce9ed49de6046c9916cdc49b084ded392bb1377/stable/aerospike/templates/statefulset.yaml#L41

for example:

stafulset:

{{- if .Values.persistentVolume.enabled }}
  volumeClaimTemplates:
  {{- range $pv := .Values.persistentVolume.volumes }}
  - metadata:
      name: {{ $pv.name | quote }}
      annotations:
      {{- range $key, $value := $pv.annotations }}
        {{ $key }}: {{ $value }}
      {{- end }}
      spec:
        accessModes:
        {{- range $pv.accessModes }}
          - {{ . | quote }}
        {{- end }}
        resources:
          requests:
            storage: {{ $pv.size | quote }}
        {{- if $pv.storageClass }}
        {{- if (eq "-" $pv.storageClass) }}
        storageClassName: ""
        {{- else }}
        storageClassName: "{{ $pv.storageClass }}"
        {{- end }}
        {{- end }}
        selector:
{{ toYaml $pv.selector | indent 8 }}
  {{- end }}
{{- else }}
        - name: datadir
          emptyDir: {}
{{- end }}


values: 
 
persistentVolume:
  enabled: true
  volumes:
    - mountPath: /opt/aerospike/namespace-a-data
      name: aerospike-namespace-a-data
      storageClass: -
      accessModes: [ "ReadWriteOnce" ]
      size: "500G"
      selector:
        matchLabels:
          diskname: "aerospike-namespace-a-data"
    - mountPath: /opt/aerospike/namespace-b-data
      name: aerospike-namespace-b-data
      storageClass: -
      accessModes: [ "ReadWriteOnce" ]
      size: "1500G"
      selector:
        matchLabels:
          diskname: "aerospike-namespace-b-data"

image:
repository: aerospike/aerospike-server
tag: 3.14.1.2
pullPolicy: Always
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use IfNotPresent as default.

{{/*
Create aerospike mesh setup
*/}}
{{- define "aerospike.mesh" -}}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've started namespacing templates (see #1785). Please apply as well for name and fullname.

@unguiculus unguiculus self-assigned this Nov 3, 2017
@unguiculus
Copy link
Member

Marking this as stale. Please update within one week.

@unguiculus unguiculus removed the stale label Nov 20, 2017
version: 0.1.5
icon: https://s3-us-west-1.amazonaws.com/aerospike-fd/wp-content/uploads/2016/06/Aerospike_square_logo.png
sources:
- https://github.com/aerospike/aerospike-server
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I meant appVersion not apiVersion

@@ -9,3 +9,6 @@ version: 0.1.5
icon: https://s3-us-west-1.amazonaws.com/aerospike-fd/wp-content/uploads/2016/06/Aerospike_square_logo.png
sources:
- https://github.com/aerospike/aerospike-server
maintainers:
- name: Kaveh Mousavi Zamani
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use Github username

@unguiculus
Copy link
Member

/ok-to-test

@k8s-ci-robot k8s-ci-robot removed the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Nov 22, 2017
@unguiculus
Copy link
Member

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Nov 23, 2017
@unguiculus unguiculus merged commit 3942f52 into helm:master Nov 23, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm Indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants