diff --git a/manifests/kustomize/third-party/seaweedfs/base/seaweedfs/kustomization.yaml b/manifests/kustomize/third-party/seaweedfs/base/seaweedfs/kustomization.yaml index 9dbf9e742b3..f2306acabfe 100644 --- a/manifests/kustomize/third-party/seaweedfs/base/seaweedfs/kustomization.yaml +++ b/manifests/kustomize/third-party/seaweedfs/base/seaweedfs/kustomization.yaml @@ -6,7 +6,6 @@ resources: - seaweedfs-deployment.yaml - seaweedfs-pvc.yaml - seaweedfs-networkpolicy.yaml -- seaweedfs-create-admin-user-job.yaml - seaweedfs-service.yaml - seaweedfs-service-account.yaml - minio-service.yaml diff --git a/manifests/kustomize/third-party/seaweedfs/base/seaweedfs/seaweedfs-create-admin-user-job.yaml b/manifests/kustomize/third-party/seaweedfs/base/seaweedfs/seaweedfs-create-admin-user-job.yaml deleted file mode 100644 index 0fcbfe00e2e..00000000000 --- a/manifests/kustomize/third-party/seaweedfs/base/seaweedfs/seaweedfs-create-admin-user-job.yaml +++ /dev/null @@ -1,77 +0,0 @@ -kind: Job -apiVersion: batch/v1 -metadata: - name: init-seaweedfs -spec: - template: - metadata: - name: init-seaweedfs - spec: - securityContext: - seccompProfile: - type: RuntimeDefault - restartPolicy: OnFailure - containers: - - name: init-seaweedfs - image: 'chrislusf/seaweedfs:3.85' - env: - - name: WEED_CLUSTER_DEFAULT - value: "sw" - - name: WEED_CLUSTER_SW_MASTER - value: "seaweedfs.kubeflow:9333" - envFrom: - - secretRef: - name: mlpipeline-minio-artifact - command: - - "/bin/sh" - - "-ec" - - | - wait_for_service() { - local url=$1 - local max_attempts=60 # 5 minutes total (5s * 60) - local attempt=1 - - echo "Waiting for service at $url..." - while [ $attempt -le $max_attempts ]; do - if wget -q --spider "$url" >/dev/null 2>&1; then - echo "Service at $url is up!" - return 0 - fi - echo "Attempt $attempt: Service not ready yet, retrying in 5s..." - sleep 5 - attempt=$((attempt + 1)) - done - echo "Service at $url failed to become ready within 5 minutes" - exit 1 - } - wait_for_service "http://minio-service.kubeflow:9000/status" - echo "Creating S3 bucket..." - echo "s3.bucket.create --name mlpipeline" | /usr/bin/weed shell > /dev/null 2>&1 - if [ $? -eq 0 ]; then - echo "Bucket created successfully" - else - echo "Failed to create bucket or bucket already exists" - fi - echo "Configuring S3 credentials..." - echo "s3.configure -user kubeflow-admin \ - -access_key $accesskey \ - -secret_key $secretkey \ - -actions Admin \ - -apply" | /usr/bin/weed shell > /dev/null 2>&1 - if [ $? -eq 0 ]; then - echo "S3 credentials configured successfully" - else - echo "Failed to configure S3 credentials" - exit 1 - fi - securityContext: # Using restricted profile - allowPrivilegeEscalation: false - privileged: false - runAsNonRoot: true - # image defaults to root user - runAsUser: 1001 - runAsGroup: 1001 - capabilities: - drop: - - ALL - serviceAccountName: seaweedfs diff --git a/manifests/kustomize/third-party/seaweedfs/base/seaweedfs/seaweedfs-deployment.yaml b/manifests/kustomize/third-party/seaweedfs/base/seaweedfs/seaweedfs-deployment.yaml index 635e8ac6e37..31a0a16f201 100644 --- a/manifests/kustomize/third-party/seaweedfs/base/seaweedfs/seaweedfs-deployment.yaml +++ b/manifests/kustomize/third-party/seaweedfs/base/seaweedfs/seaweedfs-deployment.yaml @@ -24,14 +24,35 @@ spec: type: RuntimeDefault containers: - name: seaweedfs - image: 'chrislusf/seaweedfs:3.92' + envFrom: + - secretRef: + name: mlpipeline-minio-artifact + image: "chrislusf/seaweedfs:3.92" args: - - 'server' - - '-dir=/data' - - '-s3' - - '-iam' - - '-filer' - - '-master.volumePreallocate=false' + - "server" + - "-dir=/data" + - "-s3" + - "-iam" + - "-filer" + - "-master.volumePreallocate=false" + lifecycle: + postStart: + exec: + command: + - /bin/sh + - -ec + - | + # wait until seaweedfs master is ready + for i in $(seq 1 120); do + if wget -q --spider http://127.0.0.1:8333/status; then + break + fi + sleep 2 + done + # create bucket if not exists (ignore error if exists) + echo "s3.bucket.create --name mlpipeline" | /usr/bin/weed shell || true + # configure admin user using keys from secret + echo "s3.configure -user kubeflow-admin -access_key $accesskey -secret_key $secretkey -actions Admin -apply" | /usr/bin/weed shell ports: - containerPort: 8333 - containerPort: 8111 @@ -48,7 +69,7 @@ spec: successThreshold: 1 failureThreshold: 100 timeoutSeconds: 10 - securityContext: # Using restricted profile + securityContext: # Using restricted profile allowPrivilegeEscalation: false privileged: false runAsNonRoot: true