Pesquisar

Artigo
· Maio 30 3min de leitura

How to manage in a CI/CD pipeline an InterSystems API Manager configuration ?

Kong provides an open source configuration management tool (written in Go), called decK (which stands for declarative Kong)

  • Check that decK recognizes your Kong Gateway installation via deck gateway ping
deck gateway ping   
Successfully connected to Kong!
Kong version:  3.4.3.11
  • Export Kong Gateway configuration to a file named "kong.yaml" via deck gateway dump
deck gateway dump -o kong.yaml
  • After modifying the IP adcresses in kong.yaml file, show the differences via deck gateway diff
deck gateway diff kong.yaml

updating service test-iris  {
   "connect_timeout": 60000,
   "enabled": true,
-  "host": "192.168.65.1",
+  "host": "172.24.156.176",
   "id": "8fc9849d-9e61-402d-bcad-c3e611808892",
   "name": "test-iris",
   "port": 9092,
   "protocol": "http",
   "read_timeout": 60000,
   "retries": 5,
   "write_timeout": 60000
 } updating service uct  {
   "connect_timeout": 60000,
   "enabled": true,
-  "host": "192.168.65.1",
+  "host": "172.24.156.176",
   "id": "96ad587e-8921-4d6c-acb7-3f7f7a7cc072",
   "name": "uct",
   "path": "/api/uct/",
   "port": 9092,
   "protocol": "http",
   "read_timeout": 60000,
   "retries": 5,
   "write_timeout": 60000
 } Summary:
  Created: 0
  Updated: 2
  Deleted: 0
deck gateway sync kong.yaml

updating service uct  {
   "connect_timeout": 60000,
   "enabled": true,
-  "host": "192.168.65.1",
+  "host": "172.24.156.176",
   "id": "96ad587e-8921-4d6c-acb7-3f7f7a7cc072",
   "name": "uct",
   "path": "/api/uct/",
   "port": 9092,
   "protocol": "http",
   "read_timeout": 60000,
   "retries": 5,
   "write_timeout": 60000
 } updating service test-iris  {
   "connect_timeout": 60000,
   "enabled": true,
-  "host": "192.168.65.1",
+  "host": "172.24.156.176",
   "id": "8fc9849d-9e61-402d-bcad-c3e611808892",
   "name": "test-iris",
   "port": 9092,
   "protocol": "http",
   "read_timeout": 60000,
   "retries": 5,
   "write_timeout": 60000
 } Summary:
  Created: 0
  Updated: 2
  Deleted: 0
deck gateway dump --workspace workspace1
deck gateway sync workspace1.yaml --workspace workspace1

For more information :

https://docs.konghq.com/deck/get-started

https://docs.konghq.com/deck/reference/faq/

https://github.com/Kong/deck/blob/main/CHANGELOG.md/

1 Comment
Discussão (1)2
Entre ou crie uma conta para continuar
Artigo
· Maio 30 3min de leitura

Comment gérer une configuration InterSystems API Manager dans un pipeline CI/CD ?

Kong fournit en open source un outil de gestion de ses configurations (écrit en Go), appelé decK (pour declarative Kong)

  • Vérifiez que decK reconnaît votre installation Kong Gateway via deck gateway ping
deck gateway ping   
Successfully connected to Kong!
Kong version:  3.4.3.11
  • Exporter la configuration de Kong Gateway dans un fichier "kong.yaml" via deck gateway dump
deck gateway dump -o kong.yaml
  • Après avoir modifié les adresses IP dans le fichier kong.yaml, afficher les différences via deck gateway diff
deck gateway diff kong.yaml

updating service test-iris  {
   "connect_timeout": 60000,
   "enabled": true,
-  "host": "192.168.65.1",
+  "host": "172.24.156.176",
   "id": "8fc9849d-9e61-402d-bcad-c3e611808892",
   "name": "test-iris",
   "port": 9092,
   "protocol": "http",
   "read_timeout": 60000,
   "retries": 5,
   "write_timeout": 60000
 } updating service uct  {
   "connect_timeout": 60000,
   "enabled": true,
-  "host": "192.168.65.1",
+  "host": "172.24.156.176",
   "id": "96ad587e-8921-4d6c-acb7-3f7f7a7cc072",
   "name": "uct",
   "path": "/api/uct/",
   "port": 9092,
   "protocol": "http",
   "read_timeout": 60000,
   "retries": 5,
   "write_timeout": 60000
 } Summary:
  Created: 0
  Updated: 2
  Deleted: 0
deck gateway sync kong.yaml

updating service uct  {
   "connect_timeout": 60000,
   "enabled": true,
-  "host": "192.168.65.1",
+  "host": "172.24.156.176",
   "id": "96ad587e-8921-4d6c-acb7-3f7f7a7cc072",
   "name": "uct",
   "path": "/api/uct/",
   "port": 9092,
   "protocol": "http",
   "read_timeout": 60000,
   "retries": 5,
   "write_timeout": 60000
 } updating service test-iris  {
   "connect_timeout": 60000,
   "enabled": true,
-  "host": "192.168.65.1",
+  "host": "172.24.156.176",
   "id": "8fc9849d-9e61-402d-bcad-c3e611808892",
   "name": "test-iris",
   "port": 9092,
   "protocol": "http",
   "read_timeout": 60000,
   "retries": 5,
   "write_timeout": 60000
 } Summary:
  Created: 0
  Updated: 2
  Deleted: 0
deck gateway dump --workspace workspace1
deck gateway sync workspace1.yaml --workspace workspace1

Pour plus d'informations :

https://docs.konghq.com/deck/get-started

https://docs.konghq.com/deck/reference/faq/

https://github.com/Kong/deck/blob/main/CHANGELOG.md/

Discussão (0)1
Entre ou crie uma conta para continuar
Discussão
· Maio 30

Exploring Cache Object Script: Tips, Tricks, and Best Practices

Hey everyone,

I'm diving deeper into Caché ObjectScript and would love to open a discussion around the most useful tips, tricks, and best practices you’ve learned or discovered while working with it.

Whether you're an experienced developer or just getting started, ObjectScript has its own set of quirks and powerful features—some well-documented, others hidden gems. I’m looking to compile a helpful set of ideas from the community.

Some areas I’m especially interested in:

  • 💡 Clever use of %INCLUDE, macros, and preprocessor directives
  • ⚙️ Best practices in class-based development using %Persistent, %SerialObject, and %Library classes
  • 🚀 Performance tips when dealing with globals, indices, and queries
  • 🔁 Techniques for clean and reusable method design, including ClassMethod vs Method
  • 🧪 Debugging tricks or useful utilities like %SYS.Debug, %SYSTEM.OBJ, or logging tools
  • 🔐 Security considerations when exposing methods (like using web services or REST endpoints)
  • 📊 Experience working with dynamic objects, JSON, and interoperability

I'd also love to hear about:

  • Your favorite hidden features
  • How you handle error trapping and logging
  • Any custom utilities or wrapper methods you've built that save time

Let’s build a thread that both beginners and advanced ObjectScript users can benefit from.

Looking forward to your insights!

3 Comments
Discussão (3)6
Entre ou crie uma conta para continuar
Discussão (2)1
Entre ou crie uma conta para continuar
Pergunta
· Maio 29

How can I configure InterSystems ObjectScript Source Control with a client-side workspace in VS Code?

Hello everyone,

I’m using VS Code with the InterSystems ObjectScript extension and I want to keep my local folder (client-side) as the “source of truth” while still using the built-in Server Source Control features (diff, stage, commit, etc.) against my IRIS/Ensemble instance.

So far:

  • I have a local Git repository with my .cls and .mac files.
  • I’ve configured "objectscript.serverSourceControl.respectEditableStatus": true and "objectscript.serverSourceControl.disableOtherActionTriggers": false in my .vscode/settings.json.
  • I’m able to export and import code manually, and IntelliSense works when I export my server code locally.

However, when I edit files in my local folder, I don’t see the “Source Control” icons or context-menu actions injected by the ObjectScript extension—those only appear when I open files under the ISFS server mount.

What I’d like to achieve:

  • Edit files locally in my Git project.
  • On save (or via a keyboard shortcut), push changes to the server (export & compile).
  • Use the ObjectScript Source Control UI (icons, diff, commit…) directly on those local files without manually opening the ISFS folder.

Has anyone successfully configured a fully client-side workflow that still leverages the extension’s Server Source Control features? Are there additional settings, workspace layouts (multi-root?), or keybindings I should use to bridge the gap between my local edits and the server’s Source Control UI?

Thank you in advance for your guidance!

1 Comment
Discussão (1)3
Entre ou crie uma conta para continuar