Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Digital Ocean Cloud - Kube-ops #303

Open
wants to merge 41 commits into
base: main
Choose a base branch
from
Open

Conversation

bcarranza
Copy link
Collaborator

@bcarranza bcarranza commented May 20, 2022

Modules Testings

  • Project ✅
  • VPC ✅
  • Volume ✅
  • Droplet ✅
  • Droplet_Volume ✅

Environment:

05-project: Group of resources of digital ocean

  • Terragrunt apply:
Terragrunt apply:
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # digitalocean_project.project will be created
  + resource "digitalocean_project" "project" {
      + created_at  = (known after apply)
      + description = "Digital Ocean Managed Kube"
      + environment = "development"
      + id          = (known after apply)
      + is_default  = (known after apply)
      + name        = "digitalocean-managekube"
      + owner_id    = (known after apply)
      + owner_uuid  = (known after apply)
      + purpose     = "Infra Testing"
      + resources   = (known after apply)
      + updated_at  = (known after apply)
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + project_id         = (known after apply)
  + project_owner_uuid = (known after apply)

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

digitalocean_project.project: Creating...
digitalocean_project.project: Creation complete after 2s [id=9f1d855c-a5f4-4faa-845c-e91a98872c8d]
Releasing state lock. This may take a few moments...

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Outputs:
project_id = "9f1d855c-a5f4-4faa-845c-e91a98872c8d"
project_owner_uuid = "cc627c3422ab6c4f60c62e0f75bf372c1937a04c"
  • Evidence in digital ocean

Screen Shot 2022-05-22 at 19 53 39

0100-vpc: VPC in a region

  • Terragrunt apply:
Terraform will perform the following actions:

  # digitalocean_vpc.vpc will be created
  + resource "digitalocean_vpc" "vpc" {
      + created_at  = (known after apply)
      + default     = (known after apply)
      + description = "Vpc for testing ManageKube in Digital Ocean"
      + id          = (known after apply)
      + ip_range    = "10.10.10.0/24"
      + name        = "ManageKubeVpc"
      + region      = "sfo3"
      + urn         = (known after apply)
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + vpc_default = (known after apply)
  + vpc_id      = (known after apply)
  + vpc_urn     = (known after apply)

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

digitalocean_vpc.vpc: Creating...
digitalocean_vpc.vpc: Creation complete after 2s [id=96964bec-af36-4aae-b247-90fd1a713fad]
  • Evidence in digital ocean

Screen Shot 2022-05-31 at 21 22 08

0200-volume: Volume : storage that can be attached to a droplet

  • Terragrunt apply:
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # digitalocean_project_resources.project will be created
  + resource "digitalocean_project_resources" "project" {
      + id        = (known after apply)
      + project   = "6dbd2be6-8500-4f11-b84e-b01cce41eea2"
      + resources = (known after apply)
    }

  # digitalocean_volume.this will be created
  + resource "digitalocean_volume" "this" {
      + description             = "Volumen of digitalocean-managekube in region: sfo3"
      + droplet_ids             = (known after apply)
      + filesystem_label        = (known after apply)
      + filesystem_type         = (known after apply)
      + id                      = (known after apply)
      + initial_filesystem_type = "xfs"
      + name                    = "vol-digitalocean-managekube"
      + region                  = "sfo3"
      + size                    = 20
      + urn                     = (known after apply)
    }

Plan: 2 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + volume_id  = (known after apply)
  + volume_urn = (known after apply)

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

digitalocean_volume.this: Creating...
digitalocean_volume.this: Creation complete after 4s [id=25e55395-f02a-11ec-94ff-0a58ac12026a]
digitalocean_project_resources.project: Creating...
digitalocean_project_resources.project: Creation complete after 1s [id=6dbd2be6-8500-4f11-b84e-b01cce41eea2]
Releasing state lock. This may take a few moments...

Apply complete! Resources: 2 added, 0 changed, 0 destroyed.

Outputs:

volume_id = "25e55395-f02a-11ec-94ff-0a58ac12026a"
volume_urn = "do:volume:25e55395-f02a-11ec-94ff-0a58ac12026a"

Screen Shot 2022-06-19 at 17 58 50

0201-droplet: Virtual Machine

  • Terragrunt apply:
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # digitalocean_droplet.this will be created
  + resource "digitalocean_droplet" "this" {
      + backups              = false
      + created_at           = (known after apply)
      + disk                 = (known after apply)
      + graceful_shutdown    = false
      + id                   = (known after apply)
      + image                = "ubuntu-18-04-x64"
      + ipv4_address         = (known after apply)
      + ipv4_address_private = (known after apply)
      + ipv6                 = false
      + ipv6_address         = (known after apply)
      + locked               = (known after apply)
      + memory               = (known after apply)
      + monitoring           = true
      + name                 = "drop-digitalocean-managekube"
      + price_hourly         = (known after apply)
      + price_monthly        = (known after apply)
      + private_networking   = (known after apply)
      + region               = "sfo3"
      + resize_disk          = true
      + size                 = "s-1vcpu-1gb"
      + status               = (known after apply)
      + urn                  = (known after apply)
      + vcpus                = (known after apply)
      + volume_ids           = (known after apply)
      + vpc_uuid             = "bfb309fe-1998-421d-a60f-3fdf894a827e"
    }

  # digitalocean_project_resources.project will be created
  + resource "digitalocean_project_resources" "project" {
      + id        = (known after apply)
      + project   = "6dbd2be6-8500-4f11-b84e-b01cce41eea2"
      + resources = (known after apply)
    }

Plan: 2 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + droplet_id  = (known after apply)
  + droplet_urn = (known after apply)

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

digitalocean_droplet.this: Creating...
digitalocean_droplet.this: Still creating... [10s elapsed]
digitalocean_droplet.this: Still creating... [20s elapsed]
digitalocean_droplet.this: Still creating... [30s elapsed]
digitalocean_droplet.this: Still creating... [40s elapsed]
digitalocean_droplet.this: Still creating... [50s elapsed]
digitalocean_droplet.this: Creation complete after 53s [id=304963190]
digitalocean_project_resources.project: Creating...
digitalocean_project_resources.project: Creation complete after 3s [id=6dbd2be6-8500-4f11-b84e-b01cce41eea2]
Releasing state lock. This may take a few moments...

Apply complete! Resources: 2 added, 0 changed, 0 destroyed.

Outputs:

droplet_id = "304963190"
droplet_urn = "do:droplet:304963190"

Screen Shot 2022-06-19 at 18 38 29

0202-droplet-volume: Attached volume to droplet

  • Terragrunt apply:
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # digitalocean_volume_attachment.this will be created
  + resource "digitalocean_volume_attachment" "this" {
      + droplet_id = 304963190
      + id         = (known after apply)
      + volume_id  = "25e55395-f02a-11ec-94ff-0a58ac12026a"
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + droplet_volume_attachment = (known after apply)

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

digitalocean_volume_attachment.this: Creating...
digitalocean_volume_attachment.this: Still creating... [10s elapsed]
digitalocean_volume_attachment.this: Creation complete after 12s [id=304963190-25e55395-f02a-11ec-94ff-0a58ac12026a-20220620005549349700000001]
Releasing state lock. This may take a few moments...

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

Outputs:

droplet_volume_attachment = "304963190-25e55395-f02a-11ec-94ff-0a58ac12026a-20220620005549349700000001"

Screen Shot 2022-06-19 at 18 59 21

@bcarranza bcarranza marked this pull request as draft May 20, 2022 00:37
@bcarranza bcarranza changed the title Digital Ocean Digital Ocean Cloud - Kube-ops May 20, 2022
@@ -0,0 +1,2 @@
# Module under construction
🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be interesting to see if digital ocean can do this...let me know if you need help with this....OIDC can be tricky (like all things security)

@@ -0,0 +1,2 @@
# Module under construction
🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh cool...digital ocean has these as a service?

@@ -0,0 +1,2 @@
# Module under construction
🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃🏃
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need this? Wouldnt the digital ocean's kubernetes provider automagically create the LB for you?

@bcarranza bcarranza marked this pull request as ready for review May 31, 2022 15:54
@bcarranza bcarranza changed the title Digital Ocean Cloud - Kube-ops WIP: Digital Ocean Cloud - Kube-ops Jun 20, 2022
@sekka1 sekka1 force-pushed the digitalocean-kube-ops branch from 831ef55 to 4fcb3f1 Compare October 21, 2022 21:54
@sekka1 sekka1 force-pushed the main branch 2 times, most recently from c3d600e to 564601e Compare October 21, 2022 21:59
@sekka1 sekka1 force-pushed the digitalocean-kube-ops branch 2 times, most recently from 05c7b28 to c8be87d Compare October 21, 2022 22:01
@sekka1 sekka1 force-pushed the digitalocean-kube-ops branch from c8be87d to 3257b5a Compare October 21, 2022 22:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Compatibility with digital ocean cloud provider could be a great idea to Kube-ops
2 participants