Skip to content
This repository has been archived by the owner on Apr 2, 2024. It is now read-only.

AMRC-FactoryPlus/acs-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ACS Manager Service

The AMRC Connectivity Stack (ACS) is an open-source implementation of the AMRC's Factory+ Framework.

This acs-manager service satisfies the Manager component of the Factory+ framework and provides centralised management of the Sparkplug namespace, configuration of device connections and ensures conformance to Schemas. It also provides a user interface to interact with the Files service.

For more information about the Manager component of Factory+ see the specification or for an example of how to deploy this service see the AMRC Connectivity Stack repository.

Local Development

The ACS Manager is based on Laravel 9 and VueJS 2, and therefore a local PHP environment must be configured for local development. See the Laravel Documentation for more information on getting started with Laravel.

Prerequisites

  • A local PHP environment like Laravel Valet with the KRB5 extension installed
  • A local instance of MySQL
  • Docker
  • Accessible Identity, Authentication & Config Store Factory+ services

Getting Started

  • Copy .env.example to .env and replace the variables as appropriate
  • Copy .env.example to .env.testing and replace the variables as appropriate
  • Create a krb5.conf file in the root of the project containing the kerberos config for your domain
  • Create a k3s.yaml file in the root of the project containing your kubeconfig for your Kubernetes cluster
  • Set the AUTH_SERVICE_URL, CONFIGDB_SERVICE_URL, FILE_SERVICE_ENDPOINT and CMDESC_SERVICE_ENDPOINT values in .env to values for your environment
  • Run composer install to install all PHP dependencies
  • Run php artisan key:generate to set the application key and copy the new APP_KEY value from .env to .env.testing
  • Run ./get-keytab.sh to generate a keytab file for the application to use for authentication
  • Run php artisan passport:keys to create the encryption keys for API authentication
  • Run yarn to install frontend dependencies
  • Run yarn dev to launch the frontend server
  • Run sail artisan schema:import to import the Schema list from Github
  • Run ./vendor/bin/sail up to start the development environment
  • Run sail exec acs-manager.test php artisan migrate to run the database migrations
  • Head to localhost in your browser to view the application
  • Log in using your credentials from your Identity provider
  • Update the adminstrator field on your user in the users table to true