Error: ERF12-2749 [ProxyAPI::ProxyException]: Unable to get environments from Puppet ([RestClient::ResourceNotFound]: 404 Resource Not Found) for proxy http://:8000/puppet

Problem: Trying to use formen with a remote proxy servers

Expected outcome: should be able to import puppet environments

Foreman and Proxy versions: foreman-proxy-1.12.3

Foreman and Proxy plugin versions: na

Other relevant data:
Old foremen/puppetmaster splitting the old foremen sever off after patching broke it

It seems your URL is broken --> http://:8000/puppet

What did you try to do? I don’t understand your workflow and neither your “Other relevant data”.

Ok our Old foremen died during a patching accident. We Decided that now will be a good time to upgrade to something newer I think we were running 1.9 I build a new rhel 7 box and installed formen 1.12 I got it up and running then then added the formen-smart proxy 1.12 to the old puppet master configured that and I can not import any of the puppet environments from the puppet-master.

a namp scan show that 8000/tcp open http-alt

# Puppet management
:enabled: https
:puppet_version: 3.8.7
# valid providers:
#   puppet_proxy_puppetrun   (for puppetrun/kick, deprecated in Puppet 3)
#   puppet_proxy_mcollective (uses mco puppet)
#   puppet_proxy_ssh         (run puppet over ssh)
#   puppet_proxy_salt        (uses salt
#   puppet_proxy_customrun   (calls a custom command with args)
#:use_provider: puppet_proxy_puppetrun
# puppet_proxy_legacy module is used for puppet versions prior to 4.0
# puppet_proxy_legacy is configured automatcially based on
# :puppet_version setting in smart-proxy's puppet.yml configuration file.
:puppet_conf: /etc/puppet/puppet.conf
# Override use of Puppet's API to list environments, by default it will use only if
# environmentpath is given in puppet.conf, else will look for environments in puppet.conf
# (Puppet versions prior to 4.0 only)

:puppet_use_environment_api: true

# URL of the puppet master itself for API requests. Required if puppet_use_environment_api is set to true.
# SSL certificates used to access the environment API. Required if puppet_use_environment_api is set to true.
:puppet_ssl_ca: /var/lib/puppet/ssl/certs/ca.pem
:puppet_ssl_cert: /var/lib/puppet/ssl/certs/
:puppet_ssl_key: /var/lib/puppet/ssl/private_keys/
# Enable/disable puppet class cache
# Cache options
#:use_cache: true


# Allow services in the 'puppet' group to access key (Foreman + proxy)
privatekeydir = $ssldir/private_keys { group = service }
hostprivkey = $privatekeydir/$certname.pem { mode = 640 }

show_diff     = false

## Server config

reports          = foreman

environmentpath  = /etc/puppet/environments
  basemodulepath   = /etc/puppet/environments/common:/etc/puppet/modules:/usr/share/puppet/modules

hiera_config     = $confdir/hiera.yaml
### Next part of the file is managed by a different template ###
## Module:           'puppet'

# The file in which puppetd stores a list of the classes
# associated with the retrieved configuration.  Can be loaded in
# the separate ``puppet`` executable using the ``--loadclasses``
# option.
# The default value is '$statedir/classes.txt'.
classfile = $statedir/classes.txt

# Where puppetd caches the local configuration.  An
# extension indicating the cache format is added automatically.
# The default value is '$confdir/localconfig'.
localconfig = $vardir/localconfig

# Disable the default schedules as they cause continual skipped
# resources to be displayed in Foreman - only for Puppet >= 3.4
default_schedules = false

report            = true
pluginsync        = true
masterport        = 8140
environment       = production
certname          =
server            =
listen            = false
splay             = false
splaylimit        = 1800
runinterval       = 1800
noop              = false
configtimeout     = 120
usecacheonfailure = true
### Next part of the file is managed by a different template ###
## Module:           'puppet'

autosign       = /etc/puppet/autosign.conf { mode = 0664 }
external_nodes = /etc/puppet/node.rb
node_terminus  = exec
ca             = true
ssldir         = /var/lib/puppet/ssl
certname       =
parser         = current
strict_variables = false

Also thanks for your help
puppet version is 3.87

If you wanted to upgrade to something newer, why did you choose version 1.12. ? This version is out of support for a long time now.

Please install Foreman 1.19. as it is the current stable.

Please close this issue the solution was to put relative paths in the puppet config