{"id":20189934,"url":"https://github.com/tjm/tjm-yacp","last_synced_at":"2026-03-19T14:27:35.058Z","repository":{"id":146007847,"uuid":"591418073","full_name":"TJM/TJM-YACP","owner":"TJM","description":null,"archived":false,"fork":false,"pushed_at":"2023-03-16T19:40:41.000Z","size":79,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-13T18:50:36.453Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","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/TJM.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":"2023-01-20T17:55:29.000Z","updated_at":"2023-08-11T20:46:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"817574c4-dc85-4660-8661-ecd65053ece7","html_url":"https://github.com/TJM/TJM-YACP","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/TJM%2FTJM-YACP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TJM%2FTJM-YACP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TJM%2FTJM-YACP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TJM%2FTJM-YACP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TJM","download_url":"https://codeload.github.com/TJM/TJM-YACP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241624739,"owners_count":19992938,"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-11-14T03:39:43.972Z","updated_at":"2026-03-10T14:01:46.225Z","avatar_url":"https://github.com/TJM.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TJM-YACP\n\nYACP -\u003e YetAnotherCaseyProject\n\n## What is this?\n\nThis is terraform code to setup a F5 XC (Volterra) CE instance in an existing GCP Project (YetAnotherCaseyProject).\n\nThis is a test of a \"secure\" network (extremely limited Internet access).\n\n## Prerequisites\n\n* Existing Google Project, with all the necessary APIs enabled\n* Terraform 1.x :-/\n* API Token and API Certificate from F5 site (Administration -\u003e Personal Management -\u003e Credentials)\n\n## How to make it work\n\n* Create a `terraform.tfvars` file in the \"infra\" directory or set the variables through CI/CD. Example:\n\n```hcl\ngcp_project_id = \"google-project-id\"\n\nname_prefix    = \"tjm\"\nenv            = \"f5lab\"\n# public_services = {\n#   \"vault\"       = \"1.2.3.4\"\n#   \"artifactory\" = \"2.3.4.5\"\n# }\n\n# F5\nf5xc_tenant       = \"(F5 Tenant ID)\"\nf5xc_api_token    = \"(PASTE API KEY)\"\nf5xc_api_p12_file = \"(path to filename.p12)\"\nf5xc_api_url      = \"https://COMPANY.console.ves.volterra.io/api\"\n\nssh_public_key_file = \"/Users/USERNAME/.ssh/google_compute_engine.pub\"\n```\n\n* `cd infra`\n* `terraform init`\n* `export VES_P12_PASSWORD='(P12FilePassword)'`\n* `terraform apply`\n  * Look at the plan, then approve (`yes`)\n\n## Issues\n\n* We are statically defining IP ranges that should be handled some other way.\n  * F5 May setup something in \"their\" IP ranges that forwards to the cloud services so that we can avoid this.\n* We are missing some outbound IPs. The [F5 Network Documentation](https://docs.cloud.f5.com/docs/reference/network-cloud-ref) is missing some networks.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjm%2Ftjm-yacp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftjm%2Ftjm-yacp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjm%2Ftjm-yacp/lists"}