Skip to main content

Automatically apply changes from a remote URL to the Kubernetes cluster

Project description

Automatically apply changes from a remote URL to the Kubernetes cluster

Usage

To start the service locally, run

$ pip3 install --user autoapply
$ autoapply server https://user:password@example.com/repository/my-service.yaml

For a docker version, use

$ docker run -d -e URL=https://example.com/my-service.yaml pascalgn/autoapply

The following URLs are supported:

  • Direct access via HTTPS, for example https://example.com/my-config/config.yaml

  • Access via SSH, git@example.com:path/to/repository.git:path/to/config.yaml or ssh://git@example.com:123/path/to/repository.git:path/to/config.yaml

For Git URLs you can append #my-branch to specify the branch to be used. If no branch is given, master will be used.

Providing SSH keys

To use SSH keys, be sure to specify 600 as default mode when mounting them. For Kubernetes, this would look like this:

containers:
  - name: autoapply-container
    image: pascalgn/autoapply
    env:
      - name: URL
        value: 'git@github.com:pascalgn/hostinfo.git:examples/kubernetes.yaml'
    volumeMounts:
      - name: autoapply-ssh-secret-volume
        mountPath: /home/autoapply/.ssh
volumes:
  - name: autoapply-ssh-secret-volume
    secret:
      secretName: autoapply-ssh-secret-volume
      defaultMode: 256

Encrypted files

You can encrypt the values of Yaml files to protect Kubernetes secrets like SQL database or Docker registry credentials:

$ autoapply crypt -f application-secrets.yaml
Password: my-secret-passphrase

This will delete the original file and create a file application-secrets.yaml.crypt, which can later be decrypted by autoapply when providing the password for the server:

$ mkdir ~/.autoapply
$ echo -n my-secret-passphrase > ~/.autoapply/crypt.key
$ autoapply server https://example.com/repository/application-secrets.yaml

License

Autoapply is licensed under the ISC License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autoapply-0.3.1.tar.gz (6.8 kB view hashes)

Uploaded Source

Built Distribution

autoapply-0.3.1-py3-none-any.whl (9.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page