github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/config/samples/extensions_v1alpha1_addon.yaml (about)

     1  apiVersion: extensions.kubeblocks.io/v1alpha1
     2  kind: Addon
     3  metadata:
     4    labels:
     5      app.kubernetes.io/name: addon
     6      app.kubernetes.io/instance: addon-sample
     7      app.kubernetes.io/part-of: kubeblocks
     8      app.kubernetes.io/managed-by: kustomize
     9      app.kubernetes.io/created-by: kubeblocks
    10    name: prometheus-sample
    11  spec:
    12    # Addon spec. description.
    13    description: Prometheus is a monitoring system and time series database.
    14  
    15    # Addon type, valid value is Helm. (Required)
    16    type: Helm
    17  
    18    # helm spec., it's only being processed if type=helm.
    19    helm:
    20      chartLocationURL: https://github.com/prometheus-community/helm-charts/releases/download/prometheus-15.16.1/prometheus-15.16.1.tgz
    21      # helm install options
    22      installOptions: # <map[string]string>
    23  #      # following assigned values are default options
    24  #      # wait: true
    25  #      atomic: "false"
    26  #      no-hooks: "false"
    27  #      timeout: "10m"
    28  #      # specify values in a YAML file or a URL (can specify multiple)
    29  
    30      installValues:
    31        # via URL
    32        urls: []
    33  
    34        # via YAML contents reside in configMap.data.<key>
    35        configMapRefs:
    36  #        - name:
    37  #          namespace:
    38  #          key:
    39        # via YAML contents reside in secret.data.<key>
    40        secretRefs:
    41  #        - name:
    42  #          namespace:
    43  #          key:
    44        setValues:
    45          - "alertmanager.image.repository=infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/alertmanager"
    46          - "alertmanager.image.tag=v0.24.0"
    47          - "kubeStateMetrics.enabled=false"
    48          - "nodeExporter.enabled=false"
    49          - "nodeExporter.image.repository=infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/node-exporter"
    50          - "nodeExporter.image.tag=v1.3.1"
    51          - "configmapReload.prometheus.image.repository=infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/configmap-reload"
    52          - "configmapReload.prometheus.image.tag=v0.5.0"
    53          - "configmapReload.alertmanager.image.repository=infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/configmap-reload"
    54          - "configmapReload.alertmanager.image.tag=v0.5.0"
    55          - "server.image.repository=infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/prometheus"
    56          - "server.image.tag=v2.39.1"
    57          - "pushgateway.enabled=false"
    58  
    59        setJSONValues: []
    60  
    61      # values mapping specific to resources related context, i.e., replicaCount, storage, CPU & Memory.
    62      valuesMapping:
    63        valueMap:
    64          replicaCount: server.replicaCount
    65          storageClass: server.persistentVolume.storageClass
    66          persistentVolumeEnabled: server.persistentVolume.enabled
    67  
    68        jsonMap:
    69          tolerations: server.tolerations
    70  
    71        resources:
    72          storage: server.persistentVolume.size
    73          cpu:
    74            requests: server.resources.requests.cpu
    75            limits: server.resources.limits.cpu
    76          memory:
    77            requests: server.resources.requests.memory
    78            limits: server.resources.limits.memory
    79        extras:
    80          - name: alertmanager
    81            valueMap: # map[KeyHelmValueKey]string
    82              replicaCount: alertmanager.replicaCount
    83              storageClass: alertmanager.persistentVolume.storageClass
    84              persistentVolumeEnabled: alertmanager.persistentVolume.enabled
    85  
    86            jsonMap: # map[KeyHelmValueKey]string
    87              tolerations: alertmanager.tolerations
    88  
    89            resources:
    90              storage: alertmanager.persistentVolume.size
    91              cpu:
    92                requests: alertmanager.resources.requests.cpu
    93                limits: alertmanager.resources.limits.cpu
    94              memory:
    95                requests: alertmanager.resources.requests.memory
    96                limits: alertmanager.resources.limits.memory
    97  
    98    # defaultInstall provides default installSpec template. (Required)
    99    defaultInstallValues:
   100      - replicas: 1
   101        storageClass:
   102        tolerations: "[]"
   103        resources:
   104          requests:
   105            storage: 1Gi
   106        extras:
   107          - name: alertmanager
   108            storageClass:
   109            tolerations: "[]"
   110            replicas: 1
   111            resources:
   112              requests:
   113                storage: 1Gi
   114      - # Addon default install value selectors. If multiple selectors are provided
   115        # that all selectors must evaluate to true.
   116        selectors:
   117          - # selector key, valid values are kubeGitVersion, kubeVersion.
   118            # "kubeVersion" the semver expression of Kubernetes versions, i.e., v1.24.
   119            # "kubeGitVersion" may contain distro info, i.e., v1.24.4+k3s1.
   120            key: KubeGitVersion
   121            # cluster version comparator opreator
   122            # Possible enum values:
   123            # - `"Contains"` line contains string (symbol: "|=")
   124            # - `"DoesNotContain"` line does not contain string (symbol: "!=")
   125            # - `"MatchRegex"` line contains a match to the regular expression (symbol: "|~")
   126            # - `"DoesNoteMatchRegex"` line does not contain a match to the regular expression (symbol: "!~")
   127            operator: Contains
   128            # An array of string values. Server as "OR" expression to operator.
   129            values:
   130              - ack
   131        replicas: 1
   132        storageClass: alicloud-disk-efficiency
   133        tolerations: "[]"
   134        resources:
   135          requests:
   136            storage: 20Gi
   137        extras:
   138          - name: alertmanager
   139            replicas: 1
   140            storageClass: alicloud-disk-efficiency
   141            resources:
   142              requests:
   143                storage: 20Gi
   144  
   145  #  # addon enabled install spec, if its empty for disabled addon.
   146  #  install:
   147  #    # primary component resources attributes.
   148  #    replicas: 1
   149  ##    storageClass:
   150  ##    # JSON array string
   151  ##    tolerations: '[]'
   152  ##    resources:
   153  ##      requests:
   154  ##        storage: 8Gi
   155  ##        memory: 512Mi
   156  ##      limits:
   157  ##        memory: 4Gi
   158  #    # extra components resources attributes.
   159  #    extras:
   160  #      - name: alertmanager
   161  ##        replicas: 1
   162  ##        storageClass:
   163  ##        resources:
   164  ##          requests:
   165  ##            storage: 1Gi
   166  ##            memory: 16Mi
   167  ##          limits:
   168  ##            memory: 256Mi
   169  
   170    # Addon installable spec., provide selector and auto-install settings.
   171    installable:
   172      # autoInstall defines an addon should auto installed
   173      autoInstall: true
   174      # Addon installable selectors. If multiple selectors are provided
   175      # that all selectors must evaluate to true.
   176      selectors:
   177        - # selector key, valid values are kubeGitVersion, kubeVersion.
   178          # "kubeVersion" the semver expression of Kubernetes versions, i.e., v1.24.
   179          # "kubeGitVersion" may contain distro info, i.e., v1.24.4+k3s1.
   180          key: KubeGitVersion
   181          # cluster version comparator opreator
   182          # Possible enum values:
   183          # - `"Contains"` line contains string (symbol: "|=")
   184          # - `"DoesNotContain"` line does not contain string (symbol: "!=")
   185          # - `"MatchRegex"` line contains a match to the regular expression (symbol: "|~")
   186          # - `"DoesNoteMatchRegex"` line does not contain a match to the regular expression (symbol: "!~")
   187          operator: Contains
   188          # An array of string values. Server as "OR" expression to operator.
   189          values:
   190            - eks
   191            - ack