{"id":23138245,"url":"https://github.com/softlayer/kleiber","last_synced_at":"2025-04-04T09:43:55.451Z","repository":{"id":66666211,"uuid":"47844822","full_name":"softlayer/kleiber","owner":"softlayer","description":null,"archived":false,"fork":false,"pushed_at":"2017-01-12T19:45:33.000Z","size":58,"stargazers_count":1,"open_issues_count":1,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-09T20:26:54.880Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/softlayer.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":"2015-12-11T18:45:54.000Z","updated_at":"2019-01-10T19:03:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"b8b905fd-c738-45b8-a536-e8463813055f","html_url":"https://github.com/softlayer/kleiber","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softlayer%2Fkleiber","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softlayer%2Fkleiber/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softlayer%2Fkleiber/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softlayer%2Fkleiber/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/softlayer","download_url":"https://codeload.github.com/softlayer/kleiber/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247157133,"owners_count":20893210,"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":[],"created_at":"2024-12-17T13:10:17.798Z","updated_at":"2025-04-04T09:43:55.428Z","avatar_url":"https://github.com/softlayer.png","language":"Python","readme":"# kleiber\nSimple cluster director for SoftLayer\n\n`kleiber` currently supports the following SoftLayer resources:\n* vms\n* autoscale groups\n* loadbalancers\n* vlans\n\n## install \u0026 configure\nClone this repository.\n```\ngit clone ...\n```\n\nChange to the kleiber directory and install kleiber using the following commands.\n```\ncd \u003ckleiber_home\u003e\npython setup.py install\n```\n\nCreate the file `~/.kleiber` and add your SoftLayer credentials to it as shown in the following.\n```\nusername: SLUSER                                                  \napi_key: SLAPIKEY\n```\nMetadata about the clusters you create gets store locally in the folder `~/.kleiber-data`\n\nIf you want the cluster metadata to be stored at a different location or in object store, then you have to add\none of the following in addition to the `~/.kleiber` file.\n```\n...\nlocal_store: \u003cfolder-path\u003e\n# or\nobj_store:\n    name: \u003cobj-store-name\u003e\n    datacenter: \u003cdc\u003e\n```\n\n## kleiber cli\n\nkleiber provides the following commands.\n\n```\n# kleiber -h\nkleiber cluster director\n\nUsage:\n  kleiber create \u003cscore.yaml\u003e \u003cclustername\u003e [\u003ckey=value\u003e...] [-v]\n  kleiber status \u003cclustername\u003e [\u003cresourcename\u003e]\n  kleiber delete \u003cclustername\u003e\n  kleiber list \n  kleiber (-h | --help)\n  kleiber --version\n\nOptions:\n  -h --help     Show this screen.\n  --version     Show version.\n```\n\n## score samples\nScore samples can be found in the [scores](kleiber/examples/scores) directory.\n\n* [open-dcos](kleiber/examples/scores/open-dcos)\n* [coreos](kleiber/examples/scores/coreos)\n* ...\n\n\n## score file format\n\nLook at [detailed.yaml](kleiber/examples/scores/detailed.yaml) for full input and configuration options for individual resources.\n* everything except `name` and `parameters` in the score files can be jinja \ntemplates to fill in values from other data. Look at [open-dcos.yml](kleiber/examples/scores/open-dcos/open-dcos.yml) for an example\n* the optional dependson field in a resource provides ordering of the resources. Otherwise resources are deployed in an \norder automatically selected by the director\n\n```\n# a name describing the cluster\nname: myweb-topology\n\n# a set of parameters with default values. These can be overridden by \n# passing a key=value pair on create\nparameters:\n  key1: value1\n  key2: value2\n\n# datacenter where this needs to be deployed\ndatacenter: tor01\n\n# commonly used mappings\nmappings:\n  servertypes:\n    ...\n\n# resources to deploy as part of the cluster\nresources:\n   vlans: ...\n   loadbalancers: ...\n   serverinstances: ...\n     # autoscale: ....\n\n...\noutput:\n    template: a jinja template to generate output\n    # result -\u003e optional output file, if none provided, \n    # the output is printed on screen\n    result: output file to generate from template\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftlayer%2Fkleiber","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftlayer%2Fkleiber","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftlayer%2Fkleiber/lists"}