- It's recommended using this directory (
/frontend) as root for your workspace. - We use
pnpmfor package management, you should have it installed before getting started. (Tutorial) - Desktop app is under
desktop/directory, sub apps are underproviders/<package>/.
The post install script will run automatically, and local packages should be built.
pnpm installcd desktop
pnpm gen:global && pnpm gen:region.env.template files are located at the workspace root directory for each app. Duplicate and rename them to .env, then fill the required configurations.
NEXT_PUBLIC_MOCK_USER is the kubeconfig mocked for development, you can copy it from your Sealos desktop. (Only one line allowed, you should escape the line breaks)
You can either run apps in workspace root or in specific app's directory.
# Run desktop app
pnpm dev-desktop
# Run specific provider app
pnpm dev-app # applaunchpad
pnpm dev-db # dbprovider
pnpm dev-cost # costcenter
pnpm dev-terminal # terminal
pnpm dev-template # template
pnpm dev-cronjob # cronjob
pnpm dev-devbox # devbox
# or run dev script in app's package directory
cd desktop
pnpm devcd frontend
# add remote
pnpm --filter=<path> -r add <package>
# such as:
# pnpm --filter=providers/costcenter -r add lodash
# pnpm --filter=desktop -r add lodash
# add local
pnpm --filter=<path> -r --offline add <package>
# such as:
# pnpm --filter=providers/costcenter -r --offline add @labring/sealos-desktop-sdk
# pnpm --filter=desktop -r --offline add @labring/sealos-desktop-sdk# sealos/frontend
make image-build-<app> DOCKER_USERNAME=<your_account> IMAGE_TAG=<tag>
# such as:
# make image-build-providers/costcenter
# make image-build-desktop
# make image-build-desktop IMAGE_TAG=test DOCKER_USERNAME=sealos
# multi jobs build
make -j- you can use
make all DOCKER_USERNAME=<your_account>to build all apps for your account. - you can user
make all IMAGE_TAG=<tag>to build all apps and customize tag (default:dev)
# sealos/frontend
make image-push-<app> DOCKER_USERNAME=<your_account> IMAGE_TAG=<tag>
# such as:
# make image-push-providers/costcenter
# make image-push-desktop
# publish all
make push-images DOCKER_USERNAME=<your_account> IMAGE_TAG=<tag>Refer to other apps to add some configuration.
- .github/workflows/frontends.yml
- frontend/providers/app/deploy/manifests/appcr.yaml.tmpl
- frontend/providers/app/deploy/manifests/deploy.yaml
- frontend/providers/app/deploy/manifests/ingress.yaml.tmpl
- makefile
In order to support multiple namespaces, the method of obtaining 'namespace' in the backend should be replaced with the method of obtaining it from 'kubeconfig' instead of adding 'ns-' to 'user' for generation purpose.