blob: 7d6a1b8f659886e1a9b9289483d06bb08154b8ee [file] [log] [blame]
Samuli Silviusfe111112019-02-05 09:45:24 +02001# For the packaging script it is expected that all artifacts are present on local file system.
2# Artifacts include:
3# - installer source code (this git repository content)
4# - all binary artifacts pre-downloaded from internet (docker images, rpm packages, npm packages, Maven artifacts etc.)
Samuli Silvius426e6c02019-02-06 11:25:01 +02005# Script will create 3 packages:
6# offline-${PROJECT_NAME}-${PROJECT_VERSION}-sw.tar
7# - installer code (ansible dir in this git repo)
8# - Files/dirs defined by APP_CONFIGURATION if any.
9# - Directory content of HELM_CHARTS_DIR if defined.
10# offline-${PROJECT_NAME}-${PROJECT_VERSION}-resources.tar
11# - Directory content of APP_BINARY_RESOURCES_DIR if defined.
12# offline-${PROJECT_NAME}-${PROJECT_VERSION}-aux-resources.tar
13# - Files defined by APP_AUX_BINARIES if any.
Petr Ospalý170d94b2018-12-20 16:40:58 +010014
15###########################
Samuli Silvius426e6c02019-02-06 11:25:01 +020016# Application Helm charts #
Petr Ospalý170d94b2018-12-20 16:40:58 +010017###########################
18
Samuli Silviusfe111112019-02-05 09:45:24 +020019# Provide application installed to Kubernetes cluster. Helm chart is the supported format https://helm.sh/.
20# Directory provided here must contain all the Chart directories of the application (https://docs.helm.sh/developing_charts/#charts) and Makefile.
21# E.g. in case of ONAP oom repo it will be the content of kubernetes directory.
22# NOTE: Leaving this variable commented out will mean that no Helm application will be installed to
23# offline Kubernetes cluster. This may be sometimes wanted.
Samuli Silviusf3eee9e2019-02-10 13:24:03 +020024#HELM_CHARTS_DIR=<oom-clone>/kubernetes
25HELM_CHARTS_DIR=/tmp/oom-clone/kubernetes
Petr Ospalý170d94b2018-12-20 16:40:58 +010026
Samuli Silvius426e6c02019-02-06 11:25:01 +020027#####################################
28# Application install configuration #
29#####################################
Petr Ospalý170d94b2018-12-20 16:40:58 +010030
Samuli Silvius426e6c02019-02-06 11:25:01 +020031# APP_CONFIGURATION array variable can be used to provide files/directories
32# into sw package available for the Ansible process to consume.
Bartek Grzybowski652e41d2019-03-04 15:34:19 +010033# The main configuration file for your application is
Samuli Silvius426e6c02019-02-06 11:25:01 +020034# "application_configuration.yml" (name of file can be anything) where user
Bartek Grzybowski652e41d2019-03-04 15:34:19 +010035# shall provide values to control ansible installer process. Yml file is given
Samuli Silvius426e6c02019-02-06 11:25:01 +020036# as command line parameter to ansible run.
37# See more from UserGuide documentation (LINK HERE) how to use installer.
Bartek Grzybowski652e41d2019-03-04 15:34:19 +010038# Available configuration parameters user can configure are seen from group_vars files:
Samuli Silvius426e6c02019-02-06 11:25:01 +020039# ansible/group_vars/all.yml
40# ansible/group_vars/infrastucture.yml
41# ansible/group_vars/kubernetes.yml
42# Additionally user can optionally provide own ansible roles code to customize install process.
43# At the moment 2 custom ansible roles are supported pre and post install roles, which are
44# run by installer prior Helm install and after Kubernetes app has been installed.
45# In application_configuration.yml those role names are configured with variables:
46# application_pre_install_role: my-pre-install-role
47# application_post_install_role: my-post-install-role
48# And according to Ansible functionality, roles' code must be placed to directories
Bartek Grzybowski652e41d2019-03-04 15:34:19 +010049# with the same name:
Samuli Silvius426e6c02019-02-06 11:25:01 +020050#APP_CONFIGURATION=(
51# <offline-installer-clone>/config/application_configuration.yml
Bartek Grzybowski652e41d2019-03-04 15:34:19 +010052# <offline-installer-clone>/patches/my-pre-install-role
Samuli Silvius426e6c02019-02-06 11:25:01 +020053# ~/myappfiles/my-post-install-role
Petr Ospalý170d94b2018-12-20 16:40:58 +010054#)
Samuli Silviusf3eee9e2019-02-10 13:24:03 +020055APP_CONFIGURATION=(
56 /tmp/offline-installer/config/application_configuration.yml
57 /tmp/offline-installer/patches/onap-casablanca-patch-role
58)
Petr Ospalý170d94b2018-12-20 16:40:58 +010059
Samuli Silvius426e6c02019-02-06 11:25:01 +020060# APP_BINARY_RESOURCES_DIR is variable to directory containing directories and files for offline
61# installer infra and the the application run in that infra.
62# Currently mixed with infra and app binaries to same, maybe to be separated in the future.
63# Following directories and files are expected:
64# downloads ... directory with exacutable binaries for offline infra usage (e.g. rancher, kubectl, jq, helm)
65# git-repo ... directory with git repos for application needs to be simulated
66# http ... directory with http simulation files (e.g. Maven artifacts are simulated here)
67# offline_data ... directory with offline infra specific docker images
68# pkg ... directory with rpm/deb packages mainly for offline infra
69# nexus_data.tar ... tar file with pre-generated nexus blobs containing e.g. docker images for the application.
70#APP_BINARY_RESOURCES_DIR=~/myappfiles/all_binaries
Samuli Silviusf3eee9e2019-02-10 13:24:03 +020071APP_BINARY_RESOURCES_DIR=/tmp/onap-offline/resources
Petr Ospalý170d94b2018-12-20 16:40:58 +010072
Samuli Silvius426e6c02019-02-06 11:25:01 +020073# APP_AUX_BINARIES is array variable for additional application files.
74# Docker images supported currently in tar format.
75#APP_AUX_BINARIES=(
76# ~/myappfiles/docker_images_populated_runtime/aaa-component-0.0.1.tar
77# ~/myappfiles/docker_images_populated_runtime/xyz-component-0.0.1.tar
Petr Ospalý170d94b2018-12-20 16:40:58 +010078#)
Samuli Silviusf3eee9e2019-02-10 13:24:03 +020079APP_AUX_BINARIES=()
80