All Downloads are FREE. Search and download functionalities are using the official Maven repository.

etcd.etcd.bom Maven / Gradle / Ivy

brooklyn.catalog:
  version: "2.6.0" # BROOKLYN_ETCD_VERSION
  iconUrl: classpath://io.brooklyn.etcd.brooklyn-etcd:icons/etcd.png
  description: |
    CoreOS etcd is an open-source distributed key-value store that serves as
    the backbone of distributed systems by providing a canonical hub for
    cluster coordination and state management.
  publish:
    license_code: APACHE-2.0
    license_url: http://www.apache.org/licenses/LICENSE-2.0.txt
    overview: README.md
    qa: tests/etcd.tests.bom

  items:

    - id: etcd-node
      name: "etcd-node"
      description: |
        An individual etcd key-value store node.
      itemType: entity
      item:
        type: io.brooklyn.entity.nosql.etcd.EtcdNode
        id: etcd-node
        name: "etcd-node"

        brooklyn.parameters:
          - name: etcd.version
            label: Etcd Version
            description: |
              The version of etcd to install
            type: string
            default: "2.3.1"
          - name: etcd.client.port
            label: Etcd Client Port
            description: |
              The client port Etcd will listen on
            type: port
            default: 2379

        brooklyn.enrichers:
          - type: org.apache.brooklyn.enricher.stock.Transformer
            brooklyn.config:
              uniqueTag: etcd-endpoint-generator
              enricher.triggerSensors:
                - host.address
                - etcd.client.port
              enricher.targetSensor: $brooklyn:sensor("etcd.endpoint")
              enricher.targetValue:
                $brooklyn:formatString:
                  - "%s:%d"
                  - $brooklyn:attributeWhenReady("host.address")
                  - $brooklyn:attributeWhenReady("etcd.client.port")
          - type: org.apache.brooklyn.enricher.stock.Transformer
            brooklyn.config:
              uniqueTag: etcd-url-generator
              enricher.triggerSensors:
                - etcd.endpoint
                - etcd.client.scheme
              enricher.targetSensor: $brooklyn:sensor("etcd.url")
              enricher.targetValue:
                $brooklyn:formatString:
                  - "%s://%s"
                  - $brooklyn:attributeWhenReady("etcd.client.scheme")
                  - $brooklyn:attributeWhenReady("etcd.endpoint")
          - type: org.apache.brooklyn.enricher.stock.Transformer
            brooklyn.config:
              uniqueTag: etcd-node-authority-generator
              enricher.sourceSensor: $brooklyn:sensor("etcd.endpoint")
              enricher.targetSensor: $brooklyn:sensor("etcd.authority")
              enricher.targetValue:
                $brooklyn:formatString:
                  - "etcd://%s"
                  - $brooklyn:attributeWhenReady("etcd.endpoint")

    - id: etcd-proxy
      name: "etcd-proxy"
      description: |
        An etcd proxy server for an external node or cluster.
      itemType: entity
      item:
        type: io.brooklyn.entity.nosql.etcd.EtcdProxy
        id: etcd-proxy
        name: "etcd-proxy"

    - id: etcd-cluster
      name: "etcd-cluster"
      description: |
        A cluster of etcd nodes.
      itemType: entity
      item:
        type: io.brooklyn.entity.nosql.etcd.EtcdCluster
        id: etcd-cluster
        name: "etcd-cluster"

        brooklyn.parameters:
          - name: etcd.cluster.name
            label: Etcd Cluster Name
            description: |
              The name of the Etcd cluster
            type: string
            default: "brooklyn"

        brooklyn.config:
          etcd.node.spec:
            $brooklyn:entitySpec:
              type: etcd-node
              brooklyn.config:
                install.version: $brooklyn:config("etcd.version")

        brooklyn.enrichers:
          - type: org.apache.brooklyn.enricher.stock.Aggregator
            brooklyn.config:
              uniqueTag: etcd-endpoint-aggregator
              enricher.sourceSensor: $brooklyn:sensor("etcd.endpoint")
              enricher.targetSensor: $brooklyn:sensor("etcd.endpoint.list")
              enricher.aggregating.fromMembers: true
          - type: org.apache.brooklyn.enricher.stock.Joiner
            brooklyn.config:
              uniqueTag: etcd-endpoint-joiner
              enricher.sourceSensor: $brooklyn:sensor("etcd.endpoint.list")
              enricher.targetSensor: $brooklyn:sensor("etcd.endpoints")
              enricher.joiner.quote: false
          - type: org.apache.brooklyn.enricher.stock.Transformer
            brooklyn.config:
              uniqueTag: etcd-authority-generator
              enricher.sourceSensor: $brooklyn:sensor("etcd.endpoints")
              enricher.targetSensor: $brooklyn:sensor("etcd.authority")
              enricher.targetValue:
                $brooklyn:formatString:
                  - "etcd://%s"
                  - $brooklyn:attributeWhenReady("etcd.endpoints")
          - type: org.apache.brooklyn.enricher.stock.Aggregator
            brooklyn.config:
              uniqueTag: etcd-url-aggregator
              enricher.sourceSensor: $brooklyn:sensor("etcd.url")
              enricher.targetSensor: $brooklyn:sensor("etcd.url.list")
              enricher.aggregating.fromMembers: true
          - type: org.apache.brooklyn.enricher.stock.Joiner
            brooklyn.config:
              uniqueTag: etcd-url-joiner
              enricher.sourceSensor: $brooklyn:sensor("etcd.url.list")
              enricher.targetSensor: $brooklyn:sensor("etcd.urls")
              enricher.joiner.quote: false




© 2015 - 2025 Weber Informatics LLC | Privacy Policy