Create a scripted demo environment that works around the operator while it's broken. - #1247
Create a scripted demo environment that works around the operator while it's broken.#1247etsauer wants to merge 20 commits into
Conversation
Replace Poetry with uv for dependency management, update base image to UBI 9 with Python 3.12, and regenerate all dependency lock files. Remove legacy setup.py in favor of pyproject.toml-only configuration.
Migrate all exporter models and handlers to pydantic v2 API. Replace openshift library with kubernetes client directly. Improve webhook exporter validation and metric handling. Update collector implementations for PyGithub v2 and azure-devops v7 compatibility.
Adapt all unit and integration tests for pydantic v2 strict mode, updated PyGithub and azure-devops APIs, and Python 3.12+ behavior. Improve test fixtures and utility helpers.
Update operator to SDK v1.42.2 and chart to v2.1.0. Add OAuth proxy and operator source fields to CRD. Fix RBAC permissions, secure credential handling, and template escaping. Support both Red Hat and community operator sources. Add monitoring RBAC and Thanos template improvements.
Migrate all GitHub Actions workflows from Poetry to uv. Update Python version matrices, container build actions, and workflow template Dockerfiles for modern tooling.
Add end-to-end test framework with shared library for OpenShift cluster operations. Include Helm chart deployment and operator-based deployment test suites with CRC testing support.
Add comprehensive demo tooling: automated install script for OpenShift, seed-metrics generator for realistic 6-month project history, live demo script with S2I builds, and step-by-step presales guide with screenshots. Update Tekton demo for OpenShift 4.20+.
Overhaul README for current architecture. Update installation, development, and configuration docs for uv and Python 3.12. Add presales demo guide and refresh exporter documentation.
Update all scripts for Python 3.11+ and uv compatibility. Refresh mock server configurations for GitLab, Gitea, Jira, and GitHub Issues.
- Add prometheuses/api resource and bind/escalate verbs to operator ClusterRole so Helm can create monitoring ClusterRoleBindings - Fix webhook plugin loader using wrong package path, causing class identity mismatch and silent plugin registration failure - Grant image-puller to all namespace service accounts in install script - Clean up extra RBAC resources in cleanup script
Switch install script to oauth_proxy_enabled: true, matching the chart and CRD defaults. Add tokenreviews and subjectaccessreviews permissions to operator ClusterRole for OAuth RBAC escalation. Add OAuth ClusterRole cleanup to cleanup script.
Add OAUTH_ENABLED env var (default true) to install script. Generate htpasswd credentials automatically for community operator source when OAuth is enabled, fixing the prometheus-htpasswd-secret template error.
- Add Python 3.11+/uv to prerequisites in README - Document OAUTH_ENABLED env var and OAuth as default login - Update Pelorus CR example to omit oauth_proxy_enabled (defaults true) - Add OAUTH_ENABLED and PELORUS_PASSWORD to demo env vars table - Update OpenShift version from 4.13 to 4.20+ in UpstreamSupport - Fix operator channel from alpha to stable in Installation guide - Fix JSON syntax in Development.md launch.json example
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Improve type annotations and error handling across all collectors. Fix webhook metric deduplication by including namespace and image_sha in metric IDs. Update attrs import path. Refine DORA dashboard panel queries and layout. Update CI workflow configurations.
Refactor all collectors for better error handling, type safety, and logging. Improve webhook metric deduplication with composite keys. Add dependabot config and harden CI workflows with explicit permissions. Simplify Containerfile build stages. Update Prometheus recording rules. Clean up test fixtures and reduce test coupling.
Simplify error handling in failure collectors. Remove redundant deserialization wrappers. Fix minor doc inconsistencies in webhook and exporter configuration guides.
Regenerate pinned requirements from uv.lock for exporters and docs. Expand dependabot config. Improve containerimage collector robustness and committime base collector error paths. Simplify test setup and reduce mocking overhead. Harden webhook request validation.
Restructure committime and failure collectors for clearer data flow and better error recovery. Add failure __init__ module for shared types. Expand DORA dashboard panels with trend indicators and additional recording rules. Migrate CI workflow templates from custom Dockerfiles to composite actions. Improve webhook payload validation and metric store consistency. Update test assertions for stricter type checking.
|
Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits. 📝 Please follow instructions in the contributing guide to update your commits with the DCO Full details of the Developer Certificate of Origin can be found at developercertificate.org. The list of commits missing DCO signoff:
DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Linked Issues
Description
Put together a quick and dirty way to spin up a demo environment and scripted demo using scripts instead of the pelorus-operator, which is currently broken/not building
Testing Instructions