Code & DevOps Config templates for many popular programming languages and DevOps tools including:
- Kubernetes - advanced K8s templates eg. deployment.yaml, statefulset.yaml, service.yaml, ingress.yaml, kustomization.yaml, skaffold.yaml, helmfile.yaml, k3d.yaml, kind.yaml and many others
- Terraform - provider.tf, backend.tf, variables.tf, terraform.tfvars - see this bundle trick
- Docker - Dockerfile, docker-compose.yml
- HashiCorp Packer - template.pkr.hcl - build portable Virtual Machines of Debian, Ubuntu and RHEL-based distros using 100% automated installs via Kickstart, Preseed, AutoInstaller. See Packer-templates
- AWS - various -
aws_*
, buildspec.yml,ec*
, eksctl.yaml,lambda*
,s3*
- GCP - cloudbuild.yaml, cloudbuild-golang.yaml, gcp_deployment-manager.yaml
- Jenkins - Jenkinsfile (advanced) and jenkins/vars/ Jenkins Shared Library
- GitHub Actions - github-action.yaml (advanced) and github-actions/.github/workflows GitHub Workflows Library
- Azure DevOps Pipelines - azure-pipelines.yaml
- Circle CI - circleci-config.yml (advanced)
- Vagrant - Vagrantfile
- Make - Makefile
- Maven - pom.xml
- SBT - build.sbt
- Gradle - build.gradle
- Golang - template.go
- Groovy - template.groovy
- Perl - template.pl, template.pm
- Python / Jython - template.py /
template.jy
- Ruby / JRuby - template.rb, template.jrb, Gemfile
- Scala - template.scala
- Bash - template.sh
- Puppet - template.pp
- Redhat Kickstart automated install - anaconda-ks.cfg
- Debian Preseed automated install - preseed.cfg
- Ubuntu AutoInstall Cloud-Init - autoinstall-user-data
- MermaidJS - template.mmd
- D2 Lang - diagram.d2
- Python Diagrams - diagram.py
- SQL - template.sql
- XML - template.xml
- YAML - template.yaml
Many more real world DevOps Tooling & CI/CD configs for all major CI/CD systems can be found in the DevOps Bash tools repo.
Forked from DevOps Perl tools, this is now a submodule of the following repos:
See also the HariSekhon/Template-Repo for quickly generating new GitHub repos containing all the basic CI/CD configurations, SonarCloud, README badges etc.
new.pl
can instantiate these templates as new date-timestamped files, autopopulating the date, vim tags, GitHub
URL and other headers and drops you in to your $EDITOR
of choice (eg.
vim or
IntelliJ IDEA).
You can give an exact filename like Dockerfile
, Makefile
, Jenkinsfile
, docker-compose.yml
, pom.xml
, build.gradle
, or you can instantiate one of the templates based on their file extension (eg. py
, sh
) with any filename (eg. main.py
, test.py
, myapp.py
).
Examples:
new Makefile
new Dockerfile
new Jenkinsfile
new docker-compose.yml
new myapp.py
new build.gradle
new .github/workflows/build.yaml
new.pl
can be found in the DevOps Perl tools repo.
alias new=new.pl
(done automatically in the DevOps Bash tools repo .bash.d/
)
new terraform
Instantly creates and opens all standard files for a Terraform deployment in your $EDITOR
of choice:
all heavily commented to get a new Terraform environment up and running quickly - with links to things like AWS / GCP regions, Terraform backend providers, state locking etc.
new terraform
or shorter
new tf
Creates portable Virtual Machines in OVA format using 100% automated installs of Ubuntu, Debian and RHEL/Fedora using their native installers:
- Packer - template.pkr.hcl - uses the following:
- Redhat Kickstart - anaconda-ks.cfg
- Debian Preseed - preseed.cfg
- Ubuntu AutoInstall - autoinstall-user-data
See Packer-templates for more details and ready-to-run templates for each distro.
The rest of my original source repos are here.
Pre-built Docker images are available on my DockerHub.