Ver Fonte

rename package to grapher

sunguroku há 5 anos atrás
pai
commit
f0599a3294

+ 4 - 2
dashboard/package-lock.json

@@ -423,7 +423,8 @@
     "@types/qs": {
       "version": "6.9.5",
       "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz",
-      "integrity": "sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ=="
+      "integrity": "sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ==",
+      "dev": true
     },
     "@types/react": {
       "version": "16.9.49",
@@ -5294,7 +5295,8 @@
     "qs": {
       "version": "6.9.4",
       "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz",
-      "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ=="
+      "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==",
+      "dev": true
     },
     "querystring": {
       "version": "0.2.0",

+ 2 - 2
dashboard/package.json

@@ -3,11 +3,9 @@
   "version": "0.1.0",
   "private": true,
   "dependencies": {
-    "@types/qs": "^6.9.5",
     "ace-builds": "^1.4.12",
     "axios": "^0.20.0",
     "dotenv": "^8.2.0",
-    "qs": "^6.9.4",
     "react": "^16.13.1",
     "react-ace": "^9.1.3",
     "react-dom": "^16.13.1",
@@ -26,6 +24,7 @@
     "@testing-library/user-event": "^7.1.2",
     "@types/jest": "^24.0.0",
     "@types/node": "^12.12.62",
+    "@types/qs": "^6.9.5",
     "@types/react": "^16.9.49",
     "@types/react-dom": "^16.9.8",
     "@types/react-modal": "^3.10.6",
@@ -34,6 +33,7 @@
     "@types/styled-components": "^5.1.3",
     "file-loader": "^6.1.0",
     "html-webpack-plugin": "^4.5.0",
+    "qs": "^6.9.4",
     "source-map-loader": "^1.1.0",
     "ts-loader": "^8.0.4",
     "typescript": "^4.0.3",

+ 1 - 1
dashboard/src/main/Main.tsx

@@ -32,7 +32,7 @@ export default class Main extends Component<PropsType, StateType> {
   componentDidMount() {
     let { setUserId } = this.context;
     api.checkAuth('', {}, {}, (err: any, res: any) => {
-      if (res.data) {
+      if (res?.data) {
         setUserId(res.data.id);
         this.setState({ isLoggedIn: true, initialized: true, loading: false });
       } else {

+ 0 - 231
internal/helm/manifest_parser/cassandra.yaml

@@ -1,231 +0,0 @@
----
-# Source: cassandra/templates/cassandra-secret.yaml
-apiVersion: v1
-kind: Secret
-metadata:
-  name: my-release-cassandra
-  namespace: default
-  labels:
-    app.kubernetes.io/name: cassandra
-    helm.sh/chart: cassandra-6.0.1
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-type: Opaque
-data:
-  cassandra-password: "SFVZRzR2VU4zaQ=="
----
-# Source: cassandra/templates/headless-svc.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: my-release-cassandra-headless
-  namespace: default
-  labels:
-    app.kubernetes.io/name: cassandra
-    helm.sh/chart: cassandra-6.0.1
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-spec:
-  clusterIP: None
-  publishNotReadyAddresses: true
-  ports:
-    - name: intra
-      port: 7000
-      targetPort: intra
-    - name: tls
-      port: 7001
-      targetPort: tls
-    - name: jmx
-      port: 7199
-      targetPort: jmx
-    - name: cql
-      port: 9042
-      targetPort: cql
-    - name: thrift
-      port: 9160
-      targetPort: thrift
-  selector:
-    app.kubernetes.io/name: cassandra
-    app.kubernetes.io/instance: my-release
----
-# Source: cassandra/templates/service.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: my-release-cassandra
-  namespace: default
-  labels:
-    app.kubernetes.io/name: cassandra
-    helm.sh/chart: cassandra-6.0.1
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-spec:
-  type: ClusterIP
-  ports:
-    - name: cql
-      port: 9042
-      targetPort: cql
-      nodePort: null
-    - name: thrift
-      port: 9160
-      targetPort: thrift
-      nodePort: null
-    - name: metrics
-      port: 8080
-      nodePort: null
-  selector:
-    app.kubernetes.io/name: cassandra
-    app.kubernetes.io/instance: my-release
----
-# Source: cassandra/templates/statefulset.yaml
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: my-release-cassandra
-  namespace: default
-  labels:
-    app.kubernetes.io/name: cassandra
-    helm.sh/chart: cassandra-6.0.1
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-spec:
-  selector:
-    matchLabels:
-      app.kubernetes.io/name: cassandra
-      app.kubernetes.io/instance: my-release
-  serviceName: my-release-cassandra-headless
-  podManagementPolicy: OrderedReady
-  replicas: 1
-  updateStrategy:
-    type: RollingUpdate
-  template:
-    metadata:
-      labels:
-        app.kubernetes.io/name: cassandra
-        helm.sh/chart: cassandra-6.0.1
-        app.kubernetes.io/instance: my-release
-        app.kubernetes.io/managed-by: Helm
-    spec:
-      
-      affinity:
-        podAffinity:
-          
-        podAntiAffinity:
-          preferredDuringSchedulingIgnoredDuringExecution:
-            - podAffinityTerm:
-                labelSelector:
-                  matchLabels:
-                    app.kubernetes.io/name: cassandra
-                    app.kubernetes.io/instance: my-release
-                namespaces:
-                  - default
-                topologyKey: kubernetes.io/hostname
-              weight: 1
-        nodeAffinity:
-          
-      securityContext:
-        fsGroup: 1001
-      containers:
-        - name: cassandra
-          command:
-            - bash
-            - -ec
-            - |
-              # Node 0 is the password seeder
-              if [[ $HOSTNAME =~ (.*)-0$ ]]; then
-                  echo "Setting node as password seeder"
-                  export CASSANDRA_PASSWORD_SEEDER=yes
-              else
-                  # Only node 0 will execute the startup initdb scripts
-                  export CASSANDRA_IGNORE_INITDB_SCRIPTS=1
-              fi
-              /opt/bitnami/scripts/cassandra/entrypoint.sh /opt/bitnami/scripts/cassandra/run.sh
-          image: docker.io/bitnami/cassandra:3.11.8-debian-10-r20
-          imagePullPolicy: "IfNotPresent"
-          securityContext:
-            runAsUser: 1001
-          env:
-            - name: BITNAMI_DEBUG
-              value: "false"
-            - name: CASSANDRA_CLUSTER_NAME
-              value: cassandra
-            - name: CASSANDRA_SEEDS
-              value: "my-release-cassandra-0.my-release-cassandra-headless.default.svc.cluster.local"
-            - name: CASSANDRA_PASSWORD
-              valueFrom:
-                secretKeyRef:
-                  name: my-release-cassandra
-                  key: cassandra-password
-            - name: POD_IP
-              valueFrom:
-                fieldRef:
-                  fieldPath: status.podIP
-            - name: CASSANDRA_USER
-              value: "cassandra"
-            - name: CASSANDRA_NUM_TOKENS
-              value: "256"
-            - name: CASSANDRA_DATACENTER
-              value: dc1
-            - name: CASSANDRA_ENDPOINT_SNITCH
-              value: SimpleSnitch
-            - name: CASSANDRA_RACK
-              value: rack1
-            - name: CASSANDRA_ENABLE_RPC
-              value: "true"
-          envFrom:
-          livenessProbe:
-            exec:
-              command:
-                - /bin/bash
-                - -ec
-                - |
-                  nodetool status
-            initialDelaySeconds: 60
-            periodSeconds: 30
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 5
-          readinessProbe:
-            exec:
-              command:
-                - /bin/bash
-                - -ec
-                - |
-                  nodetool status | grep -E "^UN\\s+${POD_IP}"
-            initialDelaySeconds: 60
-            periodSeconds: 10
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 5
-          ports:
-            - name: intra
-              containerPort: 7000
-            - name: tls
-              containerPort: 7001
-            - name: jmx
-              containerPort: 7199
-            - name: cql
-              containerPort: 9042
-            - name: thrift
-              containerPort: 9160
-          resources: 
-            limits: {}
-            requests: {}
-          volumeMounts:
-            - name: data
-              mountPath: /bitnami/cassandra
-            
-      volumes:
-  volumeClaimTemplates:
-    - metadata:
-        name: data
-        labels:
-          app.kubernetes.io/name: cassandra
-          app.kubernetes.io/instance: my-release
-      spec:
-        accessModes:
-          - "ReadWriteOnce"
-        resources:
-          requests:
-            storage: "8Gi"
-

+ 0 - 446
internal/helm/manifest_parser/kafka.yaml

@@ -1,446 +0,0 @@
----
-# Source: kafka/templates/serviceaccount.yaml
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: my-release-kafka
-  labels:
-    app.kubernetes.io/name: kafka
-    helm.sh/chart: kafka-11.8.6
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: kafka
----
-# Source: kafka/templates/scripts-configmap.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: my-release-kafka-scripts
-  labels:
-    app.kubernetes.io/name: kafka
-    helm.sh/chart: kafka-11.8.6
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-data:
-  setup.sh: |-
-    #!/bin/bash
-
-    ID="${MY_POD_NAME#"my-release-kafka-"}"
-    export KAFKA_CFG_BROKER_ID="$ID"
-
-    exec /entrypoint.sh /run.sh
----
-# Source: kafka/charts/zookeeper/templates/svc-headless.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: my-release-zookeeper-headless
-  namespace: default
-  labels:
-    app.kubernetes.io/name: zookeeper
-    helm.sh/chart: zookeeper-5.21.9
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: zookeeper
-spec:
-  type: ClusterIP
-  clusterIP: None
-  publishNotReadyAddresses: true
-  ports:
-    
-    - name: tcp-client
-      port: 2181
-      targetPort: client
-    
-    
-    - name: follower
-      port: 2888
-      targetPort: follower
-    - name: tcp-election
-      port: 3888
-      targetPort: election
-  selector:
-    app.kubernetes.io/name: zookeeper
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/component: zookeeper
----
-# Source: kafka/charts/zookeeper/templates/svc.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: my-release-zookeeper
-  namespace: default
-  labels:
-    app.kubernetes.io/name: zookeeper
-    helm.sh/chart: zookeeper-5.21.9
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: zookeeper
-spec:
-  type: ClusterIP
-  ports:
-    
-    - name: tcp-client
-      port: 2181
-      targetPort: client
-    
-    
-    - name: follower
-      port: 2888
-      targetPort: follower
-    - name: tcp-election
-      port: 3888
-      targetPort: election
-  selector:
-    app.kubernetes.io/name: zookeeper
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/component: zookeeper
----
-# Source: kafka/templates/svc-headless.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: my-release-kafka-headless
-  labels:
-    app.kubernetes.io/name: kafka
-    helm.sh/chart: kafka-11.8.6
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: kafka
-spec:
-  type: ClusterIP
-  clusterIP: None
-  ports:
-    - name: tcp-client
-      port: 9092
-      protocol: TCP
-      targetPort: kafka-client
-    - name: tcp-internal
-      port: 9093
-      protocol: TCP
-      targetPort: kafka-internal
-  selector:
-    app.kubernetes.io/name: kafka
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/component: kafka
----
-# Source: kafka/templates/svc.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: my-release-kafka
-  labels:
-    app.kubernetes.io/name: kafka
-    helm.sh/chart: kafka-11.8.6
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: kafka
-spec:
-  type: ClusterIP
-  ports:
-    - name: tcp-client
-      port: 9092
-      protocol: TCP
-      targetPort: kafka-client
-      nodePort: null
-  selector:
-    app.kubernetes.io/name: kafka
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/component: kafka
----
-# Source: kafka/charts/zookeeper/templates/statefulset.yaml
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: my-release-zookeeper
-  namespace: default
-  labels:
-    app.kubernetes.io/name: zookeeper
-    helm.sh/chart: zookeeper-5.21.9
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: zookeeper
-    role: zookeeper
-spec:
-  serviceName: my-release-zookeeper-headless
-  replicas: 1
-  podManagementPolicy: Parallel
-  updateStrategy:
-    type: RollingUpdate
-  selector:
-    matchLabels:
-      app.kubernetes.io/name: zookeeper
-      app.kubernetes.io/instance: my-release
-      app.kubernetes.io/component: zookeeper
-  template:
-    metadata:
-      name: my-release-zookeeper
-      labels:
-        app.kubernetes.io/name: zookeeper
-        helm.sh/chart: zookeeper-5.21.9
-        app.kubernetes.io/instance: my-release
-        app.kubernetes.io/managed-by: Helm
-        app.kubernetes.io/component: zookeeper
-    spec:
-      
-      serviceAccountName: default
-      securityContext:
-        fsGroup: 1001
-      containers:
-        - name: zookeeper
-          image: docker.io/bitnami/zookeeper:3.6.2-debian-10-r10
-          imagePullPolicy: "IfNotPresent"
-          securityContext:
-            runAsUser: 1001
-          command:
-            - bash
-            - -ec
-            - |
-                # Execute entrypoint as usual after obtaining ZOO_SERVER_ID based on POD hostname
-                HOSTNAME=`hostname -s`
-                if [[ $HOSTNAME =~ (.*)-([0-9]+)$ ]]; then
-                  ORD=${BASH_REMATCH[2]}
-                  export ZOO_SERVER_ID=$((ORD+1))
-                else
-                  echo "Failed to get index from hostname $HOST"
-                  exit 1
-                fi
-                exec /entrypoint.sh /run.sh
-          resources:
-            requests:
-              cpu: 250m
-              memory: 256Mi
-          env:
-            - name: ZOO_DATA_LOG_DIR
-              value: ""
-            - name: ZOO_PORT_NUMBER
-              value: "2181"
-            - name: ZOO_TICK_TIME
-              value: "2000"
-            - name: ZOO_INIT_LIMIT
-              value: "10"
-            - name: ZOO_SYNC_LIMIT
-              value: "5"
-            - name: ZOO_MAX_CLIENT_CNXNS
-              value: "60"
-            - name: ZOO_4LW_COMMANDS_WHITELIST
-              value: "srvr, mntr, ruok"
-            - name: ZOO_LISTEN_ALLIPS_ENABLED
-              value: "no"
-            - name: ZOO_AUTOPURGE_INTERVAL
-              value: "0"
-            - name: ZOO_AUTOPURGE_RETAIN_COUNT
-              value: "3"
-            - name: ZOO_MAX_SESSION_TIMEOUT
-              value: "40000"
-            - name: ZOO_SERVERS
-              value: my-release-zookeeper-0.my-release-zookeeper-headless.default.svc.cluster.local:2888:3888 
-            - name: ZOO_ENABLE_AUTH
-              value: "no"
-            - name: ZOO_HEAP_SIZE
-              value: "1024"
-            - name: ZOO_LOG_LEVEL
-              value: "ERROR"
-            - name: ALLOW_ANONYMOUS_LOGIN
-              value: "yes"
-            - name: POD_NAME
-              valueFrom:
-                fieldRef:
-                  apiVersion: v1
-                  fieldPath: metadata.name
-          ports:
-            
-            - name: client
-              containerPort: 2181
-            
-            
-            - name: follower
-              containerPort: 2888
-            - name: election
-              containerPort: 3888
-          livenessProbe:
-            exec:
-              command: ['/bin/bash', '-c', 'echo "ruok" | timeout 2 nc -w 2 localhost 2181 | grep imok']
-            initialDelaySeconds: 30
-            periodSeconds: 10
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 6
-          readinessProbe:
-            exec:
-              command: ['/bin/bash', '-c', 'echo "ruok" | timeout 2 nc -w 2 localhost 2181 | grep imok']
-            initialDelaySeconds: 5
-            periodSeconds: 10
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 6
-          volumeMounts:
-            - name: data
-              mountPath: /bitnami/zookeeper
-      volumes:
-  volumeClaimTemplates:
-    - metadata:
-        name: data
-        annotations:
-      spec:
-        accessModes:
-          - "ReadWriteOnce"
-        resources:
-          requests:
-            storage: "8Gi"
----
-# Source: kafka/templates/statefulset.yaml
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: my-release-kafka
-  labels:
-    app.kubernetes.io/name: kafka
-    helm.sh/chart: kafka-11.8.6
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-    app.kubernetes.io/component: kafka
-spec:
-  podManagementPolicy: Parallel
-  replicas: 1
-  selector:
-    matchLabels:
-      app.kubernetes.io/name: kafka
-      app.kubernetes.io/instance: my-release
-      app.kubernetes.io/component: kafka
-  serviceName: my-release-kafka-headless
-  updateStrategy:
-    type: "RollingUpdate"
-  template:
-    metadata:
-      labels:
-        app.kubernetes.io/name: kafka
-        helm.sh/chart: kafka-11.8.6
-        app.kubernetes.io/instance: my-release
-        app.kubernetes.io/managed-by: Helm
-        app.kubernetes.io/component: kafka
-    spec:      
-      securityContext:
-        fsGroup: 1001
-        runAsUser: 1001
-      serviceAccountName: my-release-kafka
-      containers:
-        - name: kafka
-          image: docker.io/bitnami/kafka:2.6.0-debian-10-r30
-          imagePullPolicy: "IfNotPresent"
-          command:
-            - /scripts/setup.sh
-          env:
-            - name: BITNAMI_DEBUG
-              value: "false"
-            - name: MY_POD_IP
-              valueFrom:
-                fieldRef:
-                  fieldPath: status.podIP
-            - name: MY_POD_NAME
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.name
-            - name: KAFKA_CFG_ZOOKEEPER_CONNECT
-              value: "my-release-zookeeper"
-            - name: KAFKA_INTER_BROKER_LISTENER_NAME
-              value: "INTERNAL"
-            - name: KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP
-              value: "INTERNAL:PLAINTEXT,CLIENT:PLAINTEXT"
-            - name: KAFKA_CFG_LISTENERS
-              value: "INTERNAL://:9093,CLIENT://:9092"
-            - name: KAFKA_CFG_ADVERTISED_LISTENERS
-              value: "INTERNAL://$(MY_POD_NAME).my-release-kafka-headless.default.svc.cluster.local:9093,CLIENT://$(MY_POD_NAME).my-release-kafka-headless.default.svc.cluster.local:9092"
-            - name: ALLOW_PLAINTEXT_LISTENER
-              value: "yes"
-            - name: KAFKA_CFG_DELETE_TOPIC_ENABLE
-              value: "false"
-            - name: KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE
-              value: "true"
-            - name: KAFKA_HEAP_OPTS
-              value: "-Xmx1024m -Xms1024m"
-            - name: KAFKA_CFG_LOG_FLUSH_INTERVAL_MESSAGES
-              value: "10000"
-            - name: KAFKA_CFG_LOG_FLUSH_INTERVAL_MS
-              value: "1000"
-            - name: KAFKA_CFG_LOG_RETENTION_BYTES
-              value: "1073741824"
-            - name: KAFKA_CFG_LOG_RETENTION_CHECK_INTERVALS_MS
-              value: "300000"
-            - name: KAFKA_CFG_LOG_RETENTION_HOURS
-              value: "168"
-            - name: KAFKA_CFG_MESSAGE_MAX_BYTES
-              value: "1000012"
-            - name: KAFKA_CFG_LOG_SEGMENT_BYTES
-              value: "1073741824"
-            - name: KAFKA_CFG_LOG_DIRS
-              value: "/bitnami/kafka/data"
-            - name: KAFKA_CFG_DEFAULT_REPLICATION_FACTOR
-              value: "1"
-            - name: KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR
-              value: "1"
-            - name: KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR
-              value: "1"
-            - name: KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR
-              value: "1"
-            - name: KAFKA_CFG_NUM_IO_THREADS
-              value: "8"
-            - name: KAFKA_CFG_NUM_NETWORK_THREADS
-              value: "3"
-            - name: KAFKA_CFG_NUM_PARTITIONS
-              value: "1"
-            - name: KAFKA_CFG_NUM_RECOVERY_THREADS_PER_DATA_DIR
-              value: "1"
-            - name: KAFKA_CFG_SOCKET_RECEIVE_BUFFER_BYTES
-              value: "102400"
-            - name: KAFKA_CFG_SOCKET_REQUEST_MAX_BYTES
-              value: "104857600"
-            - name: KAFKA_CFG_SOCKET_SEND_BUFFER_BYTES
-              value: "102400"
-            - name: KAFKA_CFG_ZOOKEEPER_CONNECTION_TIMEOUT_MS
-              value: "6000"
-          ports:
-            - name: kafka-client
-              containerPort: 9092
-            - name: kafka-internal
-              containerPort: 9093
-          livenessProbe:
-            tcpSocket:
-              port: kafka-client
-            initialDelaySeconds: 10
-            timeoutSeconds: 5
-            failureThreshold: 
-            periodSeconds: 
-            successThreshold: 
-          readinessProbe:
-            tcpSocket:
-              port: kafka-client
-            initialDelaySeconds: 5
-            timeoutSeconds: 5
-            failureThreshold: 6
-            periodSeconds: 
-            successThreshold: 
-          resources:
-            limits: {}
-            requests: {}
-          volumeMounts:
-            - name: data
-              mountPath: /bitnami/kafka
-            - name: scripts
-              mountPath: /scripts/setup.sh
-              subPath: setup.sh
-      volumes:
-        - name: scripts
-          configMap:
-            name: my-release-kafka-scripts
-            defaultMode: 0755
-  volumeClaimTemplates:
-    - metadata:
-        name: data
-      spec:
-        accessModes:
-          - "ReadWriteOnce"
-        resources:
-          requests:
-            storage: "8Gi"
-

+ 0 - 231
internal/helm/manifest_parser/manifest.yaml

@@ -1,231 +0,0 @@
----
-# Source: cassandra/templates/cassandra-secret.yaml
-apiVersion: v1
-kind: Secret
-metadata:
-  name: my-release-cassandra
-  namespace: default
-  labels:
-    app.kubernetes.io/name: cassandra
-    helm.sh/chart: cassandra-6.0.1
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-type: Opaque
-data:
-  cassandra-password: "SFVZRzR2VU4zaQ=="
----
-# Source: cassandra/templates/headless-svc.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: my-release-cassandra-headless
-  namespace: default
-  labels:
-    app.kubernetes.io/name: cassandra
-    helm.sh/chart: cassandra-6.0.1
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-spec:
-  clusterIP: None
-  publishNotReadyAddresses: true
-  ports:
-    - name: intra
-      port: 7000
-      targetPort: intra
-    - name: tls
-      port: 7001
-      targetPort: tls
-    - name: jmx
-      port: 7199
-      targetPort: jmx
-    - name: cql
-      port: 9042
-      targetPort: cql
-    - name: thrift
-      port: 9160
-      targetPort: thrift
-  selector:
-    app.kubernetes.io/name: cassandra
-    app.kubernetes.io/instance: my-release
----
-# Source: cassandra/templates/service.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: my-release-cassandra
-  namespace: default
-  labels:
-    app.kubernetes.io/name: cassandra
-    helm.sh/chart: cassandra-6.0.1
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-spec:
-  type: ClusterIP
-  ports:
-    - name: cql
-      port: 9042
-      targetPort: cql
-      nodePort: null
-    - name: thrift
-      port: 9160
-      targetPort: thrift
-      nodePort: null
-    - name: metrics
-      port: 8080
-      nodePort: null
-  selector:
-    app.kubernetes.io/name: cassandra
-    app.kubernetes.io/instance: my-release
----
-# Source: cassandra/templates/statefulset.yaml
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: my-release-cassandra
-  namespace: default
-  labels:
-    app.kubernetes.io/name: cassandra
-    helm.sh/chart: cassandra-6.0.1
-    app.kubernetes.io/instance: my-release
-    app.kubernetes.io/managed-by: Helm
-spec:
-  selector:
-    matchLabels:
-      app.kubernetes.io/name: cassandra
-      app.kubernetes.io/instance: my-release
-  serviceName: my-release-cassandra-headless
-  podManagementPolicy: OrderedReady
-  replicas: 1
-  updateStrategy:
-    type: RollingUpdate
-  template:
-    metadata:
-      labels:
-        app.kubernetes.io/name: cassandra
-        helm.sh/chart: cassandra-6.0.1
-        app.kubernetes.io/instance: my-release
-        app.kubernetes.io/managed-by: Helm
-    spec:
-      
-      affinity:
-        podAffinity:
-          
-        podAntiAffinity:
-          preferredDuringSchedulingIgnoredDuringExecution:
-            - podAffinityTerm:
-                labelSelector:
-                  matchLabels:
-                    app.kubernetes.io/name: cassandra
-                    app.kubernetes.io/instance: my-release
-                namespaces:
-                  - default
-                topologyKey: kubernetes.io/hostname
-              weight: 1
-        nodeAffinity:
-          
-      securityContext:
-        fsGroup: 1001
-      containers:
-        - name: cassandra
-          command:
-            - bash
-            - -ec
-            - |
-              # Node 0 is the password seeder
-              if [[ $HOSTNAME =~ (.*)-0$ ]]; then
-                  echo "Setting node as password seeder"
-                  export CASSANDRA_PASSWORD_SEEDER=yes
-              else
-                  # Only node 0 will execute the startup initdb scripts
-                  export CASSANDRA_IGNORE_INITDB_SCRIPTS=1
-              fi
-              /opt/bitnami/scripts/cassandra/entrypoint.sh /opt/bitnami/scripts/cassandra/run.sh
-          image: docker.io/bitnami/cassandra:3.11.8-debian-10-r20
-          imagePullPolicy: "IfNotPresent"
-          securityContext:
-            runAsUser: 1001
-          env:
-            - name: BITNAMI_DEBUG
-              value: "false"
-            - name: CASSANDRA_CLUSTER_NAME
-              value: cassandra
-            - name: CASSANDRA_SEEDS
-              value: "my-release-cassandra-0.my-release-cassandra-headless.default.svc.cluster.local"
-            - name: CASSANDRA_PASSWORD
-              valueFrom:
-                secretKeyRef:
-                  name: my-release-cassandra
-                  key: cassandra-password
-            - name: POD_IP
-              valueFrom:
-                fieldRef:
-                  fieldPath: status.podIP
-            - name: CASSANDRA_USER
-              value: "cassandra"
-            - name: CASSANDRA_NUM_TOKENS
-              value: "256"
-            - name: CASSANDRA_DATACENTER
-              value: dc1
-            - name: CASSANDRA_ENDPOINT_SNITCH
-              value: SimpleSnitch
-            - name: CASSANDRA_RACK
-              value: rack1
-            - name: CASSANDRA_ENABLE_RPC
-              value: "true"
-          envFrom:
-          livenessProbe:
-            exec:
-              command:
-                - /bin/bash
-                - -ec
-                - |
-                  nodetool status
-            initialDelaySeconds: 60
-            periodSeconds: 30
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 5
-          readinessProbe:
-            exec:
-              command:
-                - /bin/bash
-                - -ec
-                - |
-                  nodetool status | grep -E "^UN\\s+${POD_IP}"
-            initialDelaySeconds: 60
-            periodSeconds: 10
-            timeoutSeconds: 5
-            successThreshold: 1
-            failureThreshold: 5
-          ports:
-            - name: intra
-              containerPort: 7000
-            - name: tls
-              containerPort: 7001
-            - name: jmx
-              containerPort: 7199
-            - name: cql
-              containerPort: 9042
-            - name: thrift
-              containerPort: 9160
-          resources: 
-            limits: {}
-            requests: {}
-          volumeMounts:
-            - name: data
-              mountPath: /bitnami/cassandra
-            
-      volumes:
-  volumeClaimTemplates:
-    - metadata:
-        name: data
-        labels:
-          app.kubernetes.io/name: cassandra
-          app.kubernetes.io/instance: my-release
-      spec:
-        accessModes:
-          - "ReadWriteOnce"
-        resources:
-          requests:
-            storage: "8Gi"
-

+ 0 - 82
internal/helm/manifest_parser/parser.go

@@ -1,82 +0,0 @@
-package main
-
-import (
-	"bytes"
-	"encoding/json"
-	"fmt"
-	"io/ioutil"
-
-	"gopkg.in/yaml.v2"
-)
-
-func main() {
-	file, err := ioutil.ReadFile("./manifest.yaml")
-
-	if err != nil {
-		panic("AHHHHHH")
-	}
-
-	yamlArr := Parse(file)
-
-	for _, v := range yamlArr {
-		strmap := convertYAMLToJSON(v)
-		js, err := json.Marshal(strmap)
-		if err != nil {
-			fmt.Println(err)
-		}
-		fmt.Println(string(js))
-	}
-}
-
-// Parse is a helper function that goes through a yaml file with multiple documents (or objects)
-// separated by '---' or '...' and returns an array of yamls.
-func Parse(source []byte) (arr []map[interface{}]interface{}) {
-	dec := yaml.NewDecoder(bytes.NewReader(source))
-
-	for {
-		doc := make(map[interface{}]interface{})
-		if dec.Decode(&doc) != nil {
-			return arr
-		}
-		arr = append(arr, doc)
-	}
-
-}
-
-func convertYAMLToJSON(yaml map[interface{}]interface{}) map[string]interface{} {
-	strmap := recursiveConv(yaml).(map[string]interface{})
-	return strmap
-}
-
-// Recursively convert all key values in generic interface{} format into strings.
-// i.e. map[interface{}]interface{} --> map[string]interface{}
-func recursiveConv(m interface{}) interface{} {
-	switch o := m.(type) {
-
-	// quickly skip if object already has strings as keys
-	case map[string]interface{}:
-		for k, v := range o {
-			o[k] = recursiveConv(v)
-		}
-
-	case map[interface{}]interface{}:
-		res := make(map[string]interface{})
-		for k, v := range o {
-			// ✨ sprinkle of efficiency by skipping string keys
-			switch kt := k.(type) {
-			case string:
-				res[kt] = recursiveConv(v)
-			default:
-				res[fmt.Sprint(kt)] = recursiveConv(v)
-			}
-		}
-		m = res
-
-	case []interface{}:
-		for i, v := range o {
-			o[i] = recursiveConv(v)
-		}
-	}
-
-	return m
-}