Several shell scripts in a wrapper pretending to be automation. User assumes all risk.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
( jak ) 9560e79ca7
Merge remote-tracking branch 'gitea/development' into development
11 months ago
app In-progress checkin to facilitate rapid refactoring of dev branch. 1 year ago
hardware Quick todo list. 1 year ago
stacks Merge remote-tracking branch 'gitea/development' into development 11 months ago
.gitignore Clean up docs a bit, standardize gitignore slightly. 11 months ago Add nomad keygen&randart, ssh mess. 1 year ago In-progress checkin to facilitate rapid refactoring of dev branch. 1 year ago A short rant on cognitive load and the git vcs 1 year ago Wrapping all ongoing docs into a snapshot. 11 months ago A short bit on why/how to serve your own bridge. 1 year ago Laminar doesn't log to /var/log? 1 year ago


Words have meanings.

Some of these meanings are anchored here to encourage communication with mutual understanding of language.


The environments of a functional software development pipeline defined here are suggestions.

Normalization is only beneficial so far as it suits the application. Each successive layer is built by copying and improving the preceeding tier.

Do your own analysis, and use what works for you, tho.

  1. Prototype: functional proof-of-concept for research, evaluation, or testing.
  2. Development: version controlled codebase, hosted locally, has backups.
  3. Testbed: multi-user, unscaled instance, local data, has tested backups. 2.a) Deployment: infrastructure is code, update/test/rollback SOP.
  4. Stage: autoscale feature flags, remote data, stress tested.
  5. Live: available to intended clientel, feedback loop in place.
  6. Depricated: available, but de-prioritized.
  7. Archive: snapshotted, decommissioned, projects closed.

A healthy development cycle flows from four through six and two, each iteration trimming inefficiencies and improving robustness.

If a system is not stable, it cannot meet the needs of the users, no matter how well designed it may be. For some clients, a prototype system is all that is ever needed. For others, anything less than autoscaling capable of millions of simultaneous user sessions is incomplete.

Knowing your use case and deployment environment, and maintaining working functional requirements, will save much future grief.