go to post Bob Kuszewski · Mar 14, 2022 The IKO container is distributed as both part of the IKO distribution and via the InterSystems Container Registry. For most users, the right answer is to just point to the container in ICR. We mention this in the documentation here: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls... If you have your own container registry you can push the container there. The error message provided looks like you're trying to add it to docker hub and getting permission denied.
go to post Bob Kuszewski · Feb 25, 2022 docker-compose generates this error when ISC_IAM_IMAGE isn't set. I have this problem when I forget to "source" the iam_setup.sh script in other words running the script via source exports the environment variables, but just running the script doesn't. source ./scripts/iam-setup.sh
go to post Bob Kuszewski · Feb 16, 2022 I think we need a bit more info about your data structure and your environment. I built the following little program on my mac with .NET 5 and it runs really fast (reported as 0 ms). The data structure in my example, as you can see, is incredibly simple, so that might be the source of performance differences. I'm also running on localhost, which could be different on your setup. using System; using InterSystems.Data.IRISClient; using InterSystems.Data.IRISClient.ADO; public class IRISNative { public static void Main(String[] args) { try { IRISConnection conn = new IRISConnection(); conn.ConnectionString = "Server=localhost; Port=1972; Namespace=User; Password=...; User ID=...; SharedMemory=false; logfile=./dbnative.log"; conn.Open(); IRIS iris = IRIS.CreateIRIS(conn); Console.WriteLine("[1. Populating the data]"); string global = "^testGlobal"; object[] Subs = new object[1]; Subs[0] = "node1"; var watch = new System.Diagnostics.Stopwatch(); watch.Start(); for (var i=0; i<50; i++) { iris.Set(i, global, Subs[0], "node"+i); } watch.Stop(); Console.WriteLine($"Execution Time: {watch.ElapsedMilliseconds} ms"); Console.WriteLine("[2. Querying the data]"); watch = new System.Diagnostics.Stopwatch(); watch.Start(); IRISIterator iter = iris.GetIRISIterator(global, Subs); foreach (var item in iter) { Console.WriteLine((string)(iter.CurrentSubscript)); } watch.Stop(); Console.WriteLine($"Execution Time: {watch.ElapsedMilliseconds} ms"); iris.Close(); conn.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } }
go to post Bob Kuszewski · Feb 16, 2022 It runs in only 10 milliseconds (less if I don't actually print to console) on my machine. But the time is nowhere near the 5 seconds in your original post, which is why I think we need to know more about your application. If you take the same code as above what timing do you see?
go to post Bob Kuszewski · Dec 20, 2021 Couchbase has JDBC and ODBC drivers. Can your application design use the IRIS SQL Gateway?
go to post Bob Kuszewski · Nov 4, 2021 Embedded Python is a new feature being added in the upcoming IRIS 2021.2 and IRIS for Health 2021.2. We're getting close to releasing a preview, but it's not yet available.
go to post Bob Kuszewski · Nov 3, 2021 Depending on what you mean by a .NET client, using the .NET gateway might be a good place to start. https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...
go to post Bob Kuszewski · Oct 27, 2021 We've tried to package up our best practices for deploying IRSI in K8s into the InterSystems Kubernetes Operator. In other words, instead of documenting everything, we built a tool that automates what can be automated.That said, it doesn't cover everything. Your example question is a good one - should IRIS clusters be deployed into the same kubernetes cluster as your other workloads? The right answer to that depends on your exact needs.In general, you shouldn't deploy IRIS into a different Kubernetes cluster than the rest of your kubernetes-managed application. However, I'd consider doing it if there were strong architectural/compliance reasons to keep the IRIS cluster separated from other applications. Feel free to reach out if you want someone to go over your situation give more proscriptive advice.
go to post Bob Kuszewski · Jun 14, 2021 I prefer editing in Visual Studio Code for two main reasons: It's available on Windows, Mac, and Linux. So I always have it available. It's a great editor for all my code - ObjectScript, JavaScript, Python, Java. https://intersystems-community.github.io/vscode-objectscript/introduction/
go to post Bob Kuszewski · Mar 1, 2021 Hi Stefan - I'll try to answer your questions in order. If you want to know more, let me know. IKO does not currently configure any kubernetes ingress, but there is a service that is configured which you could choose to configure for external access (a load balancer, for example). You can set this via spec.serviceTemplate.spec section of your iriscluster yaml. That's a spec which gives details about the service that we create. I like to use ClusterIP for the service type and then create an ingress to give me good control over what is exposed to the internet. A bit more info can be found here: https://kubernetes.io/docs/concepts/services-networking/service/#publish... Regarding routing to individual hosts... From within the cluster (say another pod in the namespace) each other pod is accessible via it's hostname (for example, myCluster-data-0-1) and you can use the kubectl port forwarding feature to allow you administrative access as you may need. For non-administrative workflows, I suggest creating kubernetes services that point to the subset(s) of pods you want to use for each type of production traffic you want to manage. We are currently working on adding native support for IAM and SAM in IKO, which greatly simplifies installing these products in Kubernetes. In the meantime, most use cases would want to run IAM inside the cluster by creating a series of kubernetes deployments, services, and ingress to deploy IAM. I might be able to gin up an example if you're going this way.
go to post Bob Kuszewski · Jan 26, 2021 There is no pre-build IMAP adapter in Cache that I know of. Maybe use the Java Gateway?
go to post Bob Kuszewski · Nov 4, 2020 I just updated the native api contest template .NET sample to include an example of how this works. As Eduard said, IRISProviderCore21 has everything you might need if you're using .NET Core. https://github.com/intersystems-community/native-api-contest-template/tr...
go to post Bob Kuszewski · Oct 7, 2020 Good idea. We're working on better processes for client distribution overall.
go to post Bob Kuszewski · Jun 12, 2020 Great minds think alike - one of my demos will be of using Kafka. And I'd be thrilled to see yours on open exchange.
go to post Bob Kuszewski · Jun 12, 2020 Hi Yuri - It just so happens that Josh and I will be demoing that exact feature as part of the InterSystems IRIS 2020.1 webinar series on Tuesday. Come join us! Ask me hard questions! No wait, ask me really easy questions! :) https://event.on24.com/eventRegistration/EventLobbyServlet?target=reg20.jsp&referrer=&eventid=2389926&sessionid=1&key=623FAFE670B06BD7A6DC580BA91DE326®Tag=&sourcepage=register
go to post Bob Kuszewski · Apr 13, 2020 We have explored the idea of creating an official IRIS driver for EF Core, but are not currently working on one. I think David (below) has a good idea for folks who are interested in making this happen.
go to post Bob Kuszewski · Apr 11, 2020 Unfortunately, there is no IRIS client for Entity Framework on .NET Core available. Could your application use ADO.NET or ODBC or IRISClient directly?
go to post Bob Kuszewski · Mar 6, 2020 You're right, decimals aren't working properly with IRISList. We have a fix for this in-process and expect to have it in our mid-year release.