diff --git a/README.md b/README.md index b24418f4..1a5106a7 100644 --- a/README.md +++ b/README.md @@ -129,3 +129,22 @@ curl http://monitoring.ystack.svc.cluster.local:9093/api/v2/status Start a dev loop for actual asserts using `cd specs; y-skaffold --cache-artifacts=false dev` and start editing specs/*.spec.js. Run `y-assert` for CI-like runs until completion. But actually [assertions_failed Prometheus graph](http://monitoring:9090/graph?g0.expr=assertions_failed&g0.tab=0&g0.stacked=0&g0.range_input=15m) is more interesting than y-assert during development. + +## Local cluster setup on windows +### Using [docker desktop](https://hub.docker.com/editions/community/docker-ce-desktop-windows), WSL2 and [K3D](https://k3d.io/) +Before you start anything make sure that you have enabled WSL and Ubuntu integration in docker-desktop's settings. See image below: +![Alt text](documents/screenshots/settings.png?raw=true "Docker settings") + +And that your ubuntu version is the same as the docker version. + +![Alt text](documents/screenshots/version.png?raw=true "Versions") + + +Also make sure that you have correctly installed Ystack, see: [Installation](https://github.com/darclander/ystack#installation). + +### Getting started +Start by creating a cluster with K3D, `k3d cluster create demo` (in ps / cmd if you installed it on windows, rest happens in ubuntu / terminal). When your cluster is up and running (make you sure you are not lacking memory, weird errors might occur) head to [ystack](https://github.com/Yolean/ystack). The purpose is to run `y-cluster-provision-k3s-docker` if that does not work immediately, run `docker-compose -f docker-compose.builds.yml` and then when you run `y-cluster-provision-k3s-docker` you will receive an error message which says that you have to cleanup and remove-orphans. + +**To fix the "error" run the two given commands**, might look like this: `docker-compose -f /mnt/d/Documents/Yolean/ystack-master/docker-compose.test.yml -f /mnt/d/Documents/Yolean/ystack-master/docker-compose.dev-overrides.yml -f /mnt/d/Documents/Yolean/ystack-master/docker-compose.builds.yml up cleanup` and `docker-compose -f /mnt/d/Documents/Yolean/ystack-master/docker-compose.test.yml -f /mnt/d/Documents/Yolean/ystack-master/docker-compose.dev-overrides.yml -f /mnt/d/Documents/Yolean/ystack-master/docker-compose.builds.yml down --remove-orphans -v`. + +Then when running `y-cluster-provision-k3s-docker` your cluster should be up and working after a while. diff --git a/bin/y-skaffold b/bin/y-skaffold index 852f58f8..5522fb96 100755 --- a/bin/y-skaffold +++ b/bin/y-skaffold @@ -5,6 +5,7 @@ YBIN="$(dirname $0)" [ "$1" = "dev" ] && echo "y-skaffold dev requires -n [namespace] as initial args" && exit 1 + version=1.21.0 bin_name=skaffold \ diff --git a/docker-compose.dev-overrides.yml b/docker-compose.dev-overrides.yml index efca5afd..303d5a8d 100644 --- a/docker-compose.dev-overrides.yml +++ b/docker-compose.dev-overrides.yml @@ -3,21 +3,21 @@ services: master1: ports: - - "${YSTACK_PORTS_IP-127.0.0.1}:17143:17143" - - "${YSTACK_PORTS_IP-127.0.0.1}:31710-31719:31710-31719" + - "17143:17143" + - "31710-31719:31710-31719" mem_limit: 8589934592 memswap_limit: 0 ystack-proxy: ports: # Registry and ingress - - "${YSTACK_PORTS_IP-127.0.0.1}:80:80" - - "${YSTACK_PORTS_IP-127.0.0.1}:443:443" + - "80:80" + - "443:443" # To support y-build as skaffold build - - "${YSTACK_PORTS_IP-127.0.0.1}:8547:8547" + - "8547:8547" # To support y-assert - - "${YSTACK_PORTS_IP-127.0.0.1}:9090:9090" - - "${YSTACK_PORTS_IP-127.0.0.1}:9093:9093" + - "9090:9090" + - "9093:9093" sut: environment: @@ -30,4 +30,4 @@ volumes: driver_opts: type: none device: $YSTACK_HOME/devcluster - o: bind + o: bind \ No newline at end of file diff --git a/documents/screenshots/settings.png b/documents/screenshots/settings.png new file mode 100644 index 00000000..eefe6ab8 Binary files /dev/null and b/documents/screenshots/settings.png differ diff --git a/documents/screenshots/version.png b/documents/screenshots/version.png new file mode 100644 index 00000000..e07cc1f9 Binary files /dev/null and b/documents/screenshots/version.png differ diff --git a/specs/monitoring.spec.js b/specs/monitoring.spec.js index 4792608b..324df7ba 100644 --- a/specs/monitoring.spec.js +++ b/specs/monitoring.spec.js @@ -1,3 +1,5 @@ +global.TEST = "hej"; + describe("Monitoring", () => { describe("Ystack's proxy", () => { @@ -31,3 +33,4 @@ describe("Monitoring", () => { }); }); + \ No newline at end of file diff --git a/specs/registry.spec.js b/specs/registry.spec.js index c63c358d..ad5b8f23 100644 --- a/specs/registry.spec.js +++ b/specs/registry.spec.js @@ -6,3 +6,4 @@ describe("Builds registry", () => { }); }); + \ No newline at end of file diff --git a/specs/setEnvVars.js b/specs/setEnvVars.js new file mode 100644 index 00000000..73041ba0 --- /dev/null +++ b/specs/setEnvVars.js @@ -0,0 +1 @@ +process.env.TEST = "hej"; \ No newline at end of file diff --git a/specs/skaffold.yaml b/specs/skaffold.yaml index d7dc6876..27af4335 100644 --- a/specs/skaffold.yaml +++ b/specs/skaffold.yaml @@ -12,7 +12,7 @@ build: custom: buildCommand: >- y-build-like-sync - yolean/assert-runtime-nodejs:c0caae4aded2d77c40fd5d8651d107951e795914@sha256:ba61357c9422c76cb92125ba7c48f036c099562a6aa64bf6500c42defb45b23d + builds-registry.ystack.svc.cluster.local/yolean/kubernetes-assert/runtime-nodejs:cadf36680e8ad4725f0a0a8f242c2584a205bdd6-dirty sync: manual: - src: '**' diff --git a/specs/skaffold.yaml.old b/specs/skaffold.yaml.old new file mode 100644 index 00000000..d7dc6876 --- /dev/null +++ b/specs/skaffold.yaml.old @@ -0,0 +1,23 @@ +apiVersion: skaffold/v2beta6 +kind: Config +metadata: + name: ystack-specs +build: + tagPolicy: + gitCommit: + variant: CommitSha + artifacts: + - image: builds-registry.ystack.svc.cluster.local/yolean/ystack-specs + context: ./ + custom: + buildCommand: >- + y-build-like-sync + yolean/assert-runtime-nodejs:c0caae4aded2d77c40fd5d8651d107951e795914@sha256:ba61357c9422c76cb92125ba7c48f036c099562a6aa64bf6500c42defb45b23d + sync: + manual: + - src: '**' + dest: /usr/src/specs +deploy: + kustomize: {} +profiles: +- name: y-assert diff --git a/specs/test.spec.js b/specs/test.spec.js new file mode 100644 index 00000000..4edf8aa4 --- /dev/null +++ b/specs/test.spec.js @@ -0,0 +1,7 @@ +describe("Test", () => { + + it('two plus two is four', async() => { + expect(2 + 2).toBe(4); + }); + +}); \ No newline at end of file