Sign inSign up

ikerry/ntpl

By ikerry

Updated over 4 years ago

Ntpl is a tool for processing Kubernetes manifest templates.

Image
0

965

ikerry/ntpl repository overview

Ntpl

Ntpl is a tool for processing Kubernetes manifest templates.

It is a very simple client-side implementation of the Templates + Parameters proposal.

What's inside the Docker image

  • ntpl
  • awscli
  • aws-iam-authenticator 0.5.7
  • kubectl (v1.20.15 v1.21.11 v1.22.8 v1.23.5 within tagged images)

Synopsis

Usage: ntpl [options] [command]

Options:
  -c, --components [value]  kubernetes components (default: [])
  -p, --parameters [value]  parameters file (yaml|yml) (default: [])
  -k, --keyPairs [value]    Key=Value Parameter (default: [])
  -t, --template <file>     template file
  -o, --output <file>       output file
  -h, --help                output usage information

Commands:
  compile                   Compile Kubernetes component templates.
  validate                  Validate Kubernetes component templates.
  apply                     Apply Kubernetes component templates into kubernetes.
  delete                    Delete Kubernetes component resources from kubernetes
  render                    Generate template

Docker image

docker pull ikerry/ntpl:v2.0.1-k8sv1.20.15

Quick start

  • Template Example
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: {{name}}
  namespace: {{namespace}}
  labels:
    app: {{name}}
    runtime: {{runtime}}
  annotations:
    kubernetes.io/tls-acme: "true"
spec:
  tls:
  - hosts:
    - demo-app.{{cluster}}
    secretName: {{name}}-tls
  rules:
  - host: demo-app.{{cluster}}
    http:
      paths:
      - path: /
        backend:
          serviceName: {{service}}
          servicePort: 80
  • Parameters Example
---
name: kube-demo
namespace: kube-demo
service: kube-demo-app
cluster: cluster.com.au
  • Validate Kubernetes component templates
docker run --rm -v $(pwd):/app -v ~/.kube:/root/.kube -w /app ikerry/ntpl:v2.0.1-k8sv1.20.15 validate \
 -p "envs/default.yaml" \
 -p "envs/preprod.yaml" \
 -k "name=cluster" \
 -k "v=v0.2.3" \
 -c "onboarding"
  • Render template
docker run --rm -v $(pwd):/app -v ~/.kube:/root/.kube -w /app ikerry/ntpl:v2.0.1-k8sv1.20.15 render \
 -p "envs/default.yaml" \
 -p "envs/preprod.yaml" \
 -k "app.version=v.1.0.3" \
 -t "tmp.yaml" \
 -o test.yaml

Tag summary

Content type

Image

Digest

Size

118.6 MB

Last updated

over 4 years ago

docker pull ikerry/ntpl:v2.0.1-k8sv1.23.5