Conversation
a186334 to
4fb73c9
Compare
09b2013 to
f98a192
Compare
imobachgs
left a comment
There was a problem hiding this comment.
The infrastructure of the service looks good, but the logic is wrong. Agama keeps the configuration for the first user (under the user key) and the root (using the root key). There is nothing like a list of users.
Additionally, it does not read the list of users from the underlying system. It just uses its own configuration.
Please, check User and root for further information about the format.
|
Set users config using query: Query for reading the config was: |
|
Schema fixed to work with: Get query on config answers with: |
imobachgs
left a comment
There was a problem hiding this comment.
Now it is looking good. But, please, update the description (now it only handles the configuration). We can work on the remaining stuff on a separate PR.
b2dc51f to
d848042
Compare
|
Rebased on top of current api-v2 branch |
c3e82f3 to
212964c
Compare
d8fcf5f to
4a061ec
Compare
imobachgs
left a comment
There was a problem hiding this comment.
I still some confusion with UserSettings and Config. Please, check the comments.
- UserSettings was copied from agama-lib - also dropped reading users from system - we don't care
imobachgs
left a comment
There was a problem hiding this comment.
OK, we are almost there. Just minor comments. Otherwise it is looking good :-)
## Problem #2937 introduced a new API to configure authentication (root and the first non-root user). But the web interface is still not adapted ## Solution This adapts the web interface to use the new API. It also adds a new entry about Authentication for the installation summary, making it possible to reach the corresponding section of the UI. ## Hack alert To make sure the UI is refreshed after discarding the first user, the page displaying that user gets the information from the proposal, instead of getting it from the configuration. Once config is fixed in the backend to also emit events on every change that could be reverted. It is done in a separate commit so ease the task. ## Bonus This pull request also include fixes for RegistrationSummary and StorageSumary ## Disclaimer The `hasIssues` flag of `UsersSummary` is based on the existence of issues in the scope. Currently such issues are only generated when the service is started. If the configuration is then fixed (let's say a password is set for root) and broken again (let's say the root password is removed afterwards), then the issue will not be re-generated and the interface will not display the corresponding warning icon. That needs to be fixed in the backend. ## Testing - Unit tests adapted. Unit tests that were commented out were brought back to life. - Tested manually ## Screenshots <img width="1021" height="556" alt="users1b" src="https://github.com/user-attachments/assets/a29019ae-5c5d-4504-be0e-c82cb2ac11c0" /> <img width="1017" height="575" alt="users2b" src="https://github.com/user-attachments/assets/fc7d3aed-47ad-4f12-987c-d3ba7a606e28" /> <img width="479" height="674" alt="users-error" src="https://github.com/user-attachments/assets/2b1e4a0a-e512-4ebd-bf5e-590ead4b5bf0" />
## Problem So far setting users configuration was re-implemented to rust (#2937), but no data were written. ## Solution Implemented Install message handler in user's service ## Testing - *Tested manually* ## TODO: - ~~set user's details (like full name).~~ - ~~store ssh keys for root~~
Prepare to release version 19. * #1829 * #2508 * #2772 * #2818 * #2826 * #2848 * #2860 * #2863 * #2864 * #2866 * #2867 * #2869 * #2870 * #2871 * #2872 * #2873 * #2874 * #2875 * #2876 * #2877 * #2880 * #2881 * #2882 * #2884 * #2885 * #2886 * #2891 * #2892 * #2893 * #2894 * #2895 * #2896 * #2897 * #2898 * #2899 * #2900 * #2901 * #2902 * #2903 * #2904 * #2908 * #2909 * #2910 * #2912 * #2913 * #2914 * #2915 * #2916 * #2917 * #2918 * #2920 * #2921 * #2923 * #2924 * #2926 * #2928 * #2929 * #2930 * #2933 * #2934 * #2935 * #2936 * #2937 * #2938 * #2939 * #2942 * #2943 * #2944 * #2945 * #2946 * #2947 * #2948 * #2949 * #2950 * #2951 * #2952 * #2954 * #2955 * #2956 * #2957 * #2958 * #2959 * #2960 * #2961 * #2963 * #2964 * #2965 * #2967 * #2968 * #2969 * #2970 * #2971 * #2972 * #2974 * #2975 * #2977 * #2978 * #2980 * #2981 * #2982 * #2983 * #2984 * #2988 * #2989 * #2990 * #2991 * #2992 * #2993 * #2994 * #2995 * #2996 * #2997 * #2998 * #2999 * #3000 * #3001 * #3002 * #3004 * #3005 * #3006 * #3007 * #3008 * #3009 * #3011 * #3012 * #3013 * #3014 * #3015 * #3016 * #3018 * #3019 * #3020 * #3021 * #3022 * #3023 * #3024 * #3025 * #3026 * #3027 * #3028 * #3029 * #3030 * #3031 * #3033 * #3034 * #3035 * #3036 * #3037 * #3039 * #3040 * #3041 * #3042 * #3043 * #3044 * #3045 * #3046 * #3047 * #3048 * #3049 * #3050 * #3051 * #3052 * #3053 * #3054 * #3055 * #3056 * #3057 * #3058 * #3060 * #3061 * #3062 * #3063 * #3064 * #3065 * #3066 * #3067 * #3068 * #3069 * #3070 * #3071 * #3072 * #3073 * #3074 * #3075 * #3076 * #3077 * #3078 * #3079 * #3086 * #3087 * #3088 * #3089 * #3090 * #3091 * #3092 * #3093 * #3094 * #3095 * #3096 * #3097 * #3098 * #3099 * #3100 * #3101 * #3102 * #3103 * #3104 * #3105 * #3106 * #3107 * #3108 * #3109 * #3110 * #3112 * #3113 * #3114 * #3115 * #3116 * #3117 * #3118 * #3119 * #3120 * #3122 * #3123 * #3124 * #3127 * #3128 * #3129 * #3130 * #3131 * #3133 * #3134 * #3135 * #3136 * #3137 * #3138 * #3139 * #3140 * #3141 * #3142 * #3143 * #3144 * #3145 * #3146 * #3147 * #3148 * #3149 * #3150 * #3151 * #3152 * #3153 * #3154 * #3155 * #3157 * #3158 * #3159 * #3160 * #3161 * #3162 * #3163 * #3164 * #3165 * #3166 * #3167 * #3168 * #3169 * #3170 * #3174 * #3175 * #3176 * #3177 * #3178 * #3179 * #3181 * #3182 * #3184 * #3185 * #3186 * #3188 * #3189 * #3190 * #3191 * #3192 * #3194 * #3195 * #3196 * #3197 * #3198 * #3199 * #3200 * #3201 * #3202 * #3203 * #3205 * #3206 * #3208 * #3209 * #3210 * #3213 * #3214 * #3215 * #3216 * #3217 * #3218 * #3219 * #3220 * #3222 * #3223 * #3224 * #3225 * #3226 * #3227 * #3228 * #3229 * #3230 * #3231 * #3232 * #3233 * #3234 * #3235 * #3236 * #3237 * #3238 * #3239 * #3240 * #3241 * #3242 * #3243 * #3244 * #3246 * #3247 * #3248 * #3250 * #3251 * #3252 * #3253 * #3254 * #3255 * #3256 * #3257 * #3258 * #3259 * #3260 * #3261 * #3262 * #3263 * #3265 * #3266 * #3267 * #3268 * #3269 * #3270 * #3271 * #3272 * #3273 * #3274 * #3275 * #3276 * #3277 * #3278 * #3279 * #3280 * #3281 * #3282 * #3283 * #3284 * #3285 * #3286 * #3287 * #3288 * #3289 * #3290 * #3291


Problem
Current stable version of Agama is mixture of several languages and technologies. Users service was originally written in ruby. As we later on decided to prefer rust for various reasons, it makes sense to rewrite users service to rust.
Solution
This is initial PR for transition of users service to rust. Currently handles GET, PUT, PATCH /config and GET /proposal. However, no install action yet.
Testing