{"id":20263657,"url":"https://github.com/springerpe/ansible-cloudfoundry-role","last_synced_at":"2025-07-10T00:03:36.188Z","repository":{"id":80986847,"uuid":"80722091","full_name":"SpringerPE/ansible-cloudfoundry-role","owner":"SpringerPE","description":"Role for ansible cloudfoundry","archived":false,"fork":false,"pushed_at":"2017-03-22T11:34:17.000Z","size":36,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-11T02:08:51.406Z","etag":null,"topics":["ansible","ansible-role","cloud-foundry","cloudfoundry"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SpringerPE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-02-02T12:18:42.000Z","updated_at":"2020-02-26T09:57:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"fae5befc-9a96-4237-9d44-2782f8add71b","html_url":"https://github.com/SpringerPE/ansible-cloudfoundry-role","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/SpringerPE/ansible-cloudfoundry-role","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fansible-cloudfoundry-role","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fansible-cloudfoundry-role/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fansible-cloudfoundry-role/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fansible-cloudfoundry-role/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpringerPE","download_url":"https://codeload.github.com/SpringerPE/ansible-cloudfoundry-role/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fansible-cloudfoundry-role/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260513683,"owners_count":23020568,"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":["ansible","ansible-role","cloud-foundry","cloudfoundry"],"created_at":"2024-11-14T11:35:51.443Z","updated_at":"2025-06-18T07:40:53.582Z","avatar_url":"https://github.com/SpringerPE.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ansible-cloudfoundry-role\n\nAnsible role to setup Cloud Foundry env variables, feature flags, domains,\nsecurity groups, quotas, users, organizations and spaces\n\n\n# Dependencies\n\nThis role uses the Cloud Foundry modules included in the `library` folder.\nThose modules have only one requirement: https://github.com/SpringerPE/python-cfconfigurator .\nYou can install it by running *pip*: `pip install -r requirements.txt`\n\n\n# Usage\n\nFirst of all, install the role using `ansible-galaxy`. The role is not available\nin https://galaxy.ansible.com/ because they do not support organizations. But,\nfortunately `ansible-galaxy` understands github repos, so you can install this\nrole and use it in your playbooks by creating a `requirements.yml`:\n\n```\n- name: cf\n  src: https://github.com/SpringerPE/ansible-cloudfoundry-role\n  version: origin/master\n```\nand type:\n```\nansible-galaxy install -p ./roles -r requirements.yml\n```\n\nNext, for testing, create a simple playbook `cf.yml`:\n\n```\n---\n- name: cf playbook\n  hosts: cf\n  serial: 1\n  gather_facts: false\n\n  roles:\n  - role: cf\n```\n\nand a inventory `test.ini` with the proper CF settings:\n\n```\n[cf:children]\ntest\n\n[test:children]\n# You can add here more environments, they are just names!\n# and for each enviroment you can override the variables\n# defined in groups_vars/test.yml by creating a new file\n# with the same name.\napi.test.cf.springer.com\n\n\n[api.test.cf.springer.com]\napi.test.cf.springer.com\n\n[api.test.cf.springer.com:vars]\ncf_admin_user=pepeCloud Foundry resource automation using Ansible\n\nHave a look at the file: https://github.com/SpringerPE/ansible-cloudfoundry/blob/master/inventory/group_vars/cf.yml to see how to define the resources: feature flags, domains, security groups, quotas, environment variables, users, organizations and spaces.\ncf_admin_password=\"password\"\ncf_api=\"https://api.test.cf.springer.com\"\n\n\n[client]\n# Client is where the actions will be executed, it points to\n# localhost, but it could point to a different host to perform\n# actions from there\nlocalhost ansible_connection=local ansible_become=false\n```\n\nNow, have a look at the file `defaults/main.yml` to see how to define the\nresources: feature flags, domains, security groups, quotas, environment\nvariables, users, organizations and spaces.\n\nYou can manage different Cloud Foundry environments by using inventory files\nlike this one: https://github.com/SpringerPE/ansible-cloudfoundry/blob/master/inventory/cf.ini\nIt makes possible to define some common global configuration variables by splitting\nthem in different files (Ansible superpower!)\n\nOnce the CF credentials are defined in the inventory and the resources in the manifest,\njust run ansible:\n\n```\nansible-playbook -i inventory/cf.ini cf.yml\n```\n\nand done!\n\n\n## Components\n\nInside the `library` folder there are a set of Ansible modules to manage Cloud\nFoundry configuration entities, not aimed to manage apps, routes, service\nbrokers, etc.\n\nCurrent available modules make possible to manage:\n\n* **cf_config**: Environment variables, feature flags and default security groups.\n* **cf_domain**: Private (with owner/shared organizations) and shared domains\n* **cf_org**: Organizations (and user roles: user, manager, auditor and billing_manager)\n* **cf_space**: Spaces (and user roles: user, manager, auditor)\n* **cf_quota**: Organization and space Quotas\n* **cf_secgroup**: Security groups\n* **cf_secgroup_rule**: Security group rules\n* **cf_user**: Manage CF users via UAA\n* **cf_org_facts**: Get facts from a CF Org or Space\n\nThey depend on https://github.com/SpringerPE/python-cfconfigurator ,\njust install it via pip.\n\nFor examples, have a look at `tests` folder.\n\n\n# Author\n\nJose Riguera Lopez, jose.riguera@springer.com\nSpringerNaure Platform Engineering\n\nCopyright 2017 SpringerNature\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspringerpe%2Fansible-cloudfoundry-role","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspringerpe%2Fansible-cloudfoundry-role","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspringerpe%2Fansible-cloudfoundry-role/lists"}