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

Allow accessing the web UI from webpack #1074

Merged
merged 4 commits into from
Mar 6, 2024
Merged

Conversation

imobachgs
Copy link
Contributor

@imobachgs imobachgs commented Mar 6, 2024

Trello: https://trello.com/c/8fSBUP9P/3594-3-improve-agama-web-server-integration-with-the-web-ui

Accessing Agama server through webpack

When developing the web UI, you need to access Agama web server. Similarly to what we implemented for Cockpit, you can access it directly by setting the AGAMA_SERVER environment variable. By default, it is set to localhost:3000.

AGAMA_SERVER=localhost:4567 npm run server

The API is available under the /api path.

const ping = await fetch("/api/ping");

Service the web UI in agama-web-server

The new Agama web server will expose the web UI in the root (/) path. By default, it uses $HOME/.local/agama/web-ui, falling back to /usr/share/agama/web-ui. However, you can override that route using the new --public-dir argument.

agama-web-server serve --public-dir /srv/agama/web-ui

NOTE: Additionally, we could implement support for reading the public directory from an environment variable (e.g., AGAMA_PUBLIC_DIR). In that case, you could use dotenv (or your favorite alternative) to set it automatically to ../web/dist.

Tasks

  • Access Agama server from webpack
  • Serve the web UI through agama-web-server
  • Move the API to /api
  • Update the documentation

@coveralls
Copy link

coveralls commented Mar 6, 2024

Coverage Status

coverage: 74.923% (-10.3%) from 85.218%
when pulling 08c8700 on web-dx
into 7de4495 on architecture_2024.

web/README.md Outdated Show resolved Hide resolved
web/webpack.config.js Show resolved Hide resolved
Copy link
Contributor

@dgdavid dgdavid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just a typo

rust/agama-server/src/web/service.rs Outdated Show resolved Hide resolved
Co-authored-by: David Díaz <[email protected]>
@imobachgs imobachgs merged commit 3d97d73 into architecture_2024 Mar 6, 2024
3 checks passed
@imobachgs imobachgs deleted the web-dx branch March 6, 2024 13:01
imobachgs added a commit that referenced this pull request May 6, 2024
After a few months of work, it is time to merge the `architecture_2024`
branch into `master`. It is still a work-in-progress, but all the
efforts should be go now against that branch.

## Pull requests

* #1061
* #1064
* #1073
* #1074
* #1080
* #1089
* #1091
* #1092
* #1094
* #1095
* #1099
* #1100
* #1102
* #1103
* #1112
* #1114
* #1116
* #1117
* #1119
* #1120
* #1123
* #1126
* #1129
* #1130
* #1131
* #1132
* #1133
* #1134
* #1136
* #1139
* #1140
* #1143
* #1146

## Other commits

* 8efa41f
* 9e2dec0
@imobachgs imobachgs mentioned this pull request May 17, 2024
imobachgs added a commit that referenced this pull request May 17, 2024
Prepare for releasing Agama 8. It includes the following pull requests:

* #884
* #886
* #914
* #918
* #956
* #957
* #958
* #959
* #960
* #961
* #962
* #963
* #964
* #965
* #966
* #969
* #970
* #976
* #977
* #978
* #979
* #980
* #981
* #983
* #984
* #985
* #986
* #988
* #991
* #992
* #995
* #996
* #997
* #999
* #1003
* #1004
* #1006
* #1007
* #1008
* #1009
* #1010
* #1011
* #1012
* #1014
* #1015
* #1016
* #1017
* #1020
* #1022
* #1023
* #1024
* #1025
* #1027
* #1028
* #1029
* #1030
* #1031
* #1032
* #1033
* #1034
* #1035
* #1036
* #1038
* #1039
* #1041
* #1042
* #1043
* #1045
* #1046
* #1047
* #1048
* #1052
* #1054
* #1056
* #1057
* #1060
* #1061
* #1062
* #1063
* #1064
* #1066
* #1067
* #1068
* #1069
* #1071
* #1072
* #1073
* #1074
* #1075
* #1079
* #1080
* #1081
* #1082
* #1085
* #1086
* #1087
* #1088
* #1089
* #1090
* #1091
* #1092
* #1093
* #1094
* #1095
* #1096
* #1097
* #1098
* #1099
* #1100
* #1102
* #1103
* #1104
* #1105
* #1106
* #1109
* #1110
* #1111
* #1112
* #1114
* #1116
* #1117
* #1118
* #1119
* #1120
* #1121
* #1122
* #1123
* #1125
* #1126
* #1127
* #1128
* #1129
* #1130
* #1131
* #1132
* #1133
* #1134
* #1135
* #1136
* #1138
* #1139
* #1140
* #1141
* #1142
* #1143
* #1144
* #1145
* #1146
* #1147
* #1148
* #1149
* #1151
* #1152
* #1153
* #1154
* #1155
* #1156
* #1157
* #1158
* #1160
* #1161
* #1162
* #1163
* #1164
* #1165
* #1166
* #1167
* #1168
* #1169
* #1170
* #1171
* #1172
* #1173
* #1174
* #1175
* #1177
* #1178
* #1180
* #1181
* #1182
* #1183
* #1184
* #1185
* #1187
* #1188
* #1189
* #1190
* #1191
* #1192
* #1193
* #1194
* #1195
* #1196
* #1198
* #1199
* #1200
* #1201
* #1203
* #1204
* #1205
* #1206
* #1207
* #1208
* #1209
* #1210
* #1211
* #1212
* #1213
* #1214
* #1215
* #1216
* #1217
* #1219
* #1220
* #1221
* #1222
* #1223
* #1224
* #1225
* #1226
* #1227
* #1229
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.

3 participants