Compare commits

...

5 commits

Author SHA1 Message Date
Vitaliy Filippov
25401592e1 Bump version to 0.38.3, following GeeseFS
- Make long directory listings faster (remove O(N^2))
- Fix long directory listings where some files could be skipped due to inode expiration
- Remove extra empty COPY requests when metadata is not changed
- Add --fsync-on-close option for synchronous s3fs-like mode
- Fix --disable-xattr error code
- Do not try to switch between STANDARD and COLD based on the object size
2023-09-28 11:45:36 +03:00
Vitaliy Filippov
8d1ad692e5 Add github pages helm chart URL 2023-09-13 16:53:02 +03:00
Vitaliy Filippov
16c6c0ee13
Merge pull request from kopytov/mime-types
Add /etc/mime.types to csi-s3 image
2023-08-30 16:40:06 +03:00
Vitaliy Filippov
227e1cf2dd Publish helm chart to github pages 2023-08-28 18:41:38 +03:00
Dmitry Kopytov
6cfd3ebbb6 Add mailcap installation to Dockerfile 2023-08-25 12:20:47 +03:00
15 changed files with 72 additions and 12 deletions

48
.github/workflows/pages.yml vendored Normal file
View file

@ -0,0 +1,48 @@
name: Publish Helm chart
on:
push:
branches:
- master
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: write
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Pages
uses: actions/configure-pages@v3
- name: Publish Helm chart
uses: stefanprodan/helm-gh-pages@0ad2bb377311d61ac04ad9eb6f252fb68e207260 # v1.7.0
with:
# GitHub automatically creates a GITHUB_TOKEN secret to use in your workflow. You can use the GITHUB_TOKEN to authenticate in a workflow run.
# See https://docs.github.com/en/actions/reference/authentication-in-a-workflow#about-the-github_token-secret
token: ${{ secrets.GITHUB_TOKEN }}
branch: github-pages
charts_dir: deploy/helm
target_dir: charts
linting: off

View file

@ -11,7 +11,7 @@ FROM alpine:3.17
LABEL maintainers="Vitaliy Filippov <vitalif@yourcmc.ru>"
LABEL description="csi-s3 slim image"
RUN apk add --no-cache fuse rclone
RUN apk add --no-cache fuse mailcap rclone
RUN apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/community s3fs-fuse
ADD https://github.com/yandex-cloud/geesefs/releases/latest/download/geesefs-linux-amd64 /usr/bin/geesefs

View file

@ -17,7 +17,7 @@ REGISTRY_NAME=cr.yandex/crp9ftr22d26age3hulg
REGISTRY_NAME2=cr.il.nebius.cloud/crll7us9n6i5j3v4n92m
IMAGE_NAME=csi-s3
IMAGE_NAME2=yandex-cloud/csi-s3/csi-s3-driver
VERSION ?= 0.37.4
VERSION ?= 0.38.3
IMAGE_TAG=$(REGISTRY_NAME)/$(IMAGE_NAME):$(VERSION)
TEST_IMAGE_TAG=$(IMAGE_NAME):test

View file

@ -10,7 +10,19 @@ This is a Container Storage Interface ([CSI](https://github.com/container-storag
* Kubernetes has to allow privileged containers
* Docker daemon must allow shared mounts (systemd flag `MountFlags=shared`)
### 1. Create a secret with your S3 credentials
### Helm chart
Helm chart is published at `https://yandex-cloud.github.io/k8s-csi-s3`:
```
helm repo add yandex-s3 https://yandex-cloud.github.io/k8s-csi-s3/charts
helm install csi-s3 yandex-s3/csi-s3
```
### Manual installation
#### 1. Create a secret with your S3 credentials
```yaml
apiVersion: v1
@ -30,7 +42,7 @@ stringData:
The region can be empty if you are using some other S3 compatible storage.
### 2. Deploy the driver
#### 2. Deploy the driver
```bash
cd deploy/kubernetes
@ -47,13 +59,13 @@ wget https://raw.githubusercontent.com/yandex-cloud/k8s-csi-s3/v0.35.5/deploy/ku
kubectl delete -f attacher.yaml
```
### 3. Create the storage class
#### 3. Create the storage class
```bash
kubectl create -f examples/storageclass.yaml
```
### 4. Test the S3 driver
#### 4. Test the S3 driver
1. Create a pvc using the new storage class:

View file

@ -1,9 +1,9 @@
---
apiVersion: v1
appVersion: 0.37.4
appVersion: 0.38.3
description: "Container Storage Interface (CSI) driver for S3 volumes"
name: csi-s3
version: 0.37.4
version: 0.38.3
keywords:
- s3
home: https://github.com/yandex-cloud/k8s-csi-s3

View file

@ -1,6 +1,6 @@
helm_chart:
name: cr.yandex/crp9ftr22d26age3hulg/yandex-cloud/csi-s3/csi-s3
tag: 0.37.4
tag: 0.38.3
requirements:
k8s_version: ">=1.13"
images:

View file

@ -5,7 +5,7 @@ images:
# Source: quay.io/k8scsi/csi-provisioner:v2.1.0
provisioner: cr.yandex/crp9ftr22d26age3hulg/yandex-cloud/csi-s3/csi-provisioner:v2.1.0
# Main image
csi: cr.yandex/crp9ftr22d26age3hulg/yandex-cloud/csi-s3/csi-s3-driver:0.37.4
csi: cr.yandex/crp9ftr22d26age3hulg/yandex-cloud/csi-s3/csi-s3-driver:0.38.3
storageClass:
# Specifies whether the storage class should be created

View file

@ -70,7 +70,7 @@ spec:
capabilities:
add: ["SYS_ADMIN"]
allowPrivilegeEscalation: true
image: cr.yandex/crp9ftr22d26age3hulg/csi-s3:0.37.4
image: cr.yandex/crp9ftr22d26age3hulg/csi-s3:0.38.3
imagePullPolicy: IfNotPresent
args:
- "--endpoint=$(CSI_ENDPOINT)"

View file

@ -88,7 +88,7 @@ spec:
- name: socket-dir
mountPath: /var/lib/kubelet/plugins/ru.yandex.s3.csi
- name: csi-s3
image: cr.yandex/crp9ftr22d26age3hulg/csi-s3:0.37.4
image: cr.yandex/crp9ftr22d26age3hulg/csi-s3:0.38.3
imagePullPolicy: IfNotPresent
args:
- "--endpoint=$(CSI_ENDPOINT)"