Set up Data Project Beta

After installing Puppet Application Manager (PAM), complete the Data Project Beta setup process in an online environment.

Step 1: Configure and deploy Data Project Beta

Configure and deploy Data Project Beta in Puppet Application Manager (PAM).

  1. In Puppet Application Manager, upload your license and follow the prompts.
    Note: The license file is issued by Puppet. If you do not have a license file, contact your Puppet representative.
  2. Under Data Project Beta, in the Provide a hostname field, enter the fully qualified domain name (FQDN) that you want to use to access the Data Project Beta UI.
    For example, this could be the name of the node you have installed Data Project Beta on. If you choose to use an FQDN that is different from the name of this node, you must configure your domain name system (DNS) to resolve the FQDN to the IP address of the Data Project Beta node.

    The Data Project Beta TLS certificates — that allow you to access the UI — have already been generated and uploaded to Puppet Application Manager. You do not need to do anything else, unless you want to change these (select Provide my own certs, and click Upload a file).

  3. Read and accept the Beta Agreement.
  4. In the NodePort field, provide a NodePort between 30000-32768.

    NodePort is the default endpoint. It allows Data Project Beta to use Mutual Transport Layer Security (MTLS) to validate clients.

  5. Interactions between Data Project Beta and Puppet Enterprise (PE) require authentication from Puppet's Certificate Authority (CA). SSH into your PE primary server and run the following command to generate a certificate and private key from Puppet CA.
    puppetserver ca generate --certname <HOSTNAME>
    This command does the following:
    • Saves the generated certificate to /etc/puppetlabs/puppet/ssl/certs/<data-project-HOSTNAME>.pem
    • Saves the generated private key to /etc/puppetlabs/puppet/ssl/private_keys/<data-project-HOSTNAME>.pem
  6. Upload the generated certificate, the generated private key, and your existing Puppet CA certificate to PAM.
    • Upload the generated certificate in /etc/puppetlabs/puppet/ssl/certs/<data-project-HOSTNAME>.pem to the TLS certificate (from Puppet CA) field.
    • Upload the generated private key in /etc/puppetlabs/puppet/ssl/private_keys/<data-project-HOSTNAME>.pem to the TLS private key field.
    • Upload your CA certificate in /etc/puppetlabs/puppet/ssl/ca/ca_crt.pem to the Puppet CA certificate field. Note that the Puppet CA certificate is part of Puppet Server and existed before you generated a new one.
  7. In the Authentication mode section, choose whether to access Data Project Beta using basic authentication (username and password) or Okta.
    Note: Data Project Beta supports pre-hashed passwords using the posix crypt (c) format, for example, openssl -6 <PASSWORD>.
  8. Configure any other settings on the page relevant to your installation. When you have finished making any necessary changes to the configuration, click Continue
  9. Monitor the new version's preflight checks. The Running Checks indicator is shown on the screen while your system is checked to make sure your cluster meets minimum system requirements. When the preflight check is complete:
    • If the status is Checks Failed, click View preflights. Correct the issues and click Re-run. Repeat this step as needed.
    • If the status is Ready to Deploy, move on to the next step.
  10. Once the version is ready to deploy, click Deploy. On the Application tab, monitor the application for readiness.
    The application's status is shown as Missing for several minutes while deployment is underway.
    Tip: You can monitor the deployment's progress by running kubectl get pods --watch.

    When the deployment is complete, the application status changes to Ready. Data Project Beta is now deployed!

What to do next
Install and configure the data_entitlement module.

Step 2: Install and configure the data_entitlement module

Modules are self-contained, shareable bundles of code and data. The data_entitlement module enables Puppet Enterprise (PE) to send node data to Data Project Beta.

If you are new to PE and Data Project Beta, visit Managing environment content with a Puppetfile for more information on the Puppetfile and installing modules.
  1. Add the data_entitlement module and its dependencies (if you do not already have these) to your Puppetfile:
    # Puppet data_entitlement module
    mod 'puppetlabs-data_entitlement', '0.1.2'
    
    # dependencies for data_entitlement
    mod 'puppetlabs-docker',  '4.2.0'
    mod 'puppetlabs-inifile', '5.2.0'
    mod 'puppetlabs-stdlib',  '7.1.0'
  2. Add the data processor class to your PE primary server and any compilers:
    class { 'data_entitlement::data_processor':                                                                                                                                                                                                                                                      
            data_entitlement_url =>  'https://<data.your_dns.io>:<NodePort>',                                                                                                                                                                                                                                      
        } 
    Note: The primary server contacts Data Project Beta on port 443.
  3. Deploy the code on your primary server:
    puppet-code deploy --all
  4. Run the Puppet agent:
    puppet agent -t
  5. Navigate to the Data Project Beta UI at https://<data-project-HOSTNAME> and log in using your username and password.
    • username: ?
    • password: ?
What to do next
You have completed the Data Project Beta setup process! You can now enable attributes for data collection. Follow the instructions in the Data Project Beta UI.