summaryrefslogtreecommitdiffstats
path: root/roles/openshift_metrics/templates/hawkular_cassandra_rc.j2
blob: 158d0d1a3debc702f93fa4d48fe2ab850f60c5e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
apiVersion: v1
kind: ReplicationController
metadata:
  name: hawkular-cassandra-{{ node }}
  labels:
    metrics-infra: hawkular-cassandra
    name: hawkular-cassandra
    type: hawkular-cassandra
spec:
  selector:
    name: hawkular-cassandra-{{ node }}
  replicas: 1
  template:
    version: v1
    metadata:
      labels:
        metrics-infra: hawkular-cassandra
        name: hawkular-cassandra-{{ node }}
        type: hawkular-cassandra
    spec:
      serviceAccount: cassandra
      containers:
      - image: "{{ openshift_metrics_image_prefix }}metrics-cassandra:{{ openshift_metrics_image_version }}"
        name: hawkular-cassandra-{{ node }}
        ports:
        - name: cql-port
          containerPort: 9042
        - name: thift-port
          containerPort: 9160
        - name: tcp-port
          containerPort: 7000
        - name: ssl-port
          containerPort: 7001
        command:
        - "/opt/apache-cassandra/bin/cassandra-docker.sh"
        - "--cluster_name=hawkular-metrics"
        - "--data_volume=/cassandra_data"
        - "--internode_encryption=all"
        - "--require_node_auth=true"
        - "--enable_client_encryption=true"
        - "--require_client_auth=true"
        - "--keystore_file=/secret/cassandra.keystore"
        - "--keystore_password_file=/secret/cassandra.keystore.password"
        - "--truststore_file=/secret/cassandra.truststore"
        - "--truststore_password_file=/secret/cassandra.truststore.password"
        - "--cassandra_pem_file=/secret/cassandra.pem"
        env:
        - name: CASSANDRA_MASTER
          value: "{{ master }}"
        - name: CASSANDRA_DATA_VOLUME
          value: "/cassandra_data"
        - name: JVM_OPTS
          value: "-Dcassandra.commitlog.ignorereplayerrors=true"
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: MEMORY_LIMIT
          valueFrom:
            resourceFieldRef:
              resource: limits.memory
        - name: CPU_LIMIT
          valueFrom:
            resourceFieldRef:
              resource: limits.cpu
              divisor: 1m
        volumeMounts:
        - name: cassandra-data
          mountPath: "/cassandra_data"
        - name: hawkular-cassandra-secrets
          mountPath: "/secret"
        readinessProbe:
          exec:
            command:
            - "/opt/apache-cassandra/bin/cassandra-docker-ready.sh"
        lifecycle:
          preStop:
            exec:
              command:
              - "/opt/apache-cassandra/bin/cassandra-prestop.sh"
          postStart:
            exec:
              command:
              - "/opt/apache-cassandra/bin/cassandra-poststart.sh"
        terminationGracePeriodSeconds: 1800
      volumes:
      - name: cassandra-data
{% if openshift_metrics_hawkular_cassandra_storage_type == 'emptydir' %}
        emptyDir: {}
{% else %}
        persistentVolumeClaim:
          claimName: "{{ openshift_metrics_hawkular_cassandra_pv_prefix }}-{{ node }}"
{% endif %}
      - name: hawkular-cassandra-secrets
        secret:
          secretName: hawkular-cassandra-secrets