You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
service: Add admin user concept and app def scaling endpoint (#400)
* service: Add admin user support via annotation
- Introduce the `@AdminOnly` annotation to mark REST resources or methods as accessible only to admin users.
- Implement AdminOnlyFilter that intercepts requests and aborts non-admin users with a 403 Forbidden response.
- Update ApplicationProperties to include a configurable admin group name property ("theia.cloud.auth.admin.group")
with a default value of "theia-cloud/admin".
- Enhance TheiaCloudUser by adding an admin flag.
- Modify TheiaCloudUserProducer to derive the admin status from the MicroProfile JWT's groups claim.
- Add tests for the new admin-only filter, properties, and user producer functionality.
- Extend service Dockerfile to allow configuring the admin group name via environment variable.
* service: Add admin endpoint to update app def's min/max instances
- Add new resource AdminAppDefinitionAdminResource for all admin endpoints regarding app definitions
- Minor extensions in K8SUtil, AppDefinitionSpec to allow editing min/max instances
- Add tests for AdminAppDefintionAdminResource
- Add RootAdminResource with a ping endpoint that only returns if the user is an admin
- Regenerate OpenAPI definition, docs and common code
* terrafom: Add admin user group and outputs for Keycloak module
Extend Keycloak terraform module:
- Define an admin group with the default name
- Export realm, admin group and test users via outputs
Test setup:
- Add test user foo to the admin group
- Document how to get a Keycloak access token on the command line
* fix: Update Keycloak URL in tasks.json to include realm path
This is required for the Quarkus dev server to discover the OIDC config.
Also see the official documentation:
https://quarkus.io/guides/security-oidc-configuration-properties-reference#quarkus-oidc_quarkus-oidc-auth-server-url
|**apiVersion**|**String**||[optional][default to null]|
7
+
|**kind**|**String**||[optional][default to null]|
8
+
|**metadata**|[**ObjectMeta**](ObjectMeta.md)||[optional][default to null]|
9
+
|**spec**|[**AppDefinitionSpec**](AppDefinitionSpec.md)||[optional][default to null]|
10
+
|**status**|[**AppDefinitionStatus**](AppDefinitionStatus.md)||[optional][default to null]|
11
+
|**singular**|**String**||[optional][default to null]|
12
+
|**crdName**|**String**||[optional][default to null]|
13
+
|**scope**|**String**||[optional][default to null]|
14
+
|**plural**|**String**||[optional][default to null]|
15
+
|**served**|**Boolean**||[optional][default to null]|
16
+
|**storage**|**Boolean**||[optional][default to null]|
17
+
|**deprecated**|**Boolean**||[optional][default to null]|
18
+
|**deprecationWarning**|**String**||[optional][default to null]|
19
+
20
+
[[Back to Model list]](../README.md#documentation-for-models)[[Back to API list]](../README.md#documentation-for-api-endpoints)[[Back to README]](../README.md)
|**operatorStatus**|**String**||[optional][default to null]|
7
+
|**operatorMessage**|**String**||[optional][default to null]|
8
+
9
+
[[Back to Model list]](../README.md#documentation-for-models)[[Back to API list]](../README.md#documentation-for-api-endpoints)[[Back to README]](../README.md)
|**appId**|**String**| The App Id of this Theia Cloud instance. Request without a matching Id will be denied. |[default to null]|
7
+
|**minInstances**|**Integer**| The minimum number of instances to run. |[optional][default to null]|
8
+
|**maxInstances**|**Integer**| The maximum number of instances to run. |[optional][default to null]|
9
+
10
+
[[Back to Model list]](../README.md#documentation-for-models)[[Back to API list]](../README.md#documentation-for-api-endpoints)[[Back to README]](../README.md)
|**apiVersion**|**String**||[optional][default to null]|
7
+
|**fieldsType**|**String**||[optional][default to null]|
8
+
|**fieldsV1**|[**Object**](.md)||[optional][default to null]|
9
+
|**manager**|**String**||[optional][default to null]|
10
+
|**operation**|**String**||[optional][default to null]|
11
+
|**subresource**|**String**||[optional][default to null]|
12
+
|**time**|**String**||[optional][default to null]|
13
+
14
+
[[Back to Model list]](../README.md#documentation-for-models)[[Back to API list]](../README.md#documentation-for-api-endpoints)[[Back to README]](../README.md)
|**annotations**|**Map**||[optional][default to null]|
7
+
|**creationTimestamp**|**String**||[optional][default to null]|
8
+
|**deletionGracePeriodSeconds**|**Long**||[optional][default to null]|
9
+
|**deletionTimestamp**|**String**||[optional][default to null]|
10
+
|**finalizers**|**List**||[optional][default to null]|
11
+
|**generateName**|**String**||[optional][default to null]|
12
+
|**generation**|**Long**||[optional][default to null]|
13
+
|**labels**|**Map**||[optional][default to null]|
14
+
|**managedFields**|[**List**](ManagedFieldsEntry.md)||[optional][default to null]|
15
+
|**name**|**String**||[optional][default to null]|
16
+
|**namespace**|**String**||[optional][default to null]|
17
+
|**ownerReferences**|[**List**](OwnerReference.md)||[optional][default to null]|
18
+
|**resourceVersion**|**String**||[optional][default to null]|
19
+
|**selfLink**|**String**||[optional][default to null]|
20
+
|**uid**|**String**||[optional][default to null]|
21
+
22
+
[[Back to Model list]](../README.md#documentation-for-models)[[Back to API list]](../README.md#documentation-for-api-endpoints)[[Back to README]](../README.md)
|**apiVersion**|**String**||[optional][default to null]|
7
+
|**kind**|**String**||[optional][default to null]|
8
+
|**blockOwnerDeletion**|**Boolean**||[optional][default to null]|
9
+
|**controller**|**Boolean**||[optional][default to null]|
10
+
|**name**|**String**||[optional][default to null]|
11
+
|**uid**|**String**||[optional][default to null]|
12
+
13
+
[[Back to Model list]](../README.md#documentation-for-models)[[Back to API list]](../README.md#documentation-for-api-endpoints)[[Back to README]](../README.md)
0 commit comments