- Dependencies
- Deploy Setup Locally (k3d)
- Configuring the Deployment
- Serve From Git Branch
- Serve OpenProject From Local Branch
- Serve Standalone OpenProject (Local Branch)
- Trust Self-Signed Certificates
-
Setup Kubernetes cluster and necessary resources:
make setup
-
Deploy the integration chart:
make deploy
-
Check the pods:
kubectl get pods -n opnc-integration
-
Add these hosts to your
/etc/hostsfile:sudo echo "127.0.0.1 openproject.test nextcloud.test keycloak.test openproject-assets.test" | sudo tee -a /etc/hosts
NOTE: make sure at least one setup-job-* pod is completed successfully before proceeding.
NAME READY STATUS RESTARTS AGE
setup-job-5nwlm 0/1 Error 0 17m
setup-job-mkgrf 0/1 Completed 0 12mAccess the services via the following URLs:
- OpenProject: https://openproject.test
- Nextcloud: https://nextcloud.test
- Keycloak: https://keycloak.test
To uninstall the deployment, run:
make teardownor if you want to delete the K8s cluster as well, run:
make teardown-allcharts/opnc-integration/values.yaml directly.
All configuration must go into environments/default/config.yaml.
This file overrides the chart defaults and is the source of truth for deployments.
To change the version of the integration_openproject app in Nextcloud:
# environments/default/config.yaml
nextcloud:
extraApps:
- name: integration_openproject
version: '2.8.1'You can serve the OpenProject and Nextcloud servers using a specific git branch. Set the following config in the config.yaml file:
openproject:
gitSourceBranch: '<git-branch-name>'
nextcloud:
gitSourceBranch: '<git-branch-name>'Similarly, you can enable Nextcloud apps using a specific git branch:
nextcloud:
enableApps:
- name: 'app_name'
gitBranch: '<app-git-branch>'NOTE: This can take a long time to build the source code and deploy the application.
You can serve the OpenProject using the local source path. Run the following command:
-
Teardown existing deployment (if any):
make teardown-all
-
Setup the cluster again with local source path:
OP_LOCAL_REPO_DIR=<path-to-local-openproject-repo> make setup
-
Deploy the dev setup:
make deploy-dev
NOTE: This can take a long time to build the source code and deploy the application.
You can serve the OpenProject in standalone mode for the development setup. This doesn't run Nextcloud and Keycloak. Run the following command:
-
Teardown existing deployment (if any):
make teardown-all
-
Setup the cluster again with local source path:
OP_LOCAL_REPO_DIR=<path-to-local-openproject-repo> make setup
-
Deploy the dev setup:
make dev-op-standalone
If you are using self-signed certificates, you may need to trust them in your browser. Follow these steps:
-
Get the certificate from the cluster:
kubectl get secret opnc-ca-secret -n opnc-integration -o jsonpath='{.data.ca\.crt}' | base64 -d > opnc-root-ca.crt
-
Import the certificate:
a. Linux
sudo cp opnc-root-ca.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates
Import the certificate into the certificates store (for browsers):
certutil -A -n "NC-OP Integration Root CA" -t TC -d sql:"$HOME/.pki/nssdb" -i opnc-root-ca.crt
b. macOS
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain opnc-root-ca.crt