Skip to content

Commit e2e8cbe

Browse files
authored
Erasure Coding Parity (#231)
1 parent b9b776c commit e2e8cbe

File tree

4 files changed

+24
-1
lines changed

4 files changed

+24
-1
lines changed

models/create_tenant_request.go

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

restapi/admin_tenants.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,18 @@ func getTenantCreatedResponse(session *models.Principal, params admin_api.Create
399399
return nil, err
400400
}
401401

402+
var envrionmentVariables []corev1.EnvVar
403+
// Check the Erasure Coding Parity for validity and pass it to Tenant
404+
if tenantReq.ErasureCodingParity > 0 {
405+
if tenantReq.ErasureCodingParity < 2 && tenantReq.ErasureCodingParity > 8 {
406+
return nil, errors.New("invalid Erasure Coding Value")
407+
}
408+
envrionmentVariables = append(envrionmentVariables, corev1.EnvVar{
409+
Name: "MINIO_STORAGE_CLASS_STANDARD",
410+
Value: fmt.Sprintf("%d", tenantReq.ErasureCodingParity),
411+
})
412+
}
413+
402414
//Construct a MinIO Instance with everything we are getting from parameters
403415
minInst := operator.Tenant{
404416
ObjectMeta: metav1.ObjectMeta{
@@ -410,7 +422,7 @@ func getTenantCreatedResponse(session *models.Principal, params admin_api.Create
410422
CredsSecret: &corev1.LocalObjectReference{
411423
Name: secretName,
412424
},
413-
Env: []corev1.EnvVar{},
425+
Env: envrionmentVariables,
414426
},
415427
}
416428
idpEnabled := false

restapi/embedded_spec.go

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

swagger.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1827,6 +1827,8 @@ definitions:
18271827
default: true
18281828
namespace:
18291829
type: string
1830+
erasureCodingParity:
1831+
type: integer
18301832
annotations:
18311833
type: object
18321834
additionalProperties:

0 commit comments

Comments
 (0)