Skip to content

Google Kubernetes Engine (GKE) provider for Kuby.

License

Notifications You must be signed in to change notification settings

getkuby/kuby-gke

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kuby-gke

Google Kubernetes Engine (GKE) provider for Kuby.

Intro

In Kuby parlance, a "provider" is an adapter that enables Kuby to deploy apps to a specific cloud provider. In this case, we're talking about Google's Cloud Platform, specifically their managed Kubernetes offering, Google Kubernetes Engine (GKE).

All providers adhere to a specific interface, meaning you can swap out one provider for another without having to change your code.

Usage

Before you get started configuring Kuby, you'll need to create a cluster and service account for accessing said cluster. The service account should have owner-level permissions to be able to create cluster-level resources. The JSON credentials file mentioned below can be obtained by creating a key for the service account.

Enable the GKE provider like so:

require 'kuby/gke'

Kuby.define('MyApp') do
  environment(:production) do
    kubernetes do

      provider :gke do
        # The ID of the GCP project that houses your cluster.
        project_id 'my-project-id'

        # The name of your cluster.
        cluster_name 'my-cluster-name'

        # The availability zone your cluster is in, eg. us-central1-a
        zone 'my-zone'

        # The path to a JSON file containing credentials for an actor
        # that has access to the cluster, most likely a service account.
        keyfile '/path/to/keyfile.json'
      end

    end
  end
end

Once configured, you should be able to run all the Kuby rake tasks as you would with any provider.

License

Licensed under the MIT license. See LICENSE for details.

Authors

About

Google Kubernetes Engine (GKE) provider for Kuby.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages