update pgaas blueprints 69/16669/3
authorTony Hansen <tony@att.com>
Fri, 29 Sep 2017 17:29:52 +0000 (17:29 +0000)
committerVijay <vv770d@att.com>
Mon, 2 Oct 2017 15:10:35 +0000 (15:10 +0000)
mv check-blueprint-vs-input here from utils
fix minor changes pointed out by check-blueprint-vs-input

Change-Id: Ie9383858177b7df2b068c4171280322c4f5a214f
Signed-off-by: Tony Hansen <tony@att.com>
Issue-Id: DCAEGEN2-49
Signed-off-by: Vijay <vv770d@att.com>
blueprints/pgaas-cluster.yaml-template
blueprints/pgaas-database.yaml-template
blueprints/pgaas-disk.yaml-template
blueprints/pgaas-getdbinfo.yaml-template
blueprints/pgaas.yaml-template
check-blueprint-vs-input/lib/sample-inputs.yaml [new file with mode: 0644]
check-blueprint-vs-input/man/check-blueprint-vs-input.1 [new file with mode: 0644]
check-blueprint-vs-input/man/check-blueprint-vs-input.man [new file with mode: 0644]
check-blueprint-vs-input/pom.xml [new file with mode: 0644]

index 520def7..7411c06 100644 (file)
@@ -23,7 +23,7 @@
 
 tosca_definitions_version: cloudify_dsl_1_3
 
-description: >
+description: |-
   This blueprint is used to install and to uninstall a central postgres as a platform service.
   This blueprint depends upon the deployment of the pgaas_plugin, the PGaaS Cinder volume, and Consul.
   This blueprint is part of a suite of three blueprints that allow a PGaaS
@@ -40,9 +40,9 @@ imports:
   - http://www.getcloudify.org/spec/openstack-plugin/1.4/plugin.yaml
   - http://www.getcloudify.org/spec/fabric-plugin/1.4.1/plugin.yaml
 
-  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/dnsdesig/dns_types.yaml
-  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/relationship/1.0.0/node-type.yaml
-  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/pgaas_plugin/1.0.0/pgaas_types.yaml
+  - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/dnsdesig/dns_types.yaml"
+  - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/relationship/1.0.0/node-type.yaml"
+  - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/pgaas_plugin/1.0.0/pgaas_types.yaml"
 
 inputs:
   # environment info
index c387d18..45acd56 100644 (file)
@@ -2,7 +2,7 @@
 
 tosca_definitions_version: cloudify_dsl_1_3
 
-description: >
+description: |-
   This blueprint is used to install and to uninstall a persistent database into the central postgres as a platform service.
   This blueprint depends upon the deployment of the pgaas_plugin, the PGaaS Cinder volume, the PGaaS service, and Consul.
   This blueprint is part of a suite of three blueprints that allow a PGaaS
@@ -17,7 +17,7 @@ description: >
 imports:
   - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml
 
-  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/pgaas_plugin/1.0.0/pgaas_types.yaml
+  - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/pgaas_plugin/1.0.0/pgaas_types.yaml"
 
 inputs:
   # environment info
@@ -48,7 +48,8 @@ inputs:
   pgaas_cluster_name:
     type: string
     default: pgcl
-  database_contacts: {}
+  database_contacts:
+    type: {}
     default: {}
   database_description:
     type: string
index e4c53b3..e451886 100644 (file)
@@ -2,7 +2,7 @@
 
 tosca_definitions_version: cloudify_dsl_1_3
 
-description: >
+description: |-
   This blueprint is used to install and to uninstall the cinder volumes for
   a central postgres as a platform service.
   This blueprint depends upon the deployment of Consul and the pgaas_plugin.
@@ -20,10 +20,10 @@ imports:
   - http://www.getcloudify.org/spec/openstack-plugin/1.4/plugin.yaml
   - http://www.getcloudify.org/spec/fabric-plugin/1.4.1/plugin.yaml
 
-  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/dnsdesig/dns_types.yaml
-  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_ccsdk_platform_plugins_releases }}/type_files/sshkeyshare/sshkey_types.yaml
-  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/relationship/1.0.0/node-type.yaml
-  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/pgaas_plugin/1.0.0/pgaas_types.yaml
+  - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/dnsdesig/dns_types.yaml"
+  - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_ccsdk_platform_plugins_releases }}/type_files/sshkeyshare/sshkey_types.yaml"
+  - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/relationship/1.0.0/node-type.yaml"
+  - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/pgaas_plugin/1.0.0/pgaas_types.yaml"
 
 inputs:
   # environment info
@@ -54,6 +54,12 @@ inputs:
   pgaas_cluster_name:
     type: string
     default: pgcl
+<<<<<<< HEAD
+=======
+  cinder_volume_size:
+    type: string
+    default: 300
+>>>>>>> f62e307...  update pgaas blueprints
 
 node_templates:
   key_pair:
index 9dfc89e..833d72a 100644 (file)
@@ -2,7 +2,7 @@
 
 tosca_definitions_version: cloudify_dsl_1_3
  
-description: >
+description: |-
   This blueprint is an example of how an application can access the needed information about
   a persistent database created as part of a PGaaS cluster.
   
@@ -17,7 +17,7 @@ description: >
 imports: 
   - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml
 
-  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/pgaas_plugin/1.0.0/pgaas_types.yaml
+  - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/pgaas_plugin/1.0.0/pgaas_types.yaml"
 
 inputs: 
   location_domain: 
index 810912e..74584cf 100644 (file)
@@ -1,7 +1,5 @@
 # -*- indent-tabs-mode: nil -*- # vi: set expandtab:
 
-# TODO
-# add consul registration
 
 # ============LICENSE_START====================================================
 # org.onap.dcae
 
 tosca_definitions_version: cloudify_dsl_1_3
 
-description: >
-  This blueprint is used to install and to uninstall a central postgres as a platform service.
-  This blueprint depends upon the deployment of the pgaas_plugin and Consul.
-
 imports:
   - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml
   - http://www.getcloudify.org/spec/openstack-plugin/1.4/plugin.yaml
   - http://www.getcloudify.org/spec/fabric-plugin/1.4.1/plugin.yaml
 
-  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/dnsdesig/dns_types.yaml
-  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_ccsdk_platform_plugins_releases }}/type_files/sshkeyshare/sshkey_types.yaml
-  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/relationship/1.0.0/node-type.yaml
-  - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/pgaas_plugin/1.0.0/pgaas_types.yaml
+  - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/dnsdesig/dns_types.yaml"
+  - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_ccsdk_platform_plugins_releases }}/type_files/sshkeyshare/sshkey_types.yaml"
+  - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/relationship/1.0.0/node-type.yaml"
+  - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/pgaas_plugin/1.0.0/pgaas_types.yaml"
 
 inputs:
   # environment info
diff --git a/check-blueprint-vs-input/lib/sample-inputs.yaml b/check-blueprint-vs-input/lib/sample-inputs.yaml
new file mode 100644 (file)
index 0000000..48e5e24
--- /dev/null
@@ -0,0 +1,18 @@
+centos7image_id: '7c8d7524-de1f-490b-8418-db294bfa2d65'
+ubuntu1604image_id: '4b09c18b-d69e-4ba8-a1bd-562cab91ff20'
+flavor_id: '4'
+security_group: '55a11193-6559-4f6c-b2d2-0119a9817062'
+public_net: 'admin_floating_228_net'
+private_net: 'onap-f-net'
+openstack:
+  username: 'MY_LOGIN'
+  password: 'MY_PASSWORD'
+  tenant_name: 'TENANT_NAME'
+  auth_url: 'KEYSTONE_AUTH_URL'
+  region: 'RegionOne'
+keypair: 'KEYNME'
+key_filename: '/opt/dcae/key'
+location_prefix: 'onapr1'
+location_domain: 'onapdevlab.onap.org'
+codesource_url: 'https://nexus.onap.org/service/local/repositories/raw/content'
+codesource_version: 'org.onap.dcaegen2.deployments/releases/scripts'
diff --git a/check-blueprint-vs-input/man/check-blueprint-vs-input.1 b/check-blueprint-vs-input/man/check-blueprint-vs-input.1
new file mode 100644 (file)
index 0000000..247fbc6
--- /dev/null
@@ -0,0 +1,50 @@
+check-blueprint-vs-input(1UTIL)      ONAP      check-blueprint-vs-input(1UTIL)
+
+
+
+N\bNA\bAM\bME\bE
+       check-blueprint-vs-input
+
+S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS
+       check-blueprint-vs-input [-h] [-b BLUEPRINT] [-i INPUTS]
+                                       [-B BLUEPRINT_EXCLUSION_LIST]
+                                       [-I INPUTS_EXCLUSION_LIST] [-t] [-v]
+
+D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
+       Validate a blueprint and inputs file against each other. This looks for
+       the inputs: node of the blueprint file, the inputs used by  {get_input}
+       within  the  blueprint,  and  the  values found in the inputs file. The
+       files may be in either YAML or JSON formats. The names default to blue‐
+       print.yaml  and  inputs.yaml.  If a blueprint inputs name has a default
+       value, it is not considered an error if it is not in the  inputs  file.
+       If  using  a  template  inputs file, add the -t/--template option. This
+       will look for the inputs under an "inputs:" node instead of at the  top
+       level.  If there are blueprint nodes or inputs nodes that should not be
+       considered an error, specify them using the -B/--blueprint-  exclusion-
+       list   and  -I/inputs-exclusion-list  parameters.  "check-blueprint-vs-
+       input --help" will list all of the available options.
+
+   O\bOP\bPT\bTI\bIO\bON\bNS\bS
+       -h, --help show this help message and exit
+
+       -b BLUEPRINT, --blueprint BLUEPRINT Path to blueprint file, defaults to
+                           'blueprint.yaml'
+
+       -i INPUTS, --inputs INPUTS Port to listen on, defaults to 'inputs.yaml'
+
+       -B     BLUEPRINT_EXCLUSION_LIST,    --blueprint-exclusion-list    BLUE‐
+                           PRINT_EXCLUSION_LIST Comma-separated list of  names
+                           not to warn about not
+                                                   being in the blueprint file
+
+       -I INPUTS_EXCLUSION_LIST, --inputs-exclusion-list INPUTS_EXCLUSION_LIST
+                           Comma-separated list of names not to warn about not
+                                                   being in the inputs file
+
+       -t, --inputs-template Treat inputs file as coming from template area
+
+       -v, --verbose Verbose, may be specified multiple times
+
+
+
+ONAP                               {{DATE}}    check-blueprint-vs-input(1UTIL)
diff --git a/check-blueprint-vs-input/man/check-blueprint-vs-input.man b/check-blueprint-vs-input/man/check-blueprint-vs-input.man
new file mode 100644 (file)
index 0000000..017d529
--- /dev/null
@@ -0,0 +1,55 @@
+'\" Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. 
+'\"
+'\" Licensed under the Apache License, Version 2.0 (the "License");
+'\" you may not use this code except in compliance
+'\" with the License. You may obtain a copy of the License
+'\" at http://www.apache.org/licenses/LICENSE-2.0
+'\" 
+'\" Unless required by applicable law or agreed to in writing, software 
+'\" distributed under the License is distributed on an "AS IS" BASIS, 
+'\" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 
+'\" implied. See the License for the specific language governing 
+'\" permissions and limitations under the License.
+.TH check-blueprint-vs-input 1UTIL {{DATE}} ONAP ONAP
+.SH NAME
+check-blueprint-vs-input
+.SH SYNOPSIS
+check-blueprint-vs-input [-h] [-b BLUEPRINT] [-i INPUTS]
+                                [-B BLUEPRINT_EXCLUSION_LIST]
+                                [-I INPUTS_EXCLUSION_LIST] [-t] [-v]
+.SH DESCRIPTION
+Validate a blueprint and inputs file against each other. This looks for the
+inputs: node of the blueprint file, the inputs used by {get_input} within the
+blueprint, and the values found in the inputs file. The files may be in either
+YAML or JSON formats. The names default to blueprint.yaml and inputs.yaml. If
+a blueprint inputs name has a default value, it is not considered an error if
+it is not in the inputs file. If using a template inputs file, add the
+-t/--template option. This will look for the inputs under an "inputs:" node
+instead of at the top level. If there are blueprint nodes or inputs nodes that
+should not be considered an error, specify them using the -B/--blueprint-
+exclusion-list and -I/inputs-exclusion-list parameters. "check-blueprint-vs-
+input --help" will list all of the available options.
+.SS OPTIONS
+.HP 20
+-h, --help
+show this help message and exit
+.HP 20
+-b BLUEPRINT, --blueprint BLUEPRINT
+Path to blueprint file, defaults to 'blueprint.yaml'
+.HP 20
+-i INPUTS, --inputs INPUTS
+Port to listen on, defaults to 'inputs.yaml'
+.HP 20
+-B BLUEPRINT_EXCLUSION_LIST, --blueprint-exclusion-list BLUEPRINT_EXCLUSION_LIST
+Comma-separated list of names not to warn about not
+                        being in the blueprint file
+.HP 20
+-I INPUTS_EXCLUSION_LIST, --inputs-exclusion-list INPUTS_EXCLUSION_LIST
+Comma-separated list of names not to warn about not
+                        being in the inputs file
+.HP 20
+-t, --inputs-template
+Treat inputs file as coming from template area
+.HP 20
+-v, --verbose
+Verbose, may be specified multiple times
diff --git a/check-blueprint-vs-input/pom.xml b/check-blueprint-vs-input/pom.xml
new file mode 100644 (file)
index 0000000..f50e191
--- /dev/null
@@ -0,0 +1,250 @@
+<?xml version="1.0"?>
+<!--
+================================================================================
+Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+================================================================================
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+============LICENSE_END=========================================================
+
+ECOMP is a trademark and service mark of AT&T Intellectual Property.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.onap.dcaegen2.platform.blueprints</groupId>
+    <artifactId>blueprints</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+  </parent>
+  <groupId>org.onap.dcaegen2.plaform.blueprints</groupId>
+  <artifactId>check-blueprint-vs-input</artifactId>
+  <name>dcaegen2-plaform-blueprints-check-blueprint-vs-input</name>
+  <version>1.0.0-SNAPSHOT</version>
+  <url>http://maven.apache.org</url>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <sonar.skip>true</sonar.skip>
+    <sonar.sources>.</sonar.sources>
+    <!-- customize the SONARQUBE URL -->
+    <!-- sonar.host.url>http://localhost:9000</sonar.host.url -->
+    <!-- below are language dependent -->
+    <!-- for Python -->
+    <sonar.language>py</sonar.language>
+    <sonar.pluginName>Python</sonar.pluginName>
+    <sonar.inclusions>**/*.py</sonar.inclusions>
+    <!-- for JavaScaript -->
+    <!--
+    <sonar.language>js</sonar.language>
+    <sonar.pluginName>JS</sonar.pluginName>
+    <sonar.inclusions>**/*.js</sonar.inclusions>
+    -->
+  </properties>
+  <build>
+    <finalName>${project.artifactId}-${project.version}</finalName>
+    <pluginManagement>
+      <plugins>
+        <!-- the following plugins are invoked from oparent, we do not need them -->
+        <plugin>
+          <groupId>org.sonatype.plugins</groupId>
+          <artifactId>nexus-staging-maven-plugin</artifactId>
+          <version>1.6.7</version>
+          <configuration>
+            <skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-deploy-plugin</artifactId>
+          <!-- This version supports the "deployAtEnd" parameter -->
+          <version>2.8</version>
+          <configuration>
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <!-- first disable the default Java plugins at various stages -->
+        <!-- maven-resources-plugin is called during "*resource" phases by default behavior.  it prepares 
+         the resources dir.  we do not need it -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-resources-plugin</artifactId>
+          <version>2.6</version>
+          <configuration>
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <!-- maven-compiler-plugin is called during "compile" phases by default behavior.  we do not need it -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>3.1</version>
+          <configuration>
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <!-- maven-jar-plugin is called during "compile" phase by default behavior.  we do not need it -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-jar-plugin</artifactId>
+          <version>2.4</version>
+          <executions>
+            <execution>
+              <id>default-jar</id>
+              <phase/>
+            </execution>
+          </executions>
+        </plugin>
+        <!-- maven-install-plugin is called during "install" phase by default behavior.  it tries to copy stuff under 
+         target dir to ~/.m2.  we do not need it -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-install-plugin</artifactId>
+          <version>2.4</version>
+          <configuration>
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <!-- maven-surefire-plugin is called during "test" phase by default behavior.  it triggers junit test.
+         we do not need it -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.12.4</version>
+          <configuration>
+            <skipTests>true</skipTests>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+      <!-- plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.4.1</version>
+        <configuration>
+          <descriptors>
+            <descriptor>assembly/dep.xml</descriptor>
+          </descriptors>
+        </configuration>
+        <executions>
+          <execution>
+            <id>make-assembly</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin -->
+      <!-- now we configure custom action (calling a script) at various lifecycle phases -->
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>exec-maven-plugin</artifactId>
+        <version>1.2.1</version>
+        <executions>
+          <execution>
+            <id>clean phase script</id>
+            <phase>clean</phase>
+            <goals>
+              <goal>exec</goal>
+            </goals>
+            <configuration>
+              <arguments>
+                <argument>${project.artifactId}</argument>
+                <argument>clean</argument>
+              </arguments>
+            </configuration>
+          </execution>
+          <execution>
+            <id>generate-sources script</id>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>exec</goal>
+            </goals>
+            <configuration>
+              <arguments>
+                <argument>${project.artifactId}</argument>
+                <argument>generate-sources</argument>
+              </arguments>
+            </configuration>
+          </execution>
+          <execution>
+            <id>compile script</id>
+            <phase>compile</phase>
+            <goals>
+              <goal>exec</goal>
+            </goals>
+            <configuration>
+              <arguments>
+                <argument>${project.artifactId}</argument>
+                <argument>compile</argument>
+              </arguments>
+            </configuration>
+          </execution>
+          <execution>
+            <id>package script</id>
+            <phase>package</phase>
+            <goals>
+              <goal>exec</goal>
+            </goals>
+            <configuration>
+              <arguments>
+                <argument>${project.artifactId}</argument>
+                <argument>package</argument>
+              </arguments>
+            </configuration>
+          </execution>
+          <execution>
+            <id>test script</id>
+            <phase>test</phase>
+            <goals>
+              <goal>exec</goal>
+            </goals>
+            <configuration>
+              <arguments>
+                <argument>${project.artifactId}</argument>
+                <argument>test</argument>
+              </arguments>
+            </configuration>
+          </execution>
+          <execution>
+            <id>install script</id>
+            <phase>install</phase>
+            <goals>
+              <goal>exec</goal>
+            </goals>
+            <configuration>
+              <arguments>
+                <argument>${project.artifactId}</argument>
+                <argument>install</argument>
+              </arguments>
+            </configuration>
+          </execution>
+          <execution>
+            <id>deploy script</id>
+            <phase>deploy</phase>
+            <goals>
+              <goal>exec</goal>
+            </goals>
+            <configuration>
+              <arguments>
+                <argument>${project.artifactId}</argument>
+                <argument>deploy</argument>
+                <argument>bin/check-blueprint-vs-input</argument>
+                <argument>man/check-blueprint-vs-input.1</argument>
+              </arguments>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>