Skip to content

opf/integration-qa-helmfile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Openproject-Nextcloud Integration Helm Chart

Dependencies

Deploy Setup Locally (Minikube)

  1. Setup Kubernetes cluster and necessary resources:

    make setup

    If you need to specify cluster resources:

    make setup cpu=4 memory=8g
  2. Deploy the integration chart:

    make deploy
  3. Check the pods:

    kubectl get pods -n opnc-integration
  4. Add these hosts to your /etc/hosts file:

     sudo echo "$(minikube ip) openproject.test nextcloud.test keycloak.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          12m

Access the services via the following URLs:

To uninstall the deployment, run:

make teardown

or if you want to delete the K8s cluster as well, run:

make teardown-all

Configuring the Setup

⚠️ Do not edit charts/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.

Example: Changing app version

To change the version of the integration_openproject app in Nextcloud:

# environments/default/config.yaml
nextcloud:
  extraApps:
    - name: integration_openproject
      version: '2.8.1'

Serve From Git Branch

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.

Serve OpenProject From Local Branch

You can serve the OpenProject using the local source path. Run the following command:

make deploy-dev LOCAL_SOURCE_PATH=<path-to-local-openproject-repo>

NOTE: This can take a long time to build the source code and deploy the application.

Trust Self-Signed Certificates

If you are using self-signed certificates, you may need to trust them in your browser. Follow these steps:

  1. 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
  2. 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

About

Helmfile-based setup for OpenProject integration QA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published