New post

Find

InterSystems Official
· Dec 30, 2025

InterSystems 云服务 - 版本 25.24.1发布说明(2025 年 11 月)

概述

25.24.1 版对 DNS 功能、平台可靠性、升级工作流和开发人员体验进行了重大增强。该版本还包括关键修复和平台限制的增加,以更好地支持现代工作负载。


新功能和增强功能

类别

功能/改进

详细信息

网络 - DNS DNS 映射(静态 DNS 支持) DNS 支持从仅转发扩展到完整的 DNS 映射,允许创建和管理静态 DNS 条目,以提高服务发现和配置的灵活性。
可靠性和恢复能力 增强的自愈检查 改进了内部自愈验证例程,能够更快地恢复和更精确地检测运行异常。
高级安全性 改进的子网计算 增强了子网验证和计算逻辑,减少了配置错误,确保在不同部署中实现一致的网络分段。
升级和更新流程 改进 HCC 和 IRIS 托管服务 简化和强化了 Health Connect Cloud 和 IRIS 托管服务的升级/更新工作流,提高了可靠性和自动化准确性。
DNS 修复 DNS 别名错误修复 修复了 DNS 别名在特定配置中无法正确应用或传播的问题。
网络服务器 最大有效负载增至 200 MB 允许的最大有效载荷大小从 10 MB 增加到 200 MB,支持更大的上传和更复杂的 API 交互。
开发人员工具 InterSystems Data Studio 默认版本 1.1.1 新部署现在默认使用带有供应链模块 1.1.1 的 InterSystems Data Studio。
应用程序接口文档 度量 API 的 Swagger 文档 现在可为 Metrics API 提供完整的 Swagger/OpenAPI 文档,提高了集成监控数据的清晰度和开发人员体验。

建议采取的行动

  • 审查并根据需要采用 DNS 映射,以简化特定环境的主机名管理。
  • 更新自动化脚本或客户端,以考虑到增加的 Web 服务器有效载荷大小。
  • 查阅 Metrics API Swagger 文档,以增强您的监控集成。

支持

有关此版本的更多信息或帮助,请通过 iService 或云服务门户联系 InterSystems 云服务支持。

Discussion (0)1
Log in or sign up to continue
InterSystems Official
· Dec 30, 2025

InterSystems 云服务 - 版本 25.23.2 发布说明(2025 年 11 月)

概述

25.23.2 版对高级安全用户界面进行了有针对性的改进,并进一步简化了 InterSystems 云产品的升级和更新工作流程。这些更改重点关注清晰度、效率和卓越运营。


新功能和增强功能

类别 功能/改进 详细信息
高级安全性 增强应用程序可见性的用户界面 更新后的界面提供了更清晰、更直观的应用程序映射,提高了对安全边界、相关策略和受保护资源的理解。
升级和更新 优化的升级/更新流程 增强的升级/更新管道缩短了执行时间,最大限度地减少了维护窗口,提高了计划运行期间的整体系统可用性。

建议采取的行动

  • 查看更新后的高级安全用户界面,让您的团队熟悉改进后的应用程序表示方法。

支持

有关此版本的更多信息或帮助,请通过 iService 或云服务门户联系 InterSystems 云服务支持。

Discussion (0)1
Log in or sign up to continue
Announcement
· Dec 30, 2025

[Video] HealthShare Vision & Roadmap - Fueling Faster AI Adoption Through Trusted Health Data

Hey Developers,

Enjoy the new video on InterSystems Developers YouTube

⏯ HealthShare Vision & Roadmap - Fueling Faster AI Adoption Through Trusted Health Data @ READY 2025

Trusted data powers GenAI—but it’s equally essential for driving meaningful analytics and applications. Meet the new Head of Product for HealthShare and hear the vision for how HealthShare will build trust in your data and unlock new opportunities for your organization.

🗣 Presenter: Sean Kennedy, Head of Product, HealthShare at InterSystems

Want to stay ahead? Watch the video and subscribe to continue learning!👍

Discussion (0)1
Log in or sign up to continue
Article
· Dec 30, 2025 4m read

Quando considerar o uso de useIrisFsGroup em suas implantações do IKO

Se você olhar o arquivo values.yaml do Helm chart do IKO, você encontrará:

useIrisFsGroup: false 

Vamos detalhar o que isso é e em quais situações você pode querer configurá-lo como true.

FsGroup se refere ao grupo do sistema de arquivos.

Por padrão, os volumes do Kubernetes pertencem ao usuário root, mas precisamos que o IRIS seja o dono de seus arquivos (o IRIS em containers é instalado sob o usuário irisowner). Para contornar isso, utilizamos um de dois métodos:

1) initContainers

Os initContainers são executados antes dos containers da aplicação (como o IRIS) em um pod. Eles geralmente preparam o ambiente para a aplicação e, em seguida, são executados até a conclusão e encerram. O initContainer é executado como root antes do IRIS e executa:

chown -R irisowner:irisowner /irissys/*

SecurityContext é, por padrão, configurado como:

RunAsUser: 51773
RunAsGroup: 51773
RunAsNonRoot: true

para o pod. E vemos que 51773 é o ID de usuário e de grupo do irisowner:

$ id
uid=51773(irisowner) gid=51773(irisowner) groups=51773(irisowner)

2) Montar volumes com uma determinada propriedade de grupo

Alguns ambientes podem restringir a execução de qualquer container como root, por exemplo por meio de Security Context Constraints no OpenShift. Nesse caso, não podemos nem mesmo executar um initContainer como root e será necessário que os volumes recebam a propriedade correta do sistema de arquivos no momento da montagem. Para isso, implante o InterSystems Kubernetes Operator com

useIrisFsGroup: true 

em /chart/iris-operator/values.yaml file.

Agora seus pods serão implantados sem initContainers.

Como ressalva, se você quiser configurar sidecars, será necessária uma etapa extra. Você não pode usar o sidecar padrão do Apache/NGINX. Você encontrará este problema:

>> kubectl get pods
NAME                                              READY   STATUS    RESTARTS      AGE
intersystems-iris-operator-amd-76b75f6b48-7lnw2   1/1     Running   0             43m
iris-data-0-0                                     1/2     Error     2 (22s ago)   2m

o que resultará em um CrashLoopBackOff. Uma análise mais detalhada mostra que, quando o sidecar padrão do gateway web Apache/NGINX está presente, o useIrisFsGroup não é considerado. Isso acontece porque esses containers do Apache/NGINX, nesse caso o sidecar, são executados como root. O IRIS não é executado como root e, portanto, não consegue acessar seus diretórios, causando o problema.

irisowner@iris-data-0-0:/irissys$ ls -l
total 16
drwxrwxrwx 3 root root  107 Mar 31 14:28 cpf
drwxr-xr-x 3 root root 4096 Mar 31 14:21 data
drwxr-xr-x 3 root root 4096 Mar 31 14:21 journal1
drwxr-xr-x 3 root root 4096 Mar 31 14:21 journal2
drwxrwxrwt 3 root root  100 Mar 31 14:28 key
drwxr-xr-x 3 root root 4096 Mar 31 14:21 wij

IRIS falha com o erro:

[ERROR] Command "iris start IRIS quietly" exited with status 256
03/31/25-14:41:06:870 (795) 3 [Utility.Event] Error while moving data directories ERROR #5001: Cannot create target: /irissys/data/IRIS/

Em vez disso, devemos usar a imagem do gateway web que não roda como root (já que queremos que todas as nossas imagens sejam executadas como não-root). Isso implica um gateway web mais restrito. Também precisamos garantir que o security context seja adicionado para reforçar essa condição. Devemos declarar explicitamente:

securityContext:
  runAsUser: 51773
  runAsGroup: 51773
  runAsNonRoot: true
  fsGroup: 51773

no seu data/compute nodes.

Um exemplo de YAML para o nosso IrisCluster CRD reunindo tudo isso pode ser visto abaixo.

apiVersion: intersystems.com/v1alpha1
kind: IrisCluster
metadata:
  name: iris
spec:
  licenseKeySecret:
    name: iris-key-secret
  configSource:
    name: iris-cpf
  imagePullSecrets:
    - name: intersystems-pull-secret
  topology:
    data:
      image: containers.intersystems.com/intersystems/irishealth:2025.1
      compatibilityVersion: "2025.1.0"
      mirrored: true
      podTemplate:
        spec:
          resources:
            requests:
              memory: "4Gi"
              cpu: "2"
            limits:
              memory: "4Gi"
              cpu: "2"
          securityContext:
            runAsUser: 51773
            runAsGroup: 51773
            runAsNonRoot: true
            fsGroup: 51773
      webgateway:
        image: containers.intersystems.com/intersystems/webgateway-lockeddown:2025.1
        type: apache-lockeddown
        applicationPaths:
          - /csp/sys
          - /csp/user
          - /csp/broker
          - /api
          - /isc
          - /oauth2
          - /ui
          - /csp/healthshare
        loginSecret:
          name: iris-webgateway-secret
    webgateway:
      replicas: 1
      image: containers.intersystems.com/intersystems/webgateway-lockeddown:2025.1
      type: apache-lockeddown
      podTemplate:
        spec:
          resources:
            requests:
              memory: "2Gi"
              cpu: "1"
            limits:
              memory: "2Gi"
              cpu: "1"
      applicationPaths:
        - /csp/sys
        - /csp/user
        - /csp/broker
        - /api
        - /isc
        - /oauth2
        - /ui
        - /csp/healthshare
      alternativeServers: LoadBalancing
      loginSecret:
        name: iris-webgateway-secret
    arbiter:
      image: containers.intersystems.com/intersystems/arbiter:2025.1
  serviceTemplate:
    spec:
      type: ClusterIP

Happy YAMLing

Discussion (0)1
Log in or sign up to continue
Question
· Dec 30, 2025

HealthShare - FHIR gateway

I'm new to HealthShare. I've installed a demo using the HS.Util.Installer helper, now I'm playing with its FHIR Gateway (which is the HSFHIR namespace). When I try to create a new resource of type Patient using HTTP POST, HealthShare responses with

2 Comments
Discussion (2)3
Log in or sign up to continue