Auto Deploy feature doesn't work

The Auto Deploy feature doesn’t seem to work in 2.8.2.

Product: PowerShell Universal
Version: 2.8.2

I’ve not used this feature or have no experience with it at all. But for other’s in this community who may be able to answer your query or provide support, it may be beneficial if you provide some context and details here;

What do you mean by, ‘doesnt seem to work’? - can you guide us through the steps you take to produce whatever issue you are getting.

Do you get any errors etc?

What is your environment, where/how do you host PSU?

When you say it doesnt work in 2.8.2, did you have it working in another version?

Hi @insomniacc
You are absolutely right, i didn’t give much information here.

We upgraded from v2.7.2 by downloading the ZIP file, unblocking it and then stopping the PSU service and then removing the old Universal files and extracting the ZIP in the same place. After starting the service we don’t see any errors in the log file (or dashboard log) but the auto deployment doesn’t work.

We tried creating a new dashboard to see if auto deployment worked here but that’s the same issue.

Or environment is Windows Server 2019 (desktop) where we are hosting using the kestrel server.
We haven’t upgraded any other environments yet, so we don’t know if it’s the same there.

We just tried to upgrade another v2.7.3 directly to 2.8.3 and there we see the same issue with auto deployment not working.

We then tried to install a fresh version of 2.8.3 and here auto deployment worked fine.

The only different with the two PSU deployments is that the upgraded one is running using a gMSA account and the newly installed is running using local system account.

So there maybe an issue with auto deploy when you upgrade from an older version of PSU.

I did some more investigation and found out that it doesn’t change anything if i change the service account from the gMSA to local system or delete the database and let it create a new one.
The issue is still the same that auto deployment doesn’t work after upgradering from 2.7.3 to 2.8.3.

We made some changes to how auto-deploy works in 2.8 to address an issue where all dashboards would restart when saving one dashboard.

Can you let me know your file system layout on the instance that isn’t working? I’m curious if you have dashboards in folders or not in the repository. I suspect we are not triggering the auto-deploy because of some bug in the logic to determine which dashboard to restart.

I have been looking more into this and i tried to create a new dashboard (in the upgraded version) and that got auto deploy to work for that new dashboard but the old dashboard still didn’t work even though they are place in the same location.

If i restart the old dashboard and reapply settings it then overwrites the dashboard PS1 file with the data that was loaded in PSU. I see this since VS Code refresh the file and my change are gone.

Our folder layout is like this:
C:\PSU\

  • Automation (Script Base Folder for automation scripts)
  • Data
    • appsettings.json
    • database.db
    • Dashboard (assets folder)
  • Images (published folder)
  • Logs (log files)
  • Repository
    • dashboard
    • .universal
  • Universal (Universal installation directory)

The gMSA service account have read permissions on the base folder (C:\PSU) and modify under Data, Logs and Repository.

Our configuration file looks like this:

{
    "Kestrel": {
    "Endpoints": {
        "HTTP": {
        "Url": "http://*:80"
        },
        "HTTPS": {
        "Url": "https://*:443",
        "CheckCertificateRevocation": "false",
        "SslProtocols": ["Tls12"],
        "Protocols": "Http1AndHttp2",
        "Certificate": {
            "Subject": "psu.domain.name",
            "Store": "My",
            "Location": "LocalMachine",
            "AllowInvalid": "true"
        }
        }
    },
    "Limits": {
        "MaxRequestHeadersTotalSize": 153600
    },
    "RedirectToHttps": "true"
    },
    "ApplicationInsights": {
    "InstrumentationKey": ""
    },
    "Logging": {
    "Path": "C:\\PSU\\Logs\\log.txt",
    "RetainedFileCountLimit": 31,
    "LogLevel": {
        "Default": "Debug",
        "Microsoft": "Warning",
        "Microsoft.Hosting.Lifetime": "Information",
        "Grpc": "Information"
    }
    },
    "AllowedHosts": "*",
    "CorsHosts": "",
    "Plugins": [
    "UniversalAutomation.LiteDBv5"
    ],
    "Data": {
    "RepositoryPath": "C:\\PSU\\Repository",
    "ConnectionString": "filename=C:\\PSU\\Data\\database.db;upgrade=true",
    "GitRemote": "",
    "GitUserName": "",
    "GitPassword": "",
    "GitBranch": "",
    "GitSyncBehavior": "TwoWay",
    "ConfigurationScript": ""
    },
    "Api": {
    "Url": "https://psu.domain.name"
    },
    "Authentication": {
        "SessionTimeout": "25"
    },
    "UniversalAutomation": {
    "JobHandshakeTimeout": 5,
    "JobDebugging": false,
    "ContinueJobOnServerStop": false
    },
    "UniversalDashboard": {
    "AssetsFolder": "C:\\PSU\\Data\\Dashboard",
    "DashboardStartupTimeout": 10
    },
    "Secrets": {
    "SecretStore": {
        "Password": "very-secret-password"
    }
    },
    "HideAdminConsole": false
}