[{"data":1,"prerenderedAt":653},["ShallowReactive",2],{"project-26661223":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":43,"post_text":46,"what":47,"said":97,"maker_in_thread":206,"shape":215,"grid":219,"attempts":616,"same_week":617,"maker_shows":33,"maker_hidden":646,"reader_version":647,"card":648},"26661223","Simplenetes","I replaced Kubernetes with 17k lines of shell script","title","Show HN: Simplenetes – I replaced Kubernetes with 17k lines of shell script","https:\u002F\u002Fgithub.com\u002Fsimplenetes-io\u002Fsimplenetes","github.com","thomasbacklund",1617288988,2021,296,148,117,2533,5,"legend","infrastructure","container orchestration","cli",[21,24,25,26,27],"kubernetes alternative","podman","shell script","pod compiler","debated",-0.002,{"positive":31,"neutral":32,"mixed":33,"critical":34},16,12,1,21,50,{"idea":37,"docs":40,"execution":42},{"positive":38,"critical":39},9,10,{"positive":33,"critical":41},2,{"positive":33,"critical":18},[44,33,44,33,33,18,45,33,33,18,44,44,44,44,44,18,18,44,44,44,44,18,33,45,45,45,45,45,33,45,18,45,45,18,33,33,44,33,45,33],0,3,null,{"problem":48,"audience":58,"pricing":46,"motivation":62,"time_to_build":69,"stack":75,"openness":94,"stage":95,"team_size":96},{"value":49,"source":50,"evidence":51},"Running simple container clusters without the complexity of Kubernetes","maker",[52,55],{"id":53,"by":11,"text":54},"26665435","Thanks :) The real use case is super simple clusters, which could be just 1 node, no etcd, no API (SSH managed), no iptables. Simplenetes is not a living breathing thing which…",{"id":56,"by":11,"text":57},"26667129","Thank you aabhay for a nice comment. Seems like my click-baity title brought out some strong feelings :) I do actually like Kubernetes. I recommend it to clients, I assess…",{"value":59,"source":50,"evidence":60},"Small clusters and local microservice development",[61],{"id":53,"by":11,"text":54},{"value":63,"source":50,"evidence":64},"Show that a simpler container cluster architecture is possible; learning and saying no to features",[65,68],{"id":66,"by":11,"text":67},"26669893","Thanks for taking the time l0b0! A lot of good points. Coding in shell sure is a challenge, I try to avoid bashims where I can, that's why most scripts are .sh not .bash, since…",{"id":56,"by":11,"text":57},{"value":70,"source":50,"evidence":71},"A few months of full time work",[72],{"id":73,"by":11,"text":74},"26663667","Thank you for noticing! :) Yeah, this represent a few months of full time work.",[76,80,88],{"value":77,"source":50,"evidence":78},"Shell (POSIX sh \u002F Bash)",[79],{"id":66,"by":11,"text":67},{"value":81,"source":82,"evidence":83},"Podman","commenter",[84],{"id":85,"by":86,"text":87},"26665118","debarshri","Building a platform to deploy stateless services are the easy part. This might even work nicely at a smaller scale. It is gets super complicated when you want to mount volumes,…",{"value":89,"source":50,"evidence":90},"Space.sh",[91],{"id":92,"by":11,"text":93},"26662149","This is why Simplenetes is built with Space.sh [1], a tool to build shell script applications. About the tests, can't disagree with you, they will come. [1]…","open_source","beta","unknown",{"praise":98,"objections":122,"requests":154,"questions":167,"alternatives":181},[99,111],{"value":100,"source":82,"evidence":101},"Fun, contrarian project that is a good learning exercise",[102,103,107],{"id":85,"by":86,"text":87},{"id":104,"by":105,"text":106},"26669360","Zenst","Rewriting anything is the ultimate learning experience and to do a Kubernetes implementation in shell script, impressive.",{"id":108,"by":109,"text":110},"26669216","keeganpoppen","i love this, and especially love how there are only a few things in the world that one could reasonably claim to simplify with \"17k lines of shell script\", and one of those is…",{"value":112,"source":82,"evidence":113},"Useful competition and fresh approach to container orchestration",[114,118],{"id":115,"by":116,"text":117},"26664144","mikece","1. Anything that offers effective competition to Kubernetes is a Good Thing. I'm not saying this is because I haven't look at it closely enough but competition brings about…",{"id":119,"by":120,"text":121},"26667315","remram","This has been bugging me for a while. Programmers love to reinvent the wheel. There a millions of make(1) clones, key-value stores, etc but I don't seem to see many projects…",[123,138,146],{"value":124,"source":82,"evidence":125},"Shell is hard to maintain and lacks tests and error handling",[126,130,134],{"id":127,"by":128,"text":129},"26669675","l0b0","Unsolicited review of sync.sh ahoy! The easy stuff: - Non-exported variables are by convention lower_case, while exported variables are UPPER_CASE. - Function names are by…",{"id":131,"by":132,"text":133},"26665904","gigatexal","17k lines of shell? Hah give me the infinity lines of Go that is kubernetes — maintaining shell scripts is a nightmare. At least Go is a proper language with an ecosystem and…",{"id":135,"by":136,"text":137},"26661563","theamk","> simple > 17k lines of shell script those two phrases don't belong together... to think about this, \"17k lines\" and \"shell script\" should not be used together either. Also, you…",{"value":139,"source":82,"evidence":140},"Not a real replacement for Kubernetes; no persistent volume support",[141,142],{"id":85,"by":86,"text":87},{"id":143,"by":144,"text":145},"26664119","llarsson","No Persistent Volume support, so not great for stateful applications. Claims that type of thing is \"magic\", and therefore out of scope. Quite an engineering feat, though, I am…",{"value":147,"source":82,"evidence":148},"Calling 17k lines of shell simple is contradictory",[149,150],{"id":135,"by":136,"text":137},{"id":151,"by":152,"text":153},"26663855","danpalmer","This is ~17k lines of shell scripting and claims to be \"simple\". Kuberentes is probably ~1m lines of Go. I'm not entirely convinced that this is less complex (simpler) than…",[155,160],{"value":156,"source":82,"evidence":157},"Add tests",[158,159],{"id":135,"by":136,"text":137},{"id":127,"by":128,"text":129},{"value":161,"source":82,"evidence":162},"Explain the use case",[163],{"id":164,"by":165,"text":166},"26663694","some_random","This is really cool, but is there a real use case for this?",[168,174],{"value":169,"source":82,"evidence":170},"What happens if a node fails?",[171],{"id":172,"by":173,"text":169},"26661840","verdverm",{"value":175,"source":82,"evidence":176},"Where should I start reading the source?",[177],{"id":178,"by":179,"text":180},"26663967","mplewis","Most of these source code files are very large. Where should I start reading?",[182,186,193,200],{"value":183,"source":82,"evidence":184},"Kubernetes",[185],{"id":151,"by":152,"text":153},{"value":187,"source":82,"evidence":188},"HashiCorp Nomad stack",[189],{"id":190,"by":191,"text":192},"26664362","marvinblum","If you're looking for a simple Kubernetes alternative, take a look at the HasiCorp stack. I use that in production and it's easy to set up and maintain.",{"value":194,"source":82,"evidence":195},"Docker Swarm",[196],{"id":197,"by":198,"text":199},"26668950","aristofun","Im personally not ever gonna use it as long as docker swarm is maintained. But thank you for bringing the world another tiny step closer to abandoning k8s and k8s…",{"value":201,"source":50,"evidence":202},"podc",[203],{"id":204,"by":11,"text":205},"26665746","If you want something simpler and use podman you can try `podc` [1] which compiles a pod yaml spec into a single executable shell script with a nice managagement CLI api to it.…",{"comments":207,"answered":208,"key":209},17,8,[210,211,212],{"id":56,"text":57},{"id":92,"text":93},{"id":213,"text":214},"26663806","Thanks! We just moved Space.sh from GitLab to GitHub (hurts in my heart, but yeah community is on GitHub). Also we are lousy at promoting our stuff, maybe April 1st is not the…",{"commenters":216,"max_depth":217,"maker_replies":207,"first_comment_mins":218,"lifespan_hours":216},89,11,24,[220,224,226,229,232,236,238,241,244,246,249,252,255,258,260,263,267,268,270,274,276,278,281,284,286,289,292,295,296,298,300,302,304,306,311,313,316,318,321,324,328,331,334,336,339,341,344,346,348,350,353,356,359,361,363,366,368,371,373,375,377,380,383,386,388,390,392,394,396,398,400,402,404,408,410,412,414,417,420,421,423,426,429,432,436,439,441,442,445,449,450,453,456,459,461,462,465,468,472,474,476,477,480,485,489,492,495,498,500,504,506,508,511,513,517,521,523,525,527,529,533,537,541,545,547,551,555,558,561,564,568,570,574,577,579,581,584,586,589,591,594,596,600,603,606,609,612,614],[221,44,44,222,223,44],"26666049","commenter\u002Fneutral\u002Fnone","aabhay",[56,44,44,225,11,33],"maker\u002Fneutral\u002Fidea",[227,44,44,222,228,44],"26671099","runawaybottle",[230,44,44,222,231,44],"26670345","nix23",[233,44,44,234,235,44],"26678082","other\u002Fneutral\u002Fnone","Skhalar",[151,33,33,237,152,44],"project\u002Fcritical\u002Fidea",[239,33,44,234,240,44],"26664416","undefined1",[242,33,44,222,243,44],"26664592","intricatedetail",[245,33,44,222,152,44],"26664671",[247,33,44,234,248,44],"26664954","jozvolskyef",[250,33,44,234,251,44],"26667160","oddlama",[253,33,44,234,254,44],"26667437","majewsky",[256,33,44,222,257,44],"26668668","spurgu",[259,33,33,237,86,44],"26665459",[261,33,44,222,262,44],"26668062","nexthash",[264,33,33,265,266,44],"26668868","project\u002Fcritical\u002Fdocs","goblin89",[135,41,33,237,136,44],[92,41,44,269,11,33],"maker\u002Fneutral\u002Fexecution",[271,41,18,272,273,44],"26663754","project\u002Fpositive\u002Fexecution","pcthrowaway",[213,41,44,275,11,33],"maker\u002Fneutral\u002Fnone",[277,41,44,222,273,44],"26664882",[279,41,44,234,280,44],"26664915","robertlagrant",[282,41,44,234,283,44],"26665649","conradludgate",[285,41,44,234,280,44],"26696421",[287,41,45,288,86,44],"26665506","project\u002Fneutral\u002Fnone",[290,41,44,222,291,44],"26664175","scubbo",[293,41,44,234,294,44],"26666595","a-dub",[85,45,33,237,86,44],[297,45,44,288,11,33],"26665354",[299,45,45,288,86,44],"26665410",[301,45,44,288,11,33],"26665570",[303,45,33,237,86,44],"26665654",[204,45,44,305,11,33],"project\u002Fneutral\u002Fexecution",[307,308,18,309,310,44],"26666948",4,"project\u002Fpositive\u002Fidea","amerine",[312,308,44,234,11,33],"26667200",[314,18,44,234,315,44],"26664848","yosito",[317,18,44,234,86,44],"26665666",[319,18,44,234,320,44],"26666836","wongarsu",[322,18,44,234,323,44],"26666981","ForHackernews",[325,326,44,234,327,44],"26664196",6,"motoboi",[329,326,44,234,330,44],"26664360","karmakaze",[332,326,44,222,333,44],"26664450","mixedCase",[335,326,44,234,330,44],"26664598",[337,326,44,234,338,44],"26665401","johnnycerberus",[340,326,44,234,330,44],"26676067",[342,326,44,234,343,44],"26664473","artwr",[345,326,44,234,330,44],"26664668",[347,326,44,234,338,44],"26671273",[349,326,44,234,330,44],"26675983",[351,326,44,234,352,44],"26664965","kitd",[354,326,44,234,355,44],"26665311","skynet-9000",[357,326,44,234,358,44],"26665700","anaganisk",[360,326,44,234,355,44],"26671155",[362,326,44,234,338,44],"26671447",[364,326,44,234,365,44],"26666172","oftenwrong",[367,326,44,234,327,44],"26664780",[369,326,44,234,370,44],"26668326","humbleMouse",[372,326,44,222,338,44],"26673497",[108,374,18,309,109,44],7,[376,208,18,309,294,44],"26666213",[378,208,44,379,294,44],"26666234","commenter\u002Fneutral\u002Fidea",[381,208,44,379,382,44],"26668087","bonestormii_",[384,208,44,379,385,44],"26668094","megous",[387,208,44,222,294,44],"26669948",[389,208,44,222,385,44],"26672019",[391,208,44,222,294,44],"26672376",[393,208,44,222,385,44],"26673277",[395,208,44,222,294,44],"26674994",[397,208,44,222,385,44],"26675964",[399,208,44,222,294,44],"26676305",[401,208,44,222,385,44],"26680980",[190,38,44,403,191,44],"other\u002Fneutral\u002Fidea",[405,38,44,406,407,44],"26664393","other\u002Fneutral\u002Fdocs","xrd",[409,38,44,406,191,44],"26664640",[411,38,44,234,355,44],"26665291",[413,38,44,234,86,44],"26665434",[415,38,44,234,416,44],"26668660","jjeaff",[418,38,44,222,419,44],"26672323","nonameiguess",[115,39,18,309,116,44],[422,39,44,234,173,44],"26664348",[424,39,44,222,425,44],"26664838","oropolo",[427,39,44,234,428,44],"26668565","nullserver",[430,39,44,222,431,44],"26669183","peytn",[433,39,45,434,435,44],"26664489","project\u002Fneutral\u002Fidea","HereBeBeasties",[437,217,33,237,438,44],"26664732","SomaticPirate",[127,32,33,440,128,44],"project\u002Fcritical\u002Fexecution",[66,32,44,275,11,33],[443,32,18,444,128,44],"26675449","maker\u002Fpositive\u002Fnone",[446,447,45,288,448,44],"26663430",13,"kristaps",[73,447,44,275,11,33],[451,447,45,275,452,44],"26666396","faeyanpiraat",[454,447,44,222,455,44],"26667962","sli",[457,447,18,309,458,44],"26663745","spamizbad",[164,460,45,434,165,44],14,[53,460,44,434,11,33],[463,460,33,237,464,44],"26666169","cat199",[466,460,44,234,467,44],"26667169","yen223",[469,470,18,444,471,44],"26668821",15,"john-tells-all",[143,31,33,473,144,44],"project\u002Fcritical\u002Fnone",[475,31,44,275,11,33],"26665673",[197,207,33,237,198,44],[119,478,45,479,120,44],18,"project\u002Fmixed\u002Fexecution",[481,482,18,483,484,44],"26666711",19,"project\u002Fpositive\u002Fnone","sova",[486,487,44,234,488,44],"26665349",20,"ogre_codes",[490,34,33,265,491,44],"26668392","deathanatos",[493,34,44,494,11,33],"26669910","maker\u002Fneutral\u002Fdocs",[496,34,45,497,491,44],"26677043","project\u002Fneutral\u002Fdocs",[499,34,44,494,11,33],"26678887",[501,502,45,497,503,44],"26665423",22,"jfoutz",[505,502,44,494,11,33],"26665512",[178,507,45,497,179,44],23,[509,218,44,234,510,44],"26664883","jeffrom",[104,512,18,309,105,44],25,[514,515,18,483,516,44],"26669239",26,"voidfunc",[518,519,18,309,520,44],"26669060",27,"xvector",[172,522,45,305,173,44],28,[524,522,44,269,11,33],"26661871",[526,522,33,440,173,44],"26664333",[131,528,33,440,132,44],29,[530,531,18,309,532,44],"26667845",30,"bfrog",[534,535,18,483,536,44],"26668575",31,"p_m_c",[538,539,33,473,540,44],"26669297",32,"coldtea",[542,543,18,309,544,44],"26666966",33,"kjjjjjjjjjjjjjj",[546,543,44,444,11,33],"26667153",[548,549,45,305,550,44],"26666567",34,"mlvljr",[552,553,33,237,554,44],"26663909",35,"knodi",[556,557,33,440,136,44],"26668886",36,[559,557,44,222,560,44],"26669105","arathore",[562,557,44,222,563,44],"26669333","exdsq",[565,566,33,237,567,44],"26665252",37,"sleepybrett",[569,566,44,444,11,33],"26665490",[571,572,44,222,573,44],"26666898",38,"nunez",[575,572,44,222,576,44],"26666984","balfirevic",[578,572,44,222,573,44],"26667099",[580,572,44,222,576,44],"26667132",[582,572,44,222,583,44],"26667715","endisneigh",[585,572,33,473,455,44],"26667927",[587,572,44,222,588,44],"26669517","fakedang",[590,572,44,222,573,44],"26684256",[592,572,44,222,593,44],"26669351","Shared404",[595,572,44,222,573,44],"26684261",[597,598,18,599,86,44],"26666487",39,"project\u002Fpositive\u002Fdocs",[601,598,33,440,602,44],"26666572","ay",[604,598,44,234,605,44],"26666800","corndoge",[607,598,44,234,608,44],"26668118","avmich",[610,598,44,234,611,44],"26670124","rualca",[613,598,45,288,355,44],"26671210",[615,598,33,473,611,44],"26672401",[],[618,623,628,633,637,642],{"id":619,"name":620,"points":621,"category":622},"26691626","pdf (paged.js PDF guide)",742,"dev_tools",{"id":624,"name":625,"points":626,"category":627},"26700770","aava.sh",425,"productivity",{"id":629,"name":630,"points":631,"category":632},"26659553","Mail Studio",395,"creative",{"id":634,"name":635,"points":636,"category":627},"26673221","Grit",255,{"id":638,"name":639,"points":640,"category":641},"26719105","DragonRuby",234,"languages",{"id":643,"name":644,"points":645,"category":632},"26659860","attejuvonen.fi",229,false,"v2",{"id":649,"name":5,"line":6,"ai":646,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":44,"top":18,"kw":650,"maker":11,"domain":10,"tier":19,"attempts":44,"strip":651,"url":9,"mix":652,"praise":100,"objection":124,"sub":21},26661223,[21,24,25,26,27],"0101153115000005500005133333135335110131",[31,32,33,34],1794036605174]