Get Started#
This repository provides Kubernetes deployment resources for the Collaborative Organization for Resource and Trust Exchange (CORTEX), packaging manifests, configuration templates, and dependencies into reusable, configurable, version-controlled deployment artifacts.
Repository Structure#
Helm chart files:
Chart.yaml- The Helm chart metadata and versioning information.templates/- The Kubernetes manifest templates used by Helm to generate the final deployment manifests.values.yaml- The default configuration values for the Helm chart.
Documentation source:
docs/
Required Software#
Ensure the following dependencies and cluster components are installed and configured before deployment.
Requirement |
Description |
|---|---|
|
Version 4.1.1 or higher for managing Kubernetes deployments |
|
Configured with access to the target cluster and namespace |
|
Version 3.12 or higher to generate the documentation |
Git#
Git tracks changes to source code and supports distributed, non-linear workflows. Deployers require read access to the referenced repositories.
When using SSH with private repositories, configure Git’s url.<base>.insteadOf setting to transparently map HTTPS repository URLs to SSH.
Helm#
Helm is the Kubernetes package manager. Helm charts simplify the deployment, upgrade, and management of Kubernetes applications.
Kubectl#
Kubectl is the Kubernetes command-line tool used to deploy applications, manage cluster resources, and view logs.
Prerequisites#
Before deploying the components, ensure the images are built and are accessible by your Kubernetes cluster.
The
cortex-discovery:mainDocker image must be built using the image definition from the cortex-discovery-docker repository.The
cortex-ldap:mainDocker image must be built using the image definition from the cortex-ldap-docker repository.
Building the Documentation#
The project documentation is built with Sphinx. Install the required dependencies in a virtual environment and build the HTML documentation.
make venv
make setup
The documentation source lives in docs/.
Build a single-version HTML with the output in build/html:
make clean html
Build the full documentation workflow including all versions and branches.
make docs
Helm Chart Usage#
To render the chart only.
helm template <Release.Name> .
Validate the Helm chart templates with a release name <Release.Name>.
helm install --dry-run=client <Release.Name> .
Install the chart into a Kubernetes cluster.
helm install <Release.Name> . -n <NAMESPACE> --create-namespace
Upgrade the chart in a Kubernetes cluster.
helm upgrade <Release.Name> . -n <NAMESPACE>
Verification#
Verify the deployment by checking the pods, services, deployments, and configmaps in the target namespace. You can also check logs for the deployment and statefulset.
kubectl -n <NAMESPACE> get pods -o wide
kubectl -n <NAMESPACE> get services -o wide
kubectl -n <NAMESPACE> get deployments -o wide
kubectl -n <NAMESPACE> get configmaps -o wide
kubectl -n <NAMESPACE> logs deployment -o wide
kubectl -n <NAMESPACE> logs statefulset -o wide