Konfidence is pre-release software — concepts and APIs are unstable and subject to change.
Skip to content

Managing Projects

Overview

Projects provide organizational boundaries and access control for Konfidence deployments. Each project automatically creates a dedicated namespace that contains Landscape resources as well as other project-scoped resources like VectorTemplate, VectorPromotionConfig, and StageConfiguration.

Creating a Project

Projects are cluster-scoped resources. Create one per application or organizational unit:

yaml
apiVersion: konfidence.cloud/v1alpha1
kind: Project
metadata:
  name: ecommerce-platform
spec:
  displayName: E-Commerce Platform

This creates:

  • A Project resource named ecommerce-platform
  • A project namespace: kden-p-ecommerce-platform

After creating the Project, check its status to ensure the namespace was successfully created. Look for a Ready condition with status True.

bash
kubectl get project ecommerce-platform -o jsonpath='{.status.conditions[?(@.type=="Ready")]}'

For full CRD specification details, see the Project CRD Reference.

Role-Based Access Control

Projects define access control via roleBindings. Roles can be granted to both interactive users (via session subjects) and workload identities like CI/CD pipelines (via JWKS subjects).

Example with Session and JWKS Subjects

yaml
spec:
  roleBindings:
    admin:
      # Interactive users from identity provider groups
      - session:
          memberOf:
            - platform-admins
      # CI/CD pipeline from main branch
      - jwks:
          endpoint: https://token.actions.githubusercontent.com/.well-known/openid-configuration
          audience: https://github.com/konfidence-project
          claims:
            sub: repo:my-org/ecommerce-platform:ref:refs/heads/main
    dev:
      # Developers from identity provider groups
      - session:
          memberOf:
            - ecommerce-developers
      # Feature branch CI/CD pipelines
      - jwks:
          endpoint: https://token.actions.githubusercontent.com/.well-known/openid-configuration
          audience: https://github.com/konfidence-project
          claims:
            sub: repo:my-org/ecommerce-platform:*

This configuration grants the admin role to platform administrators and the main branch CI/CD pipeline, while the dev role goes to developers and feature branch pipelines.

See Access Control for complete details about roles, permissions, and identity sources.

Next Steps

EU and German government funding logos

Funded by the European Union – NextGenerationEU.

The views and opinions expressed are solely those of the author(s) and do not necessarily reflect the views of the European Union or the European Commission. Neither the European Union nor the European Commission can be held responsible for them.