Introduction
...
All Projects installed FOLIO Helm repository (Catalog
in Rancher) which contains all backend modules, UI, pgadmin. By default the backend modules are pulled from DockerHub/folioci repository with a ‘latest’ tag. UI module is pulled from docker.dev.folio.org
repository with own project latest tag <project>-latest
. All modules can be managed in the App
menu in Rancher, where new modules can be added or existing ones can be upgraded.
Building Backend modules
You can build your own module, and automatically deploy it with Rancher pipeline and Helm. To get started, create your own branch and modify .rancher-pipeline.yml
to your needs (for example as in this pipeline).
Go to Workloads -> Pipelines, run pipeline for that branch, and then Rancher will deploy the new version of that module.
Building Frontend
Modify sample pipeline and start build.
Here is default answers for Frontend Bundle Application deployment:
resources.limits.cpu = 200m
resources.limits.memory = 500Mi
image.tag = <project_name>-latest
ingress.enabled = true
ingress.hosts[0].host = <project_name>.ci.folio.org
ingress.hosts[0].paths[0] = /
In package.json
set --max-old-space-size=8192
to build options.
CREATE NEW SCRATCH ENV FOR TEAM
link: Manage Scratch Environment ver 1.2
General properties
Listed properties cannot be modified without full recreation of related resource.
Postgre DB versionManage Scratch Environment ver 1.2
DB Size
Build with parameter
Available parameters:
teamName, Action, TenantName, Repo, Plan, Change, Register, branch, platform_image
...
...
CREATE NEW SCRATCH ENV FOR TEAM
link: Manage Scratch Environment ver 1.2
General properties
Listed properties cannot be modified without full recreation of related resource.
Postgre DB versionManage Scratch Environment ver 1.2
DB Size
Build with parameter
Available parameters:
teamName, Action, TenantName, Repo, Plan, Change, Register, branch, platform_image
Parameter teamName:
Specifies the name of environment and access parameters in Rancher. For most values admin and members of github teamName team have access to Rancher to configure module deployment.
Environment name | Status | Rancher permissions | Purpose | Update type (Automated/Manual) Operational time (h/d) | Platform-core branch | Env. re-creation ticket | Development team status (optional) | Feedback | Log4j vulnerability fixing | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
metadata |
| Spitfire | platform-complete/master |
|
| Done
| |||||||||||||||||||||||||||||||||||||||
bulk-edit (old concorde) |
| Firebird |
|
| Done
| ||||||||||||||||||||||||||||||||||||||||
core-functional |
| prokopovych/core-functional | platform-complete/prokopovych-rancher |
|
or
| Done
| |||||||||||||||||||||||||||||||||||||||
volaris |
| Volaris |
|
| Done
| ||||||||||||||||||||||||||||||||||||||||
volaris-2nd |
| Volaris | platform-core/volaris-rancher |
|
| Done
| |||||||||||||||||||||||||||||||||||||||
core-platform |
| Core Platform | platform-complete/core-platform-rancher |
|
|
| |||||||||||||||||||||||||||||||||||||||
falcon |
| Falcon | platform-core/falcon-rancher |
|
| Done
| |||||||||||||||||||||||||||||||||||||||
firebird |
| Firebird | platform-core/firebird-rancher Latest release based on snapshot |
|
| Done
| |||||||||||||||||||||||||||||||||||||||
folijet |
| Folijet |
|
| Done
| ||||||||||||||||||||||||||||||||||||||||
vega |
| Vega |
|
| Done
| ||||||||||||||||||||||||||||||||||||||||
spanish |
| Spanish | platform-complete/master |
|
or
| Done
| |||||||||||||||||||||||||||||||||||||||
spitfire |
| Spitfire | platform-core/spitfire-rancher platform-core/snapshot-spitfire |
Please refer RANCHER-125 to re-provision env |
| Done
| |||||||||||||||||||||||||||||||||||||||
thor |
|
| Oleksandr | ||||||||||||||||||||||||||||||||||||||||||
thunderjet |
| thunderjet | platform-core/thunderjet-rancher |
|
| Done
| |||||||||||||||||||||||||||||||||||||||
unam | Used for testing config. |
or
|
...
!!! NOTE !!! Module platform-complete is configured to address a specific tenant, which is determined during BUILD-UI.
Parameter Repo and branch:
Files is determined during BUILD-UI.
Parameter Repo and branch:
Files okapi-install.json & stripes-install.json are used to create/update environment. They can be specified with repo and branch.
Repo value stands for platform-core or platform-complete.
There is separated list of branches for each value of repo.
!!! NOTE !!! If selected branch does not contain okapi-install.json & stripes-install.json are used to create/update environment. They can be specified with repo and branch.
Repo value stands for platform-core or platform-complete.
There is separated list of branches for each value of repo.
...
There are created branches in platform-core (e.g. folijet-rancher). These branches contain a list of modules required for a particular team.
Parameter platform_image:
Specified image will be used for module platform-complete. Available values are formed by BUILD-UI.
Build UI module from branch
To build UI from a specific branch, use this Jenkins pipeline:
https://jenkins-aws.indexdata.com/job/scratch_environment/job/BUILD-UI/
- Ensure that you are logged in to Jenkins
- Select “Build with Parameters”
- Choose your team name
- Choose the branch that you want to build from
- Then select “Build”
The tag for the image is: docker.dev.folio.org/platform-complete:team_name-build
number
for example : docker.dev.folio.org/platform-complete:core-platform-530
How to use UI
- go to rancher →choose your environment → apps → platform-complete
2. upgrate module need find "answers" option → change image
...
,pipeline will fail.
There are created branches in platform-core (e.g. folijet-rancher). These branches contain a list of modules required for a particular team.
Parameter platform_image:
Specified image will be used for module platform-complete. Available values are formed by BUILD-UI.
Build UI module from branch
To build UI from a specific branch, use this Jenkins pipeline:
https://jenkins-aws.indexdata.com/job/scratch_environment/job/BUILD-UI/
- Ensure that you are logged in to Jenkins
- Select “Build with Parameters”
- Choose your team name
- Choose the branch that you want to build from
- Then select “Build”
The tag for the image is: docker.dev.folio.org/platform-complete:team_name-build
number
for example : docker.dev.folio.org/platform-complete:core-platform-530
How to use UI
- go to rancher →choose your environment → apps → platform-complete
2. upgrate module need find "answers" option → change image
Here is default answers for Frontend Bundle Application deployment:
resources.limits.cpu = 200m
resources.limits.memory = 500Mi
image.tag = <project_name>-latest
ingress.enabled = true
ingress.hosts[0].host = <project_name>.ci.folio.org
ingress.hosts[0].paths[0] = /
In package.json
set --max-old-space-size=8192
to build options.
Build backend module from branch
Building Backend modules
You can build your own module, and automatically deploy it with Rancher pipeline and Helm. To get started, create your own branch and modify .rancher-pipeline.yml
to your needs (for example as in this pipeline).
Go to Workloads -> Pipelines, run pipeline for that branch, and then Rancher will deploy the new version of that module.
Any backend module can be built from a specific branch. Use this Jenkins pipeline:
https://jenkins-aws.indexdata.com/job/scratch_environment/job/BUILD-BACKEND/
...
- In the “Answers” section, add the following:
- Variable:
image.repository
- Variable:
image.tag
- Value: the tag obtained from the build
- Variable:
- Select “Upgrade”
Building Frontend
Modify sample pipeline and start build.
...
- Registering a particular module (backend or UI module)
docker run --rm -e TENANT_ID=diku -e OKAPI_URL=https://<project name>-okapi.ci.folio.org -e MODULE_NAME=<module name> docker.dev.folio.org/folio-okapi-registration
- Registering all modules (backend and UI from ‘platform-complete’ list)
docker run --rm -e TENANT_ID=diku -e OKAPI_URL=https://<project name>-okapi.ci.folio.org -e MODULE_NAME='' docker.dev.folio.org/folio-okapi-registration
- Registering all UI modules only
docker run --rm -e TENANT_ID=diku -e OKAPI_URL=https://<project name>-okapi.ci.folio.org -e MODULE_NAME='platform-complete' docker.dev.folio.org/folio-okapi-registration
for example:
docker run --rm -e TENANT_ID=diku -e OKAPI_URL=https://core-platform-okapi.ci.folio.org -e MODULE_VERSION=24.0.0-SNAPSHOT.999 -e MODULE_NAME=mod-inventory-storage docker.dev.folio.org/folio-okapi-registration
Apply module permissions
The last step after modules registration is to apply permissions for modules to the admin user.
...