/
Playbooks

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

 

 

Related content

How-To Deploy a New Server - AWS
How-To Deploy a New Server - AWS
More like this
ziNet Home
ziNet Home
More like this
SSHLDAP Setup
SSHLDAP Setup
More like this
ziNet License
ziNet License
More like this
Linux Server Fabric
Linux Server Fabric
More like this
SSHLDAP Runtime
SSHLDAP Runtime
More like this