
Security News
Critical Security Vulnerability in React Server Components
React disclosed a CVSS 10.0 RCE in React Server Components and is advising users to upgrade affected packages and frameworks to patched versions now.
karist
Advanced tools
Karist est une manière plus simple de configurer et déployer ses applications sur Kubernetes. Plus concrètement :
Il peut être comparé avec Helm, bien que plus limité dans ses fonctions.
Karist dépend entièrement de Ruby (> 3.0) car il est construit avec, mais aucune connaissance de Ruby n'est nécessaire pour utiliser cette application.
gem install karist
Karist s'article autour des opinions suivants:
Le lexique suivant s'applique Ă Karist:
template: un template est un dossier contenant plusieurs manifests Kubernetes. Un bon manifest doit pouvoir être modifié aisément par injection de variables.customization: une customization est l'application de variables à un manifest Kubernetes appartant à un template.release: une release est l'instantiation d'un template en accord avec des customizations appliquées à ses manifests.environment: un environnement possède une ou plusieurs releases, qui sont des templates adaptés au contexte de l'environnement.karist --init .
Crée une structure initiale dans le répertoire courant, directement utilisable.
.
├── templates
│  ├── stateless-app
│  │  ├── karist.yml
│  │  └── manifests
│  │  ├── deployment.yml
│  │  ├── service.yml
│  │  └── serviceaccount.yml
│  └── yourapp
├── environments
│  ├── development
│  │  ├── releases.yml
│  │  └── nginx
│  │  └── custom.yml
│  ├── local
│  └── production
└── karist.yml
Le fichier releases.yml indique par défaut ceci:
releases:
- name: nginx
namespace: default
template: stateless-app
Lors de l'exécution de la commande suivante :
karist --render --env development
Karist va automatiquement utiliser les manifests de stateless-app et charger les variables définies dans le fichier custom.yml.
Helm utilise un moteur de langage qui rend selon moi la lecture de fichiers YAML complexe. En créant Karist, j'ai préféré mettre en avant la simplicité de YAML en implémentant une logique au niveau des valeurs des types standards. Ainsi, des fonctions (toujours préfixées par _) sont utilisables auprès des manifests:
# templates/stateless-app/manifests/deployment.yml
yaml
apiVersion: v1
metadata:
name: $release.name
labels:
_merge: release.labels
karist/template-name: stateless-app
# environments/development/nginx/custom.yml
release:
name: nginx
labels:
key: value
Lors de l'évaluation du manifest, Karist remplace les fonctions par une évaluation.
# karist --dry-render \
# ./templates/stateless-app/manifests/deployment.yml
# ./environments/development/nginx/custom.yml
apiVersion: v1
metadata:
name: nginx
labels:
karist/template-name: stateless-app
key: value
WIP
$variable: inserts a string from custom.yml
_merge: merges the current dictionnary with dictionnary from custom.yml
_sum: recursively sums an array of values (curry)
_concat: recursively concatenates an array of values (curry)
FAQs
Unknown package
We found that karist demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
React disclosed a CVSS 10.0 RCE in React Server Components and is advising users to upgrade affected packages and frameworks to patched versions now.

Research
/Security News
We spotted a wave of auto-generated “elf-*” npm packages published every two minutes from new accounts, with simple malware variants and early takedowns underway.

Security News
TypeScript 6.0 will be the last JavaScript-based major release, as the project shifts to the TypeScript 7 native toolchain with major build speedups.