Introducing Project Uhura
In my last post, I wrote about Self-Service Delivery, which is an approach that makes the tools necessary to develop and deliver applications available via self-service. It makes the actions we need to take as developers – starting, developing and shipping software – available as user-accessible tools, so that we can work at our own speed without getting blocked.
I’m excited to announce Project Uhura. It provides a Self-Service Delivery environment for delivering Node apps to Kubernetes. It’s available to use in the cloud or installed on your own laptop or infrastructure.
Uhura is a foundation for you to customize and extend to achieve the delivery experience you want. It is built on the Atomist Software Delivery Machine (SDM) – an event-driven, programmable delivery framework and runtime engine.
What is Uhura?
- A hosted SDM to use in the cloud
- An installable, self-hosted SDM to use on your own machine
Uhura is a self-running environment showcasing the Atomist user experience for delivery with a Software Delivery Machine and other Atomist features that enable self-service, like new project creation. Experience what it’s like to run it locally on your own laptop, look at the code base for Uhura that drives the delivery process, and start customizing it to address your specific needs.
Who is Uhura for?
- Developers interested in a programmable delivery platform who are working on Node projects that are deployed to Kubernetes. Additional language stacks and deployment targets are coming.
- Developers interested in improving the developer experience through event-driven automation, command and ChatOps interfaces. Atomist is a programmable platform for automating development and delivery in code.
- DevOps engineers responsible for providing development and delivery tooling and platforms. We provide a platform for enabling Self-Service Delivery with policy by automating the delivery process, using a scalable, event-driven approach, and providing a ChatOps interface to put actions into users’ hands. It makes doing the desired thing easy.
Self-Service Delivery is an approach that makes the tools necessary to develop and deliver applications available via self-service. It makes the actions we need to take as developers – starting, developing and shipping software – available as user-accessible tools, so that we can work at our own speed without getting blocked.
What does Uhura do?
Automated delivery – from push through to deployment and promotion to production.
Create new projects – generate new projects from pre-defined starters for full-stack, web, and API endpoint projects. These projects follow the delivery conventions of Uhura for delivering Node applications.
Run deployed app for testing – cloud-hosted Uhura will deploy the initial push to a repository to an Atomist-hosted Kubernetes cluster so that you can access the endpoint for 10 minutes.
Uhura takes these actions on new pushes to a project:
- Autofix – automatically lint and commit back changes to the repo for TypeScript and JavaScript projects.
- Fingerprinting – check for configuration changes using Atomist fingerprint feature to detect changes to NPM dependencies and Docker base images.
- Auto-version – automatically version the project.
- Build and Test – run the NPM build and test scripts, if present. You shouldn’t have to tell a delivery tool to do that for you.
- Containerize – run Docker build and push the image to a Docker registry.
- Deploy – deploy the container to configured test and production environments. If none are configured, deploy to a hosted test environment where the container runs for ten minutes for testing.
What’s next?
We are adding features to Uhura to support other language stacks and deployment targets beyond Node and Kubernetes.
Get Started With Uhura
We’re excited to see what you do with Uhura.
- Use it to deliver your own Node applications to your own Kubernetes cluster.
- Get Uhura installed locally and start developing your delivery.