Checklists
Table of contents:
Incus
IPv6 connectivity with static prefix
incus network set incusbr0 ipv6.address=1234:1234:1234:cccc:1:1:1:1/64 ipv6.nat=false- pfSense
- System / Routing
- Gateways > Add
- Set gateway IP address to IP of Incus host
- Static Routes > Add
- Destination
1234:1234:1234:cccc:1:1:1:1/64
- Destination
- Gateways > Add
- System / Routing
- https://blog.sifrmoja.xyz/posts/public-ipv6-lxd/
Setup PKI using KeyStore Explorer
- Generate key pairs in a temporary key store for CA, server and client (Add extensions > Use Standard Templates > CA, TLS/SSL Server and TLS/SSL Client respectively)
- Create CSRs for server and client
- Sign CSRs with CA (Transfer Extensions, Export Length: Entire Chain)
- Create password protected client keystore (containing client private key and signed cert) and truststore (containing ca cert) in PKCS#12 format
- Place server key and signed cert in
/var/lib/incus - Restart
incusservice - Trust signed client cert
incus config trust add-certificate client.crt
Provisioning
Development Server
- Fossil
- Chat Timeline
- Set
chat-timeline-usertorobot-timeline - Create user
robot-jenkinswithCprivilege
- Set
- Chat Timeline
- Jenkins
- Plugins
- Lockable Resources
- Create required credentials referenced in Jenkinsfiles
- Be aware of dragons when using
$in credentials
- Be aware of dragons when using
- Plugins
- Reposilite
- Tokens
- Set temporary token in
reposilite.serviceusing--token root:root-secret - Login with
root, use console to generate admin tokentoken-generate admin m - Remove temporary token from
reposilite.service - See Routes
- Set temporary token in
- Settings > Maven > Repositories
- Create repository
allwith following mirrorssnapshots(allow.zip)releases(allow.zip)https://montory.pro/reposilite/snapshots(allow.zip)https://montory.pro/reposilite/releases(allow.zip)https://montory.pro/reposilite/thirdparty(allow.zip)https://repo.maven.apache.org/maven2/(Store enabled)
- Update and reload
- Create repository
- Tokens
- Verdaccio
- Tokens
- Define users using
htpasswdinverdaccio.htpasswd
- Define users using
- Tokens
Development Workstation
- Set environment variables in
~/.profileMVN_TOKENandMVN_SECRET- In reposilite with
adminuser, use console to generate new tokentoken-generate user - Set
MVN_TOKENtouser,MVN_SECRETto the token printed to console
- In reposilite with
NPM_TOKEN- In repo root run
npm login - Open
.npmrcin user home directory and copyXXXfrom...:_authToken=XXX - Delete
.npmrcin user home directory
- In repo root run
- Caddy Local HTTPD
- Put breakpoint in first test method of
CaddyAndSeleniumExtensionTestand start debugging, so caddy is running sudo HOME=/home/$USER caddy trust
- Put breakpoint in first test method of
Release
- Release
stable- Use
$PROMONTORY_TOOL_DIR/releng/prepare_release.sh - Run Jenkins
stableCI build
- Use
- Prepare
trunk- Use
$PROMONTORY_TOOL_DIR/releng/prepare_snapshot.sh - Run Jenkins
trunkCI build
- Use
Snapshots
NPM
- Publish new snapshot
npm version prerelease --workspaces(ornpm version 1.0.0-SNAPSHOT.X --workspaces, where X is the build number)npm publish --tag snapshot --workspaces
- Consume snapshot
- Set dependency version
"@pro.montory/framework-util": "snapshot"
- Set dependency version
pro.montory.vendor
Docopt
- Download master.zip
- Build JAR
mvn package -DskipTests - Upload JAR
mvn deploy:deploy-file -DgroupId=pro.montory.vendor -DartifactId=docopt -Dversion=0.6.0 -Dfile=docopt.jar -DgeneratePom=true -Dpackaging=jar -DrepositoryId=dev-server -Durl=https://montory.pro/reposilite/thirdparty
JRE
- Download JRE
- Unpack to
/var/tmp/jre - Create ZIP file
cd /var/tmp/jre rm -rf legal cd /var/tmp (cd jre && zip -r ../jre.zip .) - Upload ZIP
mvn deploy:deploy-file -DgroupId=pro.montory.vendor -DartifactId=jre -Dversion=26.0.0 -Dclassifier=zulu-linux_x64 -Dfile=jre.zip -DgeneratePom=true -Dpackaging=zip -DrepositoryId=dev-server -Durl=https://montory.pro/reposilite/thirdparty