Merhaba, bitnami nginx parametrelerinde clone static site from git ifadesini gözlemleyebilirsiniz. Basit bir deneme yapıp beraber inceleme yapalım,
https://github.com/bitnami/charts/tree/main/bitnami/nginx
Nginx ile berlirteceğim bir dizini indirilebilir hale getiren bir repo kullanacağım.
Fakat forkladığım reponun içerisinde ihtiyacım olmayan hiçbir dosyayı almayacağım. ( Örn: default.conf, dockerfile gibi.) Dosyalara aşağıdaki linkten erişebilirsiniz. https://github.com/mertyakan/nginx-file-browser/
Bitnami nginx için values.yaml içerisini aşağıdaki gibi doldurabilirsiniz;
podAnnotations: kubectl.kubernetes.io/default-container: nginx cloneStaticSiteFromGit: enabled: true repository: https://github.com/mertyakan/nginx-file-browser.git branch: main interval: 6000 gitSync: command: - /bin/bash - -ec - | [[ -f "/opt/bitnami/scripts/git/entrypoint.sh" ]] && source "/opt/bitnami/scripts/git/entrypoint.sh" while true; do cd /app && git config --global --add safe.directory /app && git pull origin main sleep 6000 done containerPorts: http: 8090 serverBlock: |- server { listen 8090; root /app/; index index.html index.htm; location /n98/ { alias /n98/; index __i; autoindex on; autoindex_format json; disable_symlinks off; } location / { root /app/; } } extraDeploy: - | apiVersion: v1 kind: PersistentVolumeClaim metadata: name: n98 spec: accessModes: - ReadWriteMany resources: requests: storage: 4Gi storageClassName: px-sharedv4-sc extraVolumes: - name: n98 persistentVolumeClaim: claimName: n98 extraVolumeMounts: - mountPath: /n98 name: n98
Sonrasında helm ile deploy edebilirsiniz;
helm upgrade --install mert-n98 oci://registry-1.docker.io/bitnamicharts/nginx -f values.yaml
Port yönlendirmesi yaparak veya ingress tanımlayarak inceleme yapabilirsiniz. Oluşturulan pvc’nin mount olduğunu kontrol edebilirsiniz.
fatal: detected dubious ownership in repository at ‘/app’ hatası
01 Kasım 2023
Nginx açılacağı sırasında aşağıdaki gibi bir hata görebilirsiniz;
Git config safe.directory set etmemizi istiyor fakat default olarak eklenebilecek bir yer göremedim.
git config --global --add safe.directory /app
Bunun için values.yaml içerisindeki cloneStaticSite alanını aşağıdaki gibi değiştirmek gerekiyor.
cloneStaticSiteFromGit: enabled: true repository: https://github.com/mertyakan/nginx-file-browser.git branch: main interval: 6000 gitSync: command: - /bin/bash - -ec - | [[ -f "/opt/bitnami/scripts/git/entrypoint.sh" ]] && source "/opt/bitnami/scripts/git/entrypoint.sh" while true; do cd /app && git config --global --add safe.directory /app && git pull origin main sleep 6000 done