Skip to main content
Solved

execute kasten action not from GUI? (Kanister actionset or cli)


Hello
is it possible to execute a kasten action not from GUI?
- creating a kanister ActionSet ? (but I do not see where to set profile)
- using a kanister CLI like kanctl ? from a job/pod using which image ?

Thanks in advance?

Pascal


 

 

Best answer by michaelcade

You can create a location profile with something along the lines of 

 

​​​​​​​apiVersion: config.kio.kasten.io/v1alpha1
kind: Profile
metadata:
  name: s3-export
  namespace: kasten-io
spec:
  type: Location
  locationSpec:
    credential:
      secretType: AwsAccessKey
      secret:
        apiVersion: v1
        kind: Secret
        name: k10-s3-secret
        namespace: kasten-io
    type: ObjectStore
    objectStore:
      objectStoreType: S3
      # NOTE: Name and region must be manually update!
      name: kasten-export-00000000000000000000000000
      region: eu-central-1

and then a backup policy could look like 

 

apiVersion: config.kio.kasten.io/v1alpha1
kind: Policy
metadata:
  name: demo-app-backup-policy
  namespace: kasten-io
spec:
  comment: Backup policy for the demo-app
  frequency: "@hourly"
  retention:
    hourly: 24
    daily: 7
  actions:
    - action: backup
    - action: export
      exportParameters:
        frequency: "@hourly"
        migrationToken:
          name: ""
          namespace: ""
        profile:
          name: s3-export
          namespace: kasten-io
        receiveString: ""
        exportData:
          enabled: true
      retention:
        hourly: 0
        daily: 0
        weekly: 0
        monthly: 0
        yearly: 0
  selector:
    matchLabels:
      k10.kasten.io/appNamespace: demo-app

Intracacies can be found in the docs though and specifics around coverage of all CRDs and Aggregated APIs that are available this way. 

 

Hope that helps 

View original
Did this topic help you find an answer to your question?

2 comments

michaelcade
Forum|alt.badge.img+7
  • Product Strategy
  • 114 comments
  • February 6, 2025

Hi Pascal, 

 

It is possible to do everything you see in the Kasten UI via code. More information can be found in the docs. https://docs.kasten.io/latest/api/cli.html


Your mention of Kanister and ActionSets relates to Kanister as a standalone Open Source project, in the realm of Kasten the policies can take on that aspect of protection to your location profile. 


michaelcade
Forum|alt.badge.img+7
  • Product Strategy
  • 114 comments
  • Answer
  • February 6, 2025

You can create a location profile with something along the lines of 

 

​​​​​​​apiVersion: config.kio.kasten.io/v1alpha1
kind: Profile
metadata:
  name: s3-export
  namespace: kasten-io
spec:
  type: Location
  locationSpec:
    credential:
      secretType: AwsAccessKey
      secret:
        apiVersion: v1
        kind: Secret
        name: k10-s3-secret
        namespace: kasten-io
    type: ObjectStore
    objectStore:
      objectStoreType: S3
      # NOTE: Name and region must be manually update!
      name: kasten-export-00000000000000000000000000
      region: eu-central-1

and then a backup policy could look like 

 

apiVersion: config.kio.kasten.io/v1alpha1
kind: Policy
metadata:
  name: demo-app-backup-policy
  namespace: kasten-io
spec:
  comment: Backup policy for the demo-app
  frequency: "@hourly"
  retention:
    hourly: 24
    daily: 7
  actions:
    - action: backup
    - action: export
      exportParameters:
        frequency: "@hourly"
        migrationToken:
          name: ""
          namespace: ""
        profile:
          name: s3-export
          namespace: kasten-io
        receiveString: ""
        exportData:
          enabled: true
      retention:
        hourly: 0
        daily: 0
        weekly: 0
        monthly: 0
        yearly: 0
  selector:
    matchLabels:
      k10.kasten.io/appNamespace: demo-app

Intracacies can be found in the docs though and specifics around coverage of all CRDs and Aggregated APIs that are available this way. 

 

Hope that helps 


Comment