{"id":21888609,"url":"https://github.com/swisscom/waypoint-plugin-cloudfoundry","last_synced_at":"2025-04-15T10:18:44.868Z","repository":{"id":37740081,"uuid":"356317254","full_name":"swisscom/waypoint-plugin-cloudfoundry","owner":"swisscom","description":"A plugin for Hashicorp Waypoint that allows to deploy artifacts on Cloud Foundry","archived":false,"fork":false,"pushed_at":"2023-04-07T11:54:51.000Z","size":280,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":16,"default_branch":"develop","last_synced_at":"2025-04-15T10:18:12.682Z","etag":null,"topics":["hashicorp-waypoint","waypoint","waypoint-plugin"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/swisscom.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2021-04-09T15:29:23.000Z","updated_at":"2024-11-28T16:34:58.000Z","dependencies_parsed_at":"2024-06-20T12:03:46.623Z","dependency_job_id":null,"html_url":"https://github.com/swisscom/waypoint-plugin-cloudfoundry","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swisscom%2Fwaypoint-plugin-cloudfoundry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swisscom%2Fwaypoint-plugin-cloudfoundry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swisscom%2Fwaypoint-plugin-cloudfoundry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swisscom%2Fwaypoint-plugin-cloudfoundry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/swisscom","download_url":"https://codeload.github.com/swisscom/waypoint-plugin-cloudfoundry/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249048746,"owners_count":21204306,"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":["hashicorp-waypoint","waypoint","waypoint-plugin"],"created_at":"2024-11-28T11:16:08.594Z","updated_at":"2025-04-15T10:18:44.848Z","avatar_url":"https://github.com/swisscom.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# waypoint-plugin-cloudfoundry\n\nPlugin for waypoint that adds support for the Cloud Foundry platform.\n\n## Usage\nCheck out the project in the `example` folder to get an idea of how exactly to use the platform.\n\n### Cloud Foundry deployment\n```hcl\ndeploy {\n   use \"cloudfoundry\" {\n      organisation = \"cf organisation\"\n      space = \"waypoint-test\"\n\n      # App name can be overwritten, otherwise the application name from above is used.\n      # app_name = \"hello-world\"\n\n      # Make sure to create and rename this file, if needed\n      # it should contain username:password as base64 encoded string\n      docker_encoded_auth = file(abspath(\"./docker_encoded_credentials.secret\"))\n\n      # Defines an Health Check configuration\n      health_check {\n         type = \"http\" # required\n         endpoint = \"/health\" # required if type = \"http\"\n         timeout = 60\n         invocation_timeout = 60\n      }\n}\n```\n\n### Cloud Foundry release\n```hcl\nrelease {\n   use \"cloudfoundry\" {\n      domain = \"cfapp.swisscom.com\"\n\n      # Hostname can be specifically set, if it is different than the app name\n      # hostname = my-example-app-url\n      \n      # To stop old instances of the app after release\n      # stopOldInstances = true\n   }\n}\n```\n\n## Initial setup\n### Mac OS\nInstall go:\n`brew install go`\n\nInstall protoc-gen-go:\n`go get google.golang.org/protobuf/cmd/protoc-gen-go`\n\nBuild:\n`make`\n\nInstall locally (make sure the folder $HOME/.config/waypoint/plugins/ exists, if not create beforehand):\n`make install`\n\n## Building with Docker\n\nTo build plugins for release you can use the `build-docker` Makefile target, this will \nbuild your plugin for all architectures and create zipped artifacts which can be uploaded\nto an artifact manager such as GitHub releases.\n\nThe built artifacts will be output in the `./releases` folder.\n\n```shell\nmake build-docker\n\nrm -rf ./releases\ndocker build --output releases --progress=plain .\n#1 [internal] load .dockerignore\n#1 transferring context: 2B done\n#1 DONE 0.0s\n\n#...\n\n#14 [export_stage 1/1] COPY --from=build /go/plugin/bin/*.zip .\n#14 DONE 0.1s\n\n#15 exporting to client\n#15 copying files 36.45MB 0.1s done\n#15 DONE 0.1s\n```\n\n## Building and releasing with GitHub Actions\n\nThe action has two main phases:\n1. **Build** - This phase builds the plugin binaries for all the supported architectures. It is triggered when pushing\n   to a branch or on pull requests.\n1. **Release** - This phase creates a new GitHub release containing the built plugin. It is triggered when pushing tags\n   which starting with `v`, for example `v0.1.0`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswisscom%2Fwaypoint-plugin-cloudfoundry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswisscom%2Fwaypoint-plugin-cloudfoundry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswisscom%2Fwaypoint-plugin-cloudfoundry/lists"}