Installation with helm on k8s

I have…

I’m submitting a…

  • [ ] Regression (a behavior that stopped working in a new release)
  • [ ] Bug report
  • [x] Performance issue
  • [ ] Documentation issue or request

Current behavior

Hi guys!
I confused. I have no right manuals about how to set up the Squidex using helm!
If I’m trying to:
helm repo add squidex https://github.com/Squidex/squidex/tree/master/helm
I got the error:
Error: looks like “https://github.com/Squidex/squidex/tree/master/helm” is not a valid chart repository or cannot be reached: error converting YAML to JSON: yaml: line 124: mapping values are not allowed in this context
Also, I found a bad link in the documentation https://docs.squidex.io/01-getting-started/installation/platforms/install-on-kubernetes
Here is the bad link https://github.com/Squidex/squidex-docker/blob/master/standalone

Environment

  • [ ] Self hosted with docker
  • [ ] Self hosted with IIS
  • [ ] Self hosted with other version
  • [x] Cloud version

Browser:

  • [x] Chrome (desktop)
  • [ ] Chrome (Android)
  • [ ] Chrome (iOS)
  • [ ] Firefox
  • [ ] Safari (desktop)
  • [ ] Safari (iOS)
  • [ ] IE
  • [ ] Edge

Hi,

I have to fix the documentation. The official helm chart is in the main repository. I am not a helm user, but perhaps you can comment on this PR to get it fixed?

Sebastian

Hi, Sebastian!
Shure!
Thanks!

1 Like

I’ve fully deleted it from my k8s cluster and deployed it again
I use this command to deploy it helm install squidex squidex/squidex --set env.URLS__BASEURL=mydomain --set ingress.hostName=mydomain --namespace=mynamespace
When it is not yet deployed successfuly, it starts to check the livenessProbe parameter infinitely and pod restart, and I get CrashLoopBackOff error


Here is the log file https://tmpfiles.org/dl/113671/squidex-7f57ddff67-b8w5t.log
It’ll be available for 2 hours

it’s weird
now i got this error

{"traceId":"00-8f2ea637edb10d418b0e848bb7123ce5-598a405de62b0745-00","type":"https://tools.ietf.org/html/rfc7231#section-6.6.1","statusCode":500}
{
  "logLevel": "Error",
  "message": "Connection id \u00220HMBNKNDJVI5E\u0022, Request id \u00220HMBNKNDJVI5E:00000002\u0022: An unhandled exception was thrown by the application.",
  "eventId": {
"id": 13,
"name": "ApplicationError"
  },
  "connectionId": "0HMBNKNDJVI5E",
  "traceIdentifier": "0HMBNKNDJVI5E:00000002",
  "timestamp": "2021-09-14T17:35:41Z",
  "app": {
"name": "Squidex",
"version": "5.8.0.0",
"sessionId": "10a79bab-9d6f-464e-a6bf-c2cf2c64ef30"
  },
  "web": {
"requestId": "00-460d45db99a92b47a3af737f39d5387f-528ea764a55a774b-00",
"requestPath": "/healthz",
"requestMethod": "GET"
  },
  "category": "Microsoft.AspNetCore.Server.Kestrel",
  "exception": {
"type": "System.Threading.Tasks.TaskCanceledException",
"message": "A task was canceled.",
"stackTrace": "   at Microsoft.Extensions.Diagnostics.HealthChecks.DefaultHealthCheckService.CheckHealthAsync(Func\u00602 predicate, CancellationToken cancellationToken)\n   at Microsoft.AspNetCore.Diagnostics.HealthChecks.HealthCheckMiddleware.InvokeAsync(HttpContext httpContext)\n   at Microsoft.AspNetCore.Builder.Extensions.MapWhenMiddleware.Invoke(HttpContext context)\n   at Microsoft.AspNetCore.Builder.Extensions.MapWhenMiddleware.Invoke(HttpContext context)\n   at Squidex.Web.Pipeline.CachingKeysMiddleware.InvokeAsync(HttpContext context) in /src/src/Squidex.Web/Pipeline/CachingKeysMiddleware.cs:line 55\n   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication\u00601 application)"
  }
}
1 Like

Please format your code properly. Otherwise it is hard to read.

I had no problems so far, but I do not have an ingress controller, so I cannot test the full flow.

1 Like

I am installing ingress controller now, but everything takes a while, because i have configured a kubernetes with auto mode and the nodes are created on demand.

1 Like

Okay, thank you!
It’s 9 p.m. for me (Moscow time) and I’ll be unavailable till tomorrow morning.
But you can see the error here

If you get a 500 you should see the details in the logs

the error is Invalid URI: The format of the URI could not be determined.
I use squidex.mydomain.com URl

{
  "logLevel": "Error",
  "message": "An unexpected exception has occurred.",
  "timestamp": "2021-09-14T17:59:00Z",
  "app": {
    "name": "Squidex",
    "version": "5.8.0.0",
    "sessionId": "64b8a4e2-7330-4103-9400-0e33c51b0048"
  },
  "web": {
    "requestId": "00-237ac0471d83ee4b9efbe25d6cf40e3e-83900af63e824b46-00",
    "requestPath": "/identity-server/setup",
    "requestMethod": "GET"
  },
  "exception": {
    "type": "System.UriFormatException",
    "message": "Invalid URI: The format of the URI could not be determined.",
    "stackTrace": "   at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)\n   at System.Uri..ctor(String uriString)\n   at Squidex.Areas.IdentityServer.Config.IdentityServerServices.\u003C\u003Ec.\u003CAddSquidexIdentityServer\u003Eb__0_5(IServiceProvider services, OpenIddictServerOptions options) in /src/src/Squidex/Areas/IdentityServer/Config/IdentityServerServices.cs:line 129\n   at Microsoft.Extensions.DependencyInjection.ConfigurationServiceExtensions.\u003C\u003Ec__DisplayClass1_1\u00601.\u003CConfigure\u003Eb__1(T o)\n   at Microsoft.Extensions.Options.ConfigureOptions\u00601.Configure(TOptions options)\n   at Microsoft.Extensions.Options.OptionsFactory\u00601.Create(String name)\n   at Microsoft.Extensions.Options.OptionsMonitor\u00601.\u003C\u003Ec__DisplayClass11_0.\u003CGet\u003Eb__0()\n   at System.Lazy\u00601.ViaFactory(LazyThreadSafetyMode mode)\n--- End of stack trace from previous location ---\n   at System.Lazy\u00601.CreateValue()\n   at OpenIddict.Server.OpenIddictServerFactory.CreateTransactionAsync()\n   at OpenIddict.Server.AspNetCore.OpenIddictServerAspNetCoreHandler.HandleRequestAsync()\n   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)\n   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.\u003CInvoke\u003Eg__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)\n   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.HandleException(HttpContext context, ExceptionDispatchInfo edi)\n   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.\u003CInvoke\u003Eg__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)\n   at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.Invoke(HttpContext context)\n   at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.Invoke(HttpContext context)\n   at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.Invoke(HttpContext context)\n   at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.Invoke(HttpContext context)\n   at Squidex.Web.Pipeline.LocalCacheMiddleware.InvokeAsync(HttpContext context, ILocalCache localCache) in /src/src/Squidex.Web/Pipeline/LocalCacheMiddleware.cs:line 27\n   at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context)\n   at Squidex.Web.Pipeline.UsageMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) in /src/src/Squidex.Web/Pipeline/UsageMiddleware.cs:line 41\n   at Squidex.Web.Pipeline.UsageMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) in /src/src/Squidex.Web/Pipeline/UsageMiddleware.cs:line 84\n   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.\u003C\u003Ec__DisplayClass6_1.\u003C\u003CUseMiddlewareInterface\u003Eb__1\u003Ed.MoveNext()\n--- End of stack trace from previous location ---\n   at Squidex.Web.Pipeline.RequestLogPerformanceMiddleware.InvokeAsync(HttpContext context, ISemanticLog log) in /src/src/Squidex.Web/Pipeline/RequestLogPerformanceMiddleware.cs:line 49\n   at Squidex.Web.Pipeline.RequestExceptionMiddleware.InvokeAsync(HttpContext context, IActionResultExecutor\u00601 writer, ISemanticLog log) in /src/src/Squidex.Web/Pipeline/RequestExceptionMiddleware.cs:line 42"
  }
}

There is an error in the docs (or there was an error). You have to add https:// to the URL.

it’s doesn’t work
i tried it firstly

Ensure that the BASEURL setting has a https://

1 Like

okay, now it works, thanks

1 Like

To be honest. I have no experience with ingresses. I have installed nginx ingress, but so far i cannot reach the instance. Do I have to do something else?

you can also add the env.TAG=5.9.0 for the latest version
helm install squidex squidex/squidex --set env.URLS__BASEURL=http://localhost/ --set env.TAG=5.9.0

all works well for now
it would be great if you add to the docs information about https:// in BASEURL :slight_smile:
thank you again!!

@sanderverhoeven Do you know what I have to do that my nginx ingress picks up the instance? I tried this:
`

helm upgrade --set env.URLS__BASEURL=https://dev2.squidex.io --set ingress.hostName=dev2.squidex.io --set ingress.kubernetes.io/ingress.class=nginx --set ingress.kubernetes.io/tls-acme=true  squidex-1631641216 squidex 

@Sebastian you have to use this --set cmd:
--set ingress.annotations."kubernetes\.io/ingress\.class"=nginx --set ingress."kubernetes\.io/tls-acme"=true

Or you can use a values file to specify all the values.

1 Like