Front end user interface for the Giveback Ninja Program(v1) and a parallel system to replace the former called v2.
export TRELLO_API_TOKEN=<your token>
export TRELLO_API_KEY=<your token>
export GITHUB_API_TOKEN=<your token>
export GITLAB_API_TOKEN=<your token>
export GD_CREDENTIALS=<contents of you google drive credentials.json file (escaped & in quotes)>
export GRAPHS_PROXY=<optional: url to an external proxy storage app>
export USERS_LDAP_PROVIDER=<optional: ldap url for user lookup>
note: see Getting your google drive credentials.json file below for the GD_CREDENTIALS value
Included in the pom is a jetty plugin, so as long as you have maven installed you just run:
mvn clean package -DskipTests jetty:run -Djetty.port=8082
The project can be deployed using the openshift-applier.
The following prerequisites must be satisfied:
- Ansible
- OpenShift Command Line Interface (CLI)
- OpenShift environment
Optional: If you want to deploy a different github repository (ie, a forked copy of redhat-cop/ninja-board), then update the ansible variable source_repo
in .applier/inventory/group_vars/all.yml or specify it as an extra variable.
Configure the mandatory deployment parameters in .openshift/applier/params/ninja-board-deployment
github_api_token=<your token>
trello_api_token=<your token>
...
Alternatively, you can target each of the environments for deployment by prepending dev_
or prod_
before each variable.s
mkdir gdrive_temp
cd gdrive_temp
wget https://github.com/odeke-em/drive/releases/download/v0.3.9/drive_linux
chmod +x drive_linux
./drive_linux init
This will output a url you need to visit and sign in, which will return an auth code to enter in the console. After you've entered the auto code, the credentials are stored in gdrive_temp/.gd/credentials.json.
Login to OpenShift
oc login <openshift url>
Utilize the following steps to deploy the project
-
Clone the repository
git clone https://github.com/redhat-cop/ninja-board
-
Change into the project directory and utilize Ansible Galaxy to retrieve required dependencies
ansible-galaxy install -r requirements.yml --roles-path=galaxy
-
Ensure the variables have been updated in the ninja-board-deployment params file
-
Execute the openshift-applier
ansible-playbook -i .applier/inventory galaxy/openshift-applier/playbooks/openshift-cluster-seed.yml -e="@.openshift/params/ninja-board-deployment" -e exclude_tags=ldap-rbac,ldap,v2
Once complete, all of the v1 resources should be available in OpenShift
Login to OpenShift
oc login <openshift url>
Utilize the following steps to deploy the project
-
Clone the repository and checkout v2 branch
git clone https://github.com/redhat-cop/ninja-board git checkout v2
-
Change into the project directory and utilize Ansible Galaxy to retrieve required dependencies
ansible-galaxy install -r requirements.yml --roles-path=galaxy
-
Ensure the variables have been updated in the .applier/inventory/group_vars/all.yml ansible params file to the desired values
-
Execute the openshift-applier
ansible-playbook -i .applier/inventory galaxy/openshift-applier/playbooks/openshift-cluster-seed.yml -e="@.openshift/params/ninja-board-deployment" -e include_tags=v2
NOTES
- If you have not yet created the openshift dev project, you will need to change the
include_tags
argument toinclude_tags=project-req-dev,v2
- If you have not yet created a Jenkins instance in the openshift dev project, you will need to change the
include_tags
argument toinclude_tags=cicd,v2
- If you are not behind RedHat Network and would like access to services that use ldap, you will need to change the
include_tags
argument toinclude_tags=ldap-rbac,ldap,v2
. This will FAIL if you do not have sufficient priveleges. If you don't have access to perform this, ask a cluster administrator.
- If you have not yet created the openshift dev project, you will need to change the
Once complete, all of the v2 resources should be available in OpenShift