Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFE: Enable Execution Environment Builds Using OpenShift BuildConfigs #175

Open
jangel97 opened this issue Nov 14, 2024 · 2 comments
Open
Labels
enhancement New feature or request new

Comments

@jangel97
Copy link
Contributor

jangel97 commented Nov 14, 2024

Summary

Managing a high volume of Execution Environments (EEs) presents significant operational challenges. Our organization, responsible for maintaining approximately 200 EEs, aims to leverage OpenShift’s existing infrastructure to streamline the build and deployment process. Specifically, we propose integrating Ansible EE management with OpenShift BuildConfigs to simplify and enhance the automation pipeline.


Problem Description

  1. Current State:

    • EE builds are managed on dedicated infrastructure, requiring continuous maintenance and operational oversight.
    • Scaling this setup introduces additional cost and complexity.
  2. Challenges:

    • Infrastructure Management: Maintaining build systems for 200+ EEs is resource-intensive.
    • Inefficiency: Separate infrastructure for builds duplicates efforts, given OpenShift is already available within the organization.
    • Scalability: Current solutions struggle to meet growing demands as the number of EEs increases.

Proposed Enhancement

Leverage OpenShift’s BuildConfig feature to manage and build Execution Environments.

Key Features:

  • Use BuildConfigs:

    • Define build strategies (Dockerfile or Source-to-Image) for creating EEs.
    • Automate builds using Git triggers, webhooks, or manual interventions.
  • Integrated Storage:

    • Store built EE images in OpenShift’s internal container registry.
    • Optionally, push to external registries (e.g., Quay, Private Automation Hub) for broader access.
  • Automation and Monitoring:

    • Integrate build processes into OpenShift’s CI/CD workflows.
    • Use OpenShift’s monitoring stack (Prometheus, Grafana) for tracking build performance and alerts.

Why BuildConfigs?

  • Provides seamless integration with OpenShift’s platform, leveraging its existing infrastructure.
  • Ensures high availability and scalability, removing the need for dedicated build servers.
  • Simplifies EE lifecycle management by consolidating build, storage, and deployment processes.

Benefits

  1. Operational Efficiency:

    • Reduces overhead by eliminating the need for separate build infrastructure.
    • Simplifies EE updates and versioning through automated pipelines.
  2. Improved Scalability:

    • Leverages OpenShift’s robust platform to handle increasing build demands.
    • Ensures reliable and consistent EE builds across environments.
  3. Cost Savings:

    • Reduces infrastructure costs by consolidating build processes within OpenShift.

Conclusion

This enhancement would align EE management with our existing OpenShift infrastructure, reducing complexity and operational costs while improving scalability and security. It supports our organizational goals of streamlining automation and maximizing resource efficiency.

Would this be feasible to implement as part of the existing ee_utilities collection?

@jangel97 jangel97 added enhancement New feature or request new labels Nov 14, 2024
@djdanielsson
Copy link
Contributor

No I do not think what we have currently would fit what you are looking for from my understanding. Now maybe there is a possibility that another role or additions to the current one might work but I would have to look more into the request because I am not that familiar with OCP.

@jangel97
Copy link
Contributor Author

If the propose makes sense, perhaps, it does for those customers which are heavily relying on OCP/OKD, and are managing already a considerable amount of execution environments, I can land a PR for this. Either in a separate role or in this same role, whatever you think is more convenient. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request new
Projects
None yet
Development

No branches or pull requests

2 participants