See github repo: https://github.com/wmmnpr/how-to/blob/main/wireshark-decrypt-ssl/README.md
jigger mast
Sunday, April 23, 2023
Wednesday, March 22, 2023
Getting Ionic 6 to run on iOS 12+
The issue was to get ionic 6 running on an old iOS 12.5.7.
At the time of writing this, ionic 6.20.9 and capacitor 4 where the latest versions. By rolling back to capacitor 3, it was possible to deploy the app to the old version 12 phone.
The nodejs version used was v18.14.0
Below is the app shown listing the results of scanned devices using cordova-plugin-ble-central plugin.
npm install -g @ionic/cli
ionic --version
6.20.9
Then create a ionic project (Angular was chosen for this project)
ionic start
After the project has been created, remove version 4 of capacitor and install version 3 (https://capacitorjs.com/docs/v3/getting-started) as follows:
npm uninstall @capacitor/ios @capacitor/cli @capacitor/core --save
npm install @capacitor/ios@latest-3 @capacitor/cli@latest-3 @capacitor/core@latest-3 --save
You should see 3.9.0 when running:
npx cap --version
3.9.0
Then add the ios platform as described here: https://capacitorjs.com/docs/v3/ios
npx cap add ios
In the ios/App/Podfile file, you should see:
platform :ios, '12.0'
Now, build and deploy the project.
npm run build
npx cap sync
npx cap open ios
To add the plugin run:
npm i cordova-plugin-bluetoothle --save
Tuesday, March 21, 2023
A concept2 Remote Racing Prototype Architecture
This article is about a prototype which was created to connect together concept2 PM5 erg computers via the internet. The system makes it possible to remotely race each other in groups or races without a central organiser.
A mobile app created with Ionic (see picture below) is used to connect to the local PM5 via Bluetooth. The app, called Ergregatta, sends data collected from the local PM5 computer to a remote server as well as displays realtime race information about other participants received from the remote server.
The installation show with kubectl. One can see the ergregatta message pods running.
This is how the setup looks with Kiali, which is provided by the istio installation.
Sunday, March 6, 2022
Deploying a microservice to Docker-Desktop's Kubernetes on Windows using Helm
What follows is a description of how to deploy a Springboot websocket microservice to a Kubernetes cluster running in Docker-Desktop. The prerequisites for the deployment are:
- The Springboot app has been dockerized
- Docker-Desktop (4.4.3) has been installed and Kubernetes (v1.22.5) enabled.
- kubectl (v1.22.5) has been configured to connected to k8 cluster started with Docker-Desktop
- Helm(v3.8.0) has been installed.
The Helm Chart Template Guild is a good place to learn about contents of the generated folder.
Ok, maybe I should have used wscat but with the above screenshot one can see that the request is being forwarded to microservice running the the pod listening on port 5000
Sunday, February 13, 2022
Debugging Apache Airflow with debugpy and VS Code while running in Docker
To be able to debug Apache Airflow using Visual Studio Code, we first want to build a Docker image from the sources. Start by cloning the apache airflow github repository and then open the folder using VS Code.
In the Dockerfile, change the following values:
Then build the image with the new settings and then run it but overriding the entry point:
In the container, first install debugpy.
We'll need the installed location of the airflow code for our launch.json configuration file. You can find it by running:
Now, while in the running container, start airflow, here I'll just call --help, in the container with:
In the cloned repository directory, create a launch.json file in the .vscode directory. The value for remoteRoot should be taken from the output of the "python -m pip -V" above
In VS Code open the __main__.py file in the apache folder of the project and place your break points. Now run the debug using the launch.json file:
Of course the "Here we go!!!!" is from me :>)
Sunday, January 30, 2022
Deploying Airflow on AWS eks and exposing the webserver UI for learning purposes.
eksctl create cluster \
What follows is not necessary, however, it is nice for learning purposes to install the kubernetes dashboard. To do so following the instructions here or skip down to where we install airflow with helm:
https://docs.aws.amazon.com/eks/latest/userguide/dashboard-tutorial.html
Here you
will have to run the kubectl proxy from your laptop and to do so you’ll need the
aws cli as well as kubectl installed.
$aws eks update-kubeconfig --region eu-central-1 --name dev-apps
This will configure
the local kubectl to work with the cluster created above.
Then to get
a token to use later for accessing the console in the browser run this (here
run in gitbash):
$ kubectl -n kube-system describe secret
$(kubectl -n kube-system get secret | grep eks-admin | awk '{print $1}')
Name: eks-admin-token-rswtg
Namespace: kube-system
Labels: <none>
Annotations: kubernetes.io/service-account.name: eks-admin
kubernetes.io/service-account.uid: 01be9965-5fd5-469e-97e6-6bb6e0c5c5f9
Type:
kubernetes.io/service-account-token
Data
====
token:
eyJhbGciOiJSUzI1NiIsImtpZCI6Im0wUXZrTE1NeTZNdHlNd3B4U25UOGI2aTVyc2tpUl9BNDJ3M2k1ZGYtQ1UifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJla3MtYWRtaW4tdG9rZW4tcnN3dGciLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZWtzLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiMDFiZTk5NjUtNWZkNS00NjllLTk3ZTYtNmJiNmUwYzVjNWY5Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmVrcy1hZG1pbiJ9.fnHn42Z5gNJ3ZzGebIo7Fo1t8gd1EsGXdDtq9TxcZalcGICRPd3B-8Kwy8CT4-qYEDrNTX27heDTbIJmgod5eZxbFDZMTPyzRKcuk_T1TXFiSfCLRi4wtlWgT-E_5EIJTteqbWk-GvrmTr1O4vmIzNA-8Y4d2sinEGYbESmT8jOK26KmwPKuizKxrzZGYSIL9so3cHuSRe-33IeS0XYR1rk7uU2NDTAGSKMA3-wYLk9heSVdReMfDC__DKlRGR6GMb18jxqi5C08mqJyR7DPVjnR4WTpAh9MO-7SqEQiW6MEsWmHgDbHFIPYg_TN7xPDp3fT5pbbBR70jX8ka2sFog
ca.crt:
1066 bytes
Then start
the proxy
$kubectl proxy
and go to
localhost as instructed in the instructions and use the token above to log into
the dashboard.
Now, that
the optional installation of the dashboard is done, let’s return to installing
airflow into the eks cluster by using the helm chart as described here:
https://airflow.apache.org/docs/helm-chart/stable/index.html
If you have
the dashboard installed, then you can browse around and see all the components
which have been installed for airflow.
Next we have
to make the service available through the internet which we shall to because
exposing the airflow-webserver k8 service by following these instructions:
https://www.eksworkshop.com/beginner/130_exposing-service/exposing/
Replace the
namespace, in the above instructions, with “airflow” and the service with “airflow-webserver”.
With this done, you should be able to access the airflow-webserver via http and
login with admin/admin (non of which is secure)
To delete everything just run:
$eksctl delete cluster --name dev-apps^
and say good-bye.