diff --git a/README.md b/README.md
index 7234d11..d705358 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,41 @@
-# Module name
\ No newline at end of file
+# Kubernetes Namespace
+
+## Requirements
+
+| Name | Version |
+|------|---------|
+| [terraform](#requirement\_terraform) | ~> 1.4 |
+| [kubernetes](#requirement\_kubernetes) | ~>2.20 |
+
+## Providers
+
+| Name | Version |
+|------|---------|
+| [kubernetes](#provider\_kubernetes) | ~>2.20 |
+
+## Modules
+
+No modules.
+
+## Resources
+
+| Name | Type |
+|------|------|
+| [kubernetes_namespace_v1.main](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace_v1) | resource |
+
+## Inputs
+
+| Name | Description | Type | Default | Required |
+|------|-------------|------|---------|:--------:|
+| [annotations](#input\_annotations) | An unstructured key value map stored with the namespace that may be used to store arbitrary metadata | `map(string)` | `{}` | no |
+| [labels](#input\_labels) | Map of string keys and values that can be used to organize and categorize namespaces | `map(string)` | `{}` | no |
+| [name](#input\_name) | Kubernetes namespace name | `string` | n/a | yes |
+
+## Outputs
+
+| Name | Description |
+|------|-------------|
+| [generation](#output\_generation) | A sequence number representing a specific generation of the desired state |
+| [name](#output\_name) | The name of namespace |
+| [uid](#output\_uid) | The unique in time and space value for this namespace |
+
\ No newline at end of file
diff --git a/main.tf b/main.tf
index e69de29..8de01c0 100644
--- a/main.tf
+++ b/main.tf
@@ -0,0 +1,11 @@
+resource "kubernetes_namespace_v1" "main" {
+ metadata {
+ name = var.name
+
+ annotations = {
+ name = var.name
+ }
+
+ labels = var.labels
+ }
+}
diff --git a/outputs.tf b/outputs.tf
index e69de29..5552611 100644
--- a/outputs.tf
+++ b/outputs.tf
@@ -0,0 +1,14 @@
+output "uid" {
+ description = "The unique in time and space value for this namespace"
+ value = kubernetes_namespace_v1.main.metadata[0].uid
+}
+
+output "name" {
+ description = "The name of namespace"
+ value = kubernetes_namespace_v1.main.metadata[0].name
+}
+
+output "generation" {
+ description = "A sequence number representing a specific generation of the desired state"
+ value = kubernetes_namespace_v1.main.metadata[0].generation
+}
diff --git a/variables.tf b/variables.tf
index e69de29..8e0b397 100644
--- a/variables.tf
+++ b/variables.tf
@@ -0,0 +1,17 @@
+variable "name" {
+ description = "Kubernetes namespace name"
+ type = string
+ nullable = false
+}
+
+variable "labels" {
+ description = "Map of string keys and values that can be used to organize and categorize namespaces"
+ type = map(string)
+ default = {}
+}
+
+variable "annotations" {
+ description = "An unstructured key value map stored with the namespace that may be used to store arbitrary metadata"
+ type = map(string)
+ default = {}
+}
diff --git a/versions.tf b/versions.tf
index 74655e1..b095cf1 100644
--- a/versions.tf
+++ b/versions.tf
@@ -1,3 +1,10 @@
terraform {
required_version = "~> 1.4"
+
+ required_providers {
+ kubernetes = {
+ source = "hashicorp/kubernetes"
+ version = "~>2.20"
+ }
+ }
}