|
1 | 1 | brooklyn.catalog: |
2 | | - version: 0.18.0-SNAPSHOT # BROOKLYN_HYPERLEDGER_VERSION |
| 2 | + version: 0.19.0-SNAPSHOT # BROOKLYN_HYPERLEDGER_VERSION |
3 | 3 |
|
4 | 4 | publish: |
5 | 5 | description: | |
6 | | - Entities for running the Hyperledger Fabric project in Apache Brooklyn. |
7 | | - license_code: Apache-2.0 |
| 6 | + Entities for Hyperledger Fabric. |
| 7 | + license_code: APACHE-2.0 |
8 | 8 | icon_url: classpath://io.brooklyn.hyperledger:icon/hyperledger-fabric.png |
9 | 9 |
|
10 | 10 | items: |
11 | | - - id: hyperledger-docker-engine |
12 | | - description: "The engine for running Docker containers" |
13 | | - itemType: entity |
14 | | - item: |
15 | | - |
16 | | - name: "Docker Engine (host)" |
17 | | - type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess |
18 | | - |
19 | | - install.command: | |
20 | | - sudo yum -y update |
21 | | - sudo tee /etc/yum.repos.d/docker.repo <<-'EOF' |
22 | | - [dockerrepo] |
23 | | - name=Docker Repository |
24 | | - baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/ |
25 | | - enabled=1 |
26 | | - gpgcheck=1 |
27 | | - gpgkey=https://yum.dockerproject.org/gpg |
28 | | - EOF |
29 | | - sudo yum -y install docker-engine |
30 | | - |
31 | | - post.install.command: | |
32 | | - # Configure Docker |
33 | | - sudo mkdir -p /etc/systemd/system/docker.service.d |
34 | | - echo "[Service]" | sudo tee --append /etc/systemd/system/docker.service.d/docker.conf > /dev/null |
35 | | - echo "ExecStart=" | sudo tee --append /etc/systemd/system/docker.service.d/docker.conf > /dev/null |
36 | | - echo 'ExecStart=/usr/bin/docker daemon -D --api-cors-header="*" --storage-driver=devicemapper -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock' | sudo tee --append /etc/systemd/system/docker.service.d/docker.conf > /dev/null |
37 | | - |
38 | | - sudo systemctl enable docker.service |
39 | | - sudo systemctl daemon-reload |
40 | | - |
41 | | - launch.command: | |
42 | | - sudo service docker start |
43 | | - |
44 | | - stop.command: | |
45 | | - sudo service docker stop |
46 | | - |
47 | | - checkRunning.command: | |
48 | | - sudo service docker status |
49 | | - |
50 | | - provisioning.properties: |
51 | | - osFamily: centos |
52 | | - minRam: 4gb |
53 | | - installDevUrandom: true |
54 | | - required.ports: |
55 | | - - 22 |
56 | | - - 4243 |
57 | | - - 7050 |
58 | | - - 7051 |
59 | | - - 7052 |
60 | | - - 7053 |
61 | | - - 7054 |
62 | | - - 7055 |
63 | | - - 7056 |
64 | | - - 7057 |
65 | | - - 7058 |
66 | | - - 7059 |
67 | | - - 8080 |
68 | | - - 8888 |
69 | | - - 9999 |
70 | | - |
71 | | - childStartMode: foreground_late |
| 11 | + - id: hyperledger-docker-engine |
| 12 | + description: | |
| 13 | + The Docker engine for running containers. |
| 14 | + itemType: entity |
| 15 | + item: |
| 16 | + name: "hyperledger-docker-engine" |
| 17 | + type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess |
| 18 | + |
| 19 | + brooklyn.parameters: |
| 20 | + - name: docker.package |
| 21 | + description: "Docker Package Name" |
| 22 | + type: string |
| 23 | + default: "docker-ce" |
| 24 | + - name: docker.port |
| 25 | + description: "Docker Package Number" |
| 26 | + type: integer |
| 27 | + default: 2376 |
| 28 | + |
| 29 | + brooklyn.config: |
| 30 | + shell.env: |
| 31 | + DOCKER_PACKAGE: $brooklyn:config("docker.package") |
| 32 | + HOST_ADDRESS: $brooklyn:attributeWhenReady("host.address") |
| 33 | + DOCKER_PORT: $brooklyn:config("docker.port") |
| 34 | + |
| 35 | + install.command: | |
| 36 | + sudo yum -y update |
| 37 | + sudo yum install -y yum-utils device-mapper-persistent-data lvm2 |
| 38 | + sudo yum-config-manager --add-repo \ |
| 39 | + https://download.docker.com/linux/centos/docker-ce.repo |
| 40 | + sudo yum-config-manager --enable extras |
| 41 | + sudo yum-config-manager --enable epel-testing |
| 42 | + sudo yum install -y ${DOCKER_PACKAGE} |
| 43 | + |
| 44 | + post.install.command: | |
| 45 | + echo "[HLF] docker installed" |
| 46 | + |
| 47 | + customize.command: | |
| 48 | + sudo tee /etc/docker/daemon.json <<EOF |
| 49 | + { |
| 50 | + "debug": true, |
| 51 | + "hosts": [ |
| 52 | + "unix://var/run/docker.sock", |
| 53 | + "tcp://0.0.0.0:${DOCKER_PORT}" |
| 54 | + ], |
| 55 | + "labels": [ |
| 56 | + "org.apache.brooklyn.entity=hyperledger-docker-engine" |
| 57 | + ] |
| 58 | + } |
| 59 | + EOF |
| 60 | + |
| 61 | + launch.command: | |
| 62 | + sudo service docker start |
| 63 | + echo "[HLF] docker started" |
| 64 | + |
| 65 | + stop.command: | |
| 66 | + sudo service docker stop |
| 67 | + |
| 68 | + checkRunning.command: | |
| 69 | + sudo service docker status |
| 70 | + |
| 71 | + provisioning.properties: |
| 72 | + osFamily: centos |
| 73 | + minRam: 4gb |
| 74 | + installDevUrandom: true |
| 75 | + required.ports: |
| 76 | + [ 22, 4243, 7050, 7051, 7052, 7053, 7054, 7055, 7056, 7057, 7058, 7059, 8080, 8888, 9999 ] |
| 77 | + |
| 78 | + childStartMode: foreground_late |
| 79 | + |
| 80 | + - id: hyperledger-docker-container |
| 81 | + description: | |
| 82 | + The Docker container for running Hyperledger images. |
| 83 | + itemType: entity |
| 84 | + item: |
| 85 | + type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess |
| 86 | + name: "hyperledger-docker-container" |
| 87 | + |
| 88 | + brooklyn.parameters: |
| 89 | + - name: hyperledger.version |
| 90 | + description: "Hyperledger Version" |
| 91 | + type: string |
| 92 | + default: "1.0.3" |
| 93 | + |
| 94 | + brooklyn.config: |
| 95 | + shell.env: |
| 96 | + ENTITY_ID: $brooklyn:entityId() |
| 97 | + HYPERLEDGER_VERSION: |
| 98 | + $brooklyn:formatString: |
| 99 | + - "x86_64-%s" |
| 100 | + - $brooklyn:config("hyperledger.version") |
| 101 | + DOCKER_PORT: $brooklyn:config("docker.port") |
| 102 | + |
| 103 | + post.install.command: | |
| 104 | + echo "[HLF] container ${ENTITY_ID} installed" |
0 commit comments