{"id":15879655,"url":"https://github.com/veggiemonk/lingonweb","last_synced_at":"2025-03-16T09:33:39.119Z","repository":{"id":159233916,"uuid":"625830190","full_name":"veggiemonk/lingonweb","owner":"veggiemonk","description":"Go Webapp to convert kubernetes manifests (YAML) to Go (golang) code","archived":false,"fork":false,"pushed_at":"2025-01-20T05:13:31.000Z","size":619,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-27T07:31:21.837Z","etag":null,"topics":["cloud-run","cloudrun","developer-tools","devops","go","golang","google-cloud-run","k8s","kubernetes","kubernetes-deployment","kubernetes-manifests","kubernetes-resources","manifest","webapp","yaml"],"latest_commit_sha":null,"homepage":"https://lingonweb.bisconti.cloud","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/veggiemonk.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-10T07:35:53.000Z","updated_at":"2025-01-20T05:13:32.000Z","dependencies_parsed_at":"2024-03-16T21:36:44.164Z","dependency_job_id":"e4e6f28b-6a2e-4ee7-a3e5-86c2cc49780b","html_url":"https://github.com/veggiemonk/lingonweb","commit_stats":{"total_commits":50,"total_committers":1,"mean_commits":50.0,"dds":0.0,"last_synced_commit":"bdc2b724311a7f0559049fc0abe195e98b23003d"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veggiemonk%2Flingonweb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veggiemonk%2Flingonweb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veggiemonk%2Flingonweb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veggiemonk%2Flingonweb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/veggiemonk","download_url":"https://codeload.github.com/veggiemonk/lingonweb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243810701,"owners_count":20351574,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud-run","cloudrun","developer-tools","devops","go","golang","google-cloud-run","k8s","kubernetes","kubernetes-deployment","kubernetes-manifests","kubernetes-resources","manifest","webapp","yaml"],"created_at":"2024-10-06T03:03:27.892Z","updated_at":"2025-03-16T09:33:39.090Z","avatar_url":"https://github.com/veggiemonk.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lingon Web \u003c!-- omit in toc --\u003e\n\n* [Intro](#intro)\n* [Screenshot](#screenshot)\n* [Who is this for?](#who-is-this-for)\n* [Works with CRDs](#works-with-crds)\n* [Output format is _txtar_](#output-format-is-txtar)\n\n## Intro\n\nLingon Web is a web-based interface for [Lingon](https://github.com/golingon/lingon).\n[Lingon](https://github.com/golingon/lingon) is a library and command line tool to write HCL (\u003ca href=\"https://www.terraform.io/\" rel=\"nofollow\"\u003eTerraform\u003c/a\u003e)\nand \u003ca href=\"https://kubernetes.io\" rel=\"nofollow\"\u003ekubernetes\u003c/a\u003e manifest (YAML) in Go.\n\n_This web app is an example of how to use the library to convert kubernetes manifests to Go code._\n\nSee \u003ca href=\"https://github.com/golingon/lingon/blob/main/docs/rationale.md\"\u003eRationale\u003c/a\u003e for why we built this.\n\n\u003e Lingon is not a platform, it is a library meant to be consumed in a Go application that platform engineers write to manage their platforms.\n\u003e It is a tool to build and automate the creation and the management of platforms regardless of the target infrastructure and services.\n\n## Screenshot\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/5487021/231055446-49ea2307-e16a-47ce-95e9-8ad11c24df73.png\" alt=\"lingon webapp screenshot\"\u003e\n\u003c/p\u003e\n\n\n## Who is this for?\n\nLingon is aimed at people who need to automate the lifecycle of their cloud infrastructure\nand have suffered the pain of configuration languages and complexity of gluing tools together with more tools.\nWe prefer to write Go code and use the same language for everything. \nIt's not a popular opinion but it works for us.\n\nAll the \u003ca href=\"https://github.com/golingon/lingon/blob/main/docs\"\u003eExamples\u003c/a\u003e are in the \u003ca href=\"https://github.com/golingon/lingon/blob/main/docs\"\u003edocumentation\u003c/a\u003e.\n\nA big example is \u003ca href=\"https://github.com/golingon/lingon/blob/main/docs/platypus2\"\u003ePlatypus\u003c/a\u003e which shows how\nthe \u003ca href=\"https://github.com/golingon/lingon/blob/main/docs/kubernetes\"\u003ekubernetes\u003c/a\u003e\nand \u003ca href=\"https://github.com/golingon/lingon/blob/main/docs/terraform\"\u003eterraform\u003c/a\u003e libraries can be used together.\n\n## Works with CRDs\n\nLingon can convert CRDs (Custom Resource Definitions) as well. \nAlthough it is not possible to convert all CRDs, as we would need to register them all.\nSee [serializer.go](./knowntypes/serializer.go) for an example of how to register the custom resource types.\n\n\u003e **Open an issue or a PR if you want to add more CRDs.** 🥲\n\n## Output format is _txtar_\n\nA _txtar_ archive is zero or more comment lines and then a sequence of file entries. \nEach file entry begins with a file marker line of the form \"-- FILENAME --\" and \nis followed by zero or more file content lines making up the file data. \nThe comment or file content ends at the next file marker line. \nThe file marker line must begin with the three-byte sequence \"-- \" and end with the three-byte sequence \" --\", \nbut the enclosed file name can be surrounding by additional white space, all of which is stripped.\nIf the txtar file is missing a trailing newline on the final line, \nparsers should consider a final newline to be present anyway.\nThere are no possible syntax errors in a _txtar_ archive.\n\nWe are using [github.com/rogpeppe/go-internal](github.com/rogpeppe/go-internal) version.\n\u003ca href=\"https://pkg.go.dev/github.com/rogpeppe/go-internal@v1.10.0/txtar\"\u003esee the doc for the API\u003c/a\u003e.\n\nIt is also used by the [Go playground](https://go.dev/play). See the example: https://go.dev/play/p/3ThdpZyPj-b\n\nExample:\n```go \n-- other.go --\npackage main\n\nfunc hello() string {\n\treturn \"Hello, 世界\"\n}\n\n-- main.go --\npackage main\n\nimport \"fmt\"\n\nfunc main() {\n\tfmt.Println(hello())\n}\n\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveggiemonk%2Flingonweb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fveggiemonk%2Flingonweb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveggiemonk%2Flingonweb/lists"}