Skip to content

Warning: Private Beta Access Only

The Managed Application Platform is currently in private beta. Contact us at hello@cloudpirates.io to request access.


GitOps Setup

Configure your GitOps workflow for application deployment. CloudPirates supports both managed and bring-your-own Git repositories and ArgoCD installations.

Git Repository Options

CloudPirates Managed Repository

We provide and host a GitOps repository for you:

Benefits:

  • No setup required
  • Automatic configuration
  • Hosted and maintained by CloudPirates
  • Included in platform subscription

How it works:

  1. We create a Git repository for your workspace
  2. Repository is automatically configured with ArgoCD
  3. All application manifests are committed here
  4. Full Git history and audit trail

Bring Your Own Repository

Connect your existing Git repository:

Supported Providers:

  • GitHub
  • GitLab
  • Bitbucket
  • Azure DevOps
  • Self-hosted Git servers

Requirements:

  • Repository access credentials (SSH key or access token)
  • Write permissions for CloudPirates platform
  • HTTPS or SSH connectivity

Setup Process:

  1. Provide repository URL and credentials in portal
  2. Grant CloudPirates write access
  3. We'll create a dedicated directory for applications
  4. All changes are committed with clear messages

ArgoCD Options

CloudPirates Managed ArgoCD

Use our managed ArgoCD installation:

Benefits:

  • No installation or maintenance required
  • Automatic updates and security patches
  • High availability setup
  • Monitoring and alerting included
  • Professional support

Features:

  • Multi-cluster support
  • Application health monitoring
  • Sync status and history
  • Automated sync options

Bring Your Own ArgoCD

Connect your existing ArgoCD instance:

Requirements:

  • ArgoCD 3.0 or newer
  • Access credentials
  • Network connectivity to CloudPirates platform
  • Permissions to create Application resources

Setup Process:

  1. Provide ArgoCD API URL and credentials
  2. Grant CloudPirates permissions to create Applications
  3. We'll create Applications in your ArgoCD namespace
  4. Monitor deployment status through portal

Benefits:

  • Use your existing ArgoCD setup
  • Integrate with your workflows
  • Keep full control over ArgoCD configuration
  • Use your custom RBAC and security policies

GitOps Workflow

How It Works

User Action (Portal)

Git Commit (Your Repo)

ArgoCD Detects Change

ArgoCD Syncs to Kubernetes

Application Running

What Gets Created

In Your Git Repository:

applications/
├── mariadb/
│   ├── application.yaml      # ArgoCD Application
│   ├── values.yaml           # Helm values
│   └── secrets.yaml          # SealedSecrets
└── wordpress/
    ├── application.yaml
    ├── values.yaml
    └── secrets.yaml

ArgoCD Application Example:

yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: mariadb
  namespace: argocd
  annotations:
    apps.cloudpirates.io/update-channel: cloudpirates-stable
    apps.cloudpirates.io/auto-update: "true"
spec:
  project: default
  source:
    repoURL: https://charts.cloudpirates.io
    targetRevision: 1.2.3
    chart: mariadb
    helm:
      valuesObject:
        # Your configuration
  destination:
    server: https://kubernetes.default.svc
    namespace: databases
  syncPolicy:
    automated:
      prune: true
      selfHeal: true

Secret Management

SealedSecrets Integration

All sensitive data is encrypted using SealedSecrets:

Setup:

  1. SealedSecrets controller installed in your cluster
  2. We generate a public/private key pair
  3. Public key used to encrypt secrets
  4. Encrypted secrets stored in Git (safe to commit)
  5. Private key stays in your cluster for decryption

Example SealedSecret:

yaml
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
  name: mariadb-credentials
  namespace: databases
spec:
  encryptedData:
    password: AgBhY3RpdmF0aW9uIH...
    root-password: AgCRlZmF1bHQgZm9...

Security:

  • Secrets are encrypted with your cluster's public key
  • Only your cluster can decrypt them
  • Safe to store in Git
  • Automatic key rotation supported

Audit Trail

Git History

Every change is tracked:

Commit Messages:

feat: Add MariaDB application to production cluster

Created by: user@example.com
Via: CloudPirates Portal
Timestamp: 2024-01-15T10:30:00Z

What's Tracked:

  • Application creation
  • Configuration changes
  • Version updates
  • Secret modifications
  • Application deletion

Rollback Support

Easy rollback to previous versions:

  1. View Git history in portal
  2. Select previous commit
  3. Revert changes
  4. ArgoCD automatically syncs to previous state

Access Control

Repository Access

CloudPirates Managed:

  • Workspace-based access control
  • Role-based permissions (admin, editor, viewer)
  • Audit logs of all changes

Bring Your Own:

  • Use your Git provider's access control
  • CloudPirates service account with write access
  • All changes attributed to CloudPirates in Git history

ArgoCD Access

CloudPirates Managed:

  • Integrated with workspace permissions
  • View-only access through portal
  • Full ArgoCD UI access available

Bring Your Own:

  • Use your ArgoCD RBAC policies
  • CloudPirates requires Application creation permissions
  • You control all other access

Best Practices

Repository Structure

Recommended:

  • Separate directory per application
  • Clear naming conventions
  • Use subdirectories for environments (dev, staging, prod)
  • Keep documentation in repository

Commit Strategy

We recommend:

  • Clear, descriptive commit messages
  • Small, focused commits
  • Tag releases with semantic versioning
  • Use pull requests for review (when using own repo)

Security

Important:

  • Never commit plaintext secrets
  • Always use SealedSecrets
  • Regularly rotate keys
  • Audit repository access
  • Enable branch protection
  • Require signed commits (optional)

Troubleshooting

Common Issues

ArgoCD Not Syncing:

  • Check ArgoCD has access to repository
  • Verify repository credentials
  • Check network connectivity
  • Review ArgoCD application status

Permission Errors:

  • Verify CloudPirates has write access to repository
  • Check ArgoCD namespace permissions
  • Review RBAC policies

Sync Failures:

  • Check application manifest syntax
  • Verify Helm chart availability
  • Review destination cluster connectivity
  • Check namespace exists