bcgov / openshift-launchpad

A project template to accelerate onboarding to the OpenShift platform
Apache License 2.0
1 stars 0 forks source link

Public PR #30

Closed hitankar-freshworks closed 3 years ago

hitankar-freshworks commented 4 years ago

What is this PR? This is the first public pull request to enable reviewers to inspect openshift-launchpad which is a simple three-tiered application (database, server, client) designed to be run locally or deployable to the BC Government OpenShift cluster with ease. More information about Launchpad may be found in the README.md.

How to review This PR is intended to capture all of the work done so far to build the “MVP” version of OpenShift Launchpad. Since the PR (which will merge the release branch to master) has multiple commits, we recommend reviewing the application as a whole. Feel free to focus only on areas of special interest if desired - spend your time as you feel appropriate. Note: The application is intended to be light. It’s polished enough to be ready for review, but is intentionally lacking some bells and whistles to ensure clarity and ease of navigation.

Test the application locally

Area of interest

WadeBarnes commented 4 years ago

On Windows you should be leveraging chocolatey to install your packages at least. It would make it easy to install Git complete with GitBash, and make. That's if you are not using WSL completely. I have some scripts over here (https://github.com/WadeBarnes/dev-tools/tree/master/chocolatey) to help install chocolaty.

jujaga commented 4 years ago

As @patricksimonian mentioned, a PR of this size makes it difficult to catch any missed points. Anyways, here are my thoughts:

Day Zero

Database

Code Structure

Openshift Deployments

Overall, it looks like a great start. However, there needs to be a lot of testing to ensure sufficient confidence that a fresh new developer trying to use this can get things going without getting stuck on caveats and potential environment differences.

patricksimonian commented 4 years ago

One of the other things I'd like to press here is that if there is a way to codify best practices to continuously improve your infrastructure then that should be here. As @jujaga mentioned, this is a great starting point. I think what we need is the community to weigh in an make active contributions to projects such as these. This will build confidence and dependability. One thing i've noticed with Gatsby Documentation is that they invite community members to contribute. The maintainers of this project couldn't possibly be expected to be experts in the entire stack of a project.

WadeBarnes commented 4 years ago

In reply to the comment from @ashtonmeuser about obfuscation of the underlying OpenShift CLI commands. I would argue a health dose of abstraction on top of the oc cli is extremely beneficial to new and existing teams. The last thing you want to have is teams fumbling around with the raw oc cli and not using the best practice commands and switches (and tools) other teams have already figured out how and when to use the hard way. I see new teams that have taken the BCDevExchange OpenShift 10x courses struggling with this every day, and I've been pulled in to help many struggling teams get their applications deployed into OpenShift.

Provide tools that are easier to understand that perform the heavy lifting for the teams to get new teams started quickly. That provides them with the piece of mind their project is up and running quickly, and provides a reference as to how all that was accomplished if they so choose to look under the covers. Once their project is running they can learn the ins and outs of the raw cli if they need to do something more complicated or are just interested.

I manage about 80 namespaces in OpenShift. For the majority of those I use the openshift-developer-tools scripts to manage the creation and management of the build and deployment configurations. The scripts also allow a developer to extent the scripts and create application specific management scripts. Without these automation scripts I would not be able to effectively or efficiently manage the number of namespaces I do. A very simple and well documented example of how to use these scripts is here; Cullen Commission Website. A more complex example including custom ./manage scripts can be found here; orgbook-configurations

As mentioned by others the bcdk provides similar tools for creating more effective and intelligent pipelines.

wenzowski commented 4 years ago

@hitankar-freshworks this is now pretty stale and has a fair amount of community feedback. Do you have any specific additional asks?

garywong-bc commented 3 years ago

bump? @hitankar-freshworks

garywong-bc commented 3 years ago

This PR is stale, so closing for now. Feel free to re-open if important to you.