platform

ch.rswk.platform
Login

Table of contents:

Overview

Mission

Provide a self-hostable FLOSS software development platform to develop, deploy and operate robust applications.

Getting started

TODO
reference playbooks

To just take a look at the code, clone the main repository using Fossil:

fossil clone https://dev.rswk.ch/fossil/platform

The ops repository contains the deployment units:

fossil clone https://dev.rswk.ch/fossil/platform-ops

Software development life cycle

TODO

Develop

TODO
develop: bootstrap dev workstation to publish binaries in artifact repository
build (npm ci, mvn, skip tests)
add dependency js, java
update dependencies dito. npm ci vs npm install
tools: watchdog, jenkins, nexus. CI, CD, trunk based development
dependency management
npm outdated
mvn versions:display-dependency-updates "-Dmaven.version.ignore=.*alpha.*,.*beta.*,.*-M.*,.*-proto.*"
mvn versions:display-plugin-updates -N "-Dmaven.version.ignore=.*alpha.*,.*beta.*,.*-M.*,.*-proto.*"
npm ls --all (--omit dev)
mvn dependency:tree
mvn buildplan:list
https://github.com/rfichtner/maven-survival-guide
jvm debugging with flight recorder/zmc (started with service), heap dumps/mat (via api or jcmd <pid> GC.heap_dump <file-path>)
tests: unit (junit, qunit), e2e (webdriver), deploy (provision), logging
bug tracking. seperate facts (found in version x) from plans (fixed in version y)

Deploy

TODO
deploy: install binaries on machine/server/client and run application
two phases: versioned and released modules in platform/deploy. customized and installable deployables in platform-ops
roll forward approach
playbooks, runbooks
deployment diagrams platform, blueprint https://pikchr.org/home/doc/trunk/doc/examples.md

Operate

TODO
operate: application connected to ops infra, incidents.
ops server, ops workstation
when adding app server, add rsyncd module, wg peer to ops server

Platform

Documentation

Tech stack

We are standing on the giant shoulders of other FLOSS software. Please consider supporting and funding these projects.

Develop

Client

Server

Tool

Operate

Tool

Providers

Guidelines

Code

Java

JavaScript

Contribute

Contributions are welcome.

Security

If you have any concerns/recommendations with regards to how I handle personal data/security in my code, please contact me via email or ask for my Signal contact information.