Tiers & lifecycle implementation (#615)

* Tiers & lifecycle implementation

* Add a feature flag for ILM

* Update pkg/auth/idp/oauth2/provider.go

Co-authored-by: Lenin Alevski <alevsk.8772@gmail.com>

Co-authored-by: Benjamin Perez <benjamin@bexsoft.net>
Co-authored-by: Daniel Valdivia <hola@danielvaldivia.com>
Co-authored-by: Lenin Alevski <alevsk.8772@gmail.com>
This commit is contained in:
Alex
2021-03-09 14:36:48 -06:00
committed by GitHub
parent d4a69978fc
commit ac77b8b441
77 changed files with 9169 additions and 61 deletions

View File

@@ -105,6 +105,12 @@ type MinioAdmin interface {
changePassword(ctx context.Context, accessKey, secretKey string) error
serverHealthInfo(ctx context.Context, healthDataTypes []madmin.HealthDataType, deadline time.Duration) <-chan madmin.HealthInfo
// List Tiers
listTiers(ctx context.Context) ([]*madmin.TierConfig, error)
// Add Tier
addTier(ctx context.Context, tier *madmin.TierConfig) error
// Edit Tier Credentials
editTierCreds(ctx context.Context, tierName string, creds madmin.TierCreds) error
}
// Interface implementation
@@ -295,6 +301,21 @@ func (ac adminClient) serverHealthInfo(ctx context.Context, healthDataTypes []ma
return ac.client.ServerHealthInfo(ctx, healthDataTypes, deadline)
}
// implements madmin.listTiers()
func (ac adminClient) listTiers(ctx context.Context) ([]*madmin.TierConfig, error) {
return ac.client.ListTiers(ctx)
}
// implements madmin.AddTier()
func (ac adminClient) addTier(ctx context.Context, cfg *madmin.TierConfig) error {
return ac.client.AddTier(ctx, cfg)
}
// implements madmin.EditTier()
func (ac adminClient) editTierCreds(ctx context.Context, tierName string, creds madmin.TierCreds) error {
return ac.client.EditTier(ctx, tierName, creds)
}
func newMAdminClient(sessionClaims *models.Principal) (*madmin.AdminClient, error) {
adminClient, err := newAdminFromClaims(sessionClaims)
if err != nil {