# ItemTable

key: workbench.scm.views.state
value:
  {"workbench.scm.repositories":{"collapsed":false,"isHidden":true},"workbench.scm":{"collapsed":false,"isHidden":true},"workbench.scm.history":{"collapsed":false,"isHidden":true}}


key: anysphere.cursor-retrieval
value:
  {"cursor-retrieval-state-version":1,"map/e09087f15141c3cb12b0f2bf0a45e4e9712b9479c057389e8774d8ff66464195-container-mom-go/repoKeys":{"repoName":"0a916783-5b5c-4b72-b3f4-dff95c813d1d","orthogonalTransformationSeed":4164706051126225,"pathEncryptionKey":"b_1Zt1WmpeSR5FdprE3Upy3bO-hrFidjTjbv0hgKHZE"}}


key: workbench.zenMode.exitInfo
value:
  {"transitionedToCenteredEditorLayout":false,"transitionedToFullScreen":false,"handleNotificationsDoNotDisturbMode":false,"wasVisible":{"auxiliaryBar":false,"panel":false,"sideBar":false}}


key: workbench.view.extension.test.state
value:
  {"workbench.view.testing":{"collapsed":false,"isHidden":false},"workbench.view.testCoverage":{"collapsed":false,"isHidden":false},"go.test.profile":{"collapsed":false,"isHidden":false}}


key: workbench.view.extensions.state
value:
  {"workbench.views.extensions.installed":{"collapsed":false,"isHidden":false},"workbench.views.extensions.searchOutdated":{"collapsed":false,"isHidden":false},"workbench.views.extensions.workspaceRecommendations":{"collapsed":false,"isHidden":false},"workbench.views.extensions.popular":{"collapsed":false,"isHidden":false},"workbench.views.extensions.searchRecentlyUpdated":{"collapsed":false,"isHidden":false},"workbench.views.extensions.otherRecommendations":{"collapsed":false,"isHidden":false},"extensions.recommendedList":{"collapsed":false,"isHidden":false},"workbench.views.extensions.enabled":{"collapsed":false,"isHidden":true},"workbench.views.extensions.disabled":{"collapsed":false,"isHidden":true},"workbench.views.extensions.marketplace":{"collapsed":false,"isHidden":false,"size":1234},"workbench.views.extensions.searchInstalled":{"collapsed":false,"isHidden":false},"workbench.views.extensions.searchEnabled":{"collapsed":false,"isHidden":false},"workbench.views.extensions.searchDisabled":{"collapsed":false,"isHidden":false},"workbench.views.extensions.searchBuiltin":{"collapsed":false,"isHidden":false},"workbench.views.extensions.searchWorkspaceUnsupported":{"collapsed":false,"isHidden":false},"workbench.views.extensions.builtinFeatureExtensions":{"collapsed":false,"isHidden":false},"workbench.views.extensions.builtinThemeExtensions":{"collapsed":false,"isHidden":false},"workbench.views.extensions.builtinProgrammingLanguageExtensions":{"collapsed":false,"isHidden":false},"workbench.views.extensions.untrustedUnsupportedExtensions":{"collapsed":false,"isHidden":false},"workbench.views.extensions.untrustedPartiallySupportedExtensions":{"collapsed":false,"isHidden":false},"workbench.views.extensions.virtualUnsupportedExtensions":{"collapsed":false,"isHidden":false},"workbench.views.extensions.virtualPartiallySupportedExtensions":{"collapsed":false,"isHidden":false},"workbench.views.extensions.deprecatedExtensions":{"collapsed":false,"isHidden":false}}


key: workbench.view.extension.dockerView.state
value:
  {"dockerContainers":{"collapsed":false,"isHidden":false},"dockerImages":{"collapsed":false,"isHidden":false},"dockerRegistries":{"collapsed":false,"isHidden":false},"dockerNetworks":{"collapsed":true,"isHidden":false},"dockerVolumes":{"collapsed":true,"isHidden":false},"vscode-docker.views.dockerContexts":{"collapsed":true,"isHidden":false},"vscode-docker.views.help":{"collapsed":false,"isHidden":false}}


key: workbench.explorer.views.state
value:
  {"workbench.explorer.openEditorsView":{"collapsed":false,"isHidden":true},"workbench.explorer.fileView":{"collapsed":false,"isHidden":true,"size":1233},"outline":{"collapsed":true,"isHidden":true,"size":22},"timeline":{"collapsed":true,"isHidden":true,"size":22},"notepad":{"collapsed":true,"isHidden":true,"size":22},"npm":{"collapsed":true,"isHidden":true},"go.explorer":{"collapsed":true,"isHidden":false,"size":22}}


key: workbench.auxiliarybar.viewContainersWorkspaceState
value:
  [{"id":"workbench.panel.aichat","visible":true},{"id":"workbench.panel.composerViewPane2","visible":true},{"id":"workbench.panel.aipaneaaaiBugFinder","visible":true}]


key: workbench.view.debug.state
value:
  {"workbench.debug.welcome":{"collapsed":false,"isHidden":true},"workbench.debug.variablesView":{"collapsed":false,"isHidden":true},"workbench.debug.watchExpressionsView":{"collapsed":false,"isHidden":true},"workbench.debug.callStackView":{"collapsed":false,"isHidden":true},"workbench.debug.loadedScriptsView":{"collapsed":true,"isHidden":true},"workbench.debug.breakPointsView":{"collapsed":false,"isHidden":true}}


key: scm:view:visibleRepositories
value:
  {"all":["git:Git:file:///home/josie/development/container-mom-go","git:Git:file:///home/josie/development/container-mom-operator"],"sortKey":"discoveryTime","visible":[0,1]}


key: memento/workbench.editors.files.textFileEditor
value:
  {"textEditorViewState":[["file:///home/josie/development/container-mom-go/cmd/mom/main.go",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":57,"column":1},"position":{"lineNumber":57,"column":1}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":0},"contributionsState":{"editor.contrib.folding":{"lineCount":57,"provider":"syntax","foldedImports":false},"editor.contrib.wordHighlighter":false}}}],["file:///home/josie/development/container-mom-go/pkg/web/templates/index.html",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":1,"column":1},"position":{"lineNumber":1,"column":1}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":0},"contributionsState":{"editor.contrib.folding":{"lineCount":34,"foldedImports":false},"editor.contrib.wordHighlighter":false}}}],["file:///home/josie/development/container-mom-go/pkg/web/portal/templates/dashboard.html",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":1,"column":1},"position":{"lineNumber":1,"column":1}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":0},"contributionsState":{"editor.contrib.folding":{"lineCount":106,"provider":"syntax","foldedImports":false},"editor.contrib.wordHighlighter":false}}}],["file:///home/josie/development/container-mom-operator/README.md",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":1,"column":1},"position":{"lineNumber":1,"column":1}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":0},"contributionsState":{"editor.contrib.folding":{"lineCount":313,"provider":"syntax","foldedImports":false},"editor.contrib.wordHighlighter":false}}}],["file:///home/josie/development/container-mom-go/pkg/web/portal/templates/billing.html",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":5,"column":59},"position":{"lineNumber":5,"column":59}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":0},"contributionsState":{"editor.contrib.folding":{"lineCount":288,"provider":"syntax","foldedImports":false},"editor.contrib.wordHighlighter":false}}}],["file:///home/josie/development/container-mom-go/README.md",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":167,"column":30},"position":{"lineNumber":167,"column":30}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":139,"column":1},"firstPositionDeltaTop":-12},"contributionsState":{"editor.contrib.folding":{"lineCount":181,"provider":"syntax","foldedImports":false},"editor.contrib.wordHighlighter":true}}}],["file:///home/josie/development/container-mom-go/go.mod",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":1,"column":1},"position":{"lineNumber":1,"column":1}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":16},"contributionsState":{"editor.contrib.folding":{"lineCount":111,"provider":"syntax","foldedImports":false},"editor.contrib.wordHighlighter":false}}}],["file:///home/josie/development/container-mom-go/pkg/operator/operator.go",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":1,"column":1},"position":{"lineNumber":1,"column":1}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":61,"column":1},"firstPositionDeltaTop":-10},"contributionsState":{"editor.contrib.folding":{"lineCount":419,"provider":"syntax","foldedImports":false},"editor.contrib.wordHighlighter":false}}}],["file:///home/josie/development/container-mom-operator/.github/workflows/ci.yml",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":1,"column":1},"position":{"lineNumber":1,"column":1}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":16,"column":1},"firstPositionDeltaTop":-15},"contributionsState":{"editor.contrib.folding":{"lineCount":114,"provider":"indent","foldedImports":false},"editor.contrib.wordHighlighter":false}}}],["file:///home/josie/development/container-mom-go/.github/workflows/ci.yaml",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":85,"column":38},"position":{"lineNumber":85,"column":38}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":50,"column":1},"firstPositionDeltaTop":-15},"contributionsState":{"editor.contrib.folding":{"lineCount":85,"provider":"indent","foldedImports":false},"editor.contrib.wordHighlighter":false}}}],["file:///home/josie/development/container-mom-go/pkg/config/config.go",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":1,"column":1},"position":{"lineNumber":1,"column":1}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":0},"contributionsState":{"editor.contrib.folding":{"lineCount":125,"provider":"syntax","foldedImports":false},"editor.contrib.wordHighlighter":false}}}],["file:///home/josie/development/container-mom-go/pkg/web/portal/portal.go",{"0":{"cursorState":[{"inSelectionMode":false,"selectionStart":{"lineNumber":11,"column":52},"position":{"lineNumber":11,"column":52}}],"viewState":{"scrollLeft":0,"firstPosition":{"lineNumber":1,"column":1},"firstPositionDeltaTop":0},"contributionsState":{"editor.contrib.folding":{"lineCount":220,"provider":"syntax","foldedImports":false},"editor.contrib.wordHighlighter":true}}}]]}


key: aiService.prompts
value:
  [{"text":"look at the crystal project container-mom-operator and recreate it in go in container-momo-go","commandType":4},{"text":"container-mom. momo was a typo","commandType":4},{"text":"add all the missing services and functionality","commandType":4},{"text":"check the readme for missing components","commandType":4},{"text":"have we replicated the web portal yet?","commandType":4},{"text":"look at the crds in the original operator and recreate them","commandType":4},{"text":"to reiterate the goal of the operator: we have container mom depoyment CRD that defines parameters such as multi cluster placement, resources, and image source. the web portal is the way customers interact with their deployments and there is also a billing service. I'll add mroe notes from a doc below:\n\n\nbranding\nwhat’s the main differentiator here? why would devs pick \"container mom\" over others?\nthe main differentiator is that it should be as simple as putting git repo link into the portal and mom takes care of the rest: watching for updates, source to image builds, cert renewals etc.\n\nvibe check: do you want it more playful or dead serious? any industry no-no’s?\nplayful but in a profesh way like cute but reliable\n\nis there a specific tone in language you want to come across in comms?\nI like the \"containers like mom used to make\" tagline. kinda like mom's robot oil from futurama\n\ngot it. here’s a refined brand identity direction for “container mom” that fits this vibe:\n\n\ttagline: “containers like mom used to make” is great as is. we could play with slight variations for different parts of the brand, like \"just like mom always knows what you need\" on the portal.\n\n\tvisual design: emphasize simplicity and reliability, but bring in a bit of retro-futuristic look (think 60s + sci-fi); colors could be warm yet techy—like soft metallic blues, greens, and maybe an accent of red or orange.\n\n\ticonography and mascot: something like a friendly but robot-like \"mom\" figure that’s cute, minimal, and approachable. keep it modern, with warm round shapes but avoid anything overly cartoonish. maybe mom wears glasses for that wise, all-seeing look.\n\n\tlanguage tone: playful, a little nostalgic but dead reliable. mix a few homey phrases with tech jargon in a quirky way, like “just push the code, honey—I’ve got this.”\n\nmom as the wise matriarch: think of a character who’s warm but knows what’s up—someone who’s seen the tech world’s evolution but keeps it simple. visual cues for her: maybe a kind expression with a hint of that \"i've been here before\" look. she’d be equipped with tech accessories that are subtle but futuristic (glasses with a data feed, a gentle halo of tech rings or glowing elements around her).\n\nretro-futuristic palette: to evoke that mix of familiarity and tech:\n\n\tprimary: muted teal or aqua (soft tech vibe)\n\tsecondary: pale peach or coral (a bit warm, not too bright)\n\taccents: dark slate or charcoal for grounding, maybe a metallic silver-blue for some elements\n\toptional pop: burnt orange or deep crimson—sparingly, maybe in mom's outfit or certain call-to-action buttons\n\nlogo character: a “mascot mom” who’s minimalist yet recognizable. she’d need a unique silhouette (maybe a head tilt or hand on a hip) with small techy details—perhaps futuristic spectacles or a wrist device. mom should feel timeless and wise without crossing into kitsch.\n\nportal interaction: give mom her little commentary moments, like “one sec, honey—rebuilding!” or “got those certs renewed—safe and sound.” keeping these short and relevant, so it feels like she’s right there watching out for them.\n\ntypography: go for retro-styled sans-serif fonts—rounded, friendly, and legible but not too bulky. something like a Futura-inspired typeface, balanced with a monospaced font for code-related sections.\n\noverall feel: blending a bit of mom’s timeless wisdom with subtle sci-fi elements, plus warm retro colors—this could make for a brand that’s truly unique and dev-friendly without the usual corporate bloat.\n\nonboaring\none click idp\n\nsign in on signup\n\ndeploy\nlibrary of templates\n\nconnect repo\n\nregion select\nspec config\n\nprogress bar\n\nmanage\npause (scale to 0)\nrestart (delete po)\ndelete (delete deploy)\nlogs\n\nenv vars\nDBs managed (per cluster?)\n\ndomain stuff custom or *.container.mom\n\nOperator\nPortal\nfrontend\nmanage lifecycle\nsee logs\nbuy credits (cookies, stickers or smth)\nCM list of target clusters\nNS for each customer\nSecret for ENV Vars\nDeployment CR\nbilling status\nname\ntarget clusters\nsource url\ndomain\nS2I stuff (if git source)\n","commandType":4},{"text":"yes please continue","commandType":4},{"text":"domain stuff","commandType":4},{"text":"create templates for k8s resources","commandType":4},{"text":"document the current state in the readme ","commandType":4},{"text":"retry","commandType":4},{"text":"write it to the file","commandType":4},{"text":"work on the web portal next","commandType":4},{"text":"the billing interface","commandType":4},{"text":"update the readme ","commandType":4},{"text":"there will be no tiers, we charge back based on HA, and resource usage","commandType":4},{"text":"don't add a plans table. deployments start at $1/month.\n\nthe billing service should be fed with some config map that defines the pricing per resource for the cluster which is then used to charge back ","commandType":4},{"text":"we also want to offer promos that are fixed pricing up to certain specs","commandType":4},{"text":"for billing we want to integrate stripe","commandType":4},{"text":"we also need helm charts for the deployment","commandType":4},{"text":"add ci based on the old operator to build all the required images and then add docs","commandType":4},{"text":"why are there all thos + in the readme?","commandType":4},{"text":"cleanup","commandType":4},{"text":"README.md still has the +4","commandType":4},{"text":"add the source to image stuff","commandType":4},{"text":"we don't need sbom generation","commandType":4},{"text":"add the code for those features and then document them in the readme","commandType":4},{"text":"Run go test -v ./...\ngo: downloading github.com/docker/docker v24.0.7+incompatible\ngo: downloading gopkg.in/yaml.v2 v2.4.0\ngo: downloading github.com/docker/go-connections v0.4.0\ngo: downloading github.com/docker/go-units v0.5.0\ngo: downloading github.com/opencontainers/image-spec v1.0.2\ngo: downloading github.com/docker/distribution v2.8.3+incompatible\ngo: downloading github.com/opencontainers/go-digest v1.0.0\ngo: downloading github.com/pkg/errors v0.9.1\ngo: downloading golang.org/x/sys v0.5.0\ngo: downloading github.com/distribution/reference v0.5.0\ngo: downloading golang.org/x/net v0.6.0\ngo: downloading github.com/gogo/protobuf v1.3.2\nError: pkg/billing/service.go:7:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: pkg/billing/service.go:8:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: pkg/billing/service.go:9:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: pkg/billing/service.go:10:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: pkg/billing/service.go:11:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: pkg/operator/operator.go:12:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: pkg/apis/containermom/v1alpha1/customer_types.go:4:2: missing go.sum entry for module providing package k8s.io/apimachinery/pkg/apis/meta/v1 (imported by github.com/yourusername/container-mom-go/pkg/apis/containermom/v1alpha1); to add:\n\tgo get github.com/yourusername/container-mom-go/pkg/apis/containermom/v1alpha1\nError: ../../../go/pkg/mod/github.com/docker/docker@v24.0.7+incompatible/pkg/archive/archive.go:23:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: ../../../go/pkg/mod/github.com/docker/docker@v24.0.7+incompatible/pkg/idtools/idtools_unix.go:17:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: ../../../go/pkg/mod/github.com/docker/docker@v24.0.7+incompatible/pkg/archive/archive.go:28:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: ../../../go/pkg/mod/github.com/docker/docker@v24.0.7+incompatible/pkg/archive/archive.go:29:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: ../../../go/pkg/mod/github.com/docker/docker@v24.0.7+incompatible/pkg/archive/archive.go:30:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: ../../../go/pkg/mod/github.com/docker/docker@v24.0.7+incompatible/pkg/archive/archive.go:32:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: pkg/builder/builder.go:13:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: pkg/web/portal/server.go:9:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: pkg/web/portal/handlers.go:11:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: pkg/web/portal/server.go:13:24: pattern static/*: no matching files found\nError: pkg/domain/manager.go:7:2: k8s.io/api@v0.29.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download k8s.io/api\nError: pkg/domain/manager.go:8:2: missing go.sum entry for module providing package k8s.io/api/networking/v1 (imported by github.com/yourusername/container-mom-go/pkg/domain); to add:\n\tgo get github.com/yourusername/container-mom-go/pkg/domain\nError: pkg/domain/manager.go:10:2: missing go.sum entry for module providing package k8s.io/client-go/kubernetes (imported by github.com/yourusername/container-mom-go/pkg/domain); to add:\n\tgo get github.com/yourusername/container-mom-go/pkg/domain\nError: pkg/controller/deployment_controller.go:6:2: missing go.sum entry for module providing package k8s.io/api/apps/v1 (imported by github.com/yourusername/container-mom-go/pkg/controller); to add:\n\tgo get github.com/yourusername/container-mom-go/pkg/controller\nError: pkg/controller/deployment_controller.go:7:2: missing go.sum entry for module providing package k8s.io/api/core/v1 (imported by github.com/yourusername/container-mom-go/pkg/controller); to add:\n\tgo get github.com/yourusername/container-mom-go/pkg/controller\nError: pkg/controller/deployment_controller.go:8:2: missing go.sum entry for module providing package k8s.io/apimachinery/pkg/api/errors (imported by github.com/yourusername/container-mom-go/pkg/controller); to add:\n\tgo get github.com/yourusername/container-mom-go/pkg/controller\nError: pkg/controller/customer_controller.go:6:2: missing go.sum entry for module providing package k8s.io/apimachinery/pkg/runtime (imported by github.com/yourusername/container-mom-go/pkg/controller); to add:\n\tgo get github.com/yourusername/container-mom-go/pkg/controller\nError: pkg/controller/deployment_controller.go:11:2: missing go.sum entry for module providing package k8s.io/apimachinery/pkg/util/intstr (imported by github.com/yourusername/container-mom-go/pkg/controller); to add:\n\tgo get github.com/yourusername/container-mom-go/pkg/controller\nError: pkg/controller/customer_controller.go:7:2: missing go.sum entry for module providing package sigs.k8s.io/controller-runtime (imported by github.com/yourusername/container-mom-go/pkg/controller); to add:\n\tgo get github.com/yourusername/container-mom-go/pkg/controller\nError: pkg/controller/customer_controller.go:8:2: missing go.sum entry for module providing package sigs.k8s.io/controller-runtime/pkg/client (imported by github.com/yourusername/container-mom-go/pkg/controller); to add:\n\tgo get github.com/yourusername/container-mom-go/pkg/controller\nError: pkg/controller/customer_controller.go:9:2: missing go.sum entry for module providing package sigs.k8s.io/controller-runtime/pkg/log (imported by github.com/yourusername/container-mom-go/pkg/controller); to add:\n\tgo get github.com/yourusername/container-mom-go/pkg/controller\nError: Process completed with exit code 1.\n","commandType":4},{"text":"replace yourusername with pfeifferj","commandType":4},{"text":"Run go test -v ./...\ngo: downloading github.com/docker/docker v24.0.7+incompatible\ngo: downloading gopkg.in/yaml.v2 v2.4.0\ngo: downloading github.com/docker/go-connections v0.4.0\ngo: downloading github.com/docker/go-units v0.5.0\ngo: downloading github.com/opencontainers/image-spec v1.0.2\ngo: downloading github.com/docker/distribution v2.8.3+incompatible\ngo: downloading github.com/opencontainers/go-digest v1.0.0\ngo: downloading github.com/pkg/errors v0.9.1\ngo: downloading github.com/distribution/reference v0.5.0\ngo: downloading github.com/gogo/protobuf v1.3.2\nError: pkg/billing/service.go:7:2: missing go.sum entry for module providing package github.com/stripe/stripe-go/v75 (imported by github.com/pfeifferj/container-mom-go/pkg/billing); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/billing\nError: pkg/billing/service.go:8:2: missing go.sum entry for module providing package github.com/stripe/stripe-go/v75/customer (imported by github.com/pfeifferj/container-mom-go/pkg/billing); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/billing\nError: pkg/billing/service.go:9:2: missing go.sum entry for module providing package github.com/stripe/stripe-go/v75/invoice (imported by github.com/pfeifferj/container-mom-go/pkg/billing); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/billing\nError: pkg/billing/service.go:10:2: missing go.sum entry for module providing package github.com/stripe/stripe-go/v75/subscription (imported by github.com/pfeifferj/container-mom-go/pkg/billing); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/billing\nError: pkg/billing/service.go:11:2: missing go.sum entry for module providing package github.com/stripe/stripe-go/v75/usagerecord (imported by github.com/pfeifferj/container-mom-go/pkg/billing); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/billing\nError: pkg/operator/operator.go:12:2: github.com/go-git/go-git/v5@v5.11.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download github.com/go-git/go-git/v5\nError: ../../../go/pkg/mod/github.com/docker/go-connections@v0.4.0/sockets/proxy.go:9:2: missing go.sum entry for module providing package golang.org/x/net/proxy (imported by github.com/docker/go-connections/sockets); to add:\n\tgo get github.com/docker/go-connections/sockets@v0.4.0\nError: pkg/apis/containermom/v1alpha1/customer_types.go:4:2: missing go.sum entry for module providing package k8s.io/apimachinery/pkg/apis/meta/v1 (imported by github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\nError: ../../../go/pkg/mod/github.com/docker/docker@v24.0.7+incompatible/pkg/archive/archive.go:23:2: github.com/go-git/go-git/v5@v5.11.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download github.com/go-git/go-git/v5\nError: ../../../go/pkg/mod/github.com/docker/docker@v24.0.7+incompatible/pkg/idtools/idtools_unix.go:17:2: github.com/go-git/go-git/v5@v5.11.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download github.com/go-git/go-git/v5\nError: ../../../go/pkg/mod/github.com/docker/docker@v24.0.7+incompatible/pkg/process/process_unix.go:14:2: missing go.sum entry for module providing package golang.org/x/sys/unix (imported by github.com/docker/docker/pkg/archive); to add:\n\tgo get github.com/docker/docker/pkg/archive@v24.0.7+incompatible\nError: ../../../go/pkg/mod/github.com/docker/docker@v24.0.7+incompatible/pkg/archive/archive.go:28:2: github.com/go-git/go-git/v5@v5.11.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download github.com/go-git/go-git/v5\nError: ../../../go/pkg/mod/github.com/docker/docker@v24.0.7+incompatible/pkg/archive/archive.go:29:2: github.com/go-git/go-git/v5@v5.11.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download github.com/go-git/go-git/v5\nError: ../../../go/pkg/mod/github.com/docker/docker@v24.0.7+incompatible/pkg/archive/archive.go:30:2: github.com/go-git/go-git/v5@v5.11.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download github.com/go-git/go-git/v5\nError: ../../../go/pkg/mod/github.com/docker/docker@v24.0.7+incompatible/pkg/archive/archive.go:32:2: github.com/go-git/go-git/v5@v5.11.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download github.com/go-git/go-git/v5\nError: pkg/builder/builder.go:13:2: missing go.sum entry for module providing package github.com/go-git/go-git/v5 (imported by github.com/pfeifferj/container-mom-go/pkg/builder); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/builder\nError: pkg/web/portal/server.go:9:2: github.com/go-git/go-git/v5@v5.11.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download github.com/go-git/go-git/v5\nError: pkg/web/portal/handlers.go:11:2: missing go.sum entry for module providing package github.com/stripe/stripe-go/v75/webhook (imported by github.com/pfeifferj/container-mom-go/pkg/web/portal); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/web/portal\nError: pkg/web/portal/server.go:10:2: github.com/go-git/go-git/v5@v5.11.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download github.com/go-git/go-git/v5\nError: pkg/web/portal/server.go:13:24: pattern static/*: no matching files found\nError: pkg/controller/customer_controller.go:11:2: github.com/go-git/go-git/v5@v5.11.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download github.com/go-git/go-git/v5\nError: pkg/controller/deployment_controller.go:17:2: github.com/go-git/go-git/v5@v5.11.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download github.com/go-git/go-git/v5\nError: pkg/controller/deployment_controller.go:6:2: missing go.sum entry for module providing package k8s.io/api/apps/v1 (imported by github.com/pfeifferj/container-mom-go/pkg/controller); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/controller\nError: pkg/controller/deployment_controller.go:7:2: missing go.sum entry for module providing package k8s.io/api/core/v1 (imported by github.com/pfeifferj/container-mom-go/pkg/controller); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/controller\nError: pkg/controller/deployment_controller.go:8:2: missing go.sum entry for module providing package k8s.io/apimachinery/pkg/api/errors (imported by github.com/pfeifferj/container-mom-go/pkg/controller); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/controller\nError: pkg/controller/customer_controller.go:6:2: missing go.sum entry for module providing package k8s.io/apimachinery/pkg/runtime (imported by github.com/pfeifferj/container-mom-go/pkg/controller); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/controller\nError: pkg/controller/deployment_controller.go:11:2: missing go.sum entry for module providing package k8s.io/apimachinery/pkg/util/intstr (imported by github.com/pfeifferj/container-mom-go/pkg/controller); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/controller\nError: pkg/controller/customer_controller.go:7:2: missing go.sum entry for module providing package sigs.k8s.io/controller-runtime (imported by github.com/pfeifferj/container-mom-go/pkg/controller); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/controller\nError: pkg/controller/customer_controller.go:8:2: missing go.sum entry for module providing package sigs.k8s.io/controller-runtime/pkg/client (imported by github.com/pfeifferj/container-mom-go/pkg/controller); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/controller\nError: pkg/controller/customer_controller.go:9:2: missing go.sum entry for module providing package sigs.k8s.io/controller-runtime/pkg/log (imported by github.com/pfeifferj/container-mom-go/pkg/controller); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/controller\nError: pkg/domain/manager.go:7:2: github.com/go-git/go-git/v5@v5.11.0: missing go.sum entry for go.mod file; to add it:\n\tgo mod download github.com/go-git/go-git/v5\nError: pkg/domain/manager.go:8:2: missing go.sum entry for module providing package k8s.io/api/networking/v1 (imported by github.com/pfeifferj/container-mom-go/pkg/domain); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/domain\nError: pkg/domain/manager.go:10:2: missing go.sum entry for module providing package k8s.io/client-go/kubernetes (imported by github.com/pfeifferj/container-mom-go/pkg/domain); to add:\n\tgo get github.com/pfeifferj/container-mom-go/pkg/domain\nError: Process completed with exit code 1.","commandType":4},{"text":"you didn't peoperly replace the yourusername urls","commandType":4},{"text":"pls fix","commandType":4},{"text":"Error: pkg/web/portal/server.go:13:24: pattern static/*: no matching files found\nError: Process completed with exit code 1.","commandType":4},{"text":" Run go test -v ./...\ngo: downloading k8s.io/apimachinery v0.31.1\ngo: downloading github.com/stripe/stripe-go/v75 v75.11.0\ngo: downloading github.com/docker/docker v20.10.21+incompatible\ngo: downloading github.com/go-git/go-git/v5 v5.11.0\ngo: downloading gopkg.in/yaml.v2 v2.4.0\ngo: downloading github.com/cert-manager/cert-manager v1.16.2\ngo: downloading k8s.io/api v0.31.1\ngo: downloading k8s.io/client-go v0.31.1\ngo: downloading sigs.k8s.io/controller-runtime v0.19.0\ngo: downloading github.com/docker/go-connections v0.4.0\ngo: downloading github.com/gorilla/mux v1.8.1\ngo: downloading github.com/gogo/protobuf v1.3.2\ngo: downloading github.com/google/gofuzz v1.2.0\ngo: downloading k8s.io/utils v0.0.0-20240921022957-49e7df575cb6\ngo: downloading github.com/docker/go-units v0.5.0\ngo: downloading github.com/opencontainers/image-spec v1.1.0\ngo: downloading github.com/containerd/containerd v1.7.24\ngo: downloading github.com/pkg/errors v0.9.1\ngo: downloading github.com/sirupsen/logrus v1.9.3\ngo: downloading golang.org/x/sys v0.28.0\ngo: downloading github.com/docker/distribution v2.8.3+incompatible\ngo: downloading github.com/opencontainers/go-digest v1.0.0\ngo: downloading dario.cat/mergo v1.0.0\ngo: downloading github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371\ngo: downloading github.com/go-git/go-billy/v5 v5.5.0\ngo: downloading github.com/sergi/go-diff v1.1.0\ngo: downloading k8s.io/klog/v2 v2.130.1\ngo: downloading sigs.k8s.io/structured-merge-diff/v4 v4.4.1\ngo: downloading github.com/evanphx/json-patch/v5 v5.9.0\ngo: downloading github.com/go-logr/logr v1.4.2\ngo: downloading gopkg.in/inf.v0 v0.9.1\ngo: downloading sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd\ngo: downloading github.com/opencontainers/runc v1.2.4\ngo: downloading github.com/moby/sys/mount v0.3.4\ngo: downloading github.com/moby/sys/userns v0.1.0\ngo: downloading golang.org/x/net v0.29.0\ngo: downloading github.com/distribution/reference v0.6.0\ngo: downloading github.com/cyphar/filepath-securejoin v0.3.5\ngo: downloading github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376\ngo: downloading github.com/pjbgf/sha1cd v0.3.0\ngo: downloading github.com/emirpasic/gods v1.18.1\ngo: downloading github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99\ngo: downloading golang.org/x/crypto v0.27.0\ngo: downloading k8s.io/apiextensions-apiserver v0.31.1\ngo: downloading sigs.k8s.io/gateway-api v1.1.0\ngo: downloading github.com/json-iterator/go v1.1.12\ngo: downloading k8s.io/kube-openapi v0.0.0-20240903163716-9e1beecbcb38\ngo: downloading github.com/golang/protobuf v1.5.4\ngo: downloading github.com/google/gnostic-models v0.6.8\ngo: downloading golang.org/x/time v0.6.0\ngo: downloading github.com/fxamacker/cbor/v2 v2.7.0\ngo: downloading github.com/moby/sys/mountinfo v0.7.2\ngo: downloading github.com/moby/sys/user v0.3.0\ngo: downloading gopkg.in/warnings.v0 v0.1.2\ngo: downloading github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da\ngo: downloading github.com/kevinburke/ssh_config v1.2.0\ngo: downloading github.com/skeema/knownhosts v1.2.1\ngo: downloading github.com/xanzy/ssh-agent v0.3.3\ngo: downloading github.com/cloudflare/circl v1.3.3\ngo: downloading gomodules.xyz/jsonpatch/v2 v2.4.0\ngo: downloading github.com/imdario/mergo v0.3.16\ngo: downloading github.com/spf13/pflag v1.0.5\ngo: downloading golang.org/x/term v0.24.0\ngo: downloading golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56\ngo: downloading github.com/prometheus/client_golang v1.20.4\ngo: downloading github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd\ngo: downloading github.com/modern-go/reflect2 v1.0.2\ngo: downloading sigs.k8s.io/yaml v1.4.0\ngo: downloading gopkg.in/yaml.v3 v3.0.1\ngo: downloading github.com/go-openapi/jsonreference v0.21.0\ngo: downloading github.com/go-openapi/swag v0.23.0\ngo: downloading golang.org/x/oauth2 v0.23.0\ngo: downloading google.golang.org/protobuf v1.35.1\ngo: downloading github.com/x448/float16 v0.8.4\ngo: downloading github.com/google/go-cmp v0.6.0\ngo: downloading github.com/google/uuid v1.6.0\ngo: downloading github.com/klauspost/compress v1.17.9\ngo: downloading github.com/prometheus/client_model v0.6.1\ngo: downloading github.com/prometheus/common v0.55.0\ngo: downloading github.com/fsnotify/fsnotify v1.7.0\ngo: downloading github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc\ngo: downloading github.com/go-openapi/jsonpointer v0.21.0\ngo: downloading golang.org/x/text v0.18.0\ngo: downloading github.com/mailru/easyjson v0.7.7\ngo: downloading github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822\ngo: downloading github.com/beorn7/perks v1.0.1\ngo: downloading github.com/cespare/xxhash/v2 v2.3.0\ngo: downloading github.com/prometheus/procfs v0.15.1\ngo: downloading github.com/josharian/intern v1.0.0\ngo: downloading github.com/emicklei/go-restful/v3 v3.12.1\n# github.com/docker/distribution/reference\nError: ../../../go/pkg/mod/github.com/docker/distribution@v2.8.3+incompatible/reference/reference_deprecated.go:122:19: undefined: reference.SplitHostname\n# github.com/pfeifferj/container-mom-go/pkg/billing\nError: pkg/billing/service.go:103:17: item.Price.UsageType undefined (type *stripe.Price has no field or method UsageType)\nError: pkg/billing/service.go:103:37: undefined: stripe.PriceUsageTypeMetered\nError: pkg/billing/service.go:104:32: item.UsageRecord undefined (type *stripe.SubscriptionItem has no field or method UsageRecord)\n# github.com/docker/docker/pkg/archive\nError: ../../../go/pkg/mod/github.com/docker/docker@v20.10.21+incompatible/pkg/archive/archive_unix.go:96:42: undefined: sys.RunningInUserNS\nFAIL\tgithub.com/pfeifferj/container-mom-go/cmd/mom [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\t[no test files]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/billing [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/builder [build failed]\n","commandType":4},{"text":"# github.com/docker/distribution/reference\nError: ../../../go/pkg/mod/github.com/docker/distribution@v2.8.3+incompatible/reference/reference_deprecated.go:122:19: undefined: reference.SplitHostname\n# github.com/pfeifferj/container-mom-go/pkg/billing\nError: pkg/billing/service.go:107:43: cannot convert usage (variable of type map[string]int64) to type int64\n# github.com/docker/docker/pkg/archive\nError: ../../../go/pkg/mod/github.com/docker/docker@v20.10.21+incompatible/pkg/archive/archive_unix.go:96:42: undefined: sys.RunningInUserNS\nFAIL\tgithub.com/pfeifferj/container-mom-go/cmd/mom [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\t[no test files]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/billing [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/builder [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/config\t[no test files]\n# github.com/pfeifferj/container-mom-go/pkg/domain\nError: pkg/domain/manager.go:67:29: undefined: certmanagerv1.ObjectReference\nError: pkg/domain/manager.go:75:22: m.certClient.CertmanagerV1 undefined (type \"github.com/cert-manager/cert-manager/pkg/client/informers/externalversions/certmanager\".Interface has no field or method CertmanagerV1)\nError: pkg/domain/manager.go:122:9: too many return values\n\thave (*\"k8s.io/api/networking/v1\".Ingress, error)\n\twant (error)","commandType":4},{"text":"Run go test -v ./...\n  \n# github.com/pfeifferj/container-mom-go/pkg/builder\nError: pkg/builder/builder.go:113:18: cannot use &val (value of type **string) as *string value in assignment\nFAIL\tgithub.com/pfeifferj/container-mom-go/cmd/mom [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/billing\t[no test files]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/builder [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/config\t[no test files]\n# github.com/pfeifferj/container-mom-go/pkg/domain\nError: pkg/domain/manager.go:67:29: undefined: certmanagerv1.ObjectReference\nError: pkg/domain/manager.go:75:22: m.certClient.CertmanagerV1 undefined (type \"github.com/cert-manager/cert-manager/pkg/client/informers/externalversions/certmanager\".Interface has no field or method CertmanagerV1)\nError: pkg/domain/manager.go:122:9: too many return values\n\thave (*\"k8s.io/api/networking/v1\".Ingress, error)\n\twant (error)\nError: pkg/domain/manager.go:126:20: m.createIngressObject undefined (type *Manager has no field or method createIngressObject)\nError: pkg/domain/manager.go:131:13: m.kubeClient undefined (type *Manager has no field or method kubeClient)\nError: pkg/domain/manager.go:131:51: m.namespace undefined (type *Manager has no field or method namespace)","commandType":4},{"text":"\nRun go test -v ./...\n# github.com/pfeifferj/container-mom-go/pkg/builder\nError: pkg/builder/builder.go:113:18: cannot use &val (value of type **string) as *string value in assignment\nFAIL\tgithub.com/pfeifferj/container-mom-go/cmd/mom [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/billing\t[no test files]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/builder [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/config\t[no test files]\n# github.com/pfeifferj/container-mom-go/pkg/domain\nError: pkg/domain/manager.go:69:29: undefined: certmanagerv1.ObjectReference\nError: pkg/domain/manager.go:77:22: m.certClient.CertmanagerV1 undefined (type \"github.com/cert-manager/cert-manager/pkg/client/informers/externalversions/certmanager\".Interface has no field or method CertmanagerV1)\nError: pkg/domain/manager.go:124:9: too many return values\n\thave (*\"k8s.io/api/networking/v1\".Ingress, error)\n\twant (error)\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/controller [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/domain [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/operator [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/web [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/web/portal [build failed]\nFAIL\nError: Process completed with exit code 1.","commandType":4},{"text":"Run go test -v ./...\n  \n# github.com/pfeifferj/container-mom-go/pkg/operator\nError: pkg/operator/operator.go:155:56: cannot use &timeout (value of type *\"time\".Duration) as container.StopOptions value in argument to o.docker.ContainerRestart\nError: pkg/operator/operator.go:208:16: undefined: parseMemory\nError: pkg/operator/operator.go:212:4: unknown field CPUsetCPUs in struct literal of type container.Resources, but does have CpusetCpus\nError: pkg/operator/operator.go:213:4: unknown field CPUsetMems in struct literal of type container.Resources, but does have CpusetMems\nError: pkg/operator/operator.go:283:22: o.listCustomers undefined (type *Operator has no field or method listCustomers)\nError: pkg/operator/operator.go:289:19: o.calculateCustomerUsage undefined (type *Operator has no field or method calculateCustomerUsage)\nError: pkg/operator/operator.go:358:17: cannot use deployment.Spec.Source.BuildConfig.BuildArgs (variable of type map[string]string) as map[string]*string value in struct literal\nError: pkg/operator/operator.go:359:52: deployment.Spec.Source.BuildConfig.PostBuild undefined (type *v1alpha1.BuildConfig has no field or method PostBuild)\nError: pkg/operator/operator.go:360:52: deployment.Spec.Source.BuildConfig.BuildCache undefined (type *v1alpha1.BuildConfig has no field or method BuildCache)\nError: pkg/operator/operator.go:361:52: deployment.Spec.Source.BuildConfig.BuildTimeout undefined (type *v1alpha1.BuildConfig has no field or method BuildTimeout)\nError: pkg/operator/operator.go:361:52: too many errors\nFAIL\tgithub.com/pfeifferj/container-mom-go/cmd/mom [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/billing\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/builder\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/config\t[no test files]\n# github.com/pfeifferj/container-mom-go/pkg/domain\nError: pkg/domain/manager.go:69:21: undefined: cmapi.IssuerRef\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/controller [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/operator [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/web [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/web/portal [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/domain [build failed]\nFAIL\nError: Process completed with exit code 1.","commandType":4},{"text":"pkg/operator/operator.go","commandType":4},{"text":"pls fix","commandType":4},{"text":"progress!","commandType":4},{"text":"pls fix","commandType":4},{"text":"where do we define the types?","commandType":4},{"text":"pls fix","commandType":4},{"text":" Started at 1736616805000\nRun go test -v ./...\n  \n# github.com/pfeifferj/container-mom-go/cmd/mom\nError: cmd/mom/main.go:28:28: undefined: billing.NewService\nFAIL\tgithub.com/pfeifferj/container-mom-go/cmd/mom [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/billing\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/builder\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/config\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\t[no test files]","commandType":4},{"text":"Run go test -v ./...\n# github.com/pfeifferj/container-mom-go/pkg/billing\nError: pkg/billing/types.go:5:6: Invoice redeclared in this block\nError: \tpkg/billing/service.go:15:6: other declaration of Invoice\nFAIL\tgithub.com/pfeifferj/container-mom-go/cmd/mom [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\t[no test files]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/billing [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/builder\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/config\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/controller\t[no test files]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/operator [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/web [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/web/portal [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/domain\t[no test files]\nFAIL\nError: Process completed with exit code 1.","commandType":4},{"text":"Run golangci/golangci-lint-action@v3\n  \nprepare environment\n  Checking for go.mod: go.mod\n  Cache not found for input keys: golangci-lint.cache-2871-24020e9d3f762824c7ff2b896ac2a669c93dc8ee, golangci-lint.cache-2871-\n  Finding needed golangci-lint version...\n  Requested golangci-lint 'latest', using 'v1.63.4', calculation took 69ms\n  Installation mode: binary\n  Installing golangci-lint binary v1.63.4...\n  Downloading binary https://github.com/golangci/golangci-lint/releases/download/v1.63.4/golangci-lint-1.63.4-linux-amd64.tar.gz ...\n  /usr/bin/tar xz --overwrite --warning=no-unknown-keyword --overwrite -C /home/runner -f /home/runner/work/_temp/0560cf21-f440-4117-b66f-ecf008e569ce\n  Installed golangci-lint into /home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint in 577ms\n  Prepared env in 745ms\nrun golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions] in [] ...\n  Error: Error return value of `(*encoding/json.Encoder).Encode` is not checked (errcheck)\n  Error: func `(*Operator).reconcileDeployment` is unused (unused)\n  Error: func `parseCPU` is unused (unused)\n  Error: func `parseMemory` is unused (unused)\n  Error: func `(*Portal).handleBilling` is unused (unused)\n  Error: func `(*Portal).getPricingConfig` is unused (unused)\n  Error: func `isEligibleForPromo` is unused (unused)\n  Error: func `(*Portal).handleAPIBillingPlan` is unused (unused)\n  Error: func `getAvailablePlans` is unused (unused)\n  Error: func `getPlanPrice` is unused (unused)\n  Error: func `(*Portal).handleStripeWebhook` is unused (unused)\n  Error: field `kubeClient` is unused (unused)\n  Error: field `namespace` is unused (unused)\n  Error: func `(*Manager).createIngress` is unused (unused)\n  Error: func `(*Manager).createIngressObject` is unused (unused)\n  level=warning msg=\"[config_reader] The output format `github-actions` is deprecated, please use `colored-line-number`\"\n  level=warning msg=\"The linter 'golint' is deprecated (since v1.41.0) due to: The repository of the linter has been archived by the owner. Replaced by revive.\"\n  level=error msg=\"[linters_context] golint: This linter is fully inactivated: it will not produce any reports.\"\n  level=error msg=\"Timeout exceeded: try increasing it by passing --timeout option\"\n  Error: golangci-lint exit with code 4\n  Ran golangci-lint in 67389ms","commandType":4},{"text":"Run go test -v ./...\n# github.com/pfeifferj/container-mom-go/pkg/operator\nError: pkg/operator/operator.go:208:16: cannot use cfg.Resources.Memory (variable of type string) as int64 value in struct literal\nFAIL\tgithub.com/pfeifferj/container-mom-go/cmd/mom [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/billing\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/builder\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/config\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/controller\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/domain\t[no test files]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/operator [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/web [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/web/portal [build failed]\nFAIL\nError: Process completed with exit code 1.","commandType":4},{"text":"run golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions] in [] ...\n  Error: field `kubeClient` is unused (unused)\n  Error: field `namespace` is unused (unused)\n  Error: func `(*Manager).createIngress` is unused (unused)\n  Error: func `(*Manager).createIngressObject` is unused (unused)\n  Error: Error return value of `(*encoding/json.Encoder).Encode` is not checked (errcheck)\n  Error: func `parseCPU` is unused (unused)\n  Error: func `parseMemory` is unused (unused)\n  Error: func `(*Portal).handleBilling` is unused (unused)\n  Error: func `(*Portal).getPricingConfig` is unused (unused)\n  Error: func `isEligibleForPromo` is unused (unused)\n  Error: func `(*Portal).handleAPIBillingPlan` is unused (unused)\n  Error: func `getAvailablePlans` is unused (unused)\n  Error: func `getPlanPrice` is unused (unused)\n  Error: func `(*Portal).handleStripeWebhook` is unused (unused)\n  \n  level=warning msg=\"[config_reader] The output format `github-actions` is deprecated, please use `colored-line-number`\"\n  level=warning msg=\"The linter 'golint' is deprecated (since v1.41.0) due to: The repository of the linter has been archived by the owner. Replaced by revive.\"\n  level=error msg=\"[linters_context] golint: This linter is fully inactivated: it will not produce any reports.\"\n  \n  Error: issues found\n  Ran golangci-lint in 1858ms","commandType":4},{"text":"look for the other files","commandType":4},{"text":"Run go test -v ./...\n# github.com/pfeifferj/container-mom-go/pkg/web/portal\nError: pkg/web/portal/portal.go:48:18: method Portal.handleBilling already declared at pkg/web/portal/handlers.go:121:18\nError: pkg/web/portal/portal.go:52:18: method Portal.handleAPIBillingPlan already declared at pkg/web/portal/handlers.go:169:18\nError: pkg/web/portal/portal.go:56:18: method Portal.handleStripeWebhook already declared at pkg/web/portal/handlers.go:262:18\nFAIL\tgithub.com/pfeifferj/container-mom-go/cmd/mom [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/billing\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/builder\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/config\t[no test files]","commandType":4},{"text":"Run golangci/golangci-lint-action@v3\nprepare environment\n  Checking for go.mod: go.mod\n  Received 0 of 358552805 (0.0%), 0.0 MBs/sec\n  Received 83886080 of 358552805 (23.4%), 40.0 MBs/sec\n  Received 176160768 of 358552805 (49.1%), 56.0 MBs/sec\n  Received 268435456 of 358552805 (74.9%), 64.0 MBs/sec\n  Received 354358501 of 358552805 (98.8%), 67.5 MBs/sec\n  Cache Size: ~342 MB (358552805 B)\n  /usr/bin/tar -xf /home/runner/work/_temp/b2f71f1c-b743-4f79-b8b9-fadab7a5c30a/cache.tzst -P -C /home/runner/work/container-mom-go/container-mom-go --use-compress-program unzstd\n  Received 358552805 of 358552805 (100.0%), 56.9 MBs/sec\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/buildid: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/preprofile: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/compile: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/covdata: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/cover: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/nm: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/test2json: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/fix: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/addr2line: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/pprof: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/link: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/doc: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/objdump: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/asm: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/pack: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/cgo: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/trace: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/vet: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/include/asm_ppc64x.h: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/include/textflag.h: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/include/funcdata.h: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/include/asm_amd64.h: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/CONTRIBUTING.md: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/make.bash: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/rwmutex.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/waitgroup_test.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/mutex_test.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/example_pool_test.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/pool_test.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/atomic/value.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/atomic/type.go: Cannot open: File exists","commandType":4},{"text":"we need to update the ci to prevent this issue\n\n10s\nRun golangci/golangci-lint-action@v3\nprepare environment\n  Checking for go.mod: go.mod\n  Received 171966464 of 358552805 (48.0%), 161.1 MBs/sec\n  Cache Size: ~342 MB (358552805 B)\n  /usr/bin/tar -xf /home/runner/work/_temp/1097f8f5-e82f-498a-89b4-a5e055327466/cache.tzst -P -C /home/runner/work/container-mom-go/container-mom-go --use-compress-program unzstd\n  Received 358552805 of 358552805 (100.0%), 169.4 MBs/sec\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/buildid: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/preprofile: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/compile: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/covdata: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/cover: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/nm: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/test2json: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/fix: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/addr2line: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/pprof: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/link: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/doc: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/objdump: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/asm: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/pack: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/cgo: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/trace: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/tool/linux_amd64/vet: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/include/asm_ppc64x.h: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/include/textflag.h: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/include/funcdata.h: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/pkg/include/asm_amd64.h: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/CONTRIBUTING.md: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/make.bash: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/rwmutex.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/waitgroup_test.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/mutex_test.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/example_pool_test.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/pool_test.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/atomic/value.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/atomic/type.go: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/atomic/race.s: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/atomic/doc.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/atomic/atomic_test.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/atomic/value_test.go: Cannot open: File exists\n  /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/atomic/asm.s: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/atomic/example_test.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/map_reference_test.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/poolqueue.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/waitgroup.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/map_test.go: Cannot open: File exists\n  Error: /usr/bin/tar: ../../../go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.4.linux-amd64/src/sync/pool.go: Cannot open: File exists","commandType":4},{"text":"update ci.yaml instead","commandType":4},{"text":"Run golangci/golangci-lint-action@v3\nprepare environment\nrun golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions --timeout=5m] in [] ...\n  Error: pkg/builder/builder.go:48:20: Error return value of `os.RemoveAll` is not checked (errcheck)\n  \tdefer os.RemoveAll(repoPath)\n  \t                  ^\n  Error: pkg/builder/builder.go:82:15: Error return value of `os.RemoveAll` is not checked (errcheck)\n  \t\tos.RemoveAll(tempDir)\n  \t\t            ^\n  Error: pkg/builder/builder.go:124:23: Error return value of `resp.Body.Close` is not checked (errcheck)\n  \tdefer resp.Body.Close()\n  \t                     ^\n  Error: pkg/web/server.go:77:28: Error return value of `(*encoding/json.Encoder).Encode` is not checked (errcheck)\n  \t\tjson.NewEncoder(w).Encode(containers)\n  \t\t                         ^\n  Error: pkg/web/portal/handlers.go:243:12: Error return value is not checked (errcheck)\n  \tcpuUsage, _ := parseCPU(usage.CPU)\n  \t          ^\n  Error: pkg/web/portal/handlers.go:244:12: Error return value is not checked (errcheck)\n  \tcpuLimit, _ := parseCPU(limits.CPU)\n  \t          ^\n  Error: pkg/web/portal/handlers.go:249:12: Error return value is not checked (errcheck)\n  \tmemUsage, _ := parseMemory(usage.Memory)\n  \t          ^\n  Error: pkg/web/portal/handlers.go:250:12: Error return value is not checked (errcheck)\n  \tmemLimit, _ := parseMemory(limits.Memory)\n  \t          ^\n  Error: pkg/config/config.go:10:6: exported: exported type Config should have comment or be unexported (revive)\n  type Config struct {\n       ^\n  Error: pkg/config/config.go:18:6: exported: exported type GlobalConfig should have comment or be unexported (revive)\n  type GlobalConfig struct {\n       ^\n  Error: pkg/config/config.go:25:6: exported: exported type ContainerConfig should have comment or be unexported (revive)\n  type ContainerConfig struct {\n       ^\n  Error: pkg/config/config.go:44:6: exported: exported type HealthCheck should have comment or be unexported (revive)\n  type HealthCheck struct {\n       ^\n  Error: pkg/config/config.go:52:6: exported: exported type ResourceConfig should have comment or be unexported (revive)\n  type ResourceConfig struct {\n       ^\n  Error: pkg/config/config.go:62:6: exported: exported type VolumeMount should have comment or be unexported (revive)\n  type VolumeMount struct {\n       ^\n  Error: pkg/config/config.go:70:6: exported: exported type PortMapping should have comment or be unexported (revive)\n  type PortMapping struct {\n       ^\n  Error: pkg/config/config.go:77:6: exported: exported type NetworkConfig should have comment or be unexported (revive)\n  type NetworkConfig struct {\n       ^\n  Error: pkg/config/config.go:87:6: exported: exported type IPAMConfig should have comment or be unexported (revive)\n  type IPAMConfig struct {\n       ^\n  Error: pkg/config/config.go:93:6: exported: exported type IPAMRange should have comment or be unexported (revive)\n  type IPAMRange struct {\n       ^\n  Error: pkg/config/config.go:100:1: exported: exported function LoadConfig should have comment or be unexported (revive)\n  func LoadConfig(path string) (*Config, error) {\n  ^\n  Error: pkg/billing/service.go:10:6: exported: exported type Service should have comment or be unexported (revive)\n  type Service struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:8:1: exported: comment on exported type ContainerMomDeployment should be of the form \"ContainerMomDeployment ...\" (with optional leading article) (revive)\n  // +genclient\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:19:6: exported: exported type ContainerMomDeploymentSpec should have comment or be unexported (revive)\n  type ContainerMomDeploymentSpec struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:39:6: exported: exported type SourceSpec should have comment or be unexported (revive)\n  type SourceSpec struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:8:1: exported: comment on exported type Customer should be of the form \"Customer ...\" (with optional leading article) (revive)\n  // +genclient\n  ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:18:1: exported: comment on exported type CustomerList should be of the form \"CustomerList ...\" (with optional leading article) (revive)\n  // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:50:6: exported: exported type BuildConfig should have comment or be unexported (revive)\n  type BuildConfig struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:55:6: exported: exported type DomainSpec should have comment or be unexported (revive)\n  type DomainSpec struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:26:6: exported: exported type CustomerSpec should have comment or be unexported (revive)\n  type CustomerSpec struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:37:6: exported: exported type ResourceQuota should have comment or be unexported (revive)\n  type ResourceQuota struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:65:6: exported: exported type TLSConfig should have comment or be unexported (revive)\n  type TLSConfig struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:74:6: exported: exported type DNSProviderConfig should have comment or be unexported (revive)\n  type DNSProviderConfig struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:44:6: exported: exported type CustomerStatus should have comment or be unexported (revive)\n  type CustomerStatus struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:58:6: exported: exported type ResourceUsage should have comment or be unexported (revive)\n  type ResourceUsage struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:81:6: exported: exported type ResourceRequirements should have comment or be unexported (revive)\n  type ResourceRequirements struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:87:6: exported: exported type EnvVar should have comment or be unexported (revive)\n  type EnvVar struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:92:6: exported: exported type ContainerMomDeploymentStatus should have comment or be unexported (revive)\n  type ContainerMomDeploymentStatus struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:100:6: exported: exported type Condition should have comment or be unexported (revive)\n  type Condition struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:107:6: exported: exported type ClusterStatus should have comment or be unexported (revive)\n  type ClusterStatus struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:115:1: exported: comment on exported type ContainerMomDeploymentList should be of the form \"ContainerMomDeploymentList ...\" (with optional leading article) (revive)\n  // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:133:1: exported: exported method Customer.DeepCopyInto should have comment or be unexported (revive)\n  func (in *Customer) DeepCopyInto(out *Customer) {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:141:1: exported: exported method Customer.DeepCopyObject should have comment or be unexported (revive)\n  func (in *Customer) DeepCopyObject() runtime.Object {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:158:1: exported: exported method CustomerList.DeepCopyInto should have comment or be unexported (revive)\n  func (in *CustomerList) DeepCopyInto(out *CustomerList) {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:171:1: exported: exported method CustomerList.DeepCopyObject should have comment or be unexported (revive)\n  func (in *CustomerList) DeepCopyObject() runtime.Object {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:188:1: exported: exported method ContainerMomDeployment.DeepCopyInto should have comment or be unexported (revive)\n  func (in *ContainerMomDeployment) DeepCopyInto(out *ContainerMomDeployment) {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:196:1: exported: exported method ContainerMomDeployment.DeepCopyObject should have comment or be unexported (revive)\n  func (in *ContainerMomDeployment) DeepCopyObject() runtime.Object {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:213:1: exported: exported method ContainerMomDeploymentList.DeepCopyInto should have comment or be unexported (revive)\n  func (in *ContainerMomDeploymentList) DeepCopyInto(out *ContainerMomDeploymentList) {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:226:1: exported: exported method ContainerMomDeploymentList.DeepCopyObject should have comment or be unexported (revive)\n  func (in *ContainerMomDeploymentList) DeepCopyObject() runtime.Object {\n  ^\n  Error: pkg/builder/builder.go:16:6: exported: exported type Builder should have comment or be unexported (revive)\n  type Builder struct {\n       ^\n  Error: pkg/builder/builder.go:21:6: exported: exported type BuildConfig should have comment or be unexported (revive)\n  type BuildConfig struct {\n       ^\n  Error: pkg/builder/builder.go:30:1: exported: exported function NewBuilder should have comment or be unexported (revive)\n  func NewBuilder(cfg *BuildConfig) (*Builder, error) {\n  ^\n  Error: pkg/builder/languages.go:8:6: exported: exported type LanguageBuilder should have comment or be unexported (revive)\n  type LanguageBuilder struct {\n       ^\n  Error: pkg/builder/languages.go:61:1: exported: exported method LanguageBuilder.Dockerfile should have comment or be unexported (revive)\n  func (b *LanguageBuilder) Dockerfile() string {\n  ^\n  Error: pkg/builder/builder.go:42:1: exported: exported method Builder.Build should have comment or be unexported (revive)\n  func (b *Builder) Build(ctx context.Context) (string, error) {\n  ^\n  Error: pkg/operator/operator.go:22:6: exported: exported type Operator should have comment or be unexported (revive)\n  type Operator struct {\n       ^\n  Error: pkg/operator/operator.go:29:1: exported: exported function NewOperator should have comment or be unexported (revive)\n  func NewOperator(cfg *config.Config, billingService *billing.Service) *Operator {\n  ^\n  Error: pkg/operator/operator.go:43:1: exported: exported method Operator.Run should have comment or be unexported (revive)\n  func (o *Operator) Run(ctx context.Context) error {\n  ^\n  Error: pkg/operator/operator.go:342:6: exported: exported type ContainerStatus should have comment or be unexported (revive)\n  type ContainerStatus struct {\n       ^\n  Error: pkg/operator/operator.go:351:1: exported: exported method Operator.GetContainers should have comment or be unexported (revive)\n  func (o *Operator) GetContainers() ([]ContainerStatus, error) {\n  ^\n  Error: pkg/operator/operator.go:399:1: exported: exported method Operator.GetCurrentCustomer should have comment or be unexported (revive)\n  func (o *Operator) GetCurrentCustomer(ctx context.Context) (*v1alpha1.Customer, error) {\n  ^\n  Error: pkg/operator/operator.go:404:1: exported: exported method Operator.GetResourceUsage should have comment or be unexported (revive)\n  func (o *Operator) GetResourceUsage(ctx context.Context, customerID string) (*v1alpha1.ResourceUsage, error) {\n  ^\n  Error: pkg/operator/operator.go:408:1: exported: exported method Operator.GetBillingHistory should have comment or be unexported (revive)\n  func (o *Operator) GetBillingHistory(ctx context.Context, customerID string) ([]billing.Invoice, error) {\n  ^\n  Error: pkg/operator/operator.go:412:1: exported: exported method Operator.UpdateBillingPlan should have comment or be unexported (revive)\n  func (o *Operator) UpdateBillingPlan(ctx context.Context, customerID string, plan string) error {\n  ^\n  Error: pkg/operator/operator.go:416:1: exported: exported method Operator.UpdateBillingStatus should have comment or be unexported (revive)\n  func (o *Operator) UpdateBillingStatus(ctx context.Context, customerID string, status string) error {\n  ^\n  Error: pkg/web/server.go:17:6: exported: exported type Server should have comment or be unexported (revive)\n  type Server struct {\n       ^\n  Error: pkg/web/server.go:23:1: exported: exported function NewServer should have comment or be unexported (revive)\n  func NewServer(op *operator.Operator, addr string) (*Server, error) {\n  ^\n  Error: pkg/web/server.go:36:1: exported: exported method Server.Start should have comment or be unexported (revive)\n  func (s *Server) Start() error {\n  ^\n  Error: pkg/web/portal/portal.go:11:6: exported: exported type Portal should have comment or be unexported (revive)\n  type Portal struct {\n       ^\n  Error: pkg/web/portal/portal.go:48:1: exported: exported function NewPortal should have comment or be unexported (revive)\n  func NewPortal(op *operator.Operator, tmpl *template.Template, listenAddr string, webhookSecret string) *Portal {\n  ^\n  Error: pkg/web/portal/handlers.go:57:6: exported: exported type BillingPlan should have comment or be unexported (revive)\n  type BillingPlan struct {\n       ^\n  Error: pkg/web/portal/handlers.go:66:6: exported: exported type ResourceUsage should have comment or be unexported (revive)\n  type ResourceUsage struct {\n       ^\n  Error: pkg/web/portal/handlers.go:77:6: exported: exported type BillingTransaction should have comment or be unexported (revive)\n  type BillingTransaction struct {\n       ^\n  Error: pkg/web/portal/handlers.go:84:6: exported: exported type PricingModel should have comment or be unexported (revive)\n  type PricingModel struct {\n       ^\n  Error: pkg/web/portal/handlers.go:93:6: exported: exported type ResourcePricing should have comment or be unexported (revive)\n  type ResourcePricing struct {\n       ^\n  Error: pkg/web/portal/handlers.go:100:6: exported: exported type PromoPackage should have comment or be unexported (revive)\n  type PromoPackage struct {\n       ^\n  Error: pkg/web/portal/handlers.go:106:6: exported: exported type ResourceLimits should have comment or be unexported (revive)\n  type ResourceLimits struct {\n       ^\n  Error: pkg/web/portal/handlers.go:114:6: exported: exported type BillingInfo should have comment or be unexported (revive)\n  type BillingInfo struct {\n       ^\n  Error: pkg/domain/manager.go:17:6: exported: exported type Manager should have comment or be unexported (revive)\n  type Manager struct {\n       ^\n  Error: pkg/domain/manager.go:26:1: exported: exported function NewManager should have comment or be unexported (revive)\n  func NewManager(client kubernetes.Interface, certClient cmclient.Interface, baseDomain, clusterIssuer string) *Manager {\n  ^\n  Error: pkg/domain/manager.go:35:1: exported: exported method Manager.SetupDomain should have comment or be unexported (revive)\n  func (m *Manager) SetupDomain(ctx context.Context, deployment *momv1.ContainerMomDeployment) error {\n  ^\n  Error: pkg/controller/customer_controller.go:14:6: exported: exported type CustomerReconciler should have comment or be unexported (revive)\n  type CustomerReconciler struct {\n       ^\n  Error: pkg/controller/customer_controller.go:19:1: exported: exported method CustomerReconciler.Reconcile should have comment or be unexported (revive)\n  func (r *CustomerReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {\n  ^\n  Error: pkg/controller/customer_controller.go:53:1: exported: exported method CustomerReconciler.SetupWithManager should have comment or be unexported (revive)\n  func (r *CustomerReconciler) SetupWithManager(mgr ctrl.Manager) error {\n  ^\n  Error: pkg/controller/deployment_controller.go:20:6: exported: exported type DeploymentReconciler should have comment or be unexported (revive)\n  type DeploymentReconciler struct {\n       ^\n  Error: pkg/controller/deployment_controller.go:26:1: exported: exported method DeploymentReconciler.Reconcile should have comment or be unexported (revive)\n  func (r *DeploymentReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {\n  ^\n  Error: pkg/controller/deployment_controller.go:174:1: exported: exported method DeploymentReconciler.SetupWithManager should have comment or be unexported (revive)\n  func (r *DeploymentReconciler) SetupWithManager(mgr ctrl.Manager) error {\n  ^\n  Error: pkg/web/portal/handlers.go:199:6: func `getAvailablePlans` is unused (unused)\n  func getAvailablePlans() []BillingPlan {\n       ^\n  Error: pkg/web/portal/handlers.go:228:6: func `getPlanPrice` is unused (unused)\n  func getPlanPrice(plan string) int {\n       ^\n  Error: pkg/domain/manager.go:22:2: field `kubeClient` is unused (unused)\n  \tkubeClient    kubernetes.Interface\n  \t^\n  Error: pkg/domain/manager.go:23:2: field `namespace` is unused (unused)\n  \tnamespace     string\n  \t^\n  Error: pkg/domain/manager.go:130:19: func `(*Manager).createIngress` is unused (unused)\n  func (m *Manager) createIngress(name string) error {\n                    ^\n  Error: pkg/domain/manager.go:140:19: func `(*Manager).createIngressObject` is unused (unused)\n  func (m *Manager) createIngressObject(name string) (*networkingv1.Ingress, error) {\n                    ^\n  \n  level=warning msg=\"[config_reader] The configuration option `run.skip-dirs` is deprecated, please use `issues.exclude-dirs`.\"\n  level=warning msg=\"[config_reader] The configuration option `output.format` is deprecated, please use `output.formats`\"\n  level=warning msg=\"[lintersdb] The linter \\\"golint\\\" is deprecated (step 2) and deactivated. It should be removed from the list of disabled linters. https://golangci-lint.run/product/roadmap/#linter-deprecation-cycle\"\n  \n  Error: issues found\n  Ran golangci-lint in 180966ms","commandType":4},{"text":"Run golangci/golangci-lint-action@v3\nprepare environment\nrun golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions --timeout=5m] in [] ...\n  Error: pkg/builder/builder.go:48:20: Error return value of `os.RemoveAll` is not checked (errcheck)\n  \tdefer os.RemoveAll(repoPath)\n  \t                  ^\n  Error: pkg/builder/builder.go:82:15: Error return value of `os.RemoveAll` is not checked (errcheck)\n  \t\tos.RemoveAll(tempDir)\n  \t\t            ^\n  Error: pkg/builder/builder.go:124:23: Error return value of `resp.Body.Close` is not checked (errcheck)\n  \tdefer resp.Body.Close()\n  \t                     ^\n  Error: pkg/web/server.go:77:28: Error return value of `(*encoding/json.Encoder).Encode` is not checked (errcheck)\n  \t\tjson.NewEncoder(w).Encode(containers)\n  \t\t                         ^\n  Error: pkg/web/portal/handlers.go:243:12: Error return value is not checked (errcheck)\n  \tcpuUsage, _ := parseCPU(usage.CPU)\n  \t          ^\n  Error: pkg/web/portal/handlers.go:244:12: Error return value is not checked (errcheck)\n  \tcpuLimit, _ := parseCPU(limits.CPU)\n  \t          ^\n  Error: pkg/web/portal/handlers.go:249:12: Error return value is not checked (errcheck)\n  \tmemUsage, _ := parseMemory(usage.Memory)\n  \t          ^\n  Error: pkg/web/portal/handlers.go:250:12: Error return value is not checked (errcheck)\n  \tmemLimit, _ := parseMemory(limits.Memory)\n  \t          ^\n  Error: pkg/config/config.go:10:6: exported: exported type Config should have comment or be unexported (revive)\n  type Config struct {\n       ^\n  Error: pkg/config/config.go:18:6: exported: exported type GlobalConfig should have comment or be unexported (revive)\n  type GlobalConfig struct {\n       ^\n  Error: pkg/config/config.go:25:6: exported: exported type ContainerConfig should have comment or be unexported (revive)\n  type ContainerConfig struct {\n       ^\n  Error: pkg/config/config.go:44:6: exported: exported type HealthCheck should have comment or be unexported (revive)\n  type HealthCheck struct {\n       ^\n  Error: pkg/config/config.go:52:6: exported: exported type ResourceConfig should have comment or be unexported (revive)\n  type ResourceConfig struct {\n       ^\n  Error: pkg/config/config.go:62:6: exported: exported type VolumeMount should have comment or be unexported (revive)\n  type VolumeMount struct {\n       ^\n  Error: pkg/config/config.go:70:6: exported: exported type PortMapping should have comment or be unexported (revive)\n  type PortMapping struct {\n       ^\n  Error: pkg/config/config.go:77:6: exported: exported type NetworkConfig should have comment or be unexported (revive)\n  type NetworkConfig struct {\n       ^\n  Error: pkg/config/config.go:87:6: exported: exported type IPAMConfig should have comment or be unexported (revive)\n  type IPAMConfig struct {\n       ^\n  Error: pkg/config/config.go:93:6: exported: exported type IPAMRange should have comment or be unexported (revive)\n  type IPAMRange struct {\n       ^\n  Error: pkg/config/config.go:100:1: exported: exported function LoadConfig should have comment or be unexported (revive)\n  func LoadConfig(path string) (*Config, error) {\n  ^\n  Error: pkg/billing/service.go:10:6: exported: exported type Service should have comment or be unexported (revive)\n  type Service struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:8:1: exported: comment on exported type ContainerMomDeployment should be of the form \"ContainerMomDeployment ...\" (with optional leading article) (revive)\n  // +genclient\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:19:6: exported: exported type ContainerMomDeploymentSpec should have comment or be unexported (revive)\n  type ContainerMomDeploymentSpec struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:39:6: exported: exported type SourceSpec should have comment or be unexported (revive)\n  type SourceSpec struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:8:1: exported: comment on exported type Customer should be of the form \"Customer ...\" (with optional leading article) (revive)\n  // +genclient\n  ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:18:1: exported: comment on exported type CustomerList should be of the form \"CustomerList ...\" (with optional leading article) (revive)\n  // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:50:6: exported: exported type BuildConfig should have comment or be unexported (revive)\n  type BuildConfig struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:55:6: exported: exported type DomainSpec should have comment or be unexported (revive)\n  type DomainSpec struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:26:6: exported: exported type CustomerSpec should have comment or be unexported (revive)\n  type CustomerSpec struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:37:6: exported: exported type ResourceQuota should have comment or be unexported (revive)\n  type ResourceQuota struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:65:6: exported: exported type TLSConfig should have comment or be unexported (revive)\n  type TLSConfig struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:74:6: exported: exported type DNSProviderConfig should have comment or be unexported (revive)\n  type DNSProviderConfig struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:44:6: exported: exported type CustomerStatus should have comment or be unexported (revive)\n  type CustomerStatus struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:58:6: exported: exported type ResourceUsage should have comment or be unexported (revive)\n  type ResourceUsage struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:81:6: exported: exported type ResourceRequirements should have comment or be unexported (revive)\n  type ResourceRequirements struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:87:6: exported: exported type EnvVar should have comment or be unexported (revive)\n  type EnvVar struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:92:6: exported: exported type ContainerMomDeploymentStatus should have comment or be unexported (revive)\n  type ContainerMomDeploymentStatus struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:100:6: exported: exported type Condition should have comment or be unexported (revive)\n  type Condition struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:107:6: exported: exported type ClusterStatus should have comment or be unexported (revive)\n  type ClusterStatus struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:115:1: exported: comment on exported type ContainerMomDeploymentList should be of the form \"ContainerMomDeploymentList ...\" (with optional leading article) (revive)\n  // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:133:1: exported: exported method Customer.DeepCopyInto should have comment or be unexported (revive)\n  func (in *Customer) DeepCopyInto(out *Customer) {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:141:1: exported: exported method Customer.DeepCopyObject should have comment or be unexported (revive)\n  func (in *Customer) DeepCopyObject() runtime.Object {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:158:1: exported: exported method CustomerList.DeepCopyInto should have comment or be unexported (revive)\n  func (in *CustomerList) DeepCopyInto(out *CustomerList) {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:171:1: exported: exported method CustomerList.DeepCopyObject should have comment or be unexported (revive)\n  func (in *CustomerList) DeepCopyObject() runtime.Object {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:188:1: exported: exported method ContainerMomDeployment.DeepCopyInto should have comment or be unexported (revive)\n  func (in *ContainerMomDeployment) DeepCopyInto(out *ContainerMomDeployment) {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:196:1: exported: exported method ContainerMomDeployment.DeepCopyObject should have comment or be unexported (revive)\n  func (in *ContainerMomDeployment) DeepCopyObject() runtime.Object {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:213:1: exported: exported method ContainerMomDeploymentList.DeepCopyInto should have comment or be unexported (revive)\n  func (in *ContainerMomDeploymentList) DeepCopyInto(out *ContainerMomDeploymentList) {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:226:1: exported: exported method ContainerMomDeploymentList.DeepCopyObject should have comment or be unexported (revive)\n  func (in *ContainerMomDeploymentList) DeepCopyObject() runtime.Object {\n  ^\n  Error: pkg/builder/builder.go:16:6: exported: exported type Builder should have comment or be unexported (revive)\n  type Builder struct {\n       ^\n  Error: pkg/builder/builder.go:21:6: exported: exported type BuildConfig should have comment or be unexported (revive)\n  type BuildConfig struct {\n       ^\n  Error: pkg/builder/builder.go:30:1: exported: exported function NewBuilder should have comment or be unexported (revive)\n  func NewBuilder(cfg *BuildConfig) (*Builder, error) {\n  ^\n  Error: pkg/builder/languages.go:8:6: exported: exported type LanguageBuilder should have comment or be unexported (revive)\n  type LanguageBuilder struct {\n       ^\n  Error: pkg/builder/languages.go:61:1: exported: exported method LanguageBuilder.Dockerfile should have comment or be unexported (revive)\n  func (b *LanguageBuilder) Dockerfile() string {\n  ^\n  Error: pkg/builder/builder.go:42:1: exported: exported method Builder.Build should have comment or be unexported (revive)\n  func (b *Builder) Build(ctx context.Context) (string, error) {\n  ^\n  Error: pkg/operator/operator.go:22:6: exported: exported type Operator should have comment or be unexported (revive)\n  type Operator struct {\n       ^\n  Error: pkg/operator/operator.go:29:1: exported: exported function NewOperator should have comment or be unexported (revive)\n  func NewOperator(cfg *config.Config, billingService *billing.Service) *Operator {\n  ^\n  Error: pkg/operator/operator.go:43:1: exported: exported method Operator.Run should have comment or be unexported (revive)\n  func (o *Operator) Run(ctx context.Context) error {\n  ^\n  Error: pkg/operator/operator.go:342:6: exported: exported type ContainerStatus should have comment or be unexported (revive)\n  type ContainerStatus struct {\n       ^\n  Error: pkg/operator/operator.go:351:1: exported: exported method Operator.GetContainers should have comment or be unexported (revive)\n  func (o *Operator) GetContainers() ([]ContainerStatus, error) {\n  ^\n  Error: pkg/operator/operator.go:399:1: exported: exported method Operator.GetCurrentCustomer should have comment or be unexported (revive)\n  func (o *Operator) GetCurrentCustomer(ctx context.Context) (*v1alpha1.Customer, error) {\n  ^\n  Error: pkg/operator/operator.go:404:1: exported: exported method Operator.GetResourceUsage should have comment or be unexported (revive)\n  func (o *Operator) GetResourceUsage(ctx context.Context, customerID string) (*v1alpha1.ResourceUsage, error) {\n  ^\n  Error: pkg/operator/operator.go:408:1: exported: exported method Operator.GetBillingHistory should have comment or be unexported (revive)\n  func (o *Operator) GetBillingHistory(ctx context.Context, customerID string) ([]billing.Invoice, error) {\n  ^\n  Error: pkg/operator/operator.go:412:1: exported: exported method Operator.UpdateBillingPlan should have comment or be unexported (revive)\n  func (o *Operator) UpdateBillingPlan(ctx context.Context, customerID string, plan string) error {\n  ^\n  Error: pkg/operator/operator.go:416:1: exported: exported method Operator.UpdateBillingStatus should have comment or be unexported (revive)\n  func (o *Operator) UpdateBillingStatus(ctx context.Context, customerID string, status string) error {\n  ^\n  Error: pkg/web/server.go:17:6: exported: exported type Server should have comment or be unexported (revive)\n  type Server struct {\n       ^\n  Error: pkg/web/server.go:23:1: exported: exported function NewServer should have comment or be unexported (revive)\n  func NewServer(op *operator.Operator, addr string) (*Server, error) {\n  ^\n  Error: pkg/web/server.go:36:1: exported: exported method Server.Start should have comment or be unexported (revive)\n  func (s *Server) Start() error {\n  ^\n  Error: pkg/web/portal/portal.go:11:6: exported: exported type Portal should have comment or be unexported (revive)\n  type Portal struct {\n       ^\n  Error: pkg/web/portal/portal.go:48:1: exported: exported function NewPortal should have comment or be unexported (revive)\n  func NewPortal(op *operator.Operator, tmpl *template.Template, listenAddr string, webhookSecret string) *Portal {\n  ^\n  Error: pkg/web/portal/handlers.go:57:6: exported: exported type BillingPlan should have comment or be unexported (revive)\n  type BillingPlan struct {\n       ^\n  Error: pkg/web/portal/handlers.go:66:6: exported: exported type ResourceUsage should have comment or be unexported (revive)\n  type ResourceUsage struct {\n       ^\n  Error: pkg/web/portal/handlers.go:77:6: exported: exported type BillingTransaction should have comment or be unexported (revive)\n  type BillingTransaction struct {\n       ^\n  Error: pkg/web/portal/handlers.go:84:6: exported: exported type PricingModel should have comment or be unexported (revive)\n  type PricingModel struct {\n       ^\n  Error: pkg/web/portal/handlers.go:93:6: exported: exported type ResourcePricing should have comment or be unexported (revive)\n  type ResourcePricing struct {\n       ^\n  Error: pkg/web/portal/handlers.go:100:6: exported: exported type PromoPackage should have comment or be unexported (revive)\n  type PromoPackage struct {\n       ^\n  Error: pkg/web/portal/handlers.go:106:6: exported: exported type ResourceLimits should have comment or be unexported (revive)\n  type ResourceLimits struct {\n       ^\n  Error: pkg/web/portal/handlers.go:114:6: exported: exported type BillingInfo should have comment or be unexported (revive)\n  type BillingInfo struct {\n       ^\n  Error: pkg/domain/manager.go:17:6: exported: exported type Manager should have comment or be unexported (revive)\n  type Manager struct {\n       ^\n  Error: pkg/domain/manager.go:26:1: exported: exported function NewManager should have comment or be unexported (revive)\n  func NewManager(client kubernetes.Interface, certClient cmclient.Interface, baseDomain, clusterIssuer string) *Manager {\n  ^\n  Error: pkg/domain/manager.go:35:1: exported: exported method Manager.SetupDomain should have comment or be unexported (revive)\n  func (m *Manager) SetupDomain(ctx context.Context, deployment *momv1.ContainerMomDeployment) error {\n  ^\n  Error: pkg/controller/customer_controller.go:14:6: exported: exported type CustomerReconciler should have comment or be unexported (revive)\n  type CustomerReconciler struct {\n       ^\n  Error: pkg/controller/customer_controller.go:19:1: exported: exported method CustomerReconciler.Reconcile should have comment or be unexported (revive)\n  func (r *CustomerReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {\n  ^\n  Error: pkg/controller/customer_controller.go:53:1: exported: exported method CustomerReconciler.SetupWithManager should have comment or be unexported (revive)\n  func (r *CustomerReconciler) SetupWithManager(mgr ctrl.Manager) error {\n  ^\n  Error: pkg/controller/deployment_controller.go:20:6: exported: exported type DeploymentReconciler should have comment or be unexported (revive)\n  type DeploymentReconciler struct {\n       ^\n  Error: pkg/controller/deployment_controller.go:26:1: exported: exported method DeploymentReconciler.Reconcile should have comment or be unexported (revive)\n  func (r *DeploymentReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {\n  ^\n  Error: pkg/controller/deployment_controller.go:174:1: exported: exported method DeploymentReconciler.SetupWithManager should have comment or be unexported (revive)\n  func (r *DeploymentReconciler) SetupWithManager(mgr ctrl.Manager) error {\n  ^\n  Error: pkg/web/portal/handlers.go:199:6: func `getAvailablePlans` is unused (unused)\n  func getAvailablePlans() []BillingPlan {\n       ^\n  Error: pkg/web/portal/handlers.go:228:6: func `getPlanPrice` is unused (unused)\n  func getPlanPrice(plan string) int {\n       ^\n  Error: pkg/domain/manager.go:22:2: field `kubeClient` is unused (unused)\n  \tkubeClient    kubernetes.Interface\n  \t^\n  Error: pkg/domain/manager.go:23:2: field `namespace` is unused (unused)\n  \tnamespace     string\n  \t^\n  Error: pkg/domain/manager.go:130:19: func `(*Manager).createIngress` is unused (unused)\n  func (m *Manager) createIngress(name string) error {\n                    ^\n  Error: pkg/domain/manager.go:140:19: func `(*Manager).createIngressObject` is unused (unused)\n  func (m *Manager) createIngressObject(name string) (*networkingv1.Ingress, error) {\n                    ^\n  \n  level=warning msg=\"[config_reader] The configuration option `run.skip-dirs` is deprecated, please use `issues.exclude-dirs`.\"\n  level=warning msg=\"[config_reader] The configuration option `output.format` is deprecated, please use `output.formats`\"\n  level=warning msg=\"[lintersdb] The linter \\\"golint\\\" is deprecated (step 2) and deactivated. It should be removed from the list of disabled linters. https://golangci-lint.run/product/roadmap/#linter-deprecation-cycle\"\n  \n  Error: issues found","commandType":4},{"text":"implement it instead","commandType":4},{"text":"Run golangci/golangci-lint-action@v3\nprepare environment\nrun golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions --timeout=5m] in [] ...\n  pkg/web/portal/handlers.go:1: : # github.com/pfeifferj/container-mom-go/pkg/web/portal\n  Error: pkg/web/portal/handlers.go:302:35: limits.CPU undefined (type v1alpha1.ResourceQuota has no field or method CPU)\n  Error: pkg/web/portal/handlers.go:315:38: limits.Memory undefined (type v1alpha1.ResourceQuota has no field or method Memory) (typecheck)\n  package portal\n  Error: cmd/mom/main.go:13:2: could not import github.com/pfeifferj/container-mom-go/pkg/web/portal (-: # github.com/pfeifferj/container-mom-go/pkg/web/portal\n  Error: pkg/web/portal/handlers.go:302:35: limits.CPU undefined (type v1alpha1.ResourceQuota has no field or method CPU)\n  Error: pkg/web/portal/handlers.go:315:38: limits.Memory undefined (type v1alpha1.ResourceQuota has no field or method Memory)) (typecheck)\n  \t\"github.com/pfeifferj/container-mom-go/pkg/web/portal\"\n  \t^\n  \n  level=warning msg=\"[config_reader] The configuration option `run.skip-dirs` is deprecated, please use `issues.exclude-dirs`.\"\n  level=warning msg=\"[config_reader] The configuration option `output.format` is deprecated, please use `output.formats`\"\n  level=warning msg=\"[lintersdb] The linter \\\"golint\\\" is deprecated (step 2) and deactivated. It should be removed from the list of disabled linters. https://golangci-lint.run/product/roadmap/#linter-deprecation-cycle\"\n  \n  Error: issues found\n  Ran golangci-lint in 67270ms","commandType":4},{"text":"Run go test -v ./...\n# github.com/pfeifferj/container-mom-go/pkg/web/portal\nError: pkg/web/portal/handlers.go:302:35: limits.Resources undefined (type v1alpha1.ResourceQuota has no field or method Resources)\nError: pkg/web/portal/handlers.go:315:38: limits.Resources undefined (type v1alpha1.ResourceQuota has no field or method Resources)\nFAIL\tgithub.com/pfeifferj/container-mom-go/cmd/mom [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/billing\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/builder\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/config\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/controller\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/operator\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/domain\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/web\t[no test files]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/web/portal [build failed]\nFAIL\nError: Process completed with exit code 1.\n","commandType":4},{"text":"run golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions --timeout=5m] in [] ...\n  Error: pkg/builder/builder.go:98:15: Error return value of `os.RemoveAll` is not checked (errcheck)\n  \t\tos.RemoveAll(tempDir)\n  \t\t            ^\n  Error: pkg/web/portal/handlers.go:205:12: Error return value is not checked (errcheck)\n  \tcpuUsage, _ := parseCPU(usage.CPU)\n  \t          ^\n  Error: pkg/web/portal/handlers.go:206:12: Error return value is not checked (errcheck)\n  \tcpuLimit, _ := parseCPU(limits.CPU)\n  \t          ^\n  Error: pkg/web/portal/handlers.go:211:12: Error return value is not checked (errcheck)\n  \tmemUsage, _ := parseMemory(usage.Memory)\n  \t          ^\n  Error: pkg/web/portal/handlers.go:212:12: Error return value is not checked (errcheck)\n  \tmemLimit, _ := parseMemory(limits.Memory)\n  \t          ^","commandType":4},{"text":"run golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions --timeout=5m] in [] ...\n  Error: pkg/builder/builder.go:98:15: Error return value of `os.RemoveAll` is not checked (errcheck)\n  \t\tos.RemoveAll(tempDir)\n  \t\t            ^\n  Error: pkg/config/config.go:47:6: exported: exported type HealthCheck should have comment or be unexported (revive)\n  type HealthCheck struct {\n       ^\n  Error: pkg/config/config.go:55:6: exported: exported type ResourceConfig should have comment or be unexported (revive)\n  type ResourceConfig struct {\n       ^\n  Error: pkg/config/config.go:65:6: exported: exported type VolumeMount should have comment or be unexported (revive)\n  type VolumeMount struct {\n       ^\n  Error: pkg/config/config.go:73:6: exported: exported type PortMapping should have comment or be unexported (revive)\n  type PortMapping struct {\n       ^\n  Error: pkg/config/config.go:80:6: exported: exported type NetworkConfig should have comment or be unexported (revive)\n  type NetworkConfig struct {\n       ^\n  Error: pkg/config/config.go:90:6: exported: exported type IPAMConfig should have comment or be unexported (revive)\n  type IPAMConfig struct {\n       ^\n  Error: pkg/config/config.go:96:6: exported: exported type IPAMRange should have comment or be unexported (revive)\n  type IPAMRange struct {\n       ^\n  Error: pkg/config/config.go:103:1: exported: exported function LoadConfig should have comment or be unexported (revive)\n  func LoadConfig(path string) (*Config, error) {\n  ^","commandType":4},{"text":"Run golangci/golangci-lint-action@v3\nprepare environment\nrun golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions --timeout=5m] in [] ...\n  Error: pkg/billing/service.go:10:6: exported: exported type Service should have comment or be unexported (revive)\n  type Service struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:8:1: exported: comment on exported type ContainerMomDeployment should be of the form \"ContainerMomDeployment ...\" (with optional leading article) (revive)\n  // +genclient\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:19:6: exported: exported type ContainerMomDeploymentSpec should have comment or be unexported (revive)\n  type ContainerMomDeploymentSpec struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:39:6: exported: exported type SourceSpec should have comment or be unexported (revive)\n  type SourceSpec struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:8:1: exported: comment on exported type Customer should be of the form \"Customer ...\" (with optional leading article) (revive)\n  // +genclient\n  ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:18:1: exported: comment on exported type CustomerList should be of the form \"CustomerList ...\" (with optional leading article) (revive)\n  // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:50:6: exported: exported type BuildConfig should have comment or be unexported (revive)\n  type BuildConfig struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:55:6: exported: exported type DomainSpec should have comment or be unexported (revive)\n  type DomainSpec struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:26:6: exported: exported type CustomerSpec should have comment or be unexported (revive)\n  type CustomerSpec struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:37:6: exported: exported type ResourceQuota should have comment or be unexported (revive)\n  type ResourceQuota struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:65:6: exported: exported type TLSConfig should have comment or be unexported (revive)\n  type TLSConfig struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:74:6: exported: exported type DNSProviderConfig should have comment or be unexported (revive)\n  type DNSProviderConfig struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:44:6: exported: exported type CustomerStatus should have comment or be unexported (revive)\n  type CustomerStatus struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/customer_types.go:58:6: exported: exported type ResourceUsage should have comment or be unexported (revive)\n  type ResourceUsage struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:81:6: exported: exported type ResourceRequirements should have comment or be unexported (revive)\n  type ResourceRequirements struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:87:6: exported: exported type EnvVar should have comment or be unexported (revive)\n  type EnvVar struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:92:6: exported: exported type ContainerMomDeploymentStatus should have comment or be unexported (revive)\n  type ContainerMomDeploymentStatus struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:100:6: exported: exported type Condition should have comment or be unexported (revive)\n  type Condition struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:107:6: exported: exported type ClusterStatus should have comment or be unexported (revive)\n  type ClusterStatus struct {\n       ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:115:1: exported: comment on exported type ContainerMomDeploymentList should be of the form \"ContainerMomDeploymentList ...\" (with optional leading article) (revive)\n  // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:133:1: exported: exported method Customer.DeepCopyInto should have comment or be unexported (revive)\n  func (in *Customer) DeepCopyInto(out *Customer) {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:141:1: exported: exported method Customer.DeepCopyObject should have comment or be unexported (revive)\n  func (in *Customer) DeepCopyObject() runtime.Object {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:158:1: exported: exported method CustomerList.DeepCopyInto should have comment or be unexported (revive)\n  func (in *CustomerList) DeepCopyInto(out *CustomerList) {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:171:1: exported: exported method CustomerList.DeepCopyObject should have comment or be unexported (revive)\n  func (in *CustomerList) DeepCopyObject() runtime.Object {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:188:1: exported: exported method ContainerMomDeployment.DeepCopyInto should have comment or be unexported (revive)\n  func (in *ContainerMomDeployment) DeepCopyInto(out *ContainerMomDeployment) {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:196:1: exported: exported method ContainerMomDeployment.DeepCopyObject should have comment or be unexported (revive)\n  func (in *ContainerMomDeployment) DeepCopyObject() runtime.Object {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:213:1: exported: exported method ContainerMomDeploymentList.DeepCopyInto should have comment or be unexported (revive)\n  func (in *ContainerMomDeploymentList) DeepCopyInto(out *ContainerMomDeploymentList) {\n  ^\n  Error: pkg/apis/containermom/v1alpha1/types.go:226:1: exported: exported method ContainerMomDeploymentList.DeepCopyObject should have comment or be unexported (revive)\n  func (in *ContainerMomDeploymentList) DeepCopyObject() runtime.Object {\n","commandType":4},{"text":"Run golangci/golangci-lint-action@v3\nprepare environment\nrun golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions --timeout=5m] in [] ...\n  pkg/apis/containermom/v1alpha1/customer_types.go:1: : # github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\n  Error: pkg/apis/containermom/v1alpha1/types.go:148:9: cannot use in.DeepCopy() (value of type *v1.ObjectMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ObjectMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)\n  Error: pkg/apis/containermom/v1alpha1/types.go:169:9: cannot use in.DeepCopy() (value of type *v1.ListMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ListMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)\n  Error: pkg/apis/containermom/v1alpha1/types.go:185:9: cannot use in.DeepCopy() (value of type *v1.ObjectMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ObjectMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)\n  Error: pkg/apis/containermom/v1alpha1/types.go:206:9: cannot use in.DeepCopy() (value of type *v1.ListMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ListMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject) (typecheck)\n  // +k8s:deepcopy-gen=true\n  Error: pkg/operator/operator.go:16:2: could not import github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1 (-: # github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\n  Error: pkg/apis/containermom/v1alpha1/types.go:148:9: cannot use in.DeepCopy() (value of type *v1.ObjectMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ObjectMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)\n  Error: pkg/apis/containermom/v1alpha1/types.go:169:9: cannot use in.DeepCopy() (value of type *v1.ListMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ListMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)\n  Error: pkg/apis/containermom/v1alpha1/types.go:185:9: cannot use in.DeepCopy() (value of type *v1.ObjectMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ObjectMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)\n  Error: pkg/apis/containermom/v1alpha1/types.go:206:9: cannot use in.DeepCopy() (value of type *v1.ListMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ListMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)) (typecheck)\n  \t\"github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\"\n  \t^\n  Error: pkg/web/portal/handlers.go:12:2: could not import github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1 (-: # github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\n  Error: pkg/apis/containermom/v1alpha1/types.go:148:9: cannot use in.DeepCopy() (value of type *v1.ObjectMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ObjectMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)\n  Error: pkg/apis/containermom/v1alpha1/types.go:169:9: cannot use in.DeepCopy() (value of type *v1.ListMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ListMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)\n  Error: pkg/apis/containermom/v1alpha1/types.go:185:9: cannot use in.DeepCopy() (value of type *v1.ObjectMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ObjectMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)\n  Error: pkg/apis/containermom/v1alpha1/types.go:206:9: cannot use in.DeepCopy() (value of type *v1.ListMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ListMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)) (typecheck)\n  \t\"github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\"\n  \t^\n  Error: pkg/domain/manager.go:14:8: could not import github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1 (-: # github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\n  Error: pkg/apis/containermom/v1alpha1/types.go:148:9: cannot use in.DeepCopy() (value of type *v1.ObjectMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ObjectMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)\n  Error: pkg/apis/containermom/v1alpha1/types.go:169:9: cannot use in.DeepCopy() (value of type *v1.ListMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ListMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)\n  Error: pkg/apis/containermom/v1alpha1/types.go:185:9: cannot use in.DeepCopy() (value of type *v1.ObjectMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ObjectMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)\n  Error: pkg/apis/containermom/v1alpha1/types.go:206:9: cannot use in.DeepCopy() (value of type *v1.ListMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ListMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)) (typecheck)\n  \tmomv1 \"github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\"\n  \t      ^\n  Error: pkg/controller/customer_controller.go:11:8: could not import github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1 (-: # github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\n  Error: pkg/apis/containermom/v1alpha1/types.go:148:9: cannot use in.DeepCopy() (value of type *v1.ObjectMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ObjectMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)\n  Error: pkg/apis/containermom/v1alpha1/types.go:169:9: cannot use in.DeepCopy() (value of type *v1.ListMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ListMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)\n  Error: pkg/apis/containermom/v1alpha1/types.go:185:9: cannot use in.DeepCopy() (value of type *v1.ObjectMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ObjectMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)\n  Error: pkg/apis/containermom/v1alpha1/types.go:206:9: cannot use in.DeepCopy() (value of type *v1.ListMeta) as \"k8s.io/apimachinery/pkg/runtime\".Object value in return statement: *v1.ListMeta does not implement \"k8s.io/apimachinery/pkg/runtime\".Object (missing method DeepCopyObject)) (typecheck)\n  \tmomv1 \"github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\"\n  \t      ^\n  level=warning msg=\"[config_reader] The configuration option `run.skip-dirs` is deprecated, please use `issues.exclude-dirs`.\"\n  level=warning msg=\"[config_reader] The configuration option `output.format` is deprecated, please use `output.formats`\"\n  level=warning msg=\"[lintersdb] The linter \\\"golint\\\" is deprecated (step 2) and deactivated. It should be removed from the list of disabled linters. https://golangci-lint.run/product/roadmap/#linter-deprecation-cycle\"\n  Error: issues found\n  Ran golangci-lint in 66127ms\n  ","commandType":4},{"text":"Run golangci/golangci-lint-action@v3\nprepare environment\nrun golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions --timeout=5m] in [] ...\n  Error: pkg/builder/languages.go:8:6: exported: exported type LanguageBuilder should have comment or be unexported (revive)\n  type LanguageBuilder struct {\n       ^\n  Error: pkg/builder/languages.go:61:1: exported: exported method LanguageBuilder.Dockerfile should have comment or be unexported (revive)\n  func (b *LanguageBuilder) Dockerfile() string {\n  ^\n  Error: pkg/builder/builder.go:18:6: exported: exported type Builder should have comment or be unexported (revive)\n  type Builder struct {\n       ^\n  Error: pkg/builder/builder.go:23:6: exported: exported type BuildConfig should have comment or be unexported (revive)\n  type BuildConfig struct {\n       ^\n  Error: pkg/builder/builder.go:32:1: exported: exported function NewBuilder should have comment or be unexported (revive)\n  func NewBuilder(cfg *BuildConfig) (*Builder, error) {\n  ^\n  Error: pkg/builder/builder.go:44:1: exported: exported method Builder.Build should have comment or be unexported (revive)\n  func (b *Builder) Build(ctx context.Context) (string, error) {\n  ^\n  Error: pkg/operator/operator.go:22:6: exported: exported type Operator should have comment or be unexported (revive)\n  type Operator struct {\n       ^\n  Error: pkg/operator/operator.go:29:1: exported: exported function NewOperator should have comment or be unexported (revive)\n  func NewOperator(cfg *config.Config, billingService *billing.Service) *Operator {\n  ^\n  Error: pkg/operator/operator.go:43:1: exported: exported method Operator.Run should have comment or be unexported (revive)\n  func (o *Operator) Run(ctx context.Context) error {\n  ^\n  Error: pkg/operator/operator.go:342:6: exported: exported type ContainerStatus should have comment or be unexported (revive)\n  type ContainerStatus struct {\n       ^\n  Error: pkg/operator/operator.go:351:1: exported: exported method Operator.GetContainers should have comment or be unexported (revive)\n  func (o *Operator) GetContainers() ([]ContainerStatus, error) {\n  ^\n  Error: pkg/operator/operator.go:399:1: exported: exported method Operator.GetCurrentCustomer should have comment or be unexported (revive)\n  func (o *Operator) GetCurrentCustomer(ctx context.Context) (*v1alpha1.Customer, error) {\n  ^\n  Error: pkg/operator/operator.go:404:1: exported: exported method Operator.GetResourceUsage should have comment or be unexported (revive)\n  func (o *Operator) GetResourceUsage(ctx context.Context, customerID string) (*v1alpha1.ResourceUsage, error) {\n  ^\n  Error: pkg/operator/operator.go:408:1: exported: exported method Operator.GetBillingHistory should have comment or be unexported (revive)\n  func (o *Operator) GetBillingHistory(ctx context.Context, customerID string) ([]billing.Invoice, error) {\n  ^\n  Error: pkg/operator/operator.go:412:1: exported: exported method Operator.UpdateBillingPlan should have comment or be unexported (revive)\n  func (o *Operator) UpdateBillingPlan(ctx context.Context, customerID string, plan string) error {\n  ^\n  Error: pkg/operator/operator.go:416:1: exported: exported method Operator.UpdateBillingStatus should have comment or be unexported (revive)\n  func (o *Operator) UpdateBillingStatus(ctx context.Context, customerID string, status string) error {\n  ^\n  Error: pkg/web/server.go:17:6: exported: exported type Server should have comment or be unexported (revive)\n  type Server struct {\n       ^\n  Error: pkg/web/server.go:23:1: exported: exported function NewServer should have comment or be unexported (revive)\n  func NewServer(op *operator.Operator, addr string) (*Server, error) {\n  ^\n  Error: pkg/web/server.go:36:1: exported: exported method Server.Start should have comment or be unexported (revive)\n  func (s *Server) Start() error {\n  ^\n  Error: pkg/web/portal/portal.go:11:6: exported: exported type Portal should have comment or be unexported (revive)\n  type Portal struct {\n       ^\n  Error: pkg/web/portal/portal.go:48:1: exported: exported function NewPortal should have comment or be unexported (revive)\n  func NewPortal(op *operator.Operator, tmpl *template.Template, listenAddr string, webhookSecret string) *Portal {\n  ^\n  Error: pkg/web/portal/handlers.go:57:6: exported: exported type BillingPlan should have comment or be unexported (revive)\n  type BillingPlan struct {\n       ^\n  Error: pkg/web/portal/handlers.go:66:6: exported: exported type ResourceUsage should have comment or be unexported (revive)\n  type ResourceUsage struct {\n       ^\n  Error: pkg/web/portal/handlers.go:77:6: exported: exported type BillingTransaction should have comment or be unexported (revive)\n  type BillingTransaction struct {\n       ^\n  Error: pkg/web/portal/handlers.go:84:6: exported: exported type PricingModel should have comment or be unexported (revive)\n  type PricingModel struct {\n       ^\n  Error: pkg/web/portal/handlers.go:93:6: exported: exported type ResourcePricing should have comment or be unexported (revive)\n  type ResourcePricing struct {\n       ^\n  Error: pkg/web/portal/handlers.go:100:6: exported: exported type PromoPackage should have comment or be unexported (revive)\n  type PromoPackage struct {\n       ^\n  Error: pkg/web/portal/handlers.go:106:6: exported: exported type ResourceLimits should have comment or be unexported (revive)\n  type ResourceLimits struct {\n       ^\n  Error: pkg/web/portal/handlers.go:114:6: exported: exported type BillingInfo should have comment or be unexported (revive)\n  type BillingInfo struct {\n       ^\n  Error: pkg/domain/manager.go:17:6: exported: exported type Manager should have comment or be unexported (revive)\n  type Manager struct {\n       ^\n  Error: pkg/domain/manager.go:24:1: exported: exported function NewManager should have comment or be unexported (revive)\n  func NewManager(client kubernetes.Interface, certClient cmclient.Interface, baseDomain, clusterIssuer string) *Manager {\n  ^\n  Error: pkg/domain/manager.go:33:1: exported: exported method Manager.SetupDomain should have comment or be unexported (revive)\n  func (m *Manager) SetupDomain(ctx context.Context, deployment *momv1.ContainerMomDeployment) error {\n  ^\n  Error: pkg/controller/deployment_controller.go:20:6: exported: exported type DeploymentReconciler should have comment or be unexported (revive)\n  type DeploymentReconciler struct {\n       ^\n  Error: pkg/controller/deployment_controller.go:26:1: exported: exported method DeploymentReconciler.Reconcile should have comment or be unexported (revive)\n  func (r *DeploymentReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {\n  ^\n  Error: pkg/controller/deployment_controller.go:174:1: exported: exported method DeploymentReconciler.SetupWithManager should have comment or be unexported (revive)\n  func (r *DeploymentReconciler) SetupWithManager(mgr ctrl.Manager) error {\n  ^\n  Error: pkg/controller/customer_controller.go:14:6: exported: exported type CustomerReconciler should have comment or be unexported (revive)\n  type CustomerReconciler struct {\n       ^\n  Error: pkg/controller/customer_controller.go:19:1: exported: exported method CustomerReconciler.Reconcile should have comment or be unexported (revive)\n  func (r *CustomerReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {\n  ^\n  Error: pkg/controller/customer_controller.go:53:1: exported: exported method CustomerReconciler.SetupWithManager should have comment or be unexported (revive)\n  func (r *CustomerReconciler) SetupWithManager(mgr ctrl.Manager) error {\n  ^\n  Error: pkg/web/portal/handlers.go:296:18: func `(*Portal).handleResourceUsage` is unused (unused)\n  func (p *Portal) handleResourceUsage(w http.ResponseWriter, r *http.Request) {\n                   ^\n  \n  level=warning msg=\"[config_reader] The configuration option `run.skip-dirs` is deprecated, please use `issues.exclude-dirs`.\"\n  level=warning msg=\"[config_reader] The configuration option `output.format` is deprecated, please use `output.formats`\"\n  level=warning msg=\"[lintersdb] The linter \\\"golint\\\" is deprecated (step 2) and deactivated. It should be removed from the list of disabled linters. https://golangci-lint.run/product/roadmap/#linter-deprecation-cycle\"\n  \n  Error: issues found\n  Ran golangci-lint in 65187ms","commandType":4},{"text":"Run go test -v ./...\n# github.com/pfeifferj/container-mom-go/pkg/builder\nError: pkg/builder/languages.go:20:3: unknown field baseImage in struct literal of type LanguageBuilder\nError: pkg/builder/languages.go:21:3: unknown field buildCmd in struct literal of type LanguageBuilder\nError: pkg/builder/languages.go:25:3: unknown field runCmd in struct literal of type LanguageBuilder\nError: pkg/builder/languages.go:26:3: unknown field ports in struct literal of type LanguageBuilder\nError: pkg/builder/languages.go:36:3: unknown field baseImage in struct literal of type LanguageBuilder\nError: pkg/builder/languages.go:37:3: unknown field buildCmd in struct literal of type LanguageBuilder\nError: pkg/builder/languages.go:40:3: unknown field runCmd in struct literal of type LanguageBuilder\nError: pkg/builder/languages.go:41:3: unknown field ports in struct literal of type LanguageBuilder\nError: pkg/builder/languages.go:51:3: unknown field baseImage in struct literal of type LanguageBuilder\nError: pkg/builder/languages.go:52:3: unknown field buildCmd in struct literal of type LanguageBuilder\nError: pkg/builder/languages.go:52:3: too many errors\nFAIL\tgithub.com/pfeifferj/container-mom-go/cmd/mom [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/billing\t[no test files]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/builder [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/config\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/controller\t[no test files]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/operator [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/web [build failed]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/web/portal [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/domain\t[no test files]\nFAIL\nError: Process completed with exit code 1.","commandType":4},{"text":"Run golangci/golangci-lint-action@v3\nprepare environment\nrun golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions --timeout=5m] in [] ...\n  Error: pkg/web/server.go:17:6: exported: exported type Server should have comment or be unexported (revive)\n  type Server struct {\n       ^\n  Error: pkg/web/server.go:23:1: exported: exported function NewServer should have comment or be unexported (revive)\n  func NewServer(op *operator.Operator, addr string) (*Server, error) {\n  ^\n  Error: pkg/web/server.go:36:1: exported: exported method Server.Start should have comment or be unexported (revive)\n  func (s *Server) Start() error {\n  ^\n  Error: pkg/web/portal/handlers.go:57:6: exported: exported type BillingPlan should have comment or be unexported (revive)\n  type BillingPlan struct {\n       ^\n  Error: pkg/web/portal/handlers.go:66:6: exported: exported type ResourceUsage should have comment or be unexported (revive)\n  type ResourceUsage struct {\n       ^\n  Error: pkg/web/portal/handlers.go:77:6: exported: exported type BillingTransaction should have comment or be unexported (revive)\n  type BillingTransaction struct {\n       ^\n  Error: pkg/web/portal/portal.go:11:6: exported: exported type Portal should have comment or be unexported (revive)\n  type Portal struct {\n       ^\n  Error: pkg/web/portal/portal.go:48:1: exported: exported function NewPortal should have comment or be unexported (revive)\n  func NewPortal(op *operator.Operator, tmpl *template.Template, listenAddr string, webhookSecret string) *Portal {\n  ^\n  Error: pkg/web/portal/handlers.go:84:6: exported: exported type PricingModel should have comment or be unexported (revive)\n  type PricingModel struct {\n       ^\n  Error: pkg/web/portal/handlers.go:93:6: exported: exported type ResourcePricing should have comment or be unexported (revive)\n  type ResourcePricing struct {\n       ^\n  Error: pkg/web/portal/handlers.go:100:6: exported: exported type PromoPackage should have comment or be unexported (revive)\n  type PromoPackage struct {\n       ^\n  Error: pkg/web/portal/handlers.go:106:6: exported: exported type ResourceLimits should have comment or be unexported (revive)\n  type ResourceLimits struct {\n       ^\n  Error: pkg/web/portal/handlers.go:114:6: exported: exported type BillingInfo should have comment or be unexported (revive)\n  type BillingInfo struct {\n       ^\n  Error: pkg/domain/manager.go:17:6: exported: exported type Manager should have comment or be unexported (revive)\n  type Manager struct {\n       ^\n  Error: pkg/domain/manager.go:24:1: exported: exported function NewManager should have comment or be unexported (revive)\n  func NewManager(client kubernetes.Interface, certClient cmclient.Interface, baseDomain, clusterIssuer string) *Manager {\n  ^\n  Error: pkg/domain/manager.go:33:1: exported: exported method Manager.SetupDomain should have comment or be unexported (revive)\n  func (m *Manager) SetupDomain(ctx context.Context, deployment *momv1.ContainerMomDeployment) error {\n  ^\n  Error: pkg/controller/deployment_controller.go:20:6: exported: exported type DeploymentReconciler should have comment or be unexported (revive)\n  type DeploymentReconciler struct {\n       ^\n  Error: pkg/controller/deployment_controller.go:26:1: exported: exported method DeploymentReconciler.Reconcile should have comment or be unexported (revive)\n  func (r *DeploymentReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {\n  ^\n  Error: pkg/controller/deployment_controller.go:174:1: exported: exported method DeploymentReconciler.SetupWithManager should have comment or be unexported (revive)\n  func (r *DeploymentReconciler) SetupWithManager(mgr ctrl.Manager) error {\n  ^\n  Error: pkg/controller/customer_controller.go:14:6: exported: exported type CustomerReconciler should have comment or be unexported (revive)\n  type CustomerReconciler struct {\n       ^\n  Error: pkg/controller/customer_controller.go:19:1: exported: exported method CustomerReconciler.Reconcile should have comment or be unexported (revive)\n  func (r *CustomerReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {\n  ^\n  Error: pkg/controller/customer_controller.go:53:1: exported: exported method CustomerReconciler.SetupWithManager should have comment or be unexported (revive)\n  func (r *CustomerReconciler) SetupWithManager(mgr ctrl.Manager) error {\n  ^\n  Error: pkg/builder/languages.go:11:2: field `buildArgs` is unused (unused)\n  \tbuildArgs    map[string]*string\n  \t^\n  Error: pkg/web/portal/handlers.go:296:18: func `(*Portal).handleResourceUsage` is unused (unused)\n  func (p *Portal) handleResourceUsage(w http.ResponseWriter, r *http.Request) {\n                   ^\n  \n  level=warning msg=\"[config_reader] The configuration option `run.skip-dirs` is deprecated, please use `issues.exclude-dirs`.\"\n  level=warning msg=\"[config_reader] The configuration option `output.format` is deprecated, please use `output.formats`\"\n  level=warning msg=\"[lintersdb] The linter \\\"golint\\\" is deprecated (step 2) and deactivated. It should be removed from the list of disabled linters. https://golangci-lint.run/product/roadmap/#linter-deprecation-cycle\"\n  \n  Error: issues found\n  Ran golangci-lint in 65396ms\n  \n","commandType":4},{"text":"Run golangci/golangci-lint-action@v3\nprepare environment\nrun golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions --timeout=5m] in [] ...\n  Error: pkg/web/portal/handlers.go:304:18: func `(*Portal).handleResourceUsage` is unused (unused)\n  func (p *Portal) handleResourceUsage(w http.ResponseWriter, r *http.Request) {\n                   ^\n  \n  level=warning msg=\"[config_reader] The configuration option `run.skip-dirs` is deprecated, please use `issues.exclude-dirs`.\"\n  level=warning msg=\"[config_reader] The configuration option `output.format` is deprecated, please use `output.formats`\"\n  level=warning msg=\"[lintersdb] The linter \\\"golint\\\" is deprecated (step 2) and deactivated. It should be removed from the list of disabled linters. https://golangci-lint.run/product/roadmap/#linter-deprecation-cycle\"\n  \n  Error: issues found","commandType":4},{"text":"Run go test -v ./...\n# github.com/pfeifferj/container-mom-go/pkg/web/portal\nError: pkg/web/portal/portal.go:49:18: method Portal.handleResourceUsage already declared at pkg/web/portal/handlers.go:304:18\nFAIL\tgithub.com/pfeifferj/container-mom-go/cmd/mom [build failed]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/billing\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/builder\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/config\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/controller\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/operator\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/domain\t[no test files]\n?   \tgithub.com/pfeifferj/container-mom-go/pkg/web\t[no test files]\nFAIL\tgithub.com/pfeifferj/container-mom-go/pkg/web/portal [build failed]\nFAIL\nError: Process completed with exit code 1.","commandType":4},{"text":"Run golangci/golangci-lint-action@v3\nprepare environment\nrun golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions --timeout=5m] in [] ...\n  pkg/web/portal/handlers.go:1: : # github.com/pfeifferj/container-mom-go/pkg/web/portal\n  Error: pkg/web/portal/portal.go:49:18: method Portal.handleResourceUsage already declared at pkg/web/portal/handlers.go:304:18 (typecheck)\n  package portal\n  Error: cmd/mom/main.go:13:2: could not import github.com/pfeifferj/container-mom-go/pkg/web/portal (-: # github.com/pfeifferj/container-mom-go/pkg/web/portal\n  Error: pkg/web/portal/portal.go:49:18: method Portal.handleResourceUsage already declared at pkg/web/portal/handlers.go:304:18) (typecheck)\n  \t\"github.com/pfeifferj/container-mom-go/pkg/web/portal\"\n  \t^\n  \n  level=warning msg=\"[config_reader] The configuration option `run.skip-dirs` is deprecated, please use `issues.exclude-dirs`.\"\n  level=warning msg=\"[config_reader] The configuration option `output.format` is deprecated, please use `output.formats`\"\n  level=warning msg=\"[lintersdb] The linter \\\"golint\\\" is deprecated (step 2) and deactivated. It should be removed from the list of disabled linters. https://golangci-lint.run/product/roadmap/#linter-deprecation-cycle\"\n  \n  Error: issues found\n  Ran golangci-lint in 66555ms","commandType":4},{"text":"add implementation that is missing","commandType":4},{"text":"Run golangci/golangci-lint-action@v3\nprepare environment\nrun golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions --timeout=5m] in [] ...\n  Error: pkg/web/portal/portal.go:177:9: Error return value of `w.Write` is not checked (errcheck)\n  \tw.Write([]byte(fmt.Sprintf(\"Logs for deployment %s\\n\", deploymentID)))\n  \t       ^\n  \n  level=warning msg=\"[config_reader] The configuration option `run.skip-dirs` is deprecated, please use `issues.exclude-dirs`.\"\n  level=warning msg=\"[config_reader] The configuration option `output.format` is deprecated, please use `output.formats`\"\n  level=warning msg=\"[lintersdb] The linter \\\"golint\\\" is deprecated (step 2) and deactivated. It should be removed from the list of disabled linters. https://golangci-lint.run/product/roadmap/#linter-deprecation-cycle\"\n  \n  Error: issues found\n  Ran golangci-lint in 65291ms","commandType":4},{"text":"Run docker/build-push-action@v5\nGitHub Actions runtime token ACs\nDocker info\nProxy configuration\nBuildx version\nBuilder info\n/usr/bin/docker buildx build --iidfile /home/runner/work/_temp/docker-actions-toolkit-AH6N5W/build-iidfile-126d76a4a0.txt --attest type=provenance,mode=min,inline-only=true,builder-id=https://github.com/pfeifferj/container-mom-go/actions/runs/12732881897 --tag container-mom:latest --metadata-file /home/runner/work/_temp/docker-actions-toolkit-AH6N5W/build-metadata-d081893da9.json .\n#0 building with \"builder-3c590caa-f206-4f48-afd5-c6d3cc3336c8\" instance using docker-container driver\n\n#1 [internal] load build definition from Dockerfile\n#1 transferring dockerfile: 2B done\n#1 DONE 0.0s\nWARNING: No output specified with docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load\nERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory\nError: buildx failed with: ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory","commandType":4},{"text":"Run docker/build-push-action@v5\nGitHub Actions runtime token ACs\nDocker info\nProxy configuration\nBuildx version\nBuilder info\n/usr/bin/docker buildx build --iidfile /home/runner/work/_temp/docker-actions-toolkit-uIPVnN/build-iidfile-909cb5ec22.txt --attest type=provenance,mode=min,inline-only=true,builder-id=https://github.com/pfeifferj/container-mom-go/actions/runs/12732926281 --tag container-mom:latest --metadata-file /home/runner/work/_temp/docker-actions-toolkit-uIPVnN/build-metadata-c716698a37.json .\n#0 building with \"builder-ce989dac-8477-4d08-bc11-6ee85d45d2f3\" instance using docker-container driver\n\n#1 [internal] load build definition from Dockerfile\n#1 transferring dockerfile: 301B done\n#1 DONE 0.0s\n\n#2 [auth] library/alpine:pull token for registry-1.docker.io\n#2 DONE 0.0s\n\n#3 [auth] library/golang:pull token for registry-1.docker.io\n#3 DONE 0.0s\n\n#4 [internal] load metadata for docker.io/library/alpine:3.19\n#4 ...\n\n#5 [internal] load metadata for docker.io/library/golang:1.21-alpine\n#5 DONE 0.6s\n\n#4 [internal] load metadata for docker.io/library/alpine:3.19\n#4 DONE 0.6s\n\n#6 [internal] load .dockerignore\n#6 transferring context: 2B done\n#6 DONE 0.0s\n\n#7 [builder 1/5] FROM docker.io/library/golang:1.21-alpine@sha256:2414035b086e3c42b99654c8b26e6f5b1b1598080d65fd03c7f499552ff4dc94\n#7 resolve docker.io/library/golang:1.21-alpine@sha256:2414035b086e3c42b99654c8b26e6f5b1b1598080d65fd03c7f499552ff4dc94 done\n#7 DONE 0.1s\n\n#8 [stage-1 1/3] FROM docker.io/library/alpine:3.19@sha256:6380aa6b04faa579332d4c9d1f65bd7093012ba6e01d9bbcd5e2d8a4f9fae38f\n#8 resolve docker.io/library/alpine:3.19@sha256:6380aa6b04faa579332d4c9d1f65bd7093012ba6e01d9bbcd5e2d8a4f9fae38f done\n#8 sha256:861950bce9fa55e0462bb22503f61d8e7396f292af10969506b51e7bdb701d60 3.42MB / 3.42MB 0.2s done\n#8 extracting sha256:861950bce9fa55e0462bb22503f61d8e7396f292af10969506b51e7bdb701d60\n#8 extracting sha256:861950bce9fa55e0462bb22503f61d8e7396f292af10969506b51e7bdb701d60 0.7s done\n#8 DONE 0.9s\n\n#9 [stage-1 2/3] WORKDIR /app\n#9 DONE 0.3s\n\n#7 [builder 1/5] FROM docker.io/library/golang:1.21-alpine@sha256:2414035b086e3c42b99654c8b26e6f5b1b1598080d65fd03c7f499552ff4dc94\n#7 sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 32B / 32B 0.1s done\n#7 sha256:4579008f8500d429ec007d092329191009711942d9380d060c8d9bd24c0c352c 126B / 126B 0.1s done\n#7 sha256:54bf7053e2d96c2c7f4637ad7580bd64345b3c9fabb163e1fdb8894aea8a9af0 67.01MB / 67.01MB 1.1s done\n#7 sha256:41db7493d1c6f3f26428d119962e3862c14a9e20bb0b8fefc36e7282d015d099 290.89kB / 290.89kB 0.1s done\n#7 sha256:c6a83fedfae6ed8a4f5f7cbb6a7b6f1c1ec3d86fea8cb9e5ba2e5e6673fde9f6 3.62MB / 3.62MB 0.2s done\n#7 extracting sha256:c6a83fedfae6ed8a4f5f7cbb6a7b6f1c1ec3d86fea8cb9e5ba2e5e6673fde9f6\n#7 extracting sha256:c6a83fedfae6ed8a4f5f7cbb6a7b6f1c1ec3d86fea8cb9e5ba2e5e6673fde9f6 0.9s done\n#7 extracting sha256:41db7493d1c6f3f26428d119962e3862c14a9e20bb0b8fefc36e7282d015d099\n#7 extracting sha256:41db7493d1c6f3f26428d119962e3862c14a9e20bb0b8fefc36e7282d015d099 0.1s done\n#7 extracting sha256:54bf7053e2d96c2c7f4637ad7580bd64345b3c9fabb163e1fdb8894aea8a9af0\n#7 ...\n\n#10 [internal] load build context\n#10 transferring context: 64.98MB 2.7s done\n#10 DONE 2.7s\n\n#7 [builder 1/5] FROM docker.io/library/golang:1.21-alpine@sha256:2414035b086e3c42b99654c8b26e6f5b1b1598080d65fd03c7f499552ff4dc94\n#7 extracting sha256:54bf7053e2d96c2c7f4637ad7580bd64345b3c9fabb163e1fdb8894aea8a9af0 4.5s done\n#7 extracting sha256:4579008f8500d429ec007d092329191009711942d9380d060c8d9bd24c0c352c done\n#7 extracting sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 done\n#7 DONE 5.9s\n\n#11 [builder 2/5] WORKDIR /app\n#11 DONE 1.3s\n\n#12 [builder 3/5] COPY . .\n#12 DONE 0.9s\n\n#13 [builder 4/5] RUN go mod download\n#13 0.101 go: go.mod requires go >= 1.22.0 (running go 1.21.13; GOTOOLCHAIN=local)\n#13 ERROR: process \"/bin/sh -c go mod download\" did not complete successfully: exit code: 1\n------\n > [builder 4/5] RUN go mod download:\n0.101 go: go.mod requires go >= 1.22.0 (running go 1.21.13; GOTOOLCHAIN=local)\n------\nWARNING: No output specified with docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load\nDockerfile:6\n--------------------\n   4 |     COPY . .\n   5 |     \n   6 | >>> RUN go mod download\n   7 |     RUN CGO_ENABLED=0 GOOS=linux go build -o container-mom ./cmd/container-mom\n   8 |     \n--------------------\nERROR: failed to solve: process \"/bin/sh -c go mod download\" did not complete successfully: exit code: 1\nError: buildx failed with: ERROR: failed to solve: process \"/bin/sh -c go mod download\" did not complete successfully: exit code: 1","commandType":4},{"text":"pls","commandType":4},{"text":"#13 [builder 4/5] RUN go mod download\n#13 DONE 7.4s\n\n#14 [builder 5/5] RUN CGO_ENABLED=0 GOOS=linux go build -o container-mom ./cmd/container-mom\n#14 0.262 stat /app/cmd/container-mom: directory not found\n#14 ERROR: process \"/bin/sh -c CGO_ENABLED=0 GOOS=linux go build -o container-mom ./cmd/container-mom\" did not complete successfully: exit code: 1\n------\n > [builder 5/5] RUN CGO_ENABLED=0 GOOS=linux go build -o container-mom ./cmd/container-mom:\n0.262 stat /app/cmd/container-mom: directory not found\n------\nWARNING: No output specified with docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load\nDockerfile:7\n--------------------\n   5 |     \n   6 |     RUN go mod download\n   7 | >>> RUN CGO_ENABLED=0 GOOS=linux go build -o container-mom ./cmd/container-mom\n   8 |     \n   9 |     FROM alpine:3.19\n--------------------\nERROR: failed to solve: process \"/bin/sh -c CGO_ENABLED=0 GOOS=linux go build -o container-mom ./cmd/container-mom\" did not complete successfully: exit code: 1\nError: buildx failed with: ERROR: failed to solve: process \"/bin/sh -c CGO_ENABLED=0 GOOS=linux go build -o container-mom ./cmd/container-mom\" did not complete successfully: exit code: 1","commandType":4},{"text":" #14 [builder 5/5] RUN CGO_ENABLED=0 GOOS=linux go build -o container-mom .\n#14 0.279 no Go files in /app\n#14 ERROR: process \"/bin/sh -c CGO_ENABLED=0 GOOS=linux go build -o container-mom .\" did not complete successfully: exit code: 1\n------\n > [builder 5/5] RUN CGO_ENABLED=0 GOOS=linux go build -o container-mom .:\n0.279 no Go files in /app\n------\nWARNING: No output specified with docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load\nDockerfile:7\n--------------------\n   5 |     \n   6 |     RUN go mod download\n   7 | >>> RUN CGO_ENABLED=0 GOOS=linux go build -o container-mom .\n   8 |     \n   9 |     FROM alpine:3.19\n--------------------\nERROR: failed to solve: process \"/bin/sh -c CGO_ENABLED=0 GOOS=linux go build -o container-mom .\" did not complete successfully: exit code: 1\nError: buildx failed with: ERROR: failed to solve: process \"/bin/sh -c CGO_ENABLED=0 GOOS=linux go build -o container-mom .\" did not complete successfully: exit code: 1","commandType":4},{"text":"look at the project yourself","commandType":4},{"text":"we should be building multiple container images. for the operator, the web portal an dother shit","commandType":4},{"text":"#8 [builder 1/5] FROM docker.io/library/golang:1.23-alpine@sha256:c23339199a08b0e12032856908589a6d41a0dab141b8b3b21f156fc571a3f1d3\n#8 extracting sha256:0a2ab5391ffc9d65666b85647cf0e14eb454a907445434cd657e3b25133b4020 done\n#8 extracting sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 done\n#8 DONE 5.9s\n\n#11 [builder 2/5] WORKDIR /app\n#11 DONE 1.5s\n\n#12 [builder 3/5] COPY . .\n#12 DONE 0.9s\n\n#13 [builder 4/5] RUN go mod download\n#13 DONE 8.2s\n\n#14 [builder 5/5] RUN CGO_ENABLED=0 GOOS=linux go build -o container-mom .\n#14 0.278 no Go files in /app\n#14 ERROR: process \"/bin/sh -c CGO_ENABLED=0 GOOS=linux go build -o container-mom .\" did not complete successfully: exit code: 1\n------\n > [builder 5/5] RUN CGO_ENABLED=0 GOOS=linux go build -o container-mom .:\n0.278 no Go files in /app\n------\nWARNING: No output specified with docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load\nDockerfile:7\n--------------------\n   5 |     \n   6 |     RUN go mod download\n   7 | >>> RUN CGO_ENABLED=0 GOOS=linux go build -o container-mom .\n   8 |     \n   9 |     FROM alpine:3.19\n--------------------\nERROR: failed to solve: process \"/bin/sh -c CGO_ENABLED=0 GOOS=linux go build -o container-mom .\" did not complete successfully: exit code: 1\nError: buildx failed with: ERROR: failed to solve: process \"/bin/sh -c CGO_ENABLED=0 GOOS=linux go build -o container-mom .\" did not complete successfully: exit code: 1","commandType":4},{"text":"Run golangci/golangci-lint-action@v3\nprepare environment\nrun golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions --timeout=5m] in [] ...\n  pkg/web/portal/handlers.go:1: : # github.com/pfeifferj/container-mom-go/pkg/web/portal\n  Error: pkg/web/portal/handlers.go:131:30: p.operator.GetCurrentCustomer undefined (type *operator.Operator has no field or method GetCurrentCustomer)\n  Error: pkg/web/portal/handlers.go:138:27: p.operator.GetResourceUsage undefined (type *operator.Operator has no field or method GetResourceUsage)\n  Error: pkg/web/portal/handlers.go:145:29: p.operator.GetBillingHistory undefined (type *operator.Operator has no field or method GetBillingHistory)\n  Error: pkg/web/portal/handlers.go:184:30: p.operator.GetCurrentCustomer undefined (type *operator.Operator has no field or method GetCurrentCustomer)\n  Error: pkg/web/portal/handlers.go:199:23: p.operator.UpdateBillingPlan undefined (type *operator.Operator has no field or method UpdateBillingPlan)\n  Error: pkg/web/portal/handlers.go:279:24: p.operator.UpdateBillingStatus undefined (type *operator.Operator has no field or method UpdateBillingStatus)\n  Error: pkg/web/portal/handlers.go:291:24: p.operator.UpdateBillingStatus undefined (type *operator.Operator has no field or method UpdateBillingStatus)\n  Error: pkg/web/portal/handlers.go:306:30: p.operator.GetCurrentCustomer undefined (type *operator.Operator has no field or method GetCurrentCustomer)\n  Error: pkg/web/portal/handlers.go:313:27: p.operator.GetResourceUsage undefined (type *operator.Operator has no field or method GetResourceUsage)\n  Error: pkg/web/portal/portal.go:26:30: p.operator.GetCurrentCustomer undefined (type *operator.Operator has no field or method GetCurrentCustomer)\n  Error: pkg/web/portal/portal.go:26:30: too many errors (typecheck)\n  package portal\n  Error: cmd/mom/main.go:13:2: could not import github.com/pfeifferj/container-mom-go/pkg/web/portal (-: # github.com/pfeifferj/container-mom-go/pkg/web/portal\n  Error: pkg/web/portal/handlers.go:131:30: p.operator.GetCurrentCustomer undefined (type *operator.Operator has no field or method GetCurrentCustomer)\n  Error: pkg/web/portal/handlers.go:138:27: p.operator.GetResourceUsage undefined (type *operator.Operator has no field or method GetResourceUsage)\n  Error: pkg/web/portal/handlers.go:145:29: p.operator.GetBillingHistory undefined (type *operator.Operator has no field or method GetBillingHistory)\n  Error: pkg/web/portal/handlers.go:184:30: p.operator.GetCurrentCustomer undefined (type *operator.Operator has no field or method GetCurrentCustomer)\n  Error: pkg/web/portal/handlers.go:199:23: p.operator.UpdateBillingPlan undefined (type *operator.Operator has no field or method UpdateBillingPlan)\n  Error: pkg/web/portal/handlers.go:279:24: p.operator.UpdateBillingStatus undefined (type *operator.Operator has no field or method UpdateBillingStatus)\n  Error: pkg/web/portal/handlers.go:291:24: p.operator.UpdateBillingStatus undefined (type *operator.Operator has no field or method UpdateBillingStatus)\n  Error: pkg/web/portal/handlers.go:306:30: p.operator.GetCurrentCustomer undefined (type *operator.Operator has no field or method GetCurrentCustomer)\n  Error: pkg/web/portal/handlers.go:313:27: p.operator.GetResourceUsage undefined (type *operator.Operator has no field or method GetResourceUsage)\n  Error: pkg/web/portal/portal.go:26:30: p.operator.GetCurrentCustomer undefined (type *operator.Operator has no field or method GetCurrentCustomer)\n  Error: pkg/web/portal/portal.go:26:30: too many errors) (typecheck)\n  \t\"github.com/pfeifferj/container-mom-go/pkg/web/portal\"\n  \t^\n  Error: cmd/mom/main.go:22:21: undefined: config.LoadConfig (typecheck)\n  \tcfg, err := config.LoadConfig(configPath)\n  \t                   ^\n  Error: cmd/mom/main.go:31:17: undefined: operator.NewOperator (typecheck)\n  \top := operator.NewOperator(cfg, billingService)\n  \t               ^\n  pkg/web/server.go:1: : # github.com/pfeifferj/container-mom-go/pkg/web\n  Error: pkg/web/server.go:52:26: s.op.GetContainers undefined (type *operator.Operator has no field or method GetContainers)\n  Error: pkg/web/server.go:59:25: undefined: operator.ContainerStatus\n  Error: pkg/web/server.go:70:26: s.op.GetContainers undefined (type *operator.Operator has no field or method GetContainers) (typecheck)\n  package web\n  \n  level=warning msg=\"[config_reader] The configuration option `run.skip-dirs` is deprecated, please use `issues.exclude-dirs`.\"\n  level=warning msg=\"[config_reader] The configuration option `output.format` is deprecated, please use `output.formats`\"\n  level=warning msg=\"[lintersdb] The linter \\\"golint\\\" is deprecated (step 2) and deactivated. It should be removed from the list of disabled linters. https://golangci-lint.run/product/roadmap/#linter-deprecation-cycle\"\n  \n  Error: issues found\n  Ran golangci-lint in 65482ms","commandType":4},{"text":"1m 7s\nRun golangci/golangci-lint-action@v3\nprepare environment\nrun golangci-lint\n  Running [/home/runner/golangci-lint-1.63.4-linux-amd64/golangci-lint run --out-format=github-actions --timeout=5m] in [] ...\n  pkg/apis/containermom/v1alpha1/customer_types.go:1: : # github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\n  Error: pkg/apis/containermom/v1alpha1/types.go:347:6: Customer redeclared in this block\n  Error: \tpkg/apis/containermom/v1alpha1/customer_types.go:11:6: other declaration of Customer\n  Error: pkg/apis/containermom/v1alpha1/types.go:352:6: ResourceUsage redeclared in this block\n  Error: \tpkg/apis/containermom/v1alpha1/customer_types.go:64:6: other declaration of ResourceUsage\n  Error: pkg/apis/containermom/v1alpha1/types.go:368:6: ContainerMomDeployment redeclared in this block\n  Error: \tpkg/apis/containermom/v1alpha1/types.go:11:6: other declaration of ContainerMomDeployment (typecheck)\n  // +k8s:deepcopy-gen=true\n  Error: pkg/operator/operator.go:6:8: could not import github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1 (-: # github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\n  Error: pkg/apis/containermom/v1alpha1/types.go:347:6: Customer redeclared in this block\n  Error: \tpkg/apis/containermom/v1alpha1/customer_types.go:11:6: other declaration of Customer\n  Error: pkg/apis/containermom/v1alpha1/types.go:352:6: ResourceUsage redeclared in this block\n  Error: \tpkg/apis/containermom/v1alpha1/customer_types.go:64:6: other declaration of ResourceUsage\n  Error: pkg/apis/containermom/v1alpha1/types.go:368:6: ContainerMomDeployment redeclared in this block\n  Error: \tpkg/apis/containermom/v1alpha1/types.go:11:6: other declaration of ContainerMomDeployment) (typecheck)\n  \tmomv1 \"github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\"\n  \t      ^\n  Error: pkg/web/portal/handlers.go:12:2: could not import github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1 (-: # github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\n  Error: pkg/apis/containermom/v1alpha1/types.go:347:6: Customer redeclared in this block\n  Error: \tpkg/apis/containermom/v1alpha1/customer_types.go:11:6: other declaration of Customer\n  Error: pkg/apis/containermom/v1alpha1/types.go:352:6: ResourceUsage redeclared in this block\n  Error: \tpkg/apis/containermom/v1alpha1/customer_types.go:64:6: other declaration of ResourceUsage\n  Error: pkg/apis/containermom/v1alpha1/types.go:368:6: ContainerMomDeployment redeclared in this block\n  Error: \tpkg/apis/containermom/v1alpha1/types.go:11:6: other declaration of ContainerMomDeployment) (typecheck)\n  \t\"github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\"\n  \t^\n  Error: cmd/mom/main.go:22:21: undefined: config.LoadConfig (typecheck)\n  \tcfg, err := config.LoadConfig(configPath)\n  \t                   ^\n  Error: pkg/domain/manager.go:14:8: could not import github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1 (-: # github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\n  Error: pkg/apis/containermom/v1alpha1/types.go:347:6: Customer redeclared in this block\n  Error: \tpkg/apis/containermom/v1alpha1/customer_types.go:11:6: other declaration of Customer\n  Error: pkg/apis/containermom/v1alpha1/types.go:352:6: ResourceUsage redeclared in this block\n  Error: \tpkg/apis/containermom/v1alpha1/customer_types.go:64:6: other declaration of ResourceUsage\n  Error: pkg/apis/containermom/v1alpha1/types.go:368:6: ContainerMomDeployment redeclared in this block\n  Error: \tpkg/apis/containermom/v1alpha1/types.go:11:6: other declaration of ContainerMomDeployment) (typecheck)\n  \tmomv1 \"github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\"\n  \t      ^\n  Error: pkg/controller/customer_controller.go:11:8: could not import github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1 (-: # github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\n  Error: pkg/apis/containermom/v1alpha1/types.go:347:6: Customer redeclared in this block\n  Error: \tpkg/apis/containermom/v1alpha1/customer_types.go:11:6: other declaration of Customer\n  Error: pkg/apis/containermom/v1alpha1/types.go:352:6: ResourceUsage redeclared in this block\n  Error: \tpkg/apis/containermom/v1alpha1/customer_types.go:64:6: other declaration of ResourceUsage\n  Error: pkg/apis/containermom/v1alpha1/types.go:368:6: ContainerMomDeployment redeclared in this block\n  Error: \tpkg/apis/containermom/v1alpha1/types.go:11:6: other declaration of ContainerMomDeployment) (typecheck)\n  \tmomv1 \"github.com/pfeifferj/container-mom-go/pkg/apis/containermom/v1alpha1\"\n  \t      ^\n  \n  level=warning msg=\"[config_reader] The configuration option `run.skip-dirs` is deprecated, please use `issues.exclude-dirs`.\"\n  level=warning msg=\"[config_reader] The configuration option `output.format` is deprecated, please use `output.formats`\"\n  level=warning msg=\"[lintersdb] The linter \\\"golint\\\" is deprecated (step 2) and deactivated. It should be removed from the list of disabled linters. https://golangci-lint.run/product/roadmap/#linter-deprecation-cycle\"\n  \n  Error: issues found\n  Ran golangci-lint in 66347ms","commandType":4}]


key: composer.composerData
value:
  {"allComposers":[{"type":"head","composerId":"03cebb57-427c-420b-aece-c8bdc6e23223","name":"Docker Build Error: Go Version Mismatch","lastUpdatedAt":1736684036748,"createdAt":1736681637662,"forceMode":"edit"},{"type":"head","composerId":"f2d6795b-8403-4cea-91e8-11eea6f3c80e","name":"GitHub Actions Docker Build Error Resolution","lastUpdatedAt":1736679723325,"createdAt":1736679681633,"forceMode":"edit"},{"type":"head","composerId":"161b5eb1-602e-4733-a7f7-148e4ebe73b3","name":"Golangci-lint Errors and Warnings Analysis","lastUpdatedAt":1736679436163,"createdAt":1736628994954,"forceMode":"edit"},{"type":"head","composerId":"c8401059-2902-438e-9ceb-91f3ce5e728d","name":"Fixing Golang Linting Errors and Warnings","lastUpdatedAt":1736628868699,"createdAt":1736625707152,"forceMode":"edit"},{"type":"head","composerId":"bfe37aaa-47c9-45f0-baa6-03563dcc7845","name":"Fixing Go Compilation Errors in Kubernetes Operator","lastUpdatedAt":1736624894726,"createdAt":1736616030633,"forceMode":"edit"},{"type":"head","composerId":"ab92adbd-9265-4aea-960f-c732049e153b","name":"Fixing Go Build Errors and Code Issues","lastUpdatedAt":1736615976598,"createdAt":1736614665004,"forceMode":"edit"},{"type":"head","composerId":"53c804d9-d5a0-45dc-96c7-11ea078c98e8","name":"Go Test Errors and Dependency Issues","lastUpdatedAt":1736614355802,"createdAt":1736613981018,"forceMode":"edit"},{"type":"head","composerId":"0ae8c7e6-5164-4c98-b238-25cda15ed122","name":"Recreating Crystal Project in Go","lastUpdatedAt":1736367140633,"createdAt":1736353849323,"forceMode":"edit"},{"type":"head","composerId":"8f2c18be-1fd2-483b-86a5-3908be7073af","createdAt":1736353849323,"forceMode":"chat"}],"selectedComposerId":"03cebb57-427c-420b-aece-c8bdc6e23223","selectedChatId":"8f2c18be-1fd2-483b-86a5-3908be7073af","hasMigratedChatData":false,"hasMigratedUseAutoContext":true,"hasMigratedComposerData":true}


key: codelens/cache2
value:
  {"file:///home/josie/development/container-mom-go/cmd/momo/main.go":{"lineCount":43,"lines":[]},"file:///home/josie/development/container-mom-go/cmd/mom/main.go":{"lineCount":57,"lines":[]},"file:///home/josie/development/container-mom-go/pkg/web/templates/index.html":{"lineCount":34,"lines":[]},"file:///home/josie/development/container-mom-go/pkg/web/portal/templates/dashboard.html":{"lineCount":106,"lines":[]},"file:///home/josie/development/container-mom-operator/README.md":{"lineCount":313,"lines":[]},"file:///home/josie/development/container-mom-go/pkg/web/portal/templates/billing.html":{"lineCount":288,"lines":[]},"file:///home/josie/development/container-mom-go/README.md":{"lineCount":181,"lines":[]},"file:///home/josie/development/container-mom-go/go.mod":{"lineCount":111,"lines":[1,7]},"file:///home/josie/development/container-mom-go/pkg/web/portal/server.go":{"lineCount":64,"lines":[]},"file:///home/josie/development/container-mom-go/pkg/operator/operator.go":{"lineCount":419,"lines":[]},"file:///home/josie/development/container-mom-operator/.github/workflows/ci.yml":{"lineCount":114,"lines":[]},"file:///home/josie/development/container-mom-go/.github/workflows/golangci-lint.yml":{"lineCount":38,"lines":[]},"file:///home/josie/development/container-mom-go/.github/workflows/ci.yaml":{"lineCount":85,"lines":[]},"file:///home/josie/development/container-mom-go/pkg/config/config.go":{"lineCount":125,"lines":[]},"file:///home/josie/development/container-mom-go/pkg/web/portal/portal.go":{"lineCount":220,"lines":[]}}


key: terminal.integrated.layoutInfo
value:
  {"workspaceId":"06bac5b354578b74b4ccf7a45b4d2b7b","tabs":[{"isActive":true,"activePersistentProcessId":1,"terminals":[{"relativeSize":1,"terminal":1}]}]}


key: terminal.integrated.environmentVariableCollectionsV2
value:
  [{"extensionIdentifier":"vscode.git","collection":[["GIT_ASKPASS",{"variable":"GIT_ASKPASS","value":"/tmp/.mount_cursorD1yZ5g/resources/app/extensions/git/dist/askpass.sh","type":1,"options":{"applyAtProcessCreation":true,"applyAtShellIntegration":false}}],["VSCODE_GIT_ASKPASS_NODE",{"variable":"VSCODE_GIT_ASKPASS_NODE","value":"/tmp/.mount_cursorD1yZ5g/cursor","type":1,"options":{"applyAtProcessCreation":true,"applyAtShellIntegration":false}}],["VSCODE_GIT_ASKPASS_EXTRA_ARGS",{"variable":"VSCODE_GIT_ASKPASS_EXTRA_ARGS","value":"","type":1,"options":{"applyAtProcessCreation":true,"applyAtShellIntegration":false}}],["VSCODE_GIT_ASKPASS_MAIN",{"variable":"VSCODE_GIT_ASKPASS_MAIN","value":"/tmp/.mount_cursorD1yZ5g/resources/app/extensions/git/dist/askpass-main.js","type":1,"options":{"applyAtProcessCreation":true,"applyAtShellIntegration":false}}],["VSCODE_GIT_IPC_HANDLE",{"variable":"VSCODE_GIT_IPC_HANDLE","value":"/run/user/1000/vscode-git-1458f917fe.sock","type":1,"options":{"applyAtProcessCreation":true,"applyAtShellIntegration":false}}]],"description":[["",{"description":"Enables the following features: git auth provider"}]]}]


key: workbench.panel.viewContainersWorkspaceState
value:
  [{"id":"workbench.panel.markers","visible":true},{"id":"workbench.panel.output","visible":true},{"id":"workbench.panel.repl","visible":true},{"id":"terminal","visible":true},{"id":"workbench.panel.testResults","visible":false},{"id":"~remote.forwardedPortsContainer","visible":true},{"id":"refactorPreview","visible":false}]


key: memento/workbench.parts.editor
value:
  {"editorpart.state":{"serializedGrid":{"root":{"type":"branch","data":[{"type":"leaf","data":{"id":0,"editors":[{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/web/portal/templates/dashboard.html\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/web/portal/templates/dashboard.html\",\"path\":\"/home/josie/development/container-mom-go/pkg/web/portal/templates/dashboard.html\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/build/operator/Dockerfile\",\"external\":\"file:///home/josie/development/container-mom-go/build/operator/Dockerfile\",\"path\":\"/home/josie/development/container-mom-go/build/operator/Dockerfile\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/.github/workflows/ci.yaml\",\"external\":\"file:///home/josie/development/container-mom-go/.github/workflows/ci.yaml\",\"path\":\"/home/josie/development/container-mom-go/.github/workflows/ci.yaml\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/helm/container-mom/templates/_helpers.tpl\",\"external\":\"file:///home/josie/development/container-mom-go/helm/container-mom/templates/_helpers.tpl\",\"path\":\"/home/josie/development/container-mom-go/helm/container-mom/templates/_helpers.tpl\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/helm/container-mom/templates/service.yaml\",\"external\":\"file:///home/josie/development/container-mom-go/helm/container-mom/templates/service.yaml\",\"path\":\"/home/josie/development/container-mom-go/helm/container-mom/templates/service.yaml\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/helm/container-mom/templates/rbac.yaml\",\"external\":\"file:///home/josie/development/container-mom-go/helm/container-mom/templates/rbac.yaml\",\"path\":\"/home/josie/development/container-mom-go/helm/container-mom/templates/rbac.yaml\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/helm/container-mom/templates/secret.yaml\",\"external\":\"file:///home/josie/development/container-mom-go/helm/container-mom/templates/secret.yaml\",\"path\":\"/home/josie/development/container-mom-go/helm/container-mom/templates/secret.yaml\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/helm/container-mom/templates/deployment.yaml\",\"external\":\"file:///home/josie/development/container-mom-go/helm/container-mom/templates/deployment.yaml\",\"path\":\"/home/josie/development/container-mom-go/helm/container-mom/templates/deployment.yaml\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/helm/container-mom/values.yaml\",\"external\":\"file:///home/josie/development/container-mom-go/helm/container-mom/values.yaml\",\"path\":\"/home/josie/development/container-mom-go/helm/container-mom/values.yaml\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/helm/container-mom/Chart.yaml\",\"external\":\"file:///home/josie/development/container-mom-go/helm/container-mom/Chart.yaml\",\"path\":\"/home/josie/development/container-mom-go/helm/container-mom/Chart.yaml\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/config/manager/config.yaml\",\"external\":\"file:///home/josie/development/container-mom-go/config/manager/config.yaml\",\"path\":\"/home/josie/development/container-mom-go/config/manager/config.yaml\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/billing/service.go\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/billing/service.go\",\"path\":\"/home/josie/development/container-mom-go/pkg/billing/service.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/config/pricing/cluster-pricing.yaml\",\"external\":\"file:///home/josie/development/container-mom-go/config/pricing/cluster-pricing.yaml\",\"path\":\"/home/josie/development/container-mom-go/config/pricing/cluster-pricing.yaml\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/cmd/mom/main.go\",\"external\":\"file:///home/josie/development/container-mom-go/cmd/mom/main.go\",\"path\":\"/home/josie/development/container-mom-go/cmd/mom/main.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/.golangci.yml\",\"external\":\"file:///home/josie/development/container-mom-go/.golangci.yml\",\"path\":\"/home/josie/development/container-mom-go/.golangci.yml\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/web/portal/handlers.go\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/web/portal/handlers.go\",\"path\":\"/home/josie/development/container-mom-go/pkg/web/portal/handlers.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/web/portal/templates/billing.html\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/web/portal/templates/billing.html\",\"path\":\"/home/josie/development/container-mom-go/pkg/web/portal/templates/billing.html\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/web/portal/templates/new_deployment.html\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/web/portal/templates/new_deployment.html\",\"path\":\"/home/josie/development/container-mom-go/pkg/web/portal/templates/new_deployment.html\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/README.md\",\"external\":\"file:///home/josie/development/container-mom-go/README.md\",\"path\":\"/home/josie/development/container-mom-go/README.md\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/web/portal/templates/index.html\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/web/portal/templates/index.html\",\"path\":\"/home/josie/development/container-mom-go/pkg/web/portal/templates/index.html\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/controller/customer_controller.go\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/controller/customer_controller.go\",\"path\":\"/home/josie/development/container-mom-go/pkg/controller/customer_controller.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/domain/manager.go\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/domain/manager.go\",\"path\":\"/home/josie/development/container-mom-go/pkg/domain/manager.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/controller/deployment_controller.go\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/controller/deployment_controller.go\",\"path\":\"/home/josie/development/container-mom-go/pkg/controller/deployment_controller.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/apis/containermom/v1alpha1/customer_types.go\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/apis/containermom/v1alpha1/customer_types.go\",\"path\":\"/home/josie/development/container-mom-go/pkg/apis/containermom/v1alpha1/customer_types.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/web/portal/static/style.css\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/web/portal/static/style.css\",\"path\":\"/home/josie/development/container-mom-go/pkg/web/portal/static/style.css\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/config/crds/containermom.io_builders.yaml\",\"external\":\"file:///home/josie/development/container-mom-go/config/crds/containermom.io_builders.yaml\",\"path\":\"/home/josie/development/container-mom-go/config/crds/containermom.io_builders.yaml\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/builder/languages.go\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/builder/languages.go\",\"path\":\"/home/josie/development/container-mom-go/pkg/builder/languages.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/builder/builder.go\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/builder/builder.go\",\"path\":\"/home/josie/development/container-mom-go/pkg/builder/builder.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/web/server.go\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/web/server.go\",\"path\":\"/home/josie/development/container-mom-go/pkg/web/server.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/go.mod\",\"external\":\"file:///home/josie/development/container-mom-go/go.mod\",\"path\":\"/home/josie/development/container-mom-go/go.mod\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/config.yaml\",\"external\":\"file:///home/josie/development/container-mom-go/config.yaml\",\"path\":\"/home/josie/development/container-mom-go/config.yaml\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/operator/operator.go\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/operator/operator.go\",\"path\":\"/home/josie/development/container-mom-go/pkg/operator/operator.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/web/portal/portal.go\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/web/portal/portal.go\",\"path\":\"/home/josie/development/container-mom-go/pkg/web/portal/portal.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/cmd/operator/main.go\",\"external\":\"file:///home/josie/development/container-mom-go/cmd/operator/main.go\",\"path\":\"/home/josie/development/container-mom-go/cmd/operator/main.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/cmd/portal/main.go\",\"external\":\"file:///home/josie/development/container-mom-go/cmd/portal/main.go\",\"path\":\"/home/josie/development/container-mom-go/cmd/portal/main.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/build/portal/Dockerfile\",\"external\":\"file:///home/josie/development/container-mom-go/build/portal/Dockerfile\",\"path\":\"/home/josie/development/container-mom-go/build/portal/Dockerfile\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/Dockerfile\",\"external\":\"file:///home/josie/development/container-mom-go/Dockerfile\",\"path\":\"/home/josie/development/container-mom-go/Dockerfile\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-operator/.github/workflows/ci.yml\",\"external\":\"file:///home/josie/development/container-mom-operator/.github/workflows/ci.yml\",\"path\":\"/home/josie/development/container-mom-operator/.github/workflows/ci.yml\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/billing/types.go\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/billing/types.go\",\"path\":\"/home/josie/development/container-mom-go/pkg/billing/types.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/hack/boilerplate.go.txt\",\"external\":\"file:///home/josie/development/container-mom-go/hack/boilerplate.go.txt\",\"path\":\"/home/josie/development/container-mom-go/hack/boilerplate.go.txt\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/hack/update-codegen.sh\",\"external\":\"file:///home/josie/development/container-mom-go/hack/update-codegen.sh\",\"path\":\"/home/josie/development/container-mom-go/hack/update-codegen.sh\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/apis/containermom/v1alpha1/types.go\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/apis/containermom/v1alpha1/types.go\",\"path\":\"/home/josie/development/container-mom-go/pkg/apis/containermom/v1alpha1/types.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"},{"id":"workbench.editors.files.fileEditorInput","value":"{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/josie/development/container-mom-go/pkg/config/config.go\",\"external\":\"file:///home/josie/development/container-mom-go/pkg/config/config.go\",\"path\":\"/home/josie/development/container-mom-go/pkg/config/config.go\",\"scheme\":\"file\"},\"encoding\":\"utf8\"}"}],"mru":[32,33,34,35,36,42,2,37,31,38,39,40,41,29,18,19,20,21,22,23,24,25,26,27,16,13,14,0,1,3,4,5,6,7,8,9,10,11,12,15,17,28,30],"preview":37},"size":621}],"size":1186},"orientation":0,"width":1186,"height":621},"activeGroup":0,"mostRecentActiveGroups":[0]}}


key: history.entries
value:
  [{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/web/portal/portal.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/cmd/operator/main.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/cmd/portal/main.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/build/portal/Dockerfile","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/Dockerfile","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/config/config.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/.github/workflows/ci.yaml","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-operator/.github/workflows/ci.yml","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/operator/operator.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/billing/types.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/hack/boilerplate.go.txt","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/hack/update-codegen.sh","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/apis/containermom/v1alpha1/types.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/go.mod","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/README.md","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/web/portal/templates/index.html","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/controller/customer_controller.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/domain/manager.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/controller/deployment_controller.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/apis/containermom/v1alpha1/customer_types.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/web/portal/static/style.css","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/config/crds/containermom.io_builders.yaml","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/builder/languages.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/builder/builder.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/web/portal/templates/billing.html","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/cmd/mom/main.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/.golangci.yml","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/web/portal/templates/dashboard.html","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/build/operator/Dockerfile","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/helm/container-mom/templates/_helpers.tpl","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/helm/container-mom/templates/service.yaml","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/helm/container-mom/templates/rbac.yaml","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/helm/container-mom/templates/secret.yaml","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/helm/container-mom/templates/deployment.yaml","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/helm/container-mom/values.yaml","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/helm/container-mom/Chart.yaml","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/config/manager/config.yaml","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/billing/service.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/config/pricing/cluster-pricing.yaml","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/web/portal/handlers.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/web/portal/templates/new_deployment.html","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/web/server.go","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/config.yaml","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-operator/README.md","forceFile":true,"options":{"override":"default"}}},{"editor":{"resource":"file:///home/josie/development/container-mom-go/pkg/web/templates/index.html","forceFile":true,"options":{"override":"default"}}}]


key: workbench.explorer.treeViewState
value:
  {"focus":["file:///home/josie/development/container-mom-go::file:///home/josie/development/container-mom-go/pkg/web/portal/portal.go"],"selection":["file:///home/josie/development/container-mom-go::file:///home/josie/development/container-mom-go/pkg/web/portal/portal.go"],"expanded":["file:///home/josie/development/container-mom-operator::file:///home/josie/development/container-mom-operator","file:///home/josie/development/container-mom-operator::file:///home/josie/development/container-mom-operator/.github","file:///home/josie/development/container-mom-operator::file:///home/josie/development/container-mom-operator/.github/workflows","file:///home/josie/development/container-mom-go::file:///home/josie/development/container-mom-go","file:///home/josie/development/container-mom-go::file:///home/josie/development/container-mom-go/pkg","file:///home/josie/development/container-mom-go::file:///home/josie/development/container-mom-go/pkg/web","file:///home/josie/development/container-mom-go::file:///home/josie/development/container-mom-go/pkg/web/portal","file:///home/josie/development/container-mom-go::file:///home/josie/development/container-mom-go/pkg/operator","file:///home/josie/development/container-mom-go::file:///home/josie/development/container-mom-go/pkg/domain","file:///home/josie/development/container-mom-go::file:///home/josie/development/container-mom-go/pkg/controller","file:///home/josie/development/container-mom-go::file:///home/josie/development/container-mom-go/pkg/config","file:///home/josie/development/container-mom-go::file:///home/josie/development/container-mom-go/.github","file:///home/josie/development/container-mom-go::file:///home/josie/development/container-mom-go/.github/workflows"],"scrollTop":0}


key: terminal.integrated.bufferState
value:
  {"version":1,"state":[{"id":1,"shellLaunchConfig":{"cwd":"/home/josie/development/container-mom-go","icon":{"id":"terminal","defaults":{"fontCharacter":"\\ea85"}},"executable":"/usr/bin/zsh","useShellEnvironment":true,"initialText":"Compressing objects: 100% (4/4), done.\r\nWriting objects: 100% (6/6), 1.31 KiB | 1.31 MiB/s, done.\r\nTotal 6 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)\r\nremote: Resolving deltas: 100% (2/2), completed with 2 local objects.\r\nTo https://github.com/pfeifferj/container-mom-go.git\r\n   862b912..9078bd4  main -> main\r\n\u001b[38;5;76m❯\u001b[0m \r\n\u001b[38;5;76m❯\u001b[0m \r\n\u001b[38;5;76m❯\u001b[0m \r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgo\u001b[0m mod edit \u001b[36m-print\u001b[0m | \u001b[32mgrep\u001b[0m \u001b[33m\"go\"\r\n\u001b[0mmodule github.com/pfeifferj/container-mom-\u001b[31;1mgo\r\ngo\u001b[0m 1.22.0\r\ntoolchain \u001b[31;1mgo\u001b[0m1.23.4\r\n\u001b[8Cgithub.com/docker/\u001b[31;1mgo\u001b[0m-connections v0.4.0\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0m-git/\u001b[31;1mgo\u001b[0m-git/v5 v5.11.0\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0mrilla/mux v1.8.1\r\n\u001b[8Cgithub.com/stripe/stripe-\u001b[31;1mgo\u001b[0m/v75 v75.11.0\r\n\u001b[8C\u001b[31;1mgo\u001b[0mpkg.in/yaml.v2 v2.4.0\r\n\u001b[8Ck8s.io/client-\u001b[31;1mgo\u001b[0m v0.31.1\r\n\u001b[8Cdario.cat/mer\u001b[31;1mgo\u001b[0m v1.0.0 // indirect\r\n\u001b[8Cgithub.com/Microsoft/\u001b[31;1mgo\u001b[0m-winio v0.6.2 // indirect\r\n\u001b[8Cgithub.com/ProtonMail/\u001b[31;1mgo\u001b[0m-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect\r\n\u001b[8Cgithub.com/davecgh/\u001b[31;1mgo\u001b[0m-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect\r\n\u001b[8Cgithub.com/docker/\u001b[31;1mgo\u001b[0m-units v0.5.0 // indirect\r\n\u001b[8Cgithub.com/emicklei/\u001b[31;1mgo\u001b[0m-restful/v3 v3.12.1 // indirect\r\n\u001b[8Cgithub.com/emirpasic/\u001b[31;1mgo\u001b[0mds v1.18.1 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0m-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0m-git/\u001b[31;1mgo\u001b[0m-billy/v5 v5.5.0 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0m-logr/logr v1.4.2 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0m-openapi/jsonpointer v0.21.0 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0m-openapi/jsonreference v0.21.0 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0m-openapi/swag v0.23.0 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgogo\u001b[0m/protobuf v1.3.2 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0mlang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0mlang/protobuf v1.5.4 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0mogle/gnostic-models v0.6.8 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0mogle/\u001b[31;1mgo\u001b[0m-cmp v0.6.0 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0mogle/\u001b[31;1mgo\u001b[0mfuzz v1.2.0 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0mogle/uuid v1.6.0 // indirect\r\n\u001b[8Cgithub.com/imdario/mer\u001b[31;1mgo\u001b[0m v0.3.16 // indirect\r\n\u001b[8Cgithub.com/jbenet/\u001b[31;1mgo\u001b[0m-context v0.0.0-20150711004518-d14ea06fba99 // indirect\r\n\u001b[8Cgithub.com/json-iterator/\u001b[31;1mgo\u001b[0m v1.1.12 // indirect\r\n\u001b[8Cgithub.com/modern-\u001b[31;1mgo\u001b[0m/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect\r\n\u001b[8Cgithub.com/modern-\u001b[31;1mgo\u001b[0m/reflect2 v1.0.2 // indirect\r\n\u001b[8Cgithub.com/munnerz/\u001b[31;1mgo\u001b[0mautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect\r\n\u001b[8Cgithub.com/opencontainers/\u001b[31;1mgo\u001b[0m-digest v1.0.0 // indirect\r\n\u001b[8Cgithub.com/prometheus/client_\u001b[31;1mgo\u001b[0mlang v1.20.4 // indirect\r\n\u001b[8Cgithub.com/sergi/\u001b[31;1mgo\u001b[0m-diff v1.1.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/crypto v0.27.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/net v0.29.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/oauth2 v0.23.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/sys v0.28.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/term v0.24.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/text v0.18.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/time v0.6.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mmodules.xyz/jsonpatch/v2 v2.4.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mogle.\u001b[31;1mgo\u001b[0mlang.org/protobuf v1.35.1 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mpkg.in/inf.v0 v0.9.1 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mpkg.in/warnings.v0 v0.1.2 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mpkg.in/yaml.v3 v3.0.1 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mtest.tools/v3 v3.5.1 // indirect\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mcommit\u001b[0m \u001b[36m-am\u001b[0m \u001b[33mupdate\r\n\u001b[0m[main 9771f1b] update\r\n 1 file changed, 2 insertions(+), 2 deletions(-)\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mpush\u001b[0m \u001b[94morigin\u001b[0m \u001b[94mmain\u001b[0m \u001b[31m--force-with-lease\r\n\u001b[0mEnumerating objects: 5, done.\r\nCounting objects: 100% (5/5), done.\r\nDelta compression using up to 12 threads\r\nCompressing objects: 100% (3/3), done.\r\nWriting objects: 100% (3/3), 844 bytes | 844.00 KiB/s, done.\r\nTotal 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)\r\nremote: Resolving deltas: 100% (2/2), completed with 2 local objects.\r\nTo https://github.com/pfeifferj/container-mom-go.git\r\n   9078bd4..9771f1b  main -> main\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mcommit\u001b[0m \u001b[36m-am\u001b[0m \u001b[33mupdate\r\n\u001b[0m[main 87cd560] update\r\n 1 file changed, 1 insertion(+), 1 deletion(-)\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mpush\u001b[0m \u001b[94morigin\u001b[0m \u001b[94mmain\u001b[0m \u001b[31m--force-with-lease\r\n\u001b[0mEnumerating objects: 5, done.\r\nCounting objects: 100% (5/5), done.\r\nDelta compression using up to 12 threads\r\nCompressing objects: 100% (3/3), done.\r\nWriting objects: 100% (3/3), 807 bytes | 807.00 KiB/s, done.\r\nTotal 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)\r\nremote: Resolving deltas: 100% (2/2), completed with 2 local objects.\r\nTo https://github.com/pfeifferj/container-mom-go.git\r\n   9771f1b..87cd560  main -> main\r\n\u001b[38;5;76m❯\u001b[0m \r\n\u001b[38;5;76m❯\u001b[0m \r\n\u001b[38;5;76m❯\u001b[0m \r\n\u001b[38;5;76m❯\u001b[0m \r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mcommit\u001b[0m \u001b[36m-am\u001b[0m \u001b[33mupdate\r\n\u001b[0m[main 2173b4a] update\r\n 2 files changed, 24 insertions(+), 13 deletions(-)\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mpush\u001b[0m \u001b[94morigin\u001b[0m \u001b[94mmain\u001b[0m \u001b[31m--force-with-lease\r\n\u001b[0mEnumerating objects: 15, done.\r\nCounting objects: 100% (15/15), done.\r\nDelta compression using up to 12 threads\r\nCompressing objects: 100% (4/4), done.\r\nWriting objects: 100% (8/8), 1.34 KiB | 1.34 MiB/s, done.\r\nTotal 8 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)\r\nremote: Resolving deltas: 100% (2/2), completed with 2 local objects.\r\nTo https://github.com/pfeifferj/container-mom-go.git\r\n   87cd560..2173b4a  main -> main\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mcommit\u001b[0m \u001b[36m-am\u001b[0m \u001b[33mupdate\r\n\u001b[0m[main b164b4a] update\r\n 4 files changed, 39 insertions(+), 541 deletions(-)\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mpush\u001b[0m \u001b[94morigin\u001b[0m \u001b[94mmain\u001b[0m \u001b[31m--force-with-lease\r\n\u001b[0mEnumerating objects: 21, done.\r\nCounting objects: 100% (21/21), done.\r\nDelta compression using up to 12 threads\r\nCompressing objects: 100% (7/7), done.\r\nWriting objects: 100% (11/11), 1.98 KiB | 1.98 MiB/s, done.\r\nTotal 11 (delta 4), reused 0 (delta 0), pack-reused 0 (from 0)\r\nremote: Resolving deltas: 100% (4/4), completed with 4 local objects.\r\nTo https://github.com/pfeifferj/container-mom-go.git\r\n   2173b4a..b164b4a  main -> main\r\n\u001b[38;5;76m❯\u001b[0m \u001b[31;1mOA\r\n\u001b[0mzsh: command not found: OA\r\n\u001b[38;5;196m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mcommit\u001b[0m \u001b[36m-am\u001b[0m \u001b[33mupdate\r\n\u001b[0m[main b678513] update\r\n 2 files changed, 74 insertions(+)\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mpush\u001b[0m \u001b[94morigin\u001b[0m \u001b[94mmain\u001b[0m \u001b[31m--force-with-lease\r\n\u001b[0mEnumerating objects: 17, done.\r\nCounting objects: 100% (17/17), done.\r\nDelta compression using up to 12 threads\r\nCompressing objects: 100% (6/6), done.\r\nWriting objects: 100% (9/9), 1.88 KiB | 1.88 MiB/s, done.\r\nTotal 9 (delta 3), reused 0 (delta 0), pack-reused 0 (from 0)\r\nremote: Resolving deltas: 100% (3/3), completed with 3 local objects.\r\nTo https://github.com/pfeifferj/container-mom-go.git\r\n   b164b4a..b678513  main -> main\r\n\u001b[38;5;254;44m \u001b[38;5;255;1m~\u001b[38;5;254;22m/development/\u001b[38;5;255;1mcontainer-mom-go\u001b[38;5;254;22m \u001b[30;42m main ?3 \u001b[0m \u001b[262C\u001b[32;40m ✔ \u001b[30;47m 01:11:10 PM \u001b[0m\u001b[278D\r\n\u001b[0m\u001b[7m * \u001b[0;104m History restored \u001b[0m\n\r"},"processDetails":{"id":1,"title":"zsh","titleSource":3,"pid":28876,"workspaceId":"06bac5b354578b74b4ccf7a45b4d2b7b","workspaceName":"Untitled (Workspace)","cwd":"/home/josie/development/container-mom-go","isOrphan":false,"icon":{"id":"terminal","defaults":{"fontCharacter":"\\ea85"}},"environmentVariableCollections":[["vscode.git",[["GIT_ASKPASS",{"variable":"GIT_ASKPASS","value":"/tmp/.mount_cursorrVVdnm/resources/app/extensions/git/dist/askpass.sh","type":1,"options":{"applyAtProcessCreation":true,"applyAtShellIntegration":false}}],["VSCODE_GIT_ASKPASS_NODE",{"variable":"VSCODE_GIT_ASKPASS_NODE","value":"/tmp/.mount_cursorrVVdnm/cursor","type":1,"options":{"applyAtProcessCreation":true,"applyAtShellIntegration":false}}],["VSCODE_GIT_ASKPASS_EXTRA_ARGS",{"variable":"VSCODE_GIT_ASKPASS_EXTRA_ARGS","value":"","type":1,"options":{"applyAtProcessCreation":true,"applyAtShellIntegration":false}}],["VSCODE_GIT_ASKPASS_MAIN",{"variable":"VSCODE_GIT_ASKPASS_MAIN","value":"/tmp/.mount_cursorrVVdnm/resources/app/extensions/git/dist/askpass-main.js","type":1,"options":{"applyAtProcessCreation":true,"applyAtShellIntegration":false}}],["VSCODE_GIT_IPC_HANDLE",{"variable":"VSCODE_GIT_IPC_HANDLE","value":"/run/user/1000/vscode-git-1458f917fe.sock","type":1,"options":{"applyAtProcessCreation":true,"applyAtShellIntegration":false}}]],[["",{"description":"Enables the following features: git auth provider"}]]]],"hasChildProcesses":false,"shellIntegrationNonce":"f3b5a7ae-0b7d-417d-8de4-b38b328c1dd3"},"processLaunchConfig":{"env":{"SHELL":"/bin/zsh","LSCOLORS":"Gxfxcxdxbxegedabagacad","WINDOWID":"23068678","LESS":"R","ANSIBLE_CONFIG":"/home/josie/.config/ansible/ansible.cfg","NVM_INC":"/home/josie/.config/nvm/versions/node/v14.19.1/include/node","CONDA_EXE":"/home/josie/anaconda3/bin/conda","_CE_M":"","_P9K_TTY":"/dev/pts/0","NOTMUCH_CONFIG":"/home/josie/.config/notmuch-config","LESS_TERMCAP_se":"\u001b[0m","LESS_TERMCAP_so":"\u001b[01;44;33m","SSH_AUTH_SOCK":"/tmp/ssh-XXXXXXxHMBt3/agent.2385","XDG_DATA_HOME":"/home/josie/.local/share","ARGV0":"Downloads/cursor-0.44.11x86_64.AppImage","P9K_TTY":"old","XDG_CONFIG_HOME":"/home/josie/.config","ANDROID_SDK_HOME":"/home/josie/.config/android","KODI_DATA":"/home/josie/.local/share/kodi","RBENV_SHELL":"zsh","SSH_AGENT_PID":"2399","GPG_TTY":"$(tty)","EDITOR":"nvim","XDG_SEAT":"seat0","PWD":"/home/josie","UNISON":"/home/josie/.local/share/unison","NIX_PROFILES":"/nix/var/nix/profiles/default /home/josie/.nix-profile","GSETTINGS_SCHEMA_DIR":"/tmp/.mount_cursorD1yZ5g/usr/share/glib-2.0/schemas:","LOGNAME":"josie","QT_QPA_PLATFORMTHEME":"gtk2","XDG_SESSION_TYPE":"tty","AWT_TOOLKIT":"MToolkit wmname LG3D","XAUTHORITY":"/home/josie/.Xauthority","TERMINAL":"st","WINDOWPATH":"1","MOTD_SHOWN":"pam","GTK2_RC_FILES":"/home/josie/.config/gtk-2.0/gtkrc-2.0","HOME":"/home/josie","LANG":"en_US.UTF-8","TMUX_TMPDIR":"/run/user/1000","WINEPREFIX":"/home/josie/.local/share/wineprefixes/default","HISTFILE":"/home/josie/.zsh_history","LS_COLORS":"rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.7z=01;31:*.ace=01;31:*.alz=01;31:*.apk=01;31:*.arc=01;31:*.arj=01;31:*.bz=01;31:*.bz2=01;31:*.cab=01;31:*.cpio=01;31:*.crate=01;31:*.deb=01;31:*.drpm=01;31:*.dwm=01;31:*.dz=01;31:*.ear=01;31:*.egg=01;31:*.esd=01;31:*.gz=01;31:*.jar=01;31:*.lha=01;31:*.lrz=01;31:*.lz=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.lzo=01;31:*.pyz=01;31:*.rar=01;31:*.rpm=01;31:*.rz=01;31:*.sar=01;31:*.swm=01;31:*.t7z=01;31:*.tar=01;31:*.taz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tgz=01;31:*.tlz=01;31:*.txz=01;31:*.tz=01;31:*.tzo=01;31:*.tzst=01;31:*.udeb=01;31:*.war=01;31:*.whl=01;31:*.wim=01;31:*.xz=01;31:*.z=01;31:*.zip=01;31:*.zoo=01;31:*.zst=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:","_JAVA_AWT_WM_NONREPARENTING":"1","CARGO_HOME":"/home/josie/.local/share/cargo","PYTHONSTARTUP":"/home/josie/.config/python/pythonrc","KEYTIMEOUT":"1","NIX_SSL_CERT_FILE":"/etc/ssl/certs/ca-certificates.crt","MBSYNCRC":"/home/josie/.config/mbsync/config","WGETRC":"/home/josie/.config/wget/wgetrc","GOMODCACHE":"/home/josie/.cache/go/mod","APPDIR":"/tmp/.mount_cursorD1yZ5g","XDG_CACHE_HOME":"/home/josie/.cache","NVM_DIR":"/home/josie/.config/nvm","ELECTRUMDIR":"/home/josie/.local/share/electrum","XDG_SESSION_CLASS":"user","TERM":"st-256color","LESS_TERMCAP_mb":"\u001b[1;31m","ZSH":"/home/josie/.oh-my-zsh","LESS_TERMCAP_me":"\u001b[0m","LESS_TERMCAP_md":"\u001b[1;36m","_CE_CONDA":"","ZDOTDIR":"/tmp/josie-cursor-zsh","LESSOPEN":"| /usr/bin/highlight -O ansi %s 2>/dev/null","USER":"josie","DICS":"/usr/share/stardict/dic/","OWD":"/home/josie","CONDA_SHLVL":"0","XINITRC":"/home/josie/.config/x11/xinitrc","SUDO_ASKPASS":"/home/josie/.local/bin/dmenupass","DISPLAY":":0","LESS_TERMCAP_ue":"\u001b[0m","SHLVL":"3","NVM_CD_FLAGS":"-q","INPUTRC":"/home/josie/.config/shell/inputrc","LESS_TERMCAP_us":"\u001b[1;32m","PAGER":"less","MOZ_USE_XINPUT2":"1","_P9K_SSH_TTY":"","XDG_VTNR":"1","DBUS_SESSION_BUS_PID":"28482","XDG_SESSION_ID":"1","CONDA_PYTHON_EXE":"/home/josie/anaconda3/bin/python","LD_LIBRARY_PATH":"/tmp/.mount_cursorD1yZ5g/usr/lib:","APPIMAGE":"/home/josie/Downloads/cursor-0.44.11x86_64.AppImage","XDG_RUNTIME_DIR":"/run/user/1000","TERMINAL_PROG":"st","DEBUGINFOD_URLS":"https://debuginfod.archlinux.org ","P9K_SSH":"0","XDG_DATA_DIRS":"/tmp/.mount_cursorD1yZ5g/usr/share/:./share/:/usr/share/gnome:/usr/local/share/:/usr/share/:/usr/local/share:/usr/share:/home/josie/.nix-profile/share:/nix/var/nix/profiles/default/share:/usr/share/gnome/:/usr/local/share/:/usr/share/:/home/josie/.nix-profile/share:/nix/var/nix/profiles/default/share","SQLITE_HISTORY":"/home/josie/.local/share/sqlite_history","BROWSER":"librewolf","PATH":"/home/josie/.krew/bin:/home/josie/.rbenv/shims:/home/josie/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/tmp/.mount_cursorD1yZ5g:/tmp/.mount_cursorD1yZ5g/usr/sbin:/home/josie/anaconda3/condabin:/home/josie/.config/nvm/versions/node/v14.19.1/bin:/home/josie/.krew/bin:/home/josie/.rbenv/shims:/home/josie/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/josie/.local/bin:/home/josie/.local/bin/cron:/home/josie/.local/bin/statusbar:/home/josie/bin:/home/josie/.local/bin:/home/josie/.local/bin/statusbar:/bin:/home/josie/.local/share/go/bin:/home/josie/bin:/home/josie/.local/bin:/home/josie/.local/bin/statusbar:/bin:/home/josie/.local/share/go/bin","DBUS_SESSION_BUS_ADDRESS":"unix:path=/tmp/dbus-ldQmmfZcn2,guid=f064cafdbafa3df203b13f426783bfdc","FZF_DEFAULT_OPTS":"--layout=reverse --height 40%","PASSWORD_STORE_DIR":"/home/josie/.local/share/password-store","NVM_BIN":"/home/josie/.config/nvm/versions/node/v14.19.1/bin","MAIL":"/var/spool/mail/josie","OLDPWD":"/home/josie","GOPATH":"/home/josie/.local/share/go","CHROME_DESKTOP":"cursor-url-handler.desktop","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","CURSOR_TRACE_ID":"6a2421b68c4343458e3588eb99db9ad6","GDK_BACKEND":"x11","NO_AT_BRIDGE":"1","_":"/tmp/.mount_cursorD1yZ5g/cursor","TERM_PROGRAM":"vscode","TERM_PROGRAM_VERSION":"0.44.11","COLORTERM":"truecolor","GIT_ASKPASS":"/tmp/.mount_cursorEGIb8m/resources/app/extensions/git/dist/askpass.sh","VSCODE_GIT_ASKPASS_NODE":"/tmp/.mount_cursorEGIb8m/cursor","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","VSCODE_GIT_ASKPASS_MAIN":"/tmp/.mount_cursorEGIb8m/resources/app/extensions/git/dist/askpass-main.js","VSCODE_GIT_IPC_HANDLE":"/run/user/1000/vscode-git-1458f917fe.sock","VSCODE_INJECTION":"1","VSCODE_NONCE":"f3b5a7ae-0b7d-417d-8de4-b38b328c1dd3","USER_ZDOTDIR":"/home/josie/.config/zsh"},"executableEnv":{"SHELL":"/bin/zsh","LSCOLORS":"Gxfxcxdxbxegedabagacad","WINDOWID":"31457286","LESS":"R","ANSIBLE_CONFIG":"/home/josie/.config/ansible/ansible.cfg","NVM_INC":"/home/josie/.config/nvm/versions/node/v14.19.1/include/node","CONDA_EXE":"/home/josie/anaconda3/bin/conda","_CE_M":"","_P9K_TTY":"/dev/pts/1","NOTMUCH_CONFIG":"/home/josie/.config/notmuch-config","LESS_TERMCAP_se":"\u001b[0m","LESS_TERMCAP_so":"\u001b[01;44;33m","SSH_AUTH_SOCK":"/tmp/ssh-XXXXXXbgNgjq/agent.2182","XDG_DATA_HOME":"/home/josie/.local/share","ARGV0":"Downloads/cursor-0.44.11x86_64.AppImage","P9K_TTY":"old","XDG_CONFIG_HOME":"/home/josie/.config","ANDROID_SDK_HOME":"/home/josie/.config/android","KODI_DATA":"/home/josie/.local/share/kodi","RBENV_SHELL":"zsh","SSH_AGENT_PID":"2195","GPG_TTY":"$(tty)","EDITOR":"nvim","XDG_SEAT":"seat0","PWD":"/home/josie","UNISON":"/home/josie/.local/share/unison","NIX_PROFILES":"/nix/var/nix/profiles/default /home/josie/.nix-profile","GSETTINGS_SCHEMA_DIR":"/tmp/.mount_cursorrVVdnm/usr/share/glib-2.0/schemas:","LOGNAME":"josie","QT_QPA_PLATFORMTHEME":"gtk2","XDG_SESSION_TYPE":"tty","AWT_TOOLKIT":"MToolkit wmname LG3D","XAUTHORITY":"/home/josie/.Xauthority","TERMINAL":"st","WINDOWPATH":"1","MOTD_SHOWN":"pam","GTK2_RC_FILES":"/home/josie/.config/gtk-2.0/gtkrc-2.0","HOME":"/home/josie","LANG":"en_US.UTF-8","TMUX_TMPDIR":"/run/user/1000","WINEPREFIX":"/home/josie/.local/share/wineprefixes/default","HISTFILE":"/home/josie/.zsh_history","LS_COLORS":"rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.7z=01;31:*.ace=01;31:*.alz=01;31:*.apk=01;31:*.arc=01;31:*.arj=01;31:*.bz=01;31:*.bz2=01;31:*.cab=01;31:*.cpio=01;31:*.crate=01;31:*.deb=01;31:*.drpm=01;31:*.dwm=01;31:*.dz=01;31:*.ear=01;31:*.egg=01;31:*.esd=01;31:*.gz=01;31:*.jar=01;31:*.lha=01;31:*.lrz=01;31:*.lz=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.lzo=01;31:*.pyz=01;31:*.rar=01;31:*.rpm=01;31:*.rz=01;31:*.sar=01;31:*.swm=01;31:*.t7z=01;31:*.tar=01;31:*.taz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tgz=01;31:*.tlz=01;31:*.txz=01;31:*.tz=01;31:*.tzo=01;31:*.tzst=01;31:*.udeb=01;31:*.war=01;31:*.whl=01;31:*.wim=01;31:*.xz=01;31:*.z=01;31:*.zip=01;31:*.zoo=01;31:*.zst=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:","_JAVA_AWT_WM_NONREPARENTING":"1","CARGO_HOME":"/home/josie/.local/share/cargo","PYTHONSTARTUP":"/home/josie/.config/python/pythonrc","KEYTIMEOUT":"1","NIX_SSL_CERT_FILE":"/etc/ssl/certs/ca-certificates.crt","MBSYNCRC":"/home/josie/.config/mbsync/config","WGETRC":"/home/josie/.config/wget/wgetrc","GOMODCACHE":"/home/josie/.cache/go/mod","APPDIR":"/tmp/.mount_cursorrVVdnm","XDG_CACHE_HOME":"/home/josie/.cache","NVM_DIR":"/home/josie/.config/nvm","ELECTRUMDIR":"/home/josie/.local/share/electrum","XDG_SESSION_CLASS":"user","TERM":"st-256color","LESS_TERMCAP_mb":"\u001b[1;31m","ZSH":"/home/josie/.oh-my-zsh","LESS_TERMCAP_me":"\u001b[0m","LESS_TERMCAP_md":"\u001b[1;36m","_CE_CONDA":"","ZDOTDIR":"/home/josie/.config/zsh","LESSOPEN":"| /usr/bin/highlight -O ansi %s 2>/dev/null","USER":"josie","DICS":"/usr/share/stardict/dic/","OWD":"/home/josie","CONDA_SHLVL":"0","XINITRC":"/home/josie/.config/x11/xinitrc","SUDO_ASKPASS":"/home/josie/.local/bin/dmenupass","DISPLAY":":0","LESS_TERMCAP_ue":"\u001b[0m","SHLVL":"3","NVM_CD_FLAGS":"-q","INPUTRC":"/home/josie/.config/shell/inputrc","LESS_TERMCAP_us":"\u001b[1;32m","PAGER":"less","MOZ_USE_XINPUT2":"1","_P9K_SSH_TTY":"","XDG_VTNR":"1","DBUS_SESSION_BUS_PID":"742672","XDG_SESSION_ID":"1","CONDA_PYTHON_EXE":"/home/josie/anaconda3/bin/python","LD_LIBRARY_PATH":"/tmp/.mount_cursorrVVdnm/usr/lib:","APPIMAGE":"/home/josie/Downloads/cursor-0.44.11x86_64.AppImage","XDG_RUNTIME_DIR":"/run/user/1000","TERMINAL_PROG":"st","DEBUGINFOD_URLS":"https://debuginfod.archlinux.org ","P9K_SSH":"0","XDG_DATA_DIRS":"/tmp/.mount_cursorrVVdnm/usr/share/:./share/:/usr/share/gnome:/usr/local/share/:/usr/share/:/usr/local/share:/usr/share:/home/josie/.nix-profile/share:/nix/var/nix/profiles/default/share:/usr/share/gnome/:/usr/local/share/:/usr/share/:/home/josie/.nix-profile/share:/nix/var/nix/profiles/default/share","SQLITE_HISTORY":"/home/josie/.local/share/sqlite_history","BROWSER":"librewolf","PATH":"/home/josie/.krew/bin:/home/josie/.rbenv/shims:/home/josie/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/tmp/.mount_cursorrVVdnm:/tmp/.mount_cursorrVVdnm/usr/sbin:/home/josie/anaconda3/condabin:/home/josie/.config/nvm/versions/node/v14.19.1/bin:/home/josie/.krew/bin:/home/josie/.rbenv/shims:/home/josie/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/josie/.local/bin:/home/josie/.local/bin/cron:/home/josie/.local/bin/statusbar:/home/josie/bin:/home/josie/.local/bin:/home/josie/.local/bin/statusbar:/bin:/home/josie/.local/share/go/bin:/home/josie/bin:/home/josie/.local/bin:/home/josie/.local/bin/statusbar:/bin:/home/josie/.local/share/go/bin","DBUS_SESSION_BUS_ADDRESS":"unix:path=/tmp/dbus-lWeTE3NCLD,guid=f19b6c8ac6058779824d9318677ea78e","FZF_DEFAULT_OPTS":"--layout=reverse --height 40%","PASSWORD_STORE_DIR":"/home/josie/.local/share/password-store","NVM_BIN":"/home/josie/.config/nvm/versions/node/v14.19.1/bin","MAIL":"/var/spool/mail/josie","OLDPWD":"/home/josie","GOPATH":"/home/josie/.local/share/go","CHROME_DESKTOP":"cursor-url-handler.desktop","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","VSCODE_CWD":"/home/josie","CURSOR_TRACE_ID":"9e69326288a24b3b8b796e9441cbd017","GDK_BACKEND":"x11","NO_AT_BRIDGE":"1","VSCODE_NLS_CONFIG":"{\"userLocale\":\"en-us\",\"osLocale\":\"en-us\",\"resolvedLanguage\":\"en\",\"defaultMessagesFile\":\"/tmp/.mount_cursorrVVdnm/resources/app/out/nls.messages.json\",\"locale\":\"en-us\",\"availableLanguages\":{}}","VSCODE_CODE_CACHE_PATH":"/home/josie/.config/Cursor/CachedData/fe574d0820377383143b2ea26aa6ae28b3425220","VSCODE_IPC_HOOK":"/run/user/1000/vscode-8ea89bb1-0.44-main.sock","VSCODE_PID":"742551","_":"/tmp/.mount_cursorrVVdnm/cursor"},"options":{"shellIntegration":{"enabled":true,"suggestEnabled":false,"nonce":"f3b5a7ae-0b7d-417d-8de4-b38b328c1dd3"},"windowsEnableConpty":true,"windowsUseConptyDll":false,"environmentVariableCollections":[["vscode.git",[["GIT_ASKPASS",{"variable":"GIT_ASKPASS","value":"/tmp/.mount_cursorrVVdnm/resources/app/extensions/git/dist/askpass.sh","type":1,"options":{"applyAtProcessCreation":true,"applyAtShellIntegration":false}}],["VSCODE_GIT_ASKPASS_NODE",{"variable":"VSCODE_GIT_ASKPASS_NODE","value":"/tmp/.mount_cursorrVVdnm/cursor","type":1,"options":{"applyAtProcessCreation":true,"applyAtShellIntegration":false}}],["VSCODE_GIT_ASKPASS_EXTRA_ARGS",{"variable":"VSCODE_GIT_ASKPASS_EXTRA_ARGS","value":"","type":1,"options":{"applyAtProcessCreation":true,"applyAtShellIntegration":false}}],["VSCODE_GIT_ASKPASS_MAIN",{"variable":"VSCODE_GIT_ASKPASS_MAIN","value":"/tmp/.mount_cursorrVVdnm/resources/app/extensions/git/dist/askpass-main.js","type":1,"options":{"applyAtProcessCreation":true,"applyAtShellIntegration":false}}],["VSCODE_GIT_IPC_HANDLE",{"variable":"VSCODE_GIT_IPC_HANDLE","value":"/run/user/1000/vscode-git-1458f917fe.sock","type":1,"options":{"applyAtProcessCreation":true,"applyAtShellIntegration":false}}]],[["",{"description":"Enables the following features: git auth provider"}]]]],"workspaceFolder":{"uri":{"$mid":1,"fsPath":"/home/josie/development/container-mom-go","external":"file:///home/josie/development/container-mom-go","path":"/home/josie/development/container-mom-go","scheme":"file"},"name":"container-mom-go","index":0}}},"unicodeVersion":"11","replayEvent":{"events":[{"cols":137,"rows":34,"data":"   862b912..9078bd4  main -> main\r\n\u001b[38;5;76m❯\u001b[0m \r\n\u001b[38;5;76m❯\u001b[0m \r\n\u001b[38;5;76m❯\u001b[0m \r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgo\u001b[0m mod edit \u001b[36m-print\u001b[0m | \u001b[32mgrep\u001b[0m \u001b[33m\"go\"\r\n\u001b[0mmodule github.com/pfeifferj/container-mom-\u001b[31;1mgo\r\ngo\u001b[0m 1.22.0\r\ntoolchain \u001b[31;1mgo\u001b[0m1.23.4\r\n\u001b[8Cgithub.com/docker/\u001b[31;1mgo\u001b[0m-connections v0.4.0\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0m-git/\u001b[31;1mgo\u001b[0m-git/v5 v5.11.0\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0mrilla/mux v1.8.1\r\n\u001b[8Cgithub.com/stripe/stripe-\u001b[31;1mgo\u001b[0m/v75 v75.11.0\r\n\u001b[8C\u001b[31;1mgo\u001b[0mpkg.in/yaml.v2 v2.4.0\r\n\u001b[8Ck8s.io/client-\u001b[31;1mgo\u001b[0m v0.31.1\r\n\u001b[8Cdario.cat/mer\u001b[31;1mgo\u001b[0m v1.0.0 // indirect\r\n\u001b[8Cgithub.com/Microsoft/\u001b[31;1mgo\u001b[0m-winio v0.6.2 // indirect\r\n\u001b[8Cgithub.com/ProtonMail/\u001b[31;1mgo\u001b[0m-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect\r\n\u001b[8Cgithub.com/davecgh/\u001b[31;1mgo\u001b[0m-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect\r\n\u001b[8Cgithub.com/docker/\u001b[31;1mgo\u001b[0m-units v0.5.0 // indirect\r\n\u001b[8Cgithub.com/emicklei/\u001b[31;1mgo\u001b[0m-restful/v3 v3.12.1 // indirect\r\n\u001b[8Cgithub.com/emirpasic/\u001b[31;1mgo\u001b[0mds v1.18.1 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0m-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0m-git/\u001b[31;1mgo\u001b[0m-billy/v5 v5.5.0 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0m-logr/logr v1.4.2 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0m-openapi/jsonpointer v0.21.0 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0m-openapi/jsonreference v0.21.0 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0m-openapi/swag v0.23.0 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgogo\u001b[0m/protobuf v1.3.2 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0mlang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0mlang/protobuf v1.5.4 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0mogle/gnostic-models v0.6.8 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0mogle/\u001b[31;1mgo\u001b[0m-cmp v0.6.0 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0mogle/\u001b[31;1mgo\u001b[0mfuzz v1.2.0 // indirect\r\n\u001b[8Cgithub.com/\u001b[31;1mgo\u001b[0mogle/uuid v1.6.0 // indirect\r\n\u001b[8Cgithub.com/imdario/mer\u001b[31;1mgo\u001b[0m v0.3.16 // indirect\r\n\u001b[8Cgithub.com/jbenet/\u001b[31;1mgo\u001b[0m-context v0.0.0-20150711004518-d14ea06fba99 // indirect\r\n\u001b[8Cgithub.com/json-iterator/\u001b[31;1mgo\u001b[0m v1.1.12 // indirect\r\n\u001b[8Cgithub.com/modern-\u001b[31;1mgo\u001b[0m/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect\r\n\u001b[8Cgithub.com/modern-\u001b[31;1mgo\u001b[0m/reflect2 v1.0.2 // indirect\r\n\u001b[8Cgithub.com/munnerz/\u001b[31;1mgo\u001b[0mautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect\r\n\u001b[8Cgithub.com/opencontainers/\u001b[31;1mgo\u001b[0m-digest v1.0.0 // indirect\r\n\u001b[8Cgithub.com/prometheus/client_\u001b[31;1mgo\u001b[0mlang v1.20.4 // indirect\r\n\u001b[8Cgithub.com/sergi/\u001b[31;1mgo\u001b[0m-diff v1.1.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/crypto v0.27.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/net v0.29.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/oauth2 v0.23.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/sys v0.28.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/term v0.24.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/text v0.18.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mlang.org/x/time v0.6.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mmodules.xyz/jsonpatch/v2 v2.4.0 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mogle.\u001b[31;1mgo\u001b[0mlang.org/protobuf v1.35.1 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mpkg.in/inf.v0 v0.9.1 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mpkg.in/warnings.v0 v0.1.2 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mpkg.in/yaml.v3 v3.0.1 // indirect\r\n\u001b[8C\u001b[31;1mgo\u001b[0mtest.tools/v3 v3.5.1 // indirect\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mcommit\u001b[0m \u001b[36m-am\u001b[0m \u001b[33mupdate\r\n\u001b[0m[main 9771f1b] update\r\n 1 file changed, 2 insertions(+), 2 deletions(-)\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mpush\u001b[0m \u001b[94morigin\u001b[0m \u001b[94mmain\u001b[0m \u001b[31m--force-with-lease\r\n\u001b[0mEnumerating objects: 5, done.\r\nCounting objects: 100% (5/5), done.\r\nDelta compression using up to 12 threads\r\nCompressing objects: 100% (3/3), done.\r\nWriting objects: 100% (3/3), 844 bytes | 844.00 KiB/s, done.\r\nTotal 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)\r\nremote: Resolving deltas: 100% (2/2), completed with 2 local objects.\r\nTo https://github.com/pfeifferj/container-mom-go.git\r\n   9078bd4..9771f1b  main -> main\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mcommit\u001b[0m \u001b[36m-am\u001b[0m \u001b[33mupdate\r\n\u001b[0m[main 87cd560] update\r\n 1 file changed, 1 insertion(+), 1 deletion(-)\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mpush\u001b[0m \u001b[94morigin\u001b[0m \u001b[94mmain\u001b[0m \u001b[31m--force-with-lease\r\n\u001b[0mEnumerating objects: 5, done.\r\nCounting objects: 100% (5/5), done.\r\nDelta compression using up to 12 threads\r\nCompressing objects: 100% (3/3), done.\r\nWriting objects: 100% (3/3), 807 bytes | 807.00 KiB/s, done.\r\nTotal 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)\r\nremote: Resolving deltas: 100% (2/2), completed with 2 local objects.\r\nTo https://github.com/pfeifferj/container-mom-go.git\r\n   9771f1b..87cd560  main -> main\r\n\u001b[38;5;76m❯\u001b[0m \r\n\u001b[38;5;76m❯\u001b[0m \r\n\u001b[38;5;76m❯\u001b[0m \r\n\u001b[38;5;76m❯\u001b[0m \r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mcommit\u001b[0m \u001b[36m-am\u001b[0m \u001b[33mupdate\r\n\u001b[0m[main 2173b4a] update\r\n 2 files changed, 24 insertions(+), 13 deletions(-)\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mpush\u001b[0m \u001b[94morigin\u001b[0m \u001b[94mmain\u001b[0m \u001b[31m--force-with-lease\r\n\u001b[0mEnumerating objects: 15, done.\r\nCounting objects: 100% (15/15), done.\r\nDelta compression using up to 12 threads\r\nCompressing objects: 100% (4/4), done.\r\nWriting objects: 100% (8/8), 1.34 KiB | 1.34 MiB/s, done.\r\nTotal 8 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)\r\nremote: Resolving deltas: 100% (2/2), completed with 2 local objects.\r\nTo https://github.com/pfeifferj/container-mom-go.git\r\n   87cd560..2173b4a  main -> main\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mcommit\u001b[0m \u001b[36m-am\u001b[0m \u001b[33mupdate\r\n\u001b[0m[main b164b4a] update\r\n 4 files changed, 39 insertions(+), 541 deletions(-)\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mpush\u001b[0m \u001b[94morigin\u001b[0m \u001b[94mmain\u001b[0m \u001b[31m--force-with-lease\r\n\u001b[0mEnumerating objects: 21, done.\r\nCounting objects: 100% (21/21), done.\r\nDelta compression using up to 12 threads\r\nCompressing objects: 100% (7/7), done.\r\nWriting objects: 100% (11/11), 1.98 KiB | 1.98 MiB/s, done.\r\nTotal 11 (delta 4), reused 0 (delta 0), pack-reused 0 (from 0)\r\nremote: Resolving deltas: 100% (4/4), completed with 4 local objects.\r\nTo https://github.com/pfeifferj/container-mom-go.git\r\n   2173b4a..b164b4a  main -> main\r\n\u001b[38;5;76m❯\u001b[0m \u001b[31;1mOA\r\n\u001b[0mzsh: command not found: OA\r\n\u001b[38;5;196m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mcommit\u001b[0m \u001b[36m-am\u001b[0m \u001b[33mupdate\r\n\u001b[0m[main b678513] update\r\n 2 files changed, 74 insertions(+)\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgit\u001b[0m \u001b[33mpush\u001b[0m \u001b[94morigin\u001b[0m \u001b[94mmain\u001b[0m \u001b[31m--force-with-lease\r\n\u001b[0mEnumerating objects: 17, done.\r\nCounting objects: 100% (17/17), done.\r\nDelta compression using up to 12 threads\r\nCompressing objects: 100% (6/6), done.\r\nWriting objects: 100% (9/9), 1.88 KiB | 1.88 MiB/s, done.\r\nTotal 9 (delta 3), reused 0 (delta 0), pack-reused 0 (from 0)\r\nremote: Resolving deltas: 100% (3/3), completed with 3 local objects.\r\nTo https://github.com/pfeifferj/container-mom-go.git\r\n   b164b4a..b678513  main -> main\r\n\u001b[38;5;254;44m \u001b[38;5;255;1m~\u001b[38;5;254;22m/development/\u001b[38;5;255;1mcontainer-mom-go\u001b[38;5;254;22m \u001b[30;42m main ?3 \u001b[0m ------------------------------------------------------------------------------------------------\u001b[1D\u001b[1X\u001b[A\u001b[42C\u001b[95X\u001b[42D\u001b[B------------------------------------------------------------------------------------------------------------------------------------------\u001b[1D\u001b[1X\u001b[A\u001b[0C\u001b[137X\u001b[0D\u001b[B\u001b[30C\u001b[32;40m ✔ \u001b[30;47m 01:11:10 PM \u001b[0m\r\n\u001b[7m * \u001b[104;27m History restored \u001b[0m\r\n\r\n\u001b[38;5;254;44m \u001b[38;5;255;1m~\u001b[38;5;254;22m/development/\u001b[38;5;255;1mcontainer-mom-go\u001b[38;5;254;22m \u001b[30;43m main !2 ?3 \u001b[0m \u001b[75C\u001b[32;40m ✔ \u001b[30;47m 02:13:06 PM \u001b[0m\u001b[91D"}],"commands":{"isWindowsPty":false,"commands":[]}},"timestamp":1736687616426}]}


key: __$__targetStorageMarker
value:
  {"workbench.panel.repl":1,"debug.uxstate":1,"terminal.integrated.environmentVariableCollectionsV2":1,"vscode.git":1,"anysphere.cursor-retrieval":1,"workbench.scm.views.state":1,"workbench.auxiliarybar.activepanelid":1,"workbench.panel.composerViewPane2":1,"workbench.editor.languageDetectionOpenedLanguages.workspace":1,"memento/workbench.parts.editor":0,"src.vs.platform.reactivestorage.browser.reactiveStorageServiceImpl.persistentStorage.workspaceUser":0,"history.entries":1,"workbench.bugbot.data":1,"composer.composerData":1,"workbench.view.explorer.numberOfVisibleViews":1,"workbench.editor.centered":1,"workbench.zenMode.active":1,"workbench.zenMode.exitInfo":1,"workbench.panel.wasLastMaximized":1,"workbench.sideBar.position":1,"workbench.panel.position":1,"workbench.activityBar.hidden":1,"workbench.sideBar.hidden":1,"workbench.editor.hidden":1,"workbench.panel.hidden":1,"workbench.auxiliaryBar.hidden":1,"workbench.statusBar.hidden":1,"workbench.explorer.treeViewState":1,"notepad.reactiveStorageId":1,"aiService.prompts":1,"interactive.sessions":1,"notepadData":1,"comments.continueOnComments":0,"scm:view:visibleRepositories":1,"workbench.panel.composerViewPane2.numberOfVisibleViews":1,"memento/workbench.editors.files.textFileEditor":1,"workbench.view.extensions.state":1,"workbench.view.extension.test.state":1,"workbench.explorer.views.state":1,"workbench.view.extensions.numberOfVisibleViews":1,"memento/workbench.view.extensions":1,"terminal":1,"terminal.numberOfVisibleViews":1,"workbench.view.extension.dockerView.state":1,"codelens/cache2":1,"workbench.panel.markers":1,"workbench.panel.output":1,"workbench.view.search.state":1,"workbench.panel.composerChatViewPane":1,"workbench.panel.aipaneaaaiBugFinder":1,"workbench.panel.viewContainersWorkspaceState":1,"workbench.auxiliarybar.viewContainersWorkspaceState":1,"debug.selectedroot":1,"workbench.view.debug.state":1,"output.activechannel":1,"~remote.forwardedPortsContainer":1,"terminal.integrated.layoutInfo":1,"terminal.integrated.bufferState":1,"lifecyle.lastShutdownReason":1}


key: src.vs.platform.reactivestorage.browser.reactiveStorageServiceImpl.persistentStorage.workspaceUser
value:
  {"tasksData":{"tasksDataSchemaVersion":1,"tasks":[{"type":"draft","taskId":"bb46d474-14f1-47ff-bf5b-b9284ad1b8f3","instruction":""}],"displayedTaskId":"bb46d474-14f1-47ff-bf5b-b9284ad1b8f3","showTabs":false,"activeServerTaskUuids":[]},"onboardingMetadata":{"shouldAskToIndex":true,"shouldHideWarning":false},"hallucinatedFunctionsWorkspaceState":{},"persistentChatMetadata":[],"aiPanePosition":"sidebar","shouldRerankByDefault":false,"indexingData":{"preferredEmbeddingModel":0},"composerState":{"position":{"x":0,"y":0},"horizontalBarSize":0,"tabHeight":0,"selectedView":"suggested","devToolsPosition":{"x":0,"y":0},"memories":[],"isComposerBarChatCollapsed":false,"composerBarPosition":null},"exampleCodebaseQuestions":[],"uniqueCppWorkspaceId":"ljwthw0e4nhnbebgturr3q","SPECIAL_KEY_id":"55285398-1450-4f77-856c-39d0aed5df33"}


