Go from pull request to Uffizzi Ephemeral Environment in less than one minute. This quickstart will create a virtual Kubernetes cluster on Uffizzi Cloud and deploy a sample microservices application from this repository. Once created, you can connect to the cluster with the Uffizzi CLI, then manage the cluster via kubectl
, kustomize
, helm
, and other tools. You can clean up the cluster by closing the pull request or manually deleting it via the Uffizzi CLI.
https://github.com/UffizziCloud/quickstart-k8s/fork
main
branch only.
This ensures that the try-uffizzi
branch will be included in your fork.
Select Actions, then select I understand my workflows, go ahead and enable them.
your-account/tree/main
← your-account/tree/try-uffizzi
).
If you try to open a PR for UffizziCloud/tree/main
← your-account/tree/try-uffizzi
, the Actions workflow will not run in this example.
Once the action is finished running, check the pull request comments section to find information on how to access the newly created cluster.
Additionally, the app endpoints can be found on the action summary page. Under the Actions section of the forked repository, open up the latest completed action. Within the completed action, open up the summary section. Copy and paste the vote and result endpoints within the action summary
The PR will trigger a GitHub Actions workflow that uses the Uffizzi CLI, and Kubernetes manifests to create a Uffizzi Ephemeral Environment for the microservices application defined by this repo. When the workflow completes, the Ephemeral Environment URL will be posted as a comment in your PR issue.
Ephemeral Environments are configured with Kubernetes manifests that describe the application components and a GitHub Actions workflow that includes a series of jobs triggered by a pull_request
event and subsequent push
events:
- Build and push the voting-app images
- Create the Uffizzi cluster using the uffizzi-cli
- Apply the Kubernetes manifests to deploy the application to the Uffizzi cluster
- Delete the Ephemeral Environment when the PR is merged/closed or after
We strive to keep Uffizzi Cloud free or inexpensive for individuals and small teams. Therefore, activities such as crypto mining, file sharing, bots, and similar uses that lead to increased costs and intermittent issues for other users are strictly prohibited per the Acceptable Use Policy. Violators of this policy are subject to permanent ban.
The application defined by this repo allows users to vote for dogs or cats and see the results. It consists of the following microservices:
voting
- A frontend web app in Python that lets you vote between two optionsredis
- A Redis queue that collects new votesworker
- A .NET Core worker that consumes votes and stores them in...db
- A PostgreSQL database backed by a Docker volumeresult
- A Node.js web app that shows the results of the voting in real time