Skip to content

[FEATURE REQUEST] Modernize Kubernetes Extension with a lot more Resource Type's #14

@djivey

Description

@djivey

Is your feature request related to a problem? Please describe.
Currently, the Salt Kubernetes extension (kubernetesmod) only supports basic resource types (deployments, services, pods, secrets, configmaps). Modern Kubernetes deployments require management of many additional resource types that are commonly used in production environments.

Current Support

Currently supported resources:
- Deployments
- Services
- Pods
- Secrets
- ConfigMaps
- Namespaces
- Node Labels

Describe the solution you'd like

Proposed Solution

Add support for modern Kubernetes resources in phases:

Phase 1: Core Resources

Priority 1 Resources
- ReplicaSets
- StatefulSets
- DaemonSets
- Jobs
- CronJobs
- ServiceAccounts
- PersistentVolumes
- PersistentVolumeClaims

Phase 2: RBAC & Autoscaling

Priority 2 Resources
- Roles
- RoleBindings
- ClusterRoles
- ClusterRoleBindings
- HorizontalPodAutoscalers
- VerticalPodAutoscalers

Phase 3: Advanced Resources

Priority 3 Resources
- NetworkPolicies
- PriorityClasses
- ResourceQuotas
- CustomResourceDefinitions
- APIServices

Implementation Details

  • Each resource type would need:
    • State module functions (present/absent)
    • Execution module functions (create/delete/update/show)
    • Proper schema validation
    • Unit/functional/integration tests
    • Documentation

Describe alternatives you've considered

  • Using kubectl directly through Salt's cmd.run
  • Integrating with external tools like Helm
  • Using alternative Kubernetes management tools

Additional context

  • Implementation should follow existing patterns in kubernetesmod
  • API compatibility with kubernetes-client versions
  • Integration with existing Salt Kubernetes workflows
  • Support for template rendering and context variables

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions