116 lines
7 KiB
Bash
Executable file
116 lines
7 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
#
|
|
# Run from files directory
|
|
#
|
|
|
|
wget https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml
|
|
kubernetes-split-yaml local-path-storage.yaml > generated.log
|
|
mv files/local{,.old}
|
|
mv generated files/local
|
|
echo -e "---\nstorage_localpath_files_list:" > vars/local.yaml
|
|
cat generated.log | while read LIGNE; do if [ $(echo "${LIGNE}" | grep -c ^File) -eq 1 ]; then echo -n "${LIGNE} "; else echo "${LIGNE}"; fi; done | grep ^File | sort -V | sed 's|.*\(generated/\)\(.*\.yaml\)| - "\2"|' >> vars/local.yaml
|
|
sed 's|/opt/local-path-provisioner|/mnt/local|' -i files/local/local-path-config-ConfigMap.yaml
|
|
#mv local-path-storage.yaml local-path-storage_$(date +%Y%m%d).yaml
|
|
rm -fr files/local.old generated.log local-path-storage.yaml
|
|
|
|
wget https://raw.githubusercontent.com/longhorn/longhorn/master/deploy/longhorn.yaml
|
|
kubernetes-split-yaml longhorn.yaml > generated.log
|
|
mv files/longhorn{,.old}
|
|
mv generated files/longhorn
|
|
echo -e "---\nstorage_longhorn_files_list:" > vars/longhorn.yaml
|
|
cat generated.log | while read LIGNE; do if [ $(echo "${LIGNE}" | grep -c ^File) -eq 1 ]; then echo -n "${LIGNE} "; else echo "${LIGNE}"; fi; done | grep ^File | sort -V | sed 's|.*\(generated/\)\(.*\.yaml\)| - "\2"|' >> vars/longhorn.yaml
|
|
sed '/numberOfReplicas/ s/3/2/' -i files/longhorn/longhorn-StorageClass.yaml
|
|
sed '/default-data-path/ s|:.*$|: "/var/lib/longhorn/"|' -i files/longhorn/longhorn-default-setting-ConfigMap.yaml
|
|
rm -fr files/longhorn.old generated.log longhorn.yaml
|
|
|
|
#git clone https://github.com/linode/linode-blockstorage-csi-driver.git
|
|
#mv linode{,.old}
|
|
#mv linode-blockstorage-csi-driver/pkg/linode-bs/deploy/kubernetes linode
|
|
#rm -fr linode-blockstorage-csi-driver linode.old
|
|
# https://raw.githubusercontent.com/linode/linode-blockstorage-csi-driver/master/pkg/linode-bs/deploy/releases/linode-blockstorage-csi-driver-v0.1.4.yaml
|
|
wget https://raw.githubusercontent.com/linode/linode-blockstorage-csi-driver/master/pkg/linode-bs/deploy/releases/linode-blockstorage-csi-driver.yaml
|
|
kubernetes-split-yaml linode-blockstorage-csi-driver.yaml > generated.log
|
|
mv files/linode{,.old}
|
|
mv generated files/linode
|
|
cat generated.log | while read LIGNE; do if [ $(echo "${LIGNE}" | grep -c ^File) -eq 1 ]; then echo -n "${LIGNE} "; else echo "${LIGNE}"; fi; done | grep ^File | sort -V | sed 's|.*\(generated/\)\(.*\.yaml\)| - "linode/\2"|'
|
|
sed -e /is-default-class/d -e /annotations/d -i files/linode/linode-block-storage-StorageClass.yaml
|
|
sed -e /is-default-class/d -e /annotations/d -i files/linode/linode-block-storage-retain-StorageClass.yaml
|
|
rm -fr files/linode.old generated.log linode-blockstorage-csi-driver.yaml
|
|
|
|
|
|
DO_CSI_VERSION=2.0.0
|
|
mv files/digitalocean{,.old}
|
|
mkdir files/digitalocean
|
|
for FICHIER in crds.yaml driver.yaml snapshot-controller.yaml; do
|
|
wget https://github.com/digitalocean/csi-digitalocean/raw/master/deploy/kubernetes/releases/csi-digitalocean-v${DO_CSI_VERSION}/$FICHIER
|
|
kubernetes-split-yaml $FICHIER >> generated.log
|
|
mv generated/* files/digitalocean/
|
|
cat generated.log | while read LIGNE; do if [ $(echo "${LIGNE}" | grep -c ^File) -eq 1 ]; then echo -n "${LIGNE} "; else echo "${LIGNE}"; fi; done | grep ^File | sort -V | sed 's|.*\(generated/\)\(.*\.yaml\)| - "digitalocean/\2"|'
|
|
rm -f $FICHIER generated.log
|
|
done
|
|
for i in do-block-storage-StorageClass.yaml do-block-storage-VolumeSnapshotClass.yaml; do
|
|
sed -e /is-default-class/d -e /annotations/d -i files/digitalocean/"$i"
|
|
done
|
|
rm -fr files/digitalocean.old
|
|
|
|
|
|
# https://github.com/kubernetes-incubator/external-storage/tree/master/nfs
|
|
NFS_FILE=vars/nfs.yml
|
|
echo -e "---\nstore_nfs_files:" > "${NFS_FILE}"
|
|
mv files/nfs{,.old}
|
|
mkdir files/nfs
|
|
for FICHIER in psp.yaml rbac.yaml deployment.yaml class.yaml; do
|
|
wget https://github.com/kubernetes-incubator/external-storage/raw/master/nfs/deploy/kubernetes/$FICHIER
|
|
kubernetes-split-yaml $FICHIER >> generated.log
|
|
mv generated/* files/nfs/
|
|
cat generated.log | while read LIGNE; do if [ $(echo "${LIGNE}" | grep -c ^File) -eq 1 ]; then echo -n "${LIGNE} "; else echo "${LIGNE}"; fi; done | grep ^File | sort -V | sed 's|.*\(generated/\)\(.*\.yaml\)| - "\2"|' >> "${NFS_FILE}"
|
|
rm -f $FICHIER generated.log
|
|
done
|
|
for i in nfs-provisioner-runner-ClusterRole.yaml run-nfs-provisioner-ClusterRoleBinding.yaml leader-locking-nfs-provisioner-Role.yaml leader-locking-nfs-provisioner-RoleBinding.yaml; do
|
|
sed "s/namespace:.*/namespace: nfs-provisioner/g" -i files/nfs/$i
|
|
done
|
|
sed 's|\(.*-provisioner=\).*"|\1reslinger.net/nfs"|' -i files/nfs/nfs-provisioner-Deployment.yaml
|
|
sed 's/example-nfs-//' -i vars/nfs.yaml
|
|
mv files/nfs/example-nfs-StorageClass.yaml files/nfs/StorageClass.yaml
|
|
sed 's|example-nfs|nfs|' -i files/nfs/StorageClass.yaml
|
|
sed 's|example.com/nfs|reslinger.net/nfs|' -i files/nfs/StorageClass.yaml
|
|
rm -fr files/nfs.old
|
|
|
|
|
|
|
|
#https://github.com/scaleway/scaleway-csi
|
|
#https://github.com/kubernetes-sigs/alibaba-cloud-csi-driver
|
|
#https://github.com/hetznercloud/csi-driver
|
|
#https://github.com/packethost/csi-packet
|
|
#https://github.com/kubernetes-sigs/azuredisk-csi-driver
|
|
#https://github.com/kubernetes-sigs/azurefile-csi-driver
|
|
#https://github.com/TencentCloud/kubernetes-csi-tencentcloud
|
|
#https://github.com/flant/yandex-csi-driver
|
|
|
|
#https://github.com/ceph/ceph-csi
|
|
#https://github.com/jparklab/synology-csi
|
|
#https://github.com/woohhan/dropbox-csi
|
|
#https://github.com/chr-fritz/csi-sshfs
|
|
#https://github.com/ctrox/csi-s3 ?
|
|
#https://github.com/wavezhang/k8s-csi-lvm ?
|
|
#https://github.com/juicedata/juicefs-csi-driver ?
|
|
|
|
|
|
SECRETS_STORE_FILE=vars/secrets_store_files_list.yml
|
|
echo -e "---\nsecrets_store_files:" > "${SECRETS_STORE_FILE}"
|
|
git clone https://github.com/kubernetes-sigs/secrets-store-csi-driver.git
|
|
kubernetes-split-yaml secrets-store-csi-driver/deploy/rbac-secretproviderclass.yaml > generated.log
|
|
kubernetes-split-yaml secrets-store-csi-driver/deploy/csidriver.yaml >> generated.log
|
|
kubernetes-split-yaml secrets-store-csi-driver/deploy/secrets-store.csi.x-k8s.io_secretproviderclasses.yaml >> generated.log
|
|
kubernetes-split-yaml secrets-store-csi-driver/deploy/secrets-store-csi-driver.yaml >> generated.log
|
|
cat generated.log | while read LIGNE; do if [ $(echo "${LIGNE}" | grep -c ^File) -eq 1 ]; then echo -n "${LIGNE} "; else echo "${LIGNE}"; fi; done | grep ^File | sed 's|.*\(generated/\)\(.*\.yaml\)| - "secrets-store/\2"|' >> "${SECRETS_STORE_FILE}"
|
|
mv files/secrets-store{,.old}
|
|
mv generated files/secrets-store
|
|
sed "/^metadata:$/a \ namespace: csi-secrets-store" -i files/secrets-store/csi-secrets-store-DaemonSet.yaml
|
|
rm -fr files/secrets-store.old generated.log secrets-store-csi-driver
|
|
curl -s -o files/secrets-store/provider-vault-installer.yaml https://raw.githubusercontent.com/hashicorp/secrets-store-csi-driver-provider-vault/master/deployment/provider-vault-installer.yaml
|
|
sed "/^metadata:$/a \ namespace: csi-secrets-store" -i files/secrets-store/provider-vault-installer.yaml
|
|
echo ' - "secrets-store/provider-vault-installer.yaml"' >> "${SECRETS_STORE_FILE}"
|
|
#https://github.com/Azure/secrets-store-csi-driver-provider-azure
|
|
#https://github.com/hashicorp/secrets-store-csi-driver-provider-vault
|