Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/scripts/update_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@
# SPDX-License-Identifier: Apache-2.0

# This script should only be run in a CI environment when a new release is created.
# It will update the install-files to point to the newly released version.
# See `.releaserc.mjs` for more information on how its integrated with semantic-release.
# It updates the install overlay references to the newly released version.
# See `.releaserc.mjs` for integration with semantic-release.

set -e

KUSTOMIZATION_FILE="install/kustomization.yaml"
KUSTOMIZATION_FILE="install/overlays/default/kustomization.yaml"
NEXT_VERSION="$1"
if [ -z "$NEXT_VERSION" ]; then
echo "Usage: $0 <next-version>"
exit 1
fi

sed -i "s/ref=[^ ]*/ref=${NEXT_VERSION}/" "$KUSTOMIZATION_FILE"
sed -i "s/newTag: [^ ]*/newTag: ${NEXT_VERSION}/" "$KUSTOMIZATION_FILE"
sed -i "s/newTag: [^ ]*/newTag: ${NEXT_VERSION}/" "$KUSTOMIZATION_FILE"
18 changes: 9 additions & 9 deletions .github/workflows.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,25 +171,25 @@ The repository uses a **unified versioning approach** where all modules and Helm

#### **Versioning Scripts** (`.github/scripts/`)

Two scripts ensure consistent versioning across the monorepo:
Two scripts ensure consistent versioning across install overlays and Helm charts:

1. **`update_chart_version.sh`**
1. **`update_install.sh`**
- Updates `install/overlays/default/kustomization.yaml` to the newly released tag
- Rewrites both remote `ref` values and image `newTag` values
- Called by semantic-release during the prepare phase

2. **`update_chart_version.sh`**
- Updates `version` and `appVersion` in Helm Chart.yaml files
- Called by semantic-release during the prepare phase
- Example: Updates `common-server/helm/Chart.yaml`

2. **`update_install.sh`**
- Updates the install kustomization file with new version references
- Modifies `install/kustomization.yaml` to point to the new release tag
- Updates both `ref` and `newTag` fields

#### **Integration with Semantic Release**

These scripts are executed automatically during the release process via `.releaserc.mjs`:
- Runs during the `prepare` phase before creating the release
- Updates version references in install files and Helm charts
- Updates version references in install overlays and Helm charts
- Commits changes back to the repository
- Modified files: `CHANGELOG.md`, `install/kustomization.yaml`, `common-server/helm/Chart.yaml`
- Modified files: `CHANGELOG.md`, `install/overlays/default/kustomization.yaml`, `common-server/helm/Chart.yaml`

#### **Benefits**

Expand Down
12 changes: 7 additions & 5 deletions .github/workflows/docs-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ on:
pull_request:
paths:
- 'docs/**'
- '.github/workflows/docs-build.yml'
- '.github/workflows/docs-deploy.yml'
- '.github/workflows/docs-build.yaml'
- '.github/workflows/docs-deploy.yaml'

jobs:
build:
Expand All @@ -23,9 +23,11 @@ jobs:
with:
node-version: 20
cache: npm
cache-dependency-path: docs/pages/package-lock.json
cache-dependency-path: docs/package-lock.json

- name: Install dependencies
run: cd docs/pages && npm ci
run: npm ci
working-directory: docs
- name: Build website
run: cd docs/pages && npm run build
run: npm run build
working-directory: docs
26 changes: 14 additions & 12 deletions .github/workflows/docs-deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ name: Build and Deploy Docs to GitHub Pages

on:
workflow_dispatch:
# Disable deployment as doc is still in active development and not ready for publishing
#push:
# branches:
# - main
# paths:
# - 'docs/**'
# - '.github/workflows/docs-build.yml'
# - '.github/workflows/docs-deploy.yml'
push:
branches:
- main
- feat/documentation
Comment thread
ron96g marked this conversation as resolved.
paths:
- 'docs/**'
- '.github/workflows/docs-build.yaml'
- '.github/workflows/docs-deploy.yaml'


jobs:
Expand All @@ -28,17 +28,19 @@ jobs:
with:
node-version: 20
cache: npm
cache-dependency-path: docs/pages/package-lock.json
cache-dependency-path: docs/package-lock.json

- name: Install dependencies
run: cd docs/pages && npm ci
run: npm ci
working-directory: docs
- name: Build website
run: cd docs/pages && npm run build
run: npm run build
working-directory: docs

- name: Upload Build Artifact
uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4.0.0
with:
path: docs/pages/build
path: docs/build

deploy:
name: Deploy to GitHub Pages
Expand Down
4 changes: 2 additions & 2 deletions .releaserc.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ EOF`,
['@semantic-release/git', {
assets: [
'CHANGELOG.md',
'install/kustomization.yaml',
'install/overlays/default/kustomization.yaml',
'common-server/helm/Chart.yaml',
],
}],
],
};
};
43 changes: 6 additions & 37 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,50 +5,19 @@ SPDX-License-Identifier: CC0-1.0
-->

<p align="center">
<img src="docs/pages/static/img/Open-Telekom-Integration-Platform_Visual.svg" alt="Open Telekom Integration Platform logo" width="200">
<img src="docs/static/img/eni-tardis.svg" alt="Open Telekom Integration Platform logo" width="200">
<h1 align="center">Control Plane</h1>
</p>

<p align="center">
A centralized management layer that maintains the desired state of your systems by orchestrating workloads, scheduling, and system operations through a set of core and custom controllers.
A cloud-agnostic orchestration platform for self-service API management across multi-cloud environments.
</p>

## About
---

As Part of Open Telekom Integration Platform, the Control Plane is the central management layer that governs the operation of your Kubernetes cluster. It maintains the desired state of the system, manages workloads, and provides interfaces for user interaction and automation.
As part of the [Open Telekom Integration Platform](https://github.com/telekom/Open-Telekom-Integration-Platform), the Control Plane enables platform engineers and application teams to manage APIs, configure approval workflows, and mesh services across cloud boundaries — all from a single, unified interface.

The Control Plane components run on one or more nodes in the cluster and coordinate all cluster activities, including scheduling, monitoring, and responding to events.

## Documentation

For complete documentation, please visit the Control Plane documentation site:

- [Control Plane Documentation](https://telekom.github.io/controlplane/)

The documentation includes:

- [Overview and Architecture](https://telekom.github.io/controlplane/docs/Overview/controlplane)
- [Component Details](https://telekom.github.io/controlplane/docs/Overview/components)
- [Operators](https://telekom.github.io/controlplane/docs/Overview/operators)
- [Technology Overview](https://telekom.github.io/controlplane/docs/Technology/technology)
- [Installation Guide](https://telekom.github.io/controlplane/docs/Installation/installation)

## Getting Started

To quickly get started with Control Plane:

```bash
# Clone the repository
git clone https://github.com/telekom/controlplane.git

# Navigate to the local installation directory
cd controlplane/install/local

# Install Control Plane components
kubectl apply -k .
```

For detailed installation instructions and configuration options, refer to the [Installation Guide](https://telekom.github.io/controlplane/docs/Installation/installation).
📖 **[Read the full documentation](https://telekom.github.io/controlplane/)**

## Code of Conduct

Expand All @@ -58,4 +27,4 @@ This project has adopted the [Contributor Covenant](https://www.contributor-cove

This project follows the [REUSE standard for software licensing](https://reuse.software/).
Each file contains copyright and license information, and license texts can be found in the [./LICENSES](./LICENSES) folder. For more information visit https://reuse.software/.
You can find a guide for developers at https://telekom.github.io/reuse-template/.
You can find a guide for developers at https://telekom.github.io/reuse-template/.
2 changes: 1 addition & 1 deletion controlplane-api/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ Configuration is loaded from a YAML file via `--configfile`. If omitted, built-i
controlplane-api --configfile /etc/controlplane/config/config.yaml
```

See [`install/local/controlplane-api-config.yaml`](../install/local/controlplane-api-config.yaml) for an example.
The following fields can be configured:

| Field | Default | Description |
|-----------------------------|------------------------------------------------------------------------------------|------------------------------------------|
Expand Down
36 changes: 21 additions & 15 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -1,23 +1,29 @@
# Node modules
node_modules/
# Dependencies
/node_modules

# npm logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Build output
dist/
build/
# Production
/build

# Generated files
.docusaurus
.cache-loader

# Environment files
.env
# Generated CLI reference docs (created by scripts/generate-cli-docs.mjs)
/docs/reference/roverctl/

# Generated CRD data (created by scripts/generate-crd-data.mjs)
/src/data/crds/

# Generated JSON Schemas (created by scripts/generate-crd-schemas.mjs)
/static/schemas/

# Misc
.DS_Store
.env.local
.env.*.local
.env.development.local
.env.test.local
.env.production.local

# Coverage reports
coverage/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
Loading
Loading