OpenBSD 7.4 finally released Today, the 55th Release of OpenBSD was announced. My Upgrade Script is available here.
Highlights vmd(8) has moved to a multi-process model for virtio(4) block and network devices malloc(3) now has built-in leak detection In OpenSSH 9.5, ssh-kengen(1) generates Ed25519 keys by default sec(4) for Route Based IPSec VPNs see the Post on Undeadly for more Details, or the OpenBSD Page …
Script doas su - cd /root ftp https://blog.
OpenBSD 7.4 … will be released next week (23. Oct 2023). Why not have a look at the upcomming OS and prepare a VM for Software Development ?
Preparation grab a fresh VM and Install OpenBSD 7.4
os version
puffy74# sysctl kern.version kern.version=OpenBSD 7.4 (GENERIC.MP) #1396: Sun Oct 8 09:20:40 MDT 2023
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP empty vm
puffy74# pkg_info quirks-6.159 exceptions to pkg_add rules and cache add go, rust, python puffy74# pkg_add go rust python3 quirks-6.
Intro did you ever heared of Jetporch, short Jet ? Don’t worry, you’re not the only one ;) Jet Project of Jet is being led by Michael DeHaan, the original creator of Ansible. So, expect something like Ansible, faster, written in rust … same same, but different.
Installation on Debian 12 grab a fresh machine and patch it
export DEBIAN_FRONTEND=noninteractive apt-get clean apt-get autoclean apt-get update -y apt-get upgrade -yq apt-get dist-upgrade -yq apt-get autoremove -y Install Rust from Source jet needs rustc 1.
Let’s play with Packages and Libraries References Python Modules Poetry Scripts Switch to Root Folder cd /some/path/you/want Create a new Package poetry new mypackage add some libraries poetry add requests … add some code … cat << 'EOF' > mypackage/__init__.py print("importing", __name__) EOF cat << 'EOF' > mypackage/main.py print("importing", __name__) def test1(): print("test1") def test2(name: str): print("hello", name) def test3(name: str, age:int): print(f"Hello {name} at age {age}") if __name__ == "__main__": print("This is a Library or Package.
How to add a Table to Hugo Create Table Shortcode cat <<'EOF'> layouts/shortcodes/table.html {{ $htmlTable := .Inner | markdownify }} {{ $class := .Get 0 }} {{ $old := "<table>" }} {{ $new := printf "<table class=\"%s\">" $class }} {{ $htmlTable := replace $htmlTable $old $new }} {{ $htmlTable | safeHTML }} </table> EOF Build Table add this to your Markdown File …
| a | b | c | | - | - | - | | bli | bla | blu | | green | blue | red | Result a b c bli bla blu green blue red Align Left | a | b | c | | :- | :- | :- | | bli | bla | blu | | green | blue | red | Result a b c bli bla blu green blue red Align Right | a | b | c | | -: | -: | -: | | bli | bla | blu | | green | blue | red | Result a b c bli bla blu green blue red Any Comments ?
Behind Corp Proxy let’s assume you’re behing a Corp Proxy which enforce TLS Inspection, you don’t have the Proxy Cert and you want to Upgrade your Boxes …
… and of course, you do this in the LAB and for Research only and not your Productiv Environment!
TLS Inspection enabled apt-get upate W: Failed to fetch https://packages.sury.org/php/dists/bookworm/InRelease Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. Could not handshake: Error in the certificate verification.
Storing Data in JSON - TinyDB Small Example how to Store Data in JSON, and Query them afterwards like a NOSQL DB. Have a look at TinyDB if you wanna see more.
Code from tinydb import TinyDB, Query from pprint import pprint # Create or load a database file db = TinyDB('db.json') # insert some sample data def insert(): # Insert data db.insert({'name': 'John', 'age': 30}) db.insert({'name': 'Alice', 'age': 25, 'hobbies': 'sleep'}) db.
Project Template for FastAPI gave a try with a FastAPI Template, https://github.com/rochacbruno/fastapi-project-template.git
Projectname: gugus1234 clone the repo
git clone https://github.com/rochacbruno/fastapi-project-template.git gugus1234 cd gugus1234 Switch Poetry i’d like to have poetry as virtual env manager
make switch-to-poetry Rename some Stuff had to rename some string in pyproject and different files …
mv project_name gugug1234 gsed -i 's/a-flask-test/gugus1234/' pyproject.toml gsed -i 's/project_name/gugus1234/' pyproject.toml gsed -i 's/project_name/gugus1234/g' gugus1234/cli.py gugus1234/app.py gugus1234/config.py gugus1234/security.py Run Poetry once poetry shell poetry lock poetry install Admin User let’s create admin user
How to Protect your App with Simple Security Let’s build a small API Endpoint with FastAPI and protect it with SimpleSecurity.
API key based security package for FastAPI, focused on simplicity of use:
Full functionality out of the box, no configuration required API key security with local sqlite backend, working with both header and query parameters Default 15 days deprecation for generated API keys Key creation, revocation, renewing, and usage logs handled through administrator endpoints No dependencies, only requiring FastAPI and the python standard library Build new App and show the Directory Structure
Restricting User to Script Let’s assume you have some Users around and they should be able to run certain Scripts. These Scripts do various things, login to some systems, perform task, get data from an API, whatever you want. All these Actions needs Credentials which must be available to the script, although they are not part of the Script. They could be Provides via OS Env, .env File, Encrypted Password Store or whatever.