Playbooks

The following playbooks are available:

    • deploy-docker.sh - Deploys custom schemas for Docker configuration
    • deploy-opendj.sh - Deploys custom schemas for OpenDJ configuration
    • deploy-servers-sh - Main script to deploy new servers to a ziNet
    • deploy-sshldap.sh - Deploys custom schemas for sshldap configuration
    • deploy-tenant.sh - Deploys custom schemas for a new tenant space

Script: deploy-docker.sh

This script will add Docker schema to the Directory Server. 

Prerequisite: OpenDJ must have been deployed and running.

Result: 0 for success

ParameterDescriptionDefaultMandatory
-z ziDThe ziD of the ziNet instance.N/A Yes 
-C docker config fileA docker config file. See this page for reference. This file will be sources prior to configuring the Docker schema in the Directory ServerN/AYes
-D admin user DNAn admin user bind DN. This user must be able to perform modifies to any parts of the Directory Server specified in the Docker config file.N/AYes
-w admin user passwordAdmin user password.N/ANo
-WPrompt for a password. The default behavior will be to prompt for a password.trueNo
-y admin user password fileA file containing the admin user's passwordN/ANo

Script: deploy-opendj.sh

This script deploys OpenDJ schema to the Directory Server.

Prerequisite: ziNet PKI module and 

ParameterDescriptionDefaultMandatory
-z ziDThe ziD of the ziNet instance.N/A Yes 
-C docker config fileA opendj config file. See this page for reference. This file will be sources prior to configuring the OpenDJ schema in the Directory ServerN/AYes
-D admin user DNAn admin user bind DN. This user must be able to perform modifies to any parts of the Directory Server specified in the OpenDJ config file.N/AYes
-w admin user passwordAdmin user password.N/ANo
-WPrompt for a password. The default behavior will be to prompt for a password.trueNo
-y admin user password fileA file containing the admin user's passwordN/ANo

Script: deploy-servers.sh

This script deploys a set of servers to a ziNet network fabric.

Prerequisite: Servers must have been deployed in AWS already. See this page for How-To Deploy New Servers.

ParameterDescriptionDefaultMandatory
-i Inventory FileThe inventory file containing server configurationN/A Yes
-r Repo folder

A repository folder containing the following:

  • Java archive (specified by JAVA_REPO_FILENAME)
  • OpenDJ archive (specified by OPENDJ_ZIP_ARCHIVE

 

N/AYes
-w service_sshldap account passwordThis is the password for the default service account defined by this DN: uid=service_sshldap,${SSHLDAP_SVCS_OPS_DN}. Is this is not passed in, then the default behavior of the Directory Server must be to allow anonymous binds. In addition, you should set SSHLDAP_ACI_DN_TYPE=userdn and SSHLDAP_ACI_DN=anyoneN/ANo
-y service_sshldap account password fileA file containing the password for the default service account. The same rules apply as the '-w' parameter.N/ANo
-Y opendj password fileA file containing two (2) passwords. The first line of the file should be the Directory Administrator's password. The second line contains the Admin User password. If a password file is not passed, then the user will be promoted for the required passwords.N/ANo

Inventory File Format

An ".ini" formatted file with the following directives.

DirectiveDescriptionExampleMandatory
Repository Variables
repo.[0..9]*A Git repository that will be fetched on the target host being installed. Note: Repos are processed in order according to the numeric value.

[repo.1]

[repo.2]

Yes. At least one repo is required.
REPO_URI

The URI of the repository that will be exported.

e.g. git archive --remote=${REPO_URI} ${theBranch} | tar -x -C /tmp/

git@bitbucket.org:zibernetics/zinet.gitYes
REPO_BRANCHThe branch that will be fetchedmasterNo. If not provided the HEAD branch of the Git repo will be exported
REPO_ROOT

The root of the git repo that will be fetched. e.g.

git archive --remote=${REPO_URI} ${theBranch}:${REPO_ROOT} | tar -x -C /tmp/

prodNo. If not provided the root of the Git branch will be exported.
Global Variables
globalA single entry containing global variables that are applied to each server entry.[global]Yes
ziDThe ziNet identifier for the site.zId=ziberneticsYes
ziTenantIdThe tenant ID used by the OpenDJ module and SSHLDAP module.ziTenantId=acmeYes
CA_HOST_NAMEThe host name for the server running the CACA_HOST_NAME=ca.ops.zibernetics.ioNo. If not defined, then server certificate requests can't be signed. i.e. no certs for SSL config.
REPO_KEY_SCANThe host name for the Git server. This will be used to perform a ssh-keyscan so that unattended Git exports can be performed.REPO_KEY_SCAN=bitbucket.orgNo
DIR_MGR_DNThe OpenDJ module Directory Manager DNDIR_MGR_DN="cn=Directory Manager"Yes
SEARCH_DOMAINSA list of DNS search domains to configure servers with quoted and separated by spaces if more than one search domain.SEARCH_DOMAINS="ops.zibernetics.io "zibernetics.io"No
Server Variables
server.[0..9]*A server that will be setup with one or more ziNet module. See below for individual module directives.[server.10]Yes
Core ziNet Module Directives
INSTALL_ZINETInstall the core ziNet moduleINSTALL_ZINET=[ true | false ]No
ZINET_TARGET_HOSTNAMEThe host name to configure the server. Note: DNS should be able to resolve the server. This merely set the Linux host name.ZINET_TARGET_HOSTNAME=prod-itops1.ops.zibernetics.ioYes
ZINET_STORAGE_DEVThis is a file system device attached to the server will be formatted using ext4.ZINET_STORAGE_DEV=/dev/xvdbNo
ZINET_DATA_DIR=This is the mount point that will be used to symlink ziNet configuration directory in /etc/${ziD}. When used in conjunction with ZINET_STORAGE_DEV, this has the effect of using a separate partition to hold all ziNet data.ZINET_DATA_DIR=/dataNo
ziNet PKI Module Directives
INSTALL_PKIInstall the ziNet PKI ModuleINSTALL_PKI=[ true | false ]No
PKI_CERT_SUBJECT_ALIASESA comma separated list of DNS aliases to use when creating the SSL certificate request.PKI_CERT_SUBJECT_ALIASES=prod-itops1,prod-ca1.ops.zibernetics.io,prod-ca1No
PKI_CERT_SUBJECTNAMEThe SSL certificate subject name to use when creating the SSL certificate request.PKI_CERT_SUBJECTNAME=prod-itops1.ops.zibernetics.ioNo. If not provided then the value returned from $(hostname) will be used.
INSTALL_CAInstall a CA on the target server.INSTALL_CA==[ true | false ]No. However, at least one CA server should have been setup previously and identified with the global variable: CA_HOST_NAME
zinet SSHLDAP Module Directives
INSTALL_SSHLDAPInstall the ziNet SSHLDAP ModuleINSTALL_SSHLDAP=[ true | false ]No
SSHLDAP_FABRIC_HOST_IDThis is the SSHLDAP Fabric hostID for the target server.SSHLDAP_FABRIC_HOST_ID=ops-prv-101002-serverYes
DEPLOY_SSHLDAPFlag to deploy the SSHLDAP schema.DEPLOY_SSHLDAP=[ true | false ]Yes for the initial setup of the SSHLDAP environment
ziNet Docker Module Directives
INSTALL_DOCKERInstall the ziNet Docker ModuleINSTALL_DOCKER=[ true | false ]No
DEPLOY_DOCKERFlag to deploy the Docker schema.DEPLOY_DOCKER=[ true | false ]Yes for the initial setup of the Docker environment
ziNet Java Module Directives
INSTALL_JAVAInstall the ziNet Java ModuleINSTALL_JAVA=[ true | false ]No
JAVA_REPO_FILENAMEThe Oracle JDK archive file that will be installed. If not specified, the the OpenDJK will be installed and configured.JAVA_REPO_FILENAME=jdk-7u79-linux-x64.tar.gzNo
ziNet OpenDJ Module Directives
INSTALL_OPENDJInstall the ziNet OpenDJ ModuleINSTALL_OPENDJ=[ true | false ]No
OPENDJ_ZIP_ARCHIVEThe OpenDJ archive file that will be installed.OPENDJ_ZIP_ARCHIVE=OpenDJ-2.6.2.zipYes
CONFIGURE_OPENDJFlag to run the initial configuration on a node.CONFIGURE_OPENDJ=[ true | false ]Yes for the initial setup of the main OpenDJ node (cluster or stand-alone)
DEPLOY_OPENDJFlag to deploy the OpenDJ schema.DEPLOY_OPENDJ=[ true | false ]Yes for the initial setup of the main OpenDJ node (cluster or stand-alone)
DEPLOY_TENANTFlag to deploy a tenant spaceDEPLOY_TENANT=[ true | false ]Yes for the initial setup of the main OpenDJ node (cluster or stand-alone)

 

Script: deploy-sshldap.sh

This script deploys SSHLDAP schema to the Directory Server.

ParameterDescriptionDefaultMandatory
-z ziDThe ziD of the ziNet instance.N/A Yes 
-C docker config fileA sshldap config file. See this page for reference. This file will be sources prior to configuring the sshldap schema in the Directory ServerN/AYes
-D admin user DNAn admin user bind DN. This user must be able to perform modifies to any parts of the Directory Server specified in the sshldap config file.N/AYes
-w admin user passwordAdmin user password.N/ANo
-WPrompt for a password. The default behavior will be to prompt for a password.trueNo
-y admin user password fileA file containing the admin user's passwordN/ANo