This repository serves as a comprehensive template for starting new DevOps projects from scratch. It is designed to be cloned as a GitHub template repository, providing a fully-configured environment for deploying and managing cloud-native infrastructure using VSCode with Kubernetes and Pulumi boilerplate as a starting line.
Whether you're building for on-premises, cloud, or local environments, this template streamlines the setup and deployment processes, enabling you to focus on building and innovating.
Join the community in the ContainerCraft Community Discord to discuss, collaborate, and contribute!
- Kubernetes Deployment: Automated Kubernetes cluster setup using Talos.
- Pulumi IaC Integration: Infrastructure as Code management with Pulumi.
- Runme Integration: Execute documented tasks directly from the README.md.
- GitHub Actions Support: CI/CD pipelines configured for automated testing and deployment.
This repository is designed as a template, allowing you to quickly bootstrap new DevOps projects with a fully-configured environment. Follow the steps below to create a new project from this template.
-
Navigate to the Template Repository:
Visit the Konductor DevOps Template Repository on GitHub.
-
Use the "Use this template" Button:
- Click the green
Use this template
button located at the top-right of the repository page. - In the form that appears, provide a name for your new repository and decide if it should be public or private.
- Click
Create repository from template
to generate your new repository.
- Click the green
-
Clone the Repository to Your Local Machine:
Once your new repository is created, clone it to your local machine using Git.
git clone https://github.com/YourUsername/YourNewRepoName.git cd YourNewRepoName
-
Initialize the Development Environment:
If you're using GitHub Codespaces or a local development environment with Docker, you can launch directly into the pre-configured environment.
- GitHub Codespaces: Click the
Code
button and selectOpen with Codespaces
, or follow the instructions in the Quickstart section of this README. - Local Development: Follow the instructions in the
Getting Started
section to set up your local environment.
- GitHub Codespaces: Click the
-
Update Configuration Files:
- Customize the
.env
file with your project-specific environment variables. - Modify the
Taskfile.yaml
to include tasks specific to your project. - Adjust the Pulumi configuration files under
.pulumi
to match your cloud and infrastructure setup.
- Customize the
-
Set Up Your Pulumi Stack:
Configure your Pulumi stack settings to match your project environment by following the steps in the
Getting Started
section.
-
Deploy the Infrastructure:
Use the pre-configured tasks to deploy your infrastructure, as detailed in the Quickstart section.
task kubernetes task deploy
-
Build and Iterate:
With your infrastructure deployed, you can now focus on developing your application, iterating on your DevOps processes, and refining your setup.
-
Commit and Push:
After making changes, commit them to your repository.
git add . git commit -m "Initial setup and configuration" git push origin main
-
Collaborate and Contribute:
Share your repository with your team, collaborate on features, and contribute back to the original template if you make improvements that could benefit others.
- Keep your dependencies up to date: Regularly update the tools and libraries used in your project.
- Document your changes: Update the README and other documentation as your project evolves.
- Engage with the community: Join the ContainerCraft Community Discord to get support and share your experiences.
This repository is designed to be used as a template for new DevOps projects. Follow the steps below to clone and configure your environment.
Ensure you have the following tools and accounts:
Follow these steps to get your environment up and running:
-
Clone the Repository:
Clone this repository to your GitHub account using the "Use this template" button.
-
Launch in GitHub Codespaces:
Start a new GitHub Codespace with the following options:
- Branch:
main
- Dev Container Configuration:
konductor
- Region: Your choice
- Machine Type: 4 cores, 16 GB RAM, or better
- Branch:
-
Open the Integrated Terminal:
Use
Ctrl + `
to open the VSCode integrated terminal. -
Authenticate Credentials:
Login to Pulumi Cloud and other required services.
task login
-
Configure the Pulumi Stack:
Set up Pulumi stack parameters.
export ORGANIZATION="${GITHUB_USER:-${GITHUB_REPOSITORY_OWNER:-}}" export DEPLOYMENT="${RepositoryName:-}" task configure
-
Deploy Kubernetes:
Deploy Kubernetes using Talos.
task kubernetes
-
Deploy the Platform:
Deploy the KubeVirt PaaS infrastructure.
task deploy
-
Cleanup:
Clean up all Kubernetes and Pulumi resources when you're done.
task clean-all
Contributions are welcome! This template is intended to evolve with the needs of the community. Learn how to contribute by reading our CONTRIBUTING.md.
Use the act
tool to test GitHub Actions locally before pushing your changes.
task act
Join our community to discuss, learn, and contribute: