{"id":22454717,"url":"https://github.com/shapeblue/Trillian","last_synced_at":"2025-08-02T02:31:48.011Z","repository":{"id":3796087,"uuid":"50923823","full_name":"shapeblue/Trillian","owner":"shapeblue","description":"Trillian - flexible monkey powered CI/CD","archived":false,"fork":false,"pushed_at":"2025-07-25T10:34:19.000Z","size":1995,"stargazers_count":14,"open_issues_count":15,"forks_count":13,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-07-25T14:08:49.787Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jinja","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/shapeblue.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,"zenodo":null}},"created_at":"2016-02-02T13:53:15.000Z","updated_at":"2025-07-25T10:32:53.000Z","dependencies_parsed_at":"2023-02-16T19:16:12.671Z","dependency_job_id":"e99c8c9b-87be-4319-837c-2faa224d8018","html_url":"https://github.com/shapeblue/Trillian","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/shapeblue/Trillian","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shapeblue%2FTrillian","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shapeblue%2FTrillian/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shapeblue%2FTrillian/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shapeblue%2FTrillian/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shapeblue","download_url":"https://codeload.github.com/shapeblue/Trillian/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shapeblue%2FTrillian/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268327502,"owners_count":24232677,"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","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-06T07:08:53.340Z","updated_at":"2025-08-02T02:31:47.534Z","avatar_url":"https://github.com/shapeblue.png","language":"Jinja","readme":"# Trillian - Build Nested CloudStack Environments\n\nMore detailed information can be found in the [Wiki](https://github.com/shapeblue/Trillian/wiki)\n\n## Trillian makes use a 'parent' CloudStack' environment which is used to build virtualised nested environments.\n\nTrillian leverages ESXi's ability to virtualise the VT-x features allowing the creation of VT-x enabled virtualised hosts\n\n## Trillian uses Ansible 2 to create environment configuration files and deploy those environments. The user can run 2 commandline statements and go from 0 to a running cloudstack environment with multiple hosts. \n\nas an example:\n```\nansible-playbook generate-cloudconfig.yml --extra-vars 'env_name=trillian-test-env env_comment='\\''example nested cloudstack test environment'\\''  use_shared_storage=true env_version=cs410 mgmt=1 db=0 hvtype=k  kvm_os=7 hv=2 env_accounts=all pri=2 sec=1 esxi_use_dvswitch=no build_marvin=yes wait_till_setup=yes wait_for_template=yes mgmt_os=7' -i localhost\n```\nat the end of this the sugestion, `You can now run: ansible-playbook deployvms.yml -i ./hosts_trillian-test-env`, is put on the output, which would trigger you to run something like\n```\nansible-playbook deployvms.yml -i ./hosts_trillian-test-env --extra-vars 'env_name=trillian-test-env env_version=cs410'\n```\n\nfor more examples see the [Wiki](https://github.com/shapeblue/Trillian/wiki)\n\n### Basic variables:\n+ `env_name` [mandatory]: Environment name, single string, characters, numbers, underscore \\_ or dash - only.\n+ `env_version` [mandatory]: Environment CloudStack version (cs45, cs46, cs49, custom, etc).\n+ `mgmt_os` [mandatory]: Management server OS (6, 7, u, custom)\n+ `hvtype` [mandatory]: XenServer (x), KVM (k) or VMware (v)\n+ `pri` [mandatory]: number of primary storage pools.\n+ `hv`: number of hypervisors. Please note if hypervisor type is VMware the assumption is made that a single VC host is also required.                            This does not have to be specified anywhere.\n\n  One of the following three is required depending on the choosen Hypervisor (`hvtype`):\n  + `kvm_os`:\n    -\t`6` = centos6.8\n    -\t`7` = centos7.1\n    -\t`u` = ubuntu14.04\n  + `xs_ver`:\n    -\t`xs62sp1`\n    -\t`xs65sp1`\n  + `vmware_ver`:\n    -\t`55u3`\n    -\t`60u1`\n\n  In order to avoid template issues, `kvm_os`, `xs_ver`and `vmware_ver` will\n  default to 'custom' when they are not specified.\n\n  If you specify KVM as hypervisor (`hvtype=k`) you must specify the `kvm_os`\n  **or** set it to 'custom' and set the template to use (`kvm_template`) in the\n  extra vars (`kvm_template=\"Ubuntu Server 14.04\"`)\n\n  The same applies to the other hypervisor types. For custom VMware you would\n  need to specify both the vCenter and ESXi templates\n\n\n\n### Advanced variables [all optional]:\n+ `mgmt`: Number of management servers to configure (default is 1)\n+ `sec`: number of secondary storage pools. (default is 1)\n+ `db`: Number of database servers to configure (default is 0 - db is on mgmt host)\n+ `management_network`: name of the management network\n+ `guest_public_network`: name of the guest+public network\n+ `management_vm_hypervisor`: parent CloudStack cloud hypervisor (default VMware)\n+ `build_project`: project name to use for the nested cloudstack build (default \u003caccountname\u003e-NestedClouds)\n+ `build_zone`: parent cloud zone name\n+ `build_keyboard`: keyboard used for nested VMs (default UK)\n+ `mgmtsrv_service_offering`: parent cloud service offering used for the management server build\n+ `mgmtsrv_template`: parent cloud template used for the management server build\n+ `dbsrv_service_offering`: parent cloud service offering used for database server build\n+ `dbsrv_template`: parent cloud template used for database server build\n+ `kvm_service_offering`: parent cloud nested KVM instances service offering\n+ `kvm_template`: parent cloud nested KVM HV template\n+ `xs_service_offering`: parent cloud nested XenServer instances service offering\n+ `xs_template`: parent cloud nested XenServer HV template\n+ `esxi_service_offering`: parent cloud nested ESXi instances service offering\n+ `esxi_template`: parent cloud nested ESXi HV template\n+ `vc_service_offering`: parent cloud nested VC instances service offering\n+ `vc_template`: parent cloud nested VirtualCentre template\n+ `baseurl_cloudstack`: URL for CloudStack build repository\n+ `env_db_name`: environments database name\n+ `env_db_ip`: environments database IP address\n+ `env_db_user`: environments database username\n+ `env_db_password`: environments database password\n+ `env_zonetype`: basic or advanced (default)\n+ `env_prihost`: primary storage host fqdn or IP address\n+ `env_sechost`: secondary storage host fqdn or IP address\n+ `env_zone_systemplate`: URL to system template, overrides version variable\n+ `build_marvin`: whether or not to build a marvin vm for testing purposes (default is false)\n+ `wait_till_setup`: only return once system VMs are running. (default is no)\n\n\n#### Some example --extra-args:\n\n* `env_name=ccs-xs-13-patest env_version=cs45 mgmt=1 hvtype=x hv=2 xs_ver=xs65sp1 env_accounts=all pri=1 build_marvin=true mgmt_os=6`\n* `env_name=cs49-vmw55-pga env_version=cs49 mgmt_os=6 hvtype=v vmware_ver=55u3 hv=2 pri=2 env_accounts=all build_marvin=true wait_till_setup=yes baseurl_cloudstack=http://10.2.0.4/shapeblue/cloudstack/testing/`\n* `env_name=cs49-kvm6-pga env_version=cs49 mgmt_os=6 env_accounts=all hvtype=k kvm_os=6 hv=2 pri=2 env_accounts=all build_marvin=true wait_till_setup=yes baseurl_cloudstack=http://10.2.0.4/shapeblue/cloudstack/testing/`\n","funding_links":[],"categories":["Development"],"sub_categories":["Continuous Integrations"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshapeblue%2FTrillian","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshapeblue%2FTrillian","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshapeblue%2FTrillian/lists"}