{"id":27359478,"url":"https://github.com/rackerlabs/puppet-repose","last_synced_at":"2025-04-13T00:29:54.245Z","repository":{"id":16602654,"uuid":"19357249","full_name":"rackerlabs/puppet-repose","owner":"rackerlabs","description":"This module provides a re-usable and environment agnostic control of Repose","archived":false,"fork":false,"pushed_at":"2024-02-26T15:43:46.000Z","size":631,"stargazers_count":5,"open_issues_count":8,"forks_count":26,"subscribers_count":29,"default_branch":"master","last_synced_at":"2025-04-13T00:29:45.436Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"openrepose.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"aurbano/robinhood-node","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rackerlabs.png","metadata":{"files":{"readme":"README.rdoc","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-05-01T20:41:15.000Z","updated_at":"2022-11-03T19:32:09.000Z","dependencies_parsed_at":"2023-01-11T19:23:27.909Z","dependency_job_id":null,"html_url":"https://github.com/rackerlabs/puppet-repose","commit_stats":null,"previous_names":[],"tags_count":56,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rackerlabs%2Fpuppet-repose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rackerlabs%2Fpuppet-repose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rackerlabs%2Fpuppet-repose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rackerlabs%2Fpuppet-repose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rackerlabs","download_url":"https://codeload.github.com/rackerlabs/puppet-repose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248650664,"owners_count":21139670,"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":"2025-04-13T00:29:52.740Z","updated_at":"2025-04-13T00:29:54.232Z","avatar_url":"https://github.com/rackerlabs.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"= Repose\n\n{\u003cimg src=\"https://travis-ci.org/rackerlabs/puppet-repose.png?branch=master\" alt=\"Build Status\" /\u003e}[https://travis-ci.org/rackerlabs/puppet-repose]\n\nThis module provides a re-usable and environment agnostic control of Repose Power Proxy\n\nNote: This version supports Repose 9+ only.\n\n---\n== Usage of Module\n\n=== Installing Repose with basic keystone auth and http logging\n\n  # Setup the basic information about the API you are putting Repose in front of\n  $app_name     = 'myapp'\n  $api_protocol = 'https'\n  $api_host     = \"api-internal.${::domain}\"\n  $api_port     = '443'\n  $api_uri      = \"${api_protocol}://${api_host}/${app_name}\"\n  $repose_nodes = [ \"repose-n01.${::domain}\",\n                    \"repose-n02.${::domain}\" ]\n\n  # Your service account for verifying identities against keystone\n  $auth = {\n    'user' =\u003e 'service_admin',\n    'pass' =\u003e 'somepassword',\n    'uri'  =\u003e 'https://keystone.${::domain}/v2.0',\n  }\n  $client_maps = [ \".*/${app_name}/(\\d+)\" ]\n  $white_lists = [ '/application\\.wadl$' ]\n\n  # Your http logging definitions\n  $log_files = [\n    { 'id'     =\u003e 'http',\n      'format' =\u003e 'Response Code Modifiers=%200,201U\\tModifier Negation=%!401a\\tRemote IP=%a\\tLocal IP=%A\\tResponse Size(bytes)=%b',\n    },\n  ]\n\n  # Your definitions for the system model\n  $filters = {\n      10 =\u003e { 'name'      =\u003e 'slf4j-http-logging' },\n      20 =\u003e { 'name'      =\u003e 'client-auth',\n              'uri-regex' =\u003e \"/${app_name}/.*\" },\n      30 =\u003e { 'name'      =\u003e 'default-router' },\n  }\n  $endpoints = [\n    { 'id'        =\u003e $app_name,\n      'protocol'  =\u003e $api_protocol,\n      'hostname'  =\u003e $api_host,\n      'root-path' =\u003e '',\n      'port'      =\u003e $api_port,\n      'default'   =\u003e true,\n    },\n  ]\n\n  # Bringing it all together\n  class { 'repose': \n    ensure =\u003e 'present',\n  }\n  repose::filter::slf4j_http_logging { 'default':\n    log_files =\u003e $log_files,\n  }\n  repose::filter::client_auth_n { 'default':\n    auth        =\u003e $auth,\n    client_maps =\u003e $client_maps,\n    white_lists =\u003e $white_lists,\n  }\n  repose::filter::system_model { 'default':\n    app_name  =\u003e $app_name,\n    nodes     =\u003e $repose_nodes,\n    filters   =\u003e $filters,\n    endpoints =\u003e $endpoints,\n  }\n\n=== Removing Repose\n class { 'repose': ensure =\u003e absent }\n\n---\n== Installing this module\n\n=== via GIT\n git clone https://github.com/rackerlabs/puppet-repose.git /etc/puppet/modules/repose\n\n---\n== Running tests \n\n=== Requirements\nMust have:\n* pdk 1.17.0+\n\n=== With pdk\n  git clone https://github.com/rackerlabs/puppet-repose.git \n  cd puppet-repose\n  pdk test unit --verbose\n\n---\n==Authors\n[Alex Schultz] mailto:alex.schultz@rackspace.com\n[Greg Swift] mailto:greg.swift@rackspace.com\n[Josh Bell] mailto:josh.bell@rackspace.com\n[Cory Ringdahl] mailto:cory.ringdahl@rackspace.com","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frackerlabs%2Fpuppet-repose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frackerlabs%2Fpuppet-repose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frackerlabs%2Fpuppet-repose/lists"}