!kubernetes manifest templates

!!easily create manifest 
>>
kubectl create deployments hoge --image=nginx -o yaml --dry-run
<<

OK, but I want a different one.

!!Deployment

>>
apiVersion: apps/v1
kind: Deployment
metadata:
  name: NAME
spec:
  selector:
    matchLabels:
      run: LABEL_NAME
  template:
    metadata:
      labels:
        run: LABEL_NAME
    spec:
      initContainers:
        # あればinitContainer
      containers:
      - image: IMAGE
        name: NAME
        env:
        - name: NAME
          value: VALUE
        - name: NAME
          valueFrom:
            secretKeyRef:
              name: NAME
              key: KEYNAME
        volumeMounts:
        - mountPath: MOUNT_PATH
          name: VOLUME_NAME
      volumes:
      - name: NAME
        secret:
          secretName: SECRET_NAME
          items:
          - key: KEY_NAME
            path: PATH
      - name: NAME2
        emptyDir: {}
      - name: NAME3
        configMap:
          name: CONFIG_MAP_NAME

<<

!!Service
>>
apiVersion: v1
kind: Service
metadata:
  name: NAME
spec:
  ports:
  - port: PORT
    protocol: TCP
  selector:
    run: SELECTOR
<<

!!Ingress
>>
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: NAME
spec:
  rules:
  - host: FQDN
    http:
      paths:
      - path: /
        backend:
          serviceName: SERVICE_NAME
          servicePort: PORT
<<

!!ConfigMap
>>
apiVersion: v1
kind: ConfigMap
metadata:
  name: NAME
data:
  init.sh: |
    CONTENTS
<<
5643382
wiki
1514983113