DevOps - sgml/signature GitHub Wiki

Domain Specific Languages

Turing‑Incomplete Build DSLs (Interpreted Language Contexts)

Build DSL Host Context Why Turing‑Incomplete GitHub URL Example Author URL Spec
Starlark Python‑like DSL used in Bazel No unbounded loops or recursion; deterministic evaluation for dependency graphs. https://github.com/bazelbuild/starlark load("//tools:defs.bzl", "my_rule") https://bazel.build/about https://bazel.build/docs/skylark
Pants BUILD Python ecosystem Declarative targets; avoids arbitrary computation even though Pants itself runs in Python. https://github.com/pantsbuild/pants python_library(name="core", sources=["core.py"]) https://www.pantsbuild.org https://www.pantsbuild.org/docs
Buck rules Python‑like DSL Restricted evaluation; rules are declarative, not general scripts. https://github.com/facebook/buck java_library(name="util", srcs=["Util.java"]) https://buck.build https://buck.build/rule
Nix exprs Functional DSL interpreted by Nix Pure, terminating evaluation; no side effects or arbitrary looping. https://github.com/NixOS/nix { pkgs }: pkgs.stdenv.mkDerivation { name = "hello"; } https://nixos.org https://nixos.org/manual/nix/stable/
Rakefiles Ruby DSL Task definitions are declarative; while Ruby is Turing‑complete, the DSL subset for build orchestration is intentionally limited. https://github.com/ruby/rake task :build => [:compile, :test] https://ruby-lang.org https://ruby.github.io/rake/doc/rakefile_rdoc.html

Monitoring

Datadog Item Qty Datadog Cost (2026 est.) Salesforce Equivalent & Cost Heroku Equivalent & Cost GitHub Equivalent & Cost cPanel Equivalent & Cost
Infra Host 0 $18/host/mo (Pro tier) Org infra (bundled, no per-host cost) Dyno $7/mo (Basic) Repo infra (included) Shared hosting server $29.99+/mo
APM Enterprise Hosts 2 $36/host/mo → $72/mo Event Monitoring via Shield (~10% of net license fees) 2 Dynos + New Relic add-on (~$7 + $25+/mo each) 2 repos monitored via Actions (~$0.002/min usage) 2 hosted apps monitored via cPanel metrics (bundled)
RUM Session Replay Sessions 0 Add-on pricing varies Lightning Usage App (included) Analytics add-ons (LogDNA ~$10+/mo) Pages analytics (free/basic) AWStats/Webalizer (included)
Synthetic API Test Runs 0 $5/test/mo Apex test classes (included) Worker dyno scheduled tasks ($7/mo) CI tests via Actions minutes ($0.002/min) Cron jobs (included)
Indexed Logs (15 day retention) 20 $0.10/GB/day → ~$60/mo Debug/Event Monitoring logs (Shield add-on) Log drains (Papertrail ~$7–$99/mo tiers) Actions logs (14-day retention, included) Error/access logs (bundled, short retention)
Serverless Invocations 5 $5 per 1M invocations → negligible Apex trigger executions (included) Worker dyno invocations ($7/mo) Actions job runs ($0.002/min) PHP script executions (included)
Network Host 1 $18/host/mo My Domain endpoint (included) Heroku app domain (included) Repo endpoint/Pages domain (included) Shared hosting IP/domain (included)
Ingested Logs 50GB $0.10/GB/day → ~$150/mo Event Monitoring ingestion (Shield add-on) Log drain storage (~$25–$100/mo tiers) Actions logs storage (quota included) Web server logs capped by storage quota
Indexed Spans 1M $1.59 per million events → ~$1.59 Transaction Events (Shield add-on) New Relic/OpenTelemetry add-on (~$25+/mo) Workflow spans (included in Actions minutes) None (unsupported)
Fargate Task 1 ~$0.04/hr → ~$30/mo Scheduled Apex job (included) Worker dyno scheduled task ($7/mo) Scheduled workflow (cron, included) Cron job (included)

Siteground

Setting Up a Staging Site on SiteGround

Step-by-Step Guide to Setting Up a Staging Site on SiteGround

  1. Log in to Your SiteGround Dashboard:

    • Go to your SiteGround hosting dashboard.
    • Click on "My Account" and then "Go to CPanel".
  2. Access the Staging Tool:

    • In the CPanel, scroll down and look for "WordPress Tools" or "Joomla Tools" (depending on the platform you're using).
    • Click on the "Staging" button.
  3. Create a Staging Copy:

    • You will see a list of domain names hosted on your SiteGround account.
    • Click on the "Create Staging Copy" button.
    • Select the files and directories that are essential for your staging site.
    • Click "Continue" and set up password protection for the staging site.
  4. Manage Your Staging Site:

    • You can now make changes to your staging site without affecting your live site.
    • Test all new features and updates thoroughly.
    • Once you're satisfied with the changes, you can deploy the staging site to your live site.
  5. Deploy the Staging Site:

    • Use the "Deploy" option in the Staging Tool to push changes from the staging site to your live site.
    • Ensure you have backups in case you need to revert any changes.

Using the SiteGround Staging Tool, you can safely test and refine your updates before making them live, minimizing the risk of errors on your production site.

Would you like more detailed instructions or have any specific questions about the process?

Multi-tenant FAAS+BASS+PASS

AWS | sns | codecommit | codepipeline | ses

GCP | Google Cloud Storage | Google Cloud Pub/Sub | BigQuery | Cloud Launcher

https://about.gitlab.com/blog/2020/02/12/plundering-gcp-escalating-privileges-in-google-cloud-platform/

https://www.cloudbooklet.com/centos-7-server-setup-on-google-cloud-platform/

Azure | App Service | Container Service | Functions | Search | Bing Speech API | Data Factory | Batch

https://docs.microsoft.com/en-us/azure/virtual-machines/linux/quick-create-portal

https://www.cardinalsolutions.com/blog/2017/10/an_amazing_list_of_free_azure_services

Heroku | Postgres | PHP | Node.js

Develop on Heroku, store on Google, control on AWS, share on Azure

OpenShift | Perl | Redis

Electric Flow

Selenium

Jenkins

Build Pipelines

SDLC/Release Management

HyperVisors

Localhost

Clusters

GNU

Government

Troubleshooting

Containers

IDE Plugins

Free CI/CD

Functions as a Service

Backend as a Service

OpenStack

OpenWhisk

References

Linux

https://www.debian.org/doc/manuals/refcard/refcard

https://pdfs.loadbalancer.org/loadbalanceradministrationv8.pdf

https://doc.lagout.org/operating%20system%20/linux/Teach%20Yourself%20Unix%20in%2024%20Hours.pdf

https://tldp.org/LDP/Bash-Beginners-Guide/Bash-Beginners-Guide.pdf

https://people.computing.clemson.edu/~jmarty/courses/commonCourseContent/AdvancedModule-BashScripting/BashTutorial.pdf

https://access.redhat.com/sites/default/files/attachments/12052018_systemd_6.pdf

https://inst.eecs.berkeley.edu/~cs162/fa16/static/sections/section12.pdf

https://www.cs.cornell.edu/courses/cs4410/2020fa/schedule/slides/LFS.pdf

https://www.ibm.com/docs/en/linuxonibm/liaag/journalingfilesystem/pubjournal.pdf

https://kernel.org/doc/ols/2002/ols2002-pages-117-129.pdf

https://www.usenix.org/system/files/login/articles/06_lang-online.pdf

https://nsrc.org/workshops/2014/btnog/raw-attachment/wiki/Track2Agenda/lvm.pdf

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/pdf/configuring_and_managing_logical_volumes/red_hat_enterprise_linux-9-configuring_and_managing_logical_volumes-en-us.pdf

https://www-40.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R3SA232280/$file/bpxa500_v2r3.pdf

http://haifux.org/lectures/92-sil/shell.pdf