mirror of https://github.com/portainer/k8s.git
54 lines
2.6 KiB
Bash
Executable File
54 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# What is this?
|
|
# -------------
|
|
# This handy little script will generate kubernetes YAML manifests from the portainer
|
|
# helm chart. It's intended to be used to prepare up-to-date manifests for users who prefer _not_
|
|
# to use helm.
|
|
#
|
|
# How does it work?
|
|
# -----------------
|
|
# At a high level, we run helm in --dry-run mode, which causes the manifests to be rendered, but displayed
|
|
# to stdout instead of applied to Kubernetes.
|
|
# Then we perform certain transformations on these rendered manifests:
|
|
# 1. Remove the rendered NOTES
|
|
# 2. Remove the header produced by helf --dry-run
|
|
# 3. Remove references to helm in rendered manifests (no point attaching a label like "app.kubernetes.io/managed-by: Helm" if we are not!)
|
|
|
|
# Create nodeport manifest for ce
|
|
helm install --no-hooks --namespace zorgburger --set service.type=NodePort --set disableTest=true --set createNamespace=true --dry-run zorgburger charts/portainer \
|
|
| sed -n '1,/NOTES/p' | sed \$d \
|
|
| grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \
|
|
| grep -iv helm \
|
|
| sed 's/zorgburger/portainer/' \
|
|
| sed 's/portainer-portainer/portainer/' \
|
|
> deploy/manifests/portainer/portainer.yaml
|
|
|
|
|
|
# Create lb manifest for ce
|
|
helm install --no-hooks --namespace zorgburger --set service.type=LoadBalancer --set disableTest=true --set createNamespace=true --dry-run zorgburger charts/portainer \
|
|
| sed -n '1,/NOTES/p' | sed \$d \
|
|
| grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \
|
|
| grep -iv helm \
|
|
| sed 's/zorgburger/portainer/' \
|
|
| sed 's/portainer-portainer/portainer/' \
|
|
> deploy/manifests/portainer/portainer-lb.yaml
|
|
|
|
# Create nodeport manifest for ee
|
|
helm install --no-hooks --namespace zorgburger --set enterpriseEdition.enabled=true --set service.type=NodePort --set disableTest=true --set createNamespace=true --dry-run zorgburger charts/portainer \
|
|
| sed -n '1,/NOTES/p' | sed \$d \
|
|
| grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \
|
|
| grep -iv helm \
|
|
| sed 's/zorgburger/portainer/' \
|
|
| sed 's/portainer-portainer/portainer/' \
|
|
> deploy/manifests/portainer/portainer-ee.yaml
|
|
|
|
# Create lb manifest for ee
|
|
helm install --no-hooks --namespace zorgburger --set enterpriseEdition.enabled=true --set service.type=LoadBalancer --set disableTest=true --set createNamespace=true --dry-run zorgburger charts/portainer \
|
|
| sed -n '1,/NOTES/p' | sed \$d \
|
|
| grep -vE 'NAME|LAST DEPLOYED|NAMESPACE|STATUS|REVISION|HOOKS|MANIFEST|TEST SUITE' \
|
|
| grep -iv helm \
|
|
| sed 's/zorgburger/portainer/' \
|
|
| sed 's/portainer-portainer/portainer/' \
|
|
> deploy/manifests/portainer/portainer-lb-ee.yaml
|