In the heart of software world, finding the right set of tools is essential like a cup of coffee on a Monday morning. As participants of the open source community, we too are on a constant journey to look for some of the best and brightest tools, ensuring our project rolls forward while remain transparent, organized, and well-communicated.
We are a small team with 7 people running the open source project KusionStack, but we try to juggle with an arsenal of community tools to help make it possible. They range from Git, which keeps our code as organized as a cat herder’s dream, to Slack and WeChat, the digital equivalent of a water cooler for real-time banter and brainstorming. Let’s take a tour!
Press enter or click to view image in full size
Research and Development
GitHub — Source Code Management
GitHub is home to the world’s largest open-source community and without doubt the de-facto choice to host your source code. The rich toolset in its ecosystem is also extremely powerful, which we will cover later in this article.
GitHub Actions — CI/CD
Before 2018, if your GitHub repo needed a CI/CD pipeline, you might have to go with third-party services like Travis CI or Circle CI. However, since the inception of GitHub Actions, it has become quite the obvious choice. GitHub Actions can do quite a lot; we use it to set up automated pipelines for all KusionStack projects, covering code scanning, unit testing, E2E testing, compliance checks, security scans, builds & releases, and much more. GitHub Actions is also free for public repositories.
Press enter or click to view image in full size
GitHub Projects — Project Management
GitHub Projects is a project management tool to help teams better organize, track, and collaborate. For small teams that revolve around GitHub, using GitHub Projects is a natural choice for project management. We’ve established an iterative Agile workflow based on it: Discover requirements -> Create issues -> Associate with projects -> Estimate efforts -> Work on the issues -> Review & schedule work within 2 week iterations. A very simple yet effective loop.
Press enter or click to view image in full size
Docusaurus — Website building
Press enter or click to view image in full size
Algolia — Documentation Search
Algolia provides professional document search, and enabling it in Docusaurus is as simple as adding a block of configuration.
Press enter or click to view image in full size
Vercel — Website Hosting
Our website is hosted on Vercel. We’ve started with GitHub Pages, but the connectivity from China was not satisfactory most of the time. We then went for Vercel which provides a better experience overall. Vercel offers a free tier for hosting static sites. During deployment, it detects the framework and loads the corresponding configuration accordingly. Deployment took less than 3 minutes and it’s quite seamless.
Get KusionStack’s stories in your inbox
Join Medium for free to get updates from this writer.
There are two GitOps features that we fancy the most (As a platform engineering product, we are shooting for the same kind of smooth experience for developers):
- When a PR is initiated, Vercel generates a preview link and adds it as a comment to the PR, allowing you to inspect the changes preemptively.
- After the PR is merged, Vercel automatically initiates a deployment with the latest version on the main branch, presenting a true GitOps experience.
Press enter or click to view image in full size
Analysis and Insights
Google Analytics — Traffic Analysis
Docusaurus supports integration with Google Analytics with a plugin. Once enabled, we can have access to the comprehensive reports in Google Analytics to track and analyze metrics for our website. This includes counting PV/UVs, tracking traffic sources, analyzing geographical patterns, collecting user satisfaction rates, etc. These metrics equipped us with better decision-making and the ability to locate areas of improvement based on real user feedback.
Press enter or click to view image in full size
Github Insight — Repository stats
GitHub has built-in repository statistics, including metrics such as clone count, visitors, referring sites, and other simple indicators.
Press enter or click to view image in full size
OSS Insight — In-depth Developement Insights and Intelligence
OSS Insight is a well-known open-source insight tool by PingCap, providing comprehensive and rich metrics include GitHub star analysis, issue & pull request analysis, contributor analysis, and much more.
Press enter or click to view image in full size
DingTalk & GitHub Webhook — Notification and Alerts
We use DingTalk bot to subscribe to GitHub Webhook for the real-time updates of development activities such as PR and issue openings, comments, CI statuses, approvals and merges, etc.
Press enter or click to view image in full size
Qii404/gra.caldis.me/grev — Artifact download details
We have also used a few small open-source tools to monitor artifact download details and track download counts for each version. Here are the couple ones we’ve tried:
- https://qii404.me/github-release-statistics
- http://gra.caldis.me/?url=https://github.com/KusionStack/kusion
- https://hanadigital.github.io/grev/?user=KusionStack&repo=kusion
Press enter or click to view image in full size
Feedback-widget — User Satisfaction Metrics
After a major product change last year, we were wondering whether our updated documentations were actually helpful for the users. So we’ve turned our head to a simple “thumbs-up-thumbs-down” widget. Docusaurus does not have built-in support for this, but luckily it’s flexible enough. We wrote a plugin in a bit of React code with the icing on the cake that each article can be individually tracked and reflected in Google Analytics. When users click the “Like” or “Dislike” buttons at the bottom of the doc, these events are tracked and can be seen later in the Google Analytics console.
Press enter or click to view image in full size
Press enter or click to view image in full size
Community Engagement and More…
Medium — Blogging
If you are wondering where that is, you are in the right place! We publish updates of KusionStack here on a regular basis. The “Blog” button on kusionstack.io also redirects to this Medium profile.
Reddit — Community engagement
We sometimes find interesting and insightful exchange of ideas on Reddit that are fairly technical. Some of the most active subreddits we post in are r/kubernetes, r/cloud, r/platformengineering and r/devops.
Press enter or click to view image in full size
Hacker News — Community engagement
Hacker News is another well-known technical forum in the community. Despite its simple and old-fashioned appearance reminiscent of the Bulletin Board System from the old times, it is filled with hardcore and insightful content. We are also actively participating in those discussions.
Wechat — IM and Blogging
The most widely used IM tool (and much more than that!) in China is WeChat. We are managing a number of WeChat groups to actively communicate with users and contributors of KusionStack. We also post Chinese version of our blogs to the media platform on Wechat.
Slack — IM and Discussions
Slack is another IM tool we use to keep in touch with the International users and participants of the KusionStack community. We also maintain connections with several relevant communities, like the Platform Engineering community, the CNCF community, etc.
DingTalk — IM and Internal Meetings
Internal team communication and meetings are done using DingTalk.
Tencent Meeting — Community Meetings
Bi-weekly community meetings are done using Tencent Meeting.
Stable Diffusion XL — Design
We have also experimented with generative AI to help design our mascot. Even though we didn’t eventually adopt it, inspired us a great deal and let those of us without artistic talents to experience some joy of creation. We iterated based the SDXL generated images and fine-tuned the details, adjusting colors, changing expressions, even adding some unique elements. There’s even a cool coral on a motorcycle wearing sunglasses!
Here are some of the design SDXL came up with:
Press enter or click to view image in full size
Press enter or click to view image in full size
ChatGPT — Coding, Design, Translation, and Everything Else
The unleashed power of ChatGPT is no longer a secret. We’ve used it for administrative tasks like writing unit tests, code optimizations, internationalization of documents/articles and such. We have also experimented with using LogoCreator from GPTs to design a logo(we didn’t use it eventually). Even the thumbnail of this article is generated with DALL·E. We are continuing to explore more possibilities to extract more productivity using AI.
Here’s one of the logos it created using the LogoCreator:
Press enter or click to view image in full size