@omer-x/buttler
Version:
automates CI/CD workflows using Docker and GitHub webhooks
1 lines • 13 kB
JavaScript
(()=>{var e={};e.id=763,e.ids=[763],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:e=>{"use strict";e.exports=require("node:buffer")},4934:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var s=r(60687),n=r(50231);let i=({id:e,children:t})=>(0,s.jsx)(n.A,{controlId:e,children:t})},7808:(e,t,r)=>{"use strict";r.d(t,{FU:()=>m,LW:()=>x,fL:()=>p,kW:()=>f,xQ:()=>d});let s=/([\p{Ll}\d])(\p{Lu})/gu,n=/(\p{Lu})([\p{Lu}][\p{Ll}])/gu,i=/(\d)\p{Ll}|(\p{L})\d/u,a=/[^\p{L}\d]+/giu,o="$1\0$2";function l(e){let t=e.trim();t=(t=t.replace(s,o).replace(n,o)).replace(a,"\0");let r=0,i=t.length;for(;"\0"===t.charAt(r);)r++;if(r===i)return[];for(;"\0"===t.charAt(i-1);)i--;return t.slice(r,i).split(/\0/g)}function c(e){let t=l(e);for(let e=0;e<t.length;e++){let r=t[e],s=i.exec(r);if(s){let n=s.index+(s[1]??s[2]).length;t.splice(e,1,r.slice(0,n),r.slice(n))}}return t}function u(e,t){let[r,s,n]=j(e,t);return r+s.map(b(t?.locale)).join(t?.delimiter??" ")+n}function d(e,t){let[r,s,n]=j(e,t),i=b(t?.locale),a=h(t?.locale),o=t?.mergeAmbiguousCharacters?v(i,a):g(i,a);return r+s.map((e,t)=>0===t?i(e):o(e,t)).join(t?.delimiter??"")+n}function p(e,t){let[r,s,n]=j(e,t),i=b(t?.locale),a=h(t?.locale),o=t?.mergeAmbiguousCharacters?v(i,a):g(i,a);return r+s.map(o).join(t?.delimiter??"")+n}function m(e,t){let[r,s,n]=j(e,t);return r+s.map(h(t?.locale)).join(t?.delimiter??"_")+n}function f(e,t){return u(e,{delimiter:"-",...t})}function x(e,t){return u(e,{delimiter:"_",...t})}function b(e){return!1===e?e=>e.toLowerCase():t=>t.toLocaleLowerCase(e)}function h(e){return!1===e?e=>e.toUpperCase():t=>t.toLocaleUpperCase(e)}function v(e,t){return r=>`${t(r[0])}${e(r.slice(1))}`}function g(e,t){return(r,s)=>{let n=r[0];return(s>0&&n>="0"&&n<="9"?"_"+n:t(n))+e(r.slice(1))}}function j(e,t={}){let r=t.split??(t.separateNumbers?c:l),s=t.prefixCharacters??"",n=t.suffixCharacters??"",i=0,a=e.length;for(;i<e.length;){let t=e.charAt(i);if(!s.includes(t))break;i++}for(;a>i;){let t=a-1,r=e.charAt(t);if(!n.includes(r))break;a=t}return[e.slice(0,i),r(e.slice(i,a)),e.slice(a)]}},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},10965:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var s=r(37413);r(61120);var n=r(67015);let i=({status:e})=>(0,s.jsx)(n.default,{bg:(()=>{switch(e){case"idle":return"secondary";case"running":return"success"}})(),children:e.toUpperCase()})},17113:(e,t,r)=>{"use strict";r.d(t,{default:()=>c});var s=r(69662),n=r.n(s),i=r(43210),a=r(98466),o=r(60687);let l=i.forwardRef(({bsPrefix:e,bg:t="primary",pill:r=!1,text:s,className:i,as:l="span",...c},u)=>{let d=(0,a.oU)(e,"badge");return(0,o.jsx)(l,{ref:u,...c,className:n()(i,d,r&&"rounded-pill",s&&`text-${s}`,t&&`bg-${t}`)})});l.displayName="Badge";let c=l},17664:(e,t,r)=>{"use strict";r.d(t,{default:()=>x});var s=r(60687),n=r(4934),i=r(43210),a=r(59575),o=r(29429),l=r(7808),c=r(12785);let u=({name:e,type:t="text",lines:r,value:n,displayValue:i,...a})=>(0,s.jsx)(s.Fragment,{children:r?(0,s.jsx)(s.Fragment,{children:i?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.A,{type:t,value:i,...a,as:"textarea",rows:r}),(0,s.jsx)("input",{type:"hidden",name:e,value:n})]}):(0,s.jsx)(c.A,{type:t,value:n,name:e,...a,as:"textarea",rows:r})}):(0,s.jsx)(s.Fragment,{children:i?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.A,{type:t,value:i,...a,as:"input"}),(0,s.jsx)("input",{type:"hidden",name:e,value:n})]}):(0,s.jsx)(c.A,{type:t,name:e,value:n,...a,as:"input"})})}),d=({messages:e={},name:t,...r})=>{let n=(0,i.useContext)(o.A),c=function(e,t){return e[(0,l.xQ)(t)]||e[(0,l.FU)(t)]||e[(0,l.kW)(t)]||e[(0,l.fL)(t)]||e[(0,l.LW)(t)]||void 0}(n.errors,t);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(u,{...r,name:t,isInvalid:!!c}),c&&(0,s.jsx)(a.A,{type:"invalid",children:e[c]??n.messages[c]??c})]})};var p=r(66159);let m=({name:e,label:t,feedback:r,messages:i,children:a,...o})=>(0,s.jsxs)(n.A,{id:e,children:[t&&(0,s.jsx)(p.A,{text:t}),a,r||i?(0,s.jsx)(d,{name:e,messages:i,...o}):(0,s.jsx)(u,{name:e,...o})]});var f=r(35033);let x=({data:e})=>{let[t,r]=(0,i.useState)(e?.kind??"git");return(0,s.jsxs)(s.Fragment,{children:[!e&&(0,s.jsx)(f.A,{label:"Type",name:"kind",options:["git","database"],optionName:e=>"git"===e?"Custom":"Database",value:t,onChange:r}),(0,s.jsx)(m,{label:"Name",name:"name",required:!0,autoFocus:!0,defaultValue:e?.name}),("git"===t||!!e)&&(0,s.jsx)(m,{label:"Repository",name:"repo",required:!0,defaultValue:e?.repo,readOnly:(e?.repo??"").length>0}),"database"===t&&!e&&(0,s.jsx)(f.A,{label:"Engine",name:"repo",options:["postgres","redis"],optionName:e=>{switch(e){case"postgres":return"PostgreSQL";case"mysql":return"MySQL";case"mongo":return"MongoDB";case"redis":return"Redis"}}})]})}},18888:(e,t,r)=>{Promise.resolve().then(r.bind(r,44122)),Promise.resolve().then(r.t.bind(r,85814,23)),Promise.resolve().then(r.bind(r,17113)),Promise.resolve().then(r.bind(r,92388)),Promise.resolve().then(r.bind(r,94718)),Promise.resolve().then(r.bind(r,17664))},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:e=>{"use strict";e.exports=require("os")},28354:e=>{"use strict";e.exports=require("util")},29021:e=>{"use strict";e.exports=require("fs")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29429:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(43210).createContext)({errors:{},messages:{}})},31331:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>g,dynamic:()=>v});var s=r(37413),n=r(78348),i=r(71213),a=r(38128),o=r(49723),l=r(68750),c=r(13933),u=r(43412),d=r(4536),p=r.n(d);r(61120);var m=r(86054),f=r(10965),x=r(92268),b=r(37144),h=r(67262);let v="force-dynamic",g=async({params:e})=>{let t=await (0,h.A)(b.A,["id","kind","name","status","ports","environmentVariables"]),r=e=>{switch(e){case"git":return n.b0;case"database":return i.he}};return(0,s.jsx)(c.A,{title:"Services",toolbar:(0,s.jsx)(u.default,{buttonIcon:a.QL,buttonSize:"sm",buttonText:"New Service",buttonVariant:"success",title:"New Service",action:m.vt,confirmText:"Create",cancelText:"Cancel",children:(0,s.jsx)(x.default,{})}),children:t.length?(0,s.jsx)(l.A,{link:p(),collection:t,primaryKey:"id",schema:{kind:{header:"",wrapper:e=>(0,s.jsx)(o.g,{icon:r(e),size:"lg",className:"fa-fw"})},name:{header:"Name",wrapper:(e,t)=>(0,s.jsx)(p(),{href:`/services/${t}`,children:e}),long:!0},status:{header:"Status",wrapper:e=>(0,s.jsx)(f.A,{status:e})},ports:{header:"Ports",wrapper:e=>e.length,size:"sm"},environmentVariables:{header:"Env. Variables",wrapper:e=>e.length,size:"md"}},editLink:e=>`/services/${e}/edit?r=list`,destroyAction:m.zr,destroyWarningTitle:"Delete Service",destroyWarningDescription:"Are you sure you want to delete this service?",destroyConfirmText:"Confirm",destroyCancelText:"Cancel",destroyDisabled:!1}):(0,s.jsx)("span",{className:"text-muted fst-italic",children:"No services found."})})}},31858:(e,t,r)=>{"use strict";r.r(t),r.d(t,{"40f22e54ba9a08711268b385da3f68ae3b90044a4a":()=>s.vt,"6032cd5870eab2b5f6fccd7b003517b968abf89e81":()=>s.ni,"60cfb4f24c6db9621c176bf670f1b1417fb2523bcd":()=>s.zr,"60fb82210a2086ee63ca1943b5fb73c633928dbad4":()=>s.jq,"702d4e84f562d777c4dfb904e7f15c6952f8e1025b":()=>s.x_,"705a644af0a2f680f8b27c77708f8d52eeedd813f6":()=>s.PE,"7065b7c773ba57e5e1fe201cc244dbe22793e8b678":()=>s.yo,"70b08ba9bf2e80865785fcbf027063fa6bef35601a":()=>s.ds});var s=r(86054)},33873:e=>{"use strict";e.exports=require("path")},35033:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var s=r(60687),n=r(39202),i=r(4934),a=r(66159);let o=({label:e,name:t,options:r,optionName:o=e=>e,defaultValue:l,value:c,onChange:u})=>(0,s.jsxs)(i.A,{id:t,children:[e&&(0,s.jsx)(a.A,{text:e}),(0,s.jsx)(n.A,{name:t,defaultValue:l,value:c,onChange:u&&(e=>u(e.target.value)),children:r.map(e=>(0,s.jsx)("option",{value:e,children:o(e)},e))})]})},38128:(e,t)=>{"use strict";t.mw={prefix:"fas",iconName:"plus",icon:[448,512,[10133,61543,"add"],"2b","M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"]},t.QL=t.mw},51455:e=>{"use strict";e.exports=require("node:fs/promises")},55336:(e,t,r)=>{Promise.resolve().then(r.bind(r,43412)),Promise.resolve().then(r.t.bind(r,4536,23)),Promise.resolve().then(r.bind(r,67015)),Promise.resolve().then(r.bind(r,52730)),Promise.resolve().then(r.bind(r,47408)),Promise.resolve().then(r.bind(r,92268))},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66159:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var s=r(60687),n=r(66098);let i=({text:e})=>(0,s.jsx)(n.A,{className:"text-muted",children:e})},66400:e=>{"use strict";e.exports=require("dockerode")},67015:(e,t,r)=>{"use strict";r.d(t,{default:()=>s});let s=(0,r(12907).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/omer/Projects/buttler/node_modules/react-bootstrap/esm/Badge.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/omer/Projects/buttler/node_modules/react-bootstrap/esm/Badge.js","default")},67262:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});var s=r(96715);async function n(e,t){return await e.query.services.findMany({with:{environmentVariables:{columns:{key:!0,value:!0}},ports:{columns:{external:!0,internal:!0}}},columns:(0,s.G)(t),orderBy:(e,{asc:t})=>[t(e.createdAt)]})}},71213:(e,t)=>{"use strict";t.mw={prefix:"fas",iconName:"database",icon:[448,512,[],"f1c0","M448 80l0 48c0 44.2-100.3 80-224 80S0 172.2 0 128L0 80C0 35.8 100.3 0 224 0S448 35.8 448 80zM393.2 214.7c20.8-7.4 39.9-16.9 54.8-28.6L448 288c0 44.2-100.3 80-224 80S0 332.2 0 288L0 186.1c14.9 11.8 34 21.2 54.8 28.6C99.7 230.7 159.5 240 224 240s124.3-9.3 169.2-25.3zM0 346.1c14.9 11.8 34 21.2 54.8 28.6C99.7 390.7 159.5 400 224 400s124.3-9.3 169.2-25.3c20.8-7.4 39.9-16.9 54.8-28.6l0 85.9c0 44.2-100.3 80-224 80S0 476.2 0 432l0-85.9z"]},t.he=t.mw},76760:e=>{"use strict";e.exports=require("node:path")},77598:e=>{"use strict";e.exports=require("node:crypto")},78348:(e,t)=>{"use strict";t.mw={prefix:"fab",iconName:"git-alt",icon:[448,512,[],"f841","M439.55 236.05L244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"]},t.b0=t.mw},78474:e=>{"use strict";e.exports=require("node:events")},79646:e=>{"use strict";e.exports=require("child_process")},83997:e=>{"use strict";e.exports=require("tty")},87550:e=>{"use strict";e.exports=require("better-sqlite3")},92268:(e,t,r)=>{"use strict";r.d(t,{default:()=>s});let s=(0,r(12907).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/omer/Projects/buttler/src/components/services/ServiceForm.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/omer/Projects/buttler/src/components/services/ServiceForm.tsx","default")},94735:e=>{"use strict";e.exports=require("events")},99764:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>a.a,__next_app__:()=>d,pages:()=>u,routeModule:()=>p,tree:()=>c});var s=r(65239),n=r(48088),i=r(88170),a=r.n(i),o=r(30893),l={};for(let e in o)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(l[e]=()=>o[e]);r.d(t,l);let c={children:["",{children:["services",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,31331)),"/home/omer/Projects/buttler/src/app/services/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(r.bind(r,94431)),"/home/omer/Projects/buttler/src/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(r.t.bind(r,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(r.t.bind(r,65284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,u=["/home/omer/Projects/buttler/src/app/services/page.tsx"],d={require:r,loadChunk:()=>Promise.resolve()},p=new s.AppPageRouteModule({definition:{kind:n.RouteKind.APP_PAGE,page:"/services/page",pathname:"/services",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})}};var t=require("../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[719,664,312,629,230,704,256,744,15,54],()=>r(99764));module.exports=s})();