fabric-samples/full-stack-asset-transfer-guide/infrastructure/fabric_network_playbooks/09-create-channel.yml
jkneubuh a299e18e26
Moves the Full Stack Asset Transfer Development Guide to fabric-samples (#852)
* Import Full Stack Asset Transfer Guide at commit fb554befdbbeff9e69159b54fce0b811603f29c7

Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>

* Update the workshop with a new WORKSHOP_PATH under fabric-samples

Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>

* Update the workshop with a new WORKSHOP_PATH under fabric-samples

Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>

* missed a .git ignored directory on add

Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>

* Updates to run the workshop on the Apple M1

Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>

* Workaround for https://github.com/eslint/eslint/issues/15299 in the contract tslinter

Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>

* Build an arch-specific CC images on M1

Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>

* empty commit - force a build

Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>

* revert an accidental commit that was building the top-level asset-transfer as arm64

Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>

Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>
2022-11-10 10:40:27 -05:00

79 lines
3.1 KiB
YAML

#
# SPDX-License-Identifier: Apache-2.0
#
---
- name: Create the channel
hosts: localhost
vars:
wallet: "/_cfg"
vars_files:
- /_cfg/fabric-common-vars.yml
- /_cfg/fabric-org1-vars.yml
tasks:
- name: Check to see if the channel already exists
ibm.blockchain_platform.channel_block:
api_endpoint: "{{ api_endpoint }}"
api_authtype: "{{ api_authtype }}"
api_key: "{{ api_key }}"
api_secret: "{{ api_secret | default(omit) }}"
api_token_endpoint: "{{ api_token_endpoint | default(omit) }}"
operation: fetch
ordering_service: "{{ ordering_service_name }}"
identity: "{{ wallet }}/{{ org1_name }} Admin.json"
msp_id: "{{ org1_msp_id }}"
name: "{{ channel_name }}"
target: "0"
path: channel_genesis_block.bin
failed_when: False
register: result
- name: Fail on any error other than the channel not existing
fail:
msg: "{{ result.msg }}"
when: result.msg is defined and 'NOT_FOUND' not in result.msg
- name: Create the configuration update for the new channel
ibm.blockchain_platform.channel_config:
api_endpoint: "{{ api_endpoint }}"
api_authtype: "{{ api_authtype }}"
api_key: "{{ api_key }}"
api_secret: "{{ api_secret | default(omit) }}"
api_token_endpoint: "{{ api_token_endpoint | default(omit) }}"
operation: create
name: "{{ channel_name }}"
path: config_update.bin
organizations:
- "{{ org1_name }}"
policies:
Admins: "{{ lookup('template', '09-admins-policy.json.j2') }}"
Readers: "{{ lookup('template', '09-readers-policy.json.j2') }}"
Writers: "{{ lookup('template', '09-writers-policy.json.j2') }}"
Endorsement: "{{ lookup('template', '09-endorsement-policy.json.j2') }}"
LifecycleEndorsement: "{{ lookup('template', '09-lifecycle-endorsement-policy.json.j2') }}"
capabilities:
application: V2_0
when: result.msg is defined and 'NOT_FOUND' in result.msg
- name: Sign the channel configuration update for the new channel
ibm.blockchain_platform.channel_config:
operation: sign_update
identity: "{{ wallet }}/{{ org1_name }} Admin.json"
msp_id: "{{ org1_msp_id }}"
name: "{{ channel_name }}"
path: config_update.bin
when: result.msg is defined and 'NOT_FOUND' in result.msg
- name: Apply the channel configuration update for the new channel
ibm.blockchain_platform.channel_config:
api_endpoint: "{{ api_endpoint }}"
api_authtype: "{{ api_authtype }}"
api_key: "{{ api_key }}"
api_secret: "{{ api_secret | default(omit) }}"
api_token_endpoint: "{{ api_token_endpoint | default(omit) }}"
operation: apply_update
ordering_service: "{{ ordering_service_name }}"
identity: "{{ wallet }}/{{ org1_name }} Admin.json"
msp_id: "{{ org1_msp_id }}"
name: "{{ channel_name }}"
path: config_update.bin
when: result.msg is defined and 'NOT_FOUND' in result.msg