- Notifications
You must be signed in to change notification settings - Fork16
Kargo Private Cloud Platform
License
ContainerCraft/Kargo
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Kargo replaces traditional hypervisors with a cloud-native container and virtualization platform. Kargo works seamlessly in on-prem, cloud, and local environments, leveraging Kubernetes to create a robust and scalable platform for modern compute and platform as a service use cases.
Join Kargo users and contributors in theContainerCraft Community Discord!
Note: Kargo is in early development. Checkout@usrbinkat'sinaugural Twitter/X Thread to see how it all started.
- Simplify Kubernetes skills development
- Accelerate project ideation and innovation
- Build a shared platform for community collaboration
- Develop an enterprise-grade hyperconverged compute platform
- Foster community equity through a reliable and inclusive platform
- Bring the power of cloud native to homelabs and students
Try Kargo with just a browser to get started withGitHub Codespaces following the steps below.
Ensure you have the following tools and accounts:
Check out the video to see Kargo deploy for yourself, or try it in your browser with the steps below.
Log in to GitHub.
Launch Kargo in GitHub Codespaces:
- Use theLaunch Kargo link directly or use the green
Code
button above to start a new Codespace. - Create a new Codespace with the following options:
- Branch:
main
- Dev Container Configuration:
konductor
- Region: Your choice
- Machine Type: 4 cores, 16 GB RAM, or better
- Branch:
- Use theLaunch Kargo link directly or use the green
Open the VSCode Integrated Terminal:
- Use key combination
[ Ctrl +
]` to open the terminal.
- Use key combination
Authenticate Credentials
Login to Pulumi Cloud and other services.
task login
- Configure:
Configure the Pulumi IaC Stack parameters.
# confirm Pulumi stackexport ORGANIZATION="${GITHUB_USER:-${GITHUB_REPOSITORY_OWNER:-}}"export DEPLOYMENT="${RepositoryName:-}"task configure
- Deploy Kubernetes:
Deploy Kubernetes using Talos.
task kubernetes
- Deploy Platform:
Deploy the Kubevirt PaaS IaC to Kubernetes.
task deploy
- Deploy a Virtual Machine:
Deploy an Ubuntu Virtual Machine on the platform using Kubevirt.
Note: Run this step manually via integrated terminal.
# Purge old known host fingerprintstask ssh-clean# Enable the VM instancepulumi configset --path vm.enabledtrue# Deploy the Kubevirt VM instancepulumi up --skip-preview --refresh=false
- SSH to the new VM Instance:
Access the VM via SSH using a Kubernetes NodePort service.
ssh -p 30590 -i~/.ssh/id_rsa -o StrictHostKeyChecking=no kc2@localhost screenfetch
- Virtctl SSH:
Usevirtctl
to access the VM via SSH without a NodePort service.
# SSH using virtctlvirtctl ssh kc2@ubuntu
- Virtctl Serial Console:
Usevirtctl
to access the serial console of the VM.
# Serial console accessvirtctl console ubuntu
Tip: To exit the serial console, press
Ctrl + ]
or close the terminal.
- Cleanup:
Clean up all Kubernetes and Pulumi resources.
task clean-all
Kargo thrives on community contributions. Learn how to get involved by reading ourCONTRIBUTING.md.
Use our GitHub Actions integration and theact
tool to test CI pipelines locally before pushing your changes.
To test Kargo CI locally:
task act
For more discussion, support, and contribution, join ourContainerCraft Community Discord Kargo Channel.
For more information, explore theKargo Project FAQ.