Ferreteria/v0.6/sys/Config

From Woozle Writes Code
< Ferreteria‎ | v0.6
Revision as of 21:23, 22 October 2025 by Woozle (talk | contribs)
Jump to navigation Jump to search
Ferreteria Configuration
This page is very much a work in progress.

Database Connections

Example code:

<?php namespace Woozalia\Ferret\Config;
// BOX: hetz1

/* ChainClass */ use Woozalia\Ferret\IO\Aspect\Connx\Plug\cChain as ChainClass;
/* DbCredClass */ use Woozalia\Ferret\IO\Aspect\Creds\Password\cDbase as DbCredClass;
/* HostClass */ use Woozalia\Ferret\IO\Aspect\cHost as HostClass;
/* MariaCoClass */ use Woozalia\Ferret\Sys\Data\Engine\Conn\MyMar\cMaria as MariaCoClass;
/* PubkeyClass */ use Woozalia\Ferret\IO\Aspect\cCreds as PubkeyClass;
/* ShRemClass */ use Woozalia\Ferret\IO\Aspect\Connx\Plug\Shell\Remote\cSSH as ShRemClass;
/* SockClass */ use Woozalia\Ferret\IO\Aspect\cSocket as SockClass;

//=====
// code-to-remote-shell:
$oHostA = HostClass::FromSpecs('hetz1.vbz.ovh');
$oCredA = new PubkeyClass('root');  // no password needed
$oConnA = ShRemClass::ForSocket();
$oSockA = new SockClass(
  oHost: $oHostA,
  oCred: $oCredA,
  oPlug: $oConnA,
  );

//=====
// remote-shell-to-DB:
$oHostB = $oLocalHost;
$oCredB = new DbCredClass(
    sUser: 'root',
    sPass: $arPass['hetz1']
);
$oConnB = ChainClass::FromSocket($oSockA);
$oSockB = new SockClass(
  oHost: $oHostB,
  oCred: $oCredB,
  oPlug: $oConnB,
  );
new MariaCoClass(
  sSlug: 'hetz1',
  oSock: $oSockB,        // code-to-engine socket
);

What this creates:

$oHostB: localhost→ $oSockB
$oCredB: root@<pass>
$oHostA: hetz1.vbz.ovh→ $oSockA →
$oCredA: root (pubkey)
$oConnA: remote ssh
$oConnB