Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
5d15c97
run with inactivity
hellt Jan 10, 2026
f0e5141
use branch image
hellt Jan 10, 2026
d903379
60s wait time
hellt Jan 10, 2026
f1aa9a2
another counter approach
hellt Jan 10, 2026
2ff7eb3
vibing the watcher script
hellt Jan 10, 2026
1756729
180s wait
hellt Jan 10, 2026
3d9464c
trying more proper font setting
hellt Jan 10, 2026
038334f
Use correct img, try without timeout wrapper
kaelemc Jan 10, 2026
4dc9925
Use kaelem testing args
kaelemc Jan 10, 2026
e383971
force rerun
kaelemc Jan 10, 2026
dfe57b0
Try a make override
kaelemc Jan 10, 2026
fe222f5
rebuild
kaelemc Jan 10, 2026
deb25d7
Bump retry count, and add the reconcile timeout (3mins)
kaelemc Jan 10, 2026
ded45b1
Disable default AI thingy
kaelemc Jan 10, 2026
dcdc0b0
gone but not forgotten
kaelemc Jan 10, 2026
93dffbd
Centralise env vars -> devc json, and try-eda params -> overrides
kaelemc Jan 10, 2026
be9f27d
Not everything can live in the overrides.mk seemingly
kaelemc Jan 10, 2026
8ce404a
another font attempt
hellt Jan 10, 2026
bd9b9dd
fg image pull
hellt Jan 10, 2026
3d1267e
pull in post create
hellt Jan 10, 2026
32de447
fix path for images
hellt Jan 10, 2026
d8e7185
pull in create
hellt Jan 10, 2026
5733a9a
Lower concurrent prepulls back to 4
kaelemc Jan 10, 2026
47539e0
pull in post create for process visibility
hellt Jan 10, 2026
2f70cc3
try 8 concurrent pulls
hellt Jan 10, 2026
342d698
remove icons from the prompt
hellt Jan 10, 2026
626efe4
pin playground tag
hellt Jan 10, 2026
389b39a
correct flag
hellt Jan 10, 2026
4d2e71c
use overrides var
hellt Jan 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,7 @@ RUN echo 'export PATH="$PATH:$EDA_PLAYGROUND_DIR/tools"' >> /etc/zsh/zshrc

USER vscode

# patching kpt version to beta59 to see if it is better in handling sporadic k8s
# issues in GH codespaces where beta57 is stuck in reading the reconciled resources.
RUN git clone --depth 1 "https://github.com/$EDA_PLAYGROUND_REPO" $EDA_PLAYGROUND_DIR && cd $EDA_PLAYGROUND_DIR && \
sed -i 's/KPT_VERSION ?= v1.0.0-beta.57/KPT_VERSION ?= v1.0.0-beta.59/' Makefile && \
RUN git clone --depth 1 --branch v0.0.1 "https://github.com/$EDA_PLAYGROUND_REPO" $EDA_PLAYGROUND_DIR && cd $EDA_PLAYGROUND_DIR && \
make download-tools

RUN curl -o $HOME/.bundle.yaml "https://raw.githubusercontent.com/nokia-eda/edaadm/refs/heads/main/bundles/eda-bundle-core-$EDA_VERSION.yaml" && \
Expand Down
13 changes: 9 additions & 4 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Nokia EDA in GitHub Codespaces",
"image": "ghcr.io/eda-labs/codespaces/base:main",
"image": "ghcr.io/eda-labs/codespaces/base:kaelem-test",
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {
"version": "latest",
Expand All @@ -10,17 +10,19 @@
"customizations": {
"vscode": {
"extensions": [
// "ms-kubernetes-tools.vscode-kubernetes-tools",
"entuent.fira-code-nerd-font",
"ms-kubernetes-tools.vscode-kubernetes-tools",
"eda-labs.vscode-eda"
],
"settings": {
"chat.disableAIFeatures": true,
"terminal.integrated.defaultProfile.linux": "zsh",
"terminal.integrated.profiles.linux": {
"zsh": {
"path": "/bin/zsh"
}
},
"terminal.integrated.fontFamily": "'JetBrainsMono Nerd Font', 'JetBrainsMono NF', monospace",
"terminal.integrated.fontFamily": "JetBrainsMono Nerd Font, JetBrainsMono, JetBrains Mono, fira-code-nerd, Fira Code Nerd Font, FiraCode Nerd Font, Fira Code, Consolas, Hasklig, Menlo, Monaco, 'Courier New', monospace",
"vscode-eda.edaTargets": {
"https://127.0.0.1:9443": {
"edaUsername": "admin",
Expand All @@ -39,7 +41,10 @@
"postCreateCommand": ".devcontainer/postCreate.sh",
"postAttachCommand": ".devcontainer/postAttach.sh",
"containerEnv": {
"EDA_PORT": "9443"
"EDA_PORT": "9443",
"TRY_EDA_OVERRIDES_FILE": "/workspaces/codespaces/.devcontainer/overrides.mk",
Copy link

Copilot AI Jan 10, 2026

Choose a reason for hiding this comment

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

The hardcoded path "/workspaces/codespaces/.devcontainer/overrides.mk" assumes a specific workspace structure. Consider making this path configurable or using a relative path to improve portability.

Suggested change
"TRY_EDA_OVERRIDES_FILE": "/workspaces/codespaces/.devcontainer/overrides.mk",
"TRY_EDA_OVERRIDES_FILE": "${containerWorkspaceFolder}/.devcontainer/overrides.mk",

Copilot uses AI. Check for mistakes.
"TRY_EDA_KPT_SETTERS_FILE": "/eda-codespaces/codespaces-4vcpu-kpt-setters.yaml",
"NUM_CONCURRENT_IMG_PREPULLS": "8"
},
"forwardPorts": [
9443
Expand Down
4 changes: 0 additions & 4 deletions .devcontainer/onCreate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ free -m
sudo sysctl -w fs.inotify.max_user_watches=1048576
sudo sysctl -w fs.inotify.max_user_instances=512

TOKEN=$($EDA_PLAYGROUND_DIR/tools/yq -o=json '.assets.registries[].auth' $HOME/.bundle.yaml | jq -r '(reduce range(.extraEncodeCount + 1) as $_ (.username; @base64d)) + ":" + (reduce range(.extraEncodeCount + 1) as $_ (.password; @base64d))')

ensure-docker-is-ready

k3d cluster create eda-demo \
Expand All @@ -17,5 +15,3 @@ k3d cluster create eda-demo \
--k3s-arg "--disable=servicelb@server:*" \
--volume "$HOME/.images.txt:/opt/images.txt@server:*" \
--no-lb

docker exec -d k3d-eda-demo-server-0 sh -c "cat /opt/images.txt | xargs -P 4 -I {} crictl pull --creds $TOKEN {}"
33 changes: 33 additions & 0 deletions .devcontainer/overrides.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
KPT_RETRY ?= 5
KPT_LIVE_APPLY_ARGS += --reconcile-timeout=3m

# Override the INSTALL_KPT_PACKAGE macro
#
# Set the --reconcile-timeout flag so that KPT doesn't just hang for a while
# then the updated macro below, will handle the exit by retrying the kpt live apply
# until we hit the retry limit.
define INSTALL_KPT_PACKAGE
{ \
echo -e "--> INSTALL: [\033[1;34m$2\033[0m] - Applying kpt package" ;\
pushd $1 &>/dev/null || (echo "[ERROR]: Failed to switch cwd to $2" && exit 1) ;\
if [[ ! -f resourcegroup.yaml ]] || [[ $(KPT_LIVE_INIT_FORCE) -eq 1 ]]; then \
$(KPT) live init --force 2>&1 | $(INDENT_OUT) ;\
else \
echo -e "--> INSTALL: [\033[1;34m$2\033[0m] - Resource group found, don't re-init this package" ;\
fi ;\
for attempt in $$(seq 1 $(KPT_RETRY)); do \
echo -e "--> INSTALL: [\033[1;34m$2\033[0m] - Attempt $$attempt/$(KPT_RETRY)" ;\
if $(KPT) live apply $(KPT_LIVE_APPLY_ARGS) 2>&1 | $(INDENT_OUT); then \
break ;\
fi ;\
if [[ $$attempt -eq $(KPT_RETRY) ]]; then \
echo -e "--> INSTALL: [\033[1;31m$2\033[0m] - Failed after $(KPT_RETRY) attempts" ;\
exit 1 ;\
fi ;\
echo -e "--> INSTALL: [\033[1;33m$2\033[0m] - Attempt $$attempt failed, retrying..." ;\
sleep 2 ;\
done ;\
popd &>/dev/null || (echo "[ERROR]: Failed to switch back from $2" && exit 1) ;\
echo -e "--> INSTALL: [\033[0;32m$2\033[0m] - Applied and reconciled package" ;\
}
endef
6 changes: 5 additions & 1 deletion .devcontainer/postCreate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,8 @@ cd $EDA_PLAYGROUND_DIR

ensure-docker-is-ready

make try-eda NO_KIND=yes NO_LB=yes KPT_SETTERS_FILE=/eda-codespaces/codespaces-4vcpu-kpt-setters.yaml

TOKEN=$($EDA_PLAYGROUND_DIR/tools/yq -o=json '.assets.registries[].auth' $HOME/.bundle.yaml | jq -r '(reduce range(.extraEncodeCount + 1) as $_ (.username; @base64d)) + ":" + (reduce range(.extraEncodeCount + 1) as $_ (.password; @base64d))')
docker exec k3d-eda-demo-server-0 sh -c "cat /opt/images.txt | xargs -P $NUM_CONCURRENT_IMG_PREPULLS -I {} crictl pull --creds $TOKEN {}"

make -f Makefile -f $TRY_EDA_OVERRIDES_FILE try-eda NO_KIND=yes NO_LB=yes KPT_SETTERS_FILE=$TRY_EDA_KPT_SETTERS_FILE
12 changes: 1 addition & 11 deletions .devcontainer/shell/starship.toml
Original file line number Diff line number Diff line change
@@ -1,39 +1,29 @@
# Get editor completions based on the config schema
"$schema" = 'https://starship.rs/config-schema.json'


# Inserts a blank line between shell prompts
add_newline = true

[git_branch]
symbol = " "
format = '· [$symbol$branch(:$remote_branch)]($style) '

[git_commit]
tag_disabled = false
tag_symbol = "  "

[golang]
symbol = ' '
format = '· [$symbol($version )]($style)'

[package]
format = '· [$symbol$version]($style) '
symbol = "󰏗 "

[python]
format = '· [${symbol}${pyenv_prefix}(${version} )(\($virtualenv\) )]($style)'
symbol = " "

[kubernetes]
disabled = false
symbol = "󱃾 "
disabled = true

[container]
disabled = true

[direnv]
disabled = true

[hostname]
ssh_symbol = " "