Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tenant runtimeclass #2565

Merged
merged 6 commits into from
Jan 12, 2023
Merged

Conversation

allanrogerr
Copy link
Contributor

@allanrogerr allanrogerr commented Jan 10, 2023

What does this do?

This provides the ability to set the runtimeClassName of a tenant in the UI. See minio/operator#1337 (comment)
Fixes: minio/operator#1337

How is it used?

The UI will invoke an endpoint using the free text string field"runtimeClassName": "<some runtime class name string>" from the Tenant creation screen under the section "Configuration"
e.g.

curl 'http://192.168.64.28:9090/api/v1/tenants' -X POST -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:108.0) Gecko/20100101 Firefox/108.0' -H 'Accept: */*' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate' -H 'Content-Type: application/json' -H 'Origin: http://192.168.64.28:9090' -H 'Connection: keep-alive' -H 'Referer: http://192.168.64.28:9090/tenants/add' -H 'Cookie: token=ADfZ7Rtk3Pn1aZKuXu+pwLsV13dpwlwJSUnhQmZdOfjefmXuhSJHeVwgju9fuf7PZhYmBE2CsggvgykJ5hKpfICbBgHzDPPuD7oe2SUAiHX5wtujSauNCO5P9R12qfed5KgDRVR+HDkL7snTMQjZxRW56uQU8O/aqrsz8EvioqKrIPrQqD6hh1QdFdCwf4jXi0WSz5lWofUj7sZuxVSNkoa2wjTW70Qk3JdlcvYrEH81OOpAdSVE61Qvqwp/I42mpC3Wo8MygDJqM9SpVwZaIs5JsiNAfjpqJMnih+SrNPwCW5KIetSZItIPX6U+MQArD4b2wheNNNZg3TdMxGKk+dU0Q89nRFt7shU+G+8BlyYMv+geDDcw0R3+nl9YjQFAaKRnUtdrC4EwrqeQ7pmxzYmid+JcsCyoG16v3x+rHKaJS0FiznpzUC9CAzEYfEiFh/HsWy0wyca0/416z5zoa/WnXSP9Xq4Acg5Ut/e96/E6AQNPJTw8yEtKTaNwpKaWzT4kch4fRRoDdMZ5YU22d05fJg822KiaPrveWsQ8UutplvGm5ULpIR40qwsRzmHOAoy03tOSC7lRADtr89+F8l5S4iAS1xDiOu4X35KtDVOb3VmRkr60oySnhMCWtrMLwC8ZM6c/aLl3XDqr1e4v5XBEuZcu+3Mrmge+PfFeEJoJRR2//02Pd1rxwFbjwwD6oTroID0XJ630XC2Mv2nUc+WzTpJrPVPjlGll1e2evTtIOFTQITkkayoAuTRPlJG4ANRdUxtZj0m8I7dvImDpcmVcvSbhPsuLtKEaJJ9GByNidwdTscisxC8Y1Z9Kr+5OMrsktadfYKQDoAr0Od7lwwjrAj6jnOL23osqddkx8jC7k7v/fTP7KALIgrhBQQifIMLUhdc2Q1qITAhG8PayhUoXtwcDGWUfc3QldIz7B9Hqy9zaY1PG3E+NTxgTPWs6a6/lCDrk780T0Ss3aoazn68nFIu4DaykeBdw/T/7gGkSa5DQUrKT9gyeiy78lXMH4AAtLHznDpLn7iAbNos/q10gKj4SwxszsNTGSU4PLcr+BQ6CgP7FMdFgdgiOHTFNeRw9L3Ed5DPbXYDdIlATBaI68Pi4zpjzB01Nb/kK3QLh7gorO4tpzBA8paLFLpP4UCfa9y6RrfKksawev3VUgUOZjVSCqgzRsY+de4Jgx1KM0+45S9SmDtP+D/U8R76+06AGMWKBjOspzNZhLXizeaIBpzcGBNTxS7AGAy3sj9+XOUs1nEd7wsZqY4kFdVwg67ZSfsL33cj5XFguRuspeXXJ2z7HL99nA10ZPH6EZRA54VxHNcLNvMYz20gRSKgTKhorKTMiDQONfA==' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' --data-raw '{"name":"test","namespace":"name","access_key":"","secret_key":"","access_keys":[],"secret_keys":[],"enable_tls":false,"enable_console":true,"enable_prometheus":true,"service_name":"","image":"","expose_minio":true,"expose_console":true,"pools":[{"name":"pool-0","servers":4,"volumes_per_server":1,"volume_configuration":{"size":4294967296,"storage_class_name":"local-path"},"securityContext":null,"affinity":{"podAntiAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":[{"labelSelector":{"matchExpressions":[{"key":"v1.min.io/tenant","operator":"In","values":["test"]},{"key":"v1.min.io/pool","operator":"In","values":["pool-0"]}]},"topologyKey":"kubernetes.io/hostname"}]}},"runtimeClassName": "crun","tolerations":[]}],"erasureCodingParity":4,"logSearchConfiguration":{"storageClass":"","storageSize":5,"image":"","postgres_image":"","postgres_init_image":"","securityContext":{"runAsUser":"1000","runAsGroup":"1000","fsGroup":"1000","fsGroupChangePolicy":"Always","runAsNonRoot":true},"postgres_securityContext":{"runAsUser":"999","runAsGroup":"999","fsGroup":"999","fsGroupChangePolicy":"Always","runAsNonRoot":true}},"prometheusConfiguration":{"storageClass":"","storageSize":5,"image":"","sidecar_image":"","init_image":"","securityContext":{"runAsUser":"1000","runAsGroup":"1000","fsGroup":"1000","fsGroupChangePolicy":"Always","runAsNonRoot":true}},"tls":{},"environmentVariables":[],"idp":{"keys":[{"access_key":"CmvQ7PnKtMdJXkPq","secret_key":"gTyOYgTSozI1mvcFlK30y6rPdUHOQQJu"}]}}'

@allanrogerr allanrogerr force-pushed the add-tenant-runtimeclass branch 2 times, most recently from 8bb8669 to 96c81f5 Compare January 11, 2023 06:21
Increase test coverage of tenant code with RuntimeClassName
@allanrogerr allanrogerr force-pushed the add-tenant-runtimeclass branch from a5c2b76 to 1e3b48c Compare January 11, 2023 07:18
operatorapi/tenants.go Outdated Show resolved Hide resolved
Adds components to interact with KMS server connected to minio
@allanrogerr allanrogerr force-pushed the add-tenant-runtimeclass branch from 76914d6 to f7cab57 Compare January 12, 2023 19:10
@allanrogerr allanrogerr force-pushed the add-tenant-runtimeclass branch from f7cab57 to 7bb75d7 Compare January 12, 2023 19:12
@dvaldivia dvaldivia merged commit 6a88d26 into minio:master Jan 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[bug] ensure non-empty $HOME in deployments
4 participants