Cradlepoint Contributes to the Developer Community by Making Internal Libraries Publicly Accessible
Cradlepoint R&D relies heavily on the developer community for open source projects, technical blogs, and knowledge sharing at meetups and conferences.
We want to give back to the developer community. While many of our engineers contribute upstream to the projects we use, we have not had a formal open source program - until now. We are very excited to announce that we will begin open sourcing some our internal libraries, home-grown tools, and technical presentations. Here's a brief description of our initial contributions.
You can find all of our open source projects on GitHub at https://github.com/cradlepoint.
Several of Cradlepoint's internal APIs implement the JSON-API specification to simplify our front-end Ember.js development. Our JsonAPIary library is a Jackson module that simplifies JSON-API serialization/deserialization for Java applications.
As I mentioned in last month's R&D blog post, Cradlepoint is migrating its microservice deployments to Kubernetes. We use Helm to package the Kubernetes configuration files for each of these microservices. Early in our migration process we discovered that we were doing a lot of copy-pasting of deployment/service/ingress configuration files. After each copy-paste, each team would make their own modifications. This created inconsistencies that we knew would become problematic over time.
We addressed this problem by building the kubernetes-helm-chart-framework project to standardize Helm chart development for all our microservices. Rather than each service chart having its own deployment/service/ingress configuration files, it simply includes this framework in its Helm requirements file and annotates its Helm values file with service-specific settings.
Many of our microservices use PgBouncer to pool connections to their backend PostgreSQL databases. The Helm developer community has written several charts to simplify deploying such dependencies, but we couldn't find a PgBouncer chart that worked for us. This project is our implementation of a PgBouncer Helm chart.
In September, we presented our Kubernetes-based deployment pipeline at the Boise Cloud Computing Meetup. The slides that we presented at this meetup are available in this documents repository. Future slides and documents will be also be published here.
We will be adding more projects in the near future so check back often. We hope you find these projects useful and encourage your active participation. We look forward to your contributions and feedback!