npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

endpoint-bootstraps

v0.0.0-beta

Published

my bootstraps

Downloads

6

Readme

Bootstraps

nos_pic.jpg

Welcome to bootstrap for your dev ops and linux adventures.

" The phrase “pull yourself up by your bootstraps” originated shortly before the turn of the 20th century. It’s attributed to a late-1800s physics schoolbook that contained the example question “Why can not a man lift himself by pulling up on his bootstraps?” "sauce

" People understood the expression "pulling yourself up by your bootstraps" to mean "attempting to do something absurd" until roughly the 1920s, at which point it started to evolve toward the current understanding: to do something without any outside help.

I think across all people, it's universally true that there are things that you benefit from that you did not contribute to. There are things that you benefit from that you did not build; there are things that you benefit from that you did not make. You benefit from the roads that are built, from people that have helped you along the way, from the mentors that you accidentally found yourself in the same classroom with.

This isn't to say that hard work doesn't matter; it's just to say that it's not the only thing. No one pulls themselves up by their bootstraps. No one can. " sauce Good luck!

This isn't to say that hard work doesn't matter; it's just to say that it's not the only thing. No one pulls themselves up by their bootstraps. No one can. " sauce

Let these bootstraps be a helping hand to pull on. Built on top of millions of lines of code and millions of iterations by millions of people. These scripts operate on another plane of complexity and thus power. With a single line you can do what people have spent lifetimes working on. pandas.png

And if that's not enough confusion the project has been renamed internally to no straps aka nos.

dashboard.netmaker.nos.endpoint.ca retool.nos.endpoint.ca

cli: nos install cat

Oth

Oath (optional)

I __ Will Commit useful working scripts!

I __ will try to keep undue complexity down. (reducing obscurity can improve security)

I __ will document my scripts to make them approachable by a new admin.

Index

at each level we divide between development mess and working productions prod

First we divide on base os: alpine or debian or common_posix

Other directories may then be created as required, try and keep the structure clean.

  • alpine : all scripts for bootstrapping alpine systems (note this meets different requirements** than the tinycloud project)
    • ocmgm : the Open Closed Mesh Grid Map system's initialization scripts
      • secure : (should we add secure to the acronym to make it socmgm), soc is kind of a nice name secure open close
      • open : the systems is open source/ the open(ed) server(s) allows secure connections into the system
      • closed : the internal systems is private and closed off from external access (reduced/limited attack vectors)
      • mesh : the closed systems communicate internally (openly) within the local mesh
      • grid : the closed systems communicate securely even across internet bridges using a secure virtual private network This also allows for centralized management of the distributed system in combination with Map
      • map : all servers call home to the centrally managed Map server
  • debian : all scripts for bootstrapping debian systems

** the main difference is... <--TODO-->

HAPI

HAPI is a Virtual machine 'Hosts' 'Apps'/software ,on infrastructure 'Platforms' using some api 'Integrations'

hosts<<->>apps<<->>integration 
            \platforms/    

host may have many apps
apps may have many hosts
apps may have many integrations
integrations may have many apps
platforms have an integration
hosts have a platform 



schema 

hosts(id,name, platform_id,)

apps(id, name, repo, root_sh, domains[], acls[], sins[], apis[])

platforms(id, integration_id)
host_integration ??

integrations(id, name, )

//deployment
app_host(app_is, host_id)

// we may not need this since APIs are linked in the apps.. probably by name
//app_integration(app_id, integration_id)

//hdapi ? nice name but i almost like hapi more does it make sense to get rid of the D to and put an array of apps in 
// the hosts tables  (HAPI Deployments)





Here are some possible tables and columns for a HAPI system:

Hosts

    id (primary key)
    name (unique)
    description
    status (active, inactive, etc.)

Apps

    id (primary key)
    name (unique)
    description
    status (active, inactive, etc.)
    host_id (foreign key to Hosts table)

Integrations

    id (primary key)
    name (unique)
    description
    status (active, inactive, etc.)

Platforms

    id (primary key)
    name (unique)
    description
    status (active, inactive, etc.)
    integration_id (foreign key to Integrations table)

App_Integrations (junction table for many-to-many relationship between Apps and Integrations)

    app_id (foreign key to Apps table)
    integration_id (foreign key to Integrations table)

Host_Platforms (junction table for one-to-many relationship between Hosts and Platforms)

    host_id (foreign key to Hosts table)
    platform_id (foreign key to Platforms table)





Naming your scripts

Use overly long verbose names tab completion is a thing.

Pay close attention to the first and second word you use it determines order

If scripts are met for a common purpose try to name them so they appear in the order of execution next to each other when sorted alphabeticaly.

If the purpose is rare put them in a verbosely named directory.

keywords for scrip naming

  • install
  • start
  • stop -
  • status - check if something is running usually a service
  • remove - uninstall and delete something
  • test - test something and tell you if it's messed up
  • debug - debug an application use rest of name to
  • ??? - read the code
# one way of naming this might be the fallowing due to it placing steps in order of execution
#ABCDEFGHIJKLMNOPQRSTUVWXYZ
# abcdefg get
# h help
# i install
# jklmno open
# pq quit
# r remove
# s start
# s status
# s stop
# t test
# uvwxyz

giisajd