{"id":13742379,"url":"https://github.com/microdc/k8s-dynamodb-operator","last_synced_at":"2025-05-08T23:33:47.127Z","repository":{"id":152521793,"uuid":"121752361","full_name":"microdc/k8s-dynamodb-operator","owner":"microdc","description":"A Kubernetes DynamoDB operator","archived":true,"fork":false,"pushed_at":"2018-03-12T14:34:36.000Z","size":24,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-05-22T13:33:03.067Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microdc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-16T13:13:00.000Z","updated_at":"2024-08-03T05:01:04.196Z","dependencies_parsed_at":null,"dependency_job_id":"211fa262-41b9-44a2-8085-d79324bb54e5","html_url":"https://github.com/microdc/k8s-dynamodb-operator","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microdc%2Fk8s-dynamodb-operator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microdc%2Fk8s-dynamodb-operator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microdc%2Fk8s-dynamodb-operator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microdc%2Fk8s-dynamodb-operator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microdc","download_url":"https://codeload.github.com/microdc/k8s-dynamodb-operator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253165397,"owners_count":21864428,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T05:00:30.976Z","updated_at":"2025-05-08T23:33:46.888Z","avatar_url":"https://github.com/microdc.png","language":"Shell","funding_links":[],"categories":["Repository is obsolete"],"sub_categories":["Awesome Operators in the Wild"],"readme":"# microdc-k8s-dynamodb-operator\nA kubernetes controller for creating/deleting dynamodb tables based on the [side8/k8s-operator](https://github.com/side8/k8s-operator)\n\nAvailable on [Docker hub](https://hub.docker.com/r/microdc/k8s-dynamodb-controller/)\n\n\n### Build docker container\n```\n$ export VERSION=\"0.1.0\"\n$ docker build . --tag \"microdc/k8s-dynamodb-controller:${VERSION}\" --tag \"microdc/k8s-dynamodb-controller:latest\"\n```\n\n### Prerequisites\n\n* An AWS user or role with admin permissions on DynamoDB. kube2iam works very well for this.\n* The operator running in the cluster with a serviceAccountName with permissions to the DynamoDB CRD, events and ConfigMaps. `operator.yaml` is a good reference example.\n\n\n### Example DynamoDB Table\n\nTo create a table using the example yaml config follow these steps.\n1. Build the container above and deploy to your cluster. It will need a role able to perform cluster updates\n2. Apply the `test-table` yaml config:\n```\nkubectl apply -f example/Table.yaml\n```\n3. Check the table configuration both on the dynamodb object and the created ConfigMap:\n```\nkubectl get dynamodb test-table -o json | jq '.status'\nkubectl describe configmap dynamodb-test-table\n```\n4. Use the ConfigMap to configure containers:\n```\n...\n  env:\n    - name: TEST_TABLE\n      valueFrom:\n        configMapKeyRef:\n          name: dynamodb-test-table\n          key: TableName\n```\n\n\n5. Make some changes. The format mirrors the AWS API so adding more AttributeDeffinitions should be as simple as extending the array in the yaml.\n```\n$ kubectl edit dynamodb test-table\n...\nspec:\n  ...\n  AttributeDefinitions:\n    ...\n    - AttributeName: active\n      AttributeType: \"N\"\n```\n6. clean up\n```\n$ kubectl delete dynamodb test-table\n```\n\n### Tests\nRequires: shellcheck and yamllint\nTests run at container build. test.sh can bes used for local command line testing.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrodc%2Fk8s-dynamodb-operator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrodc%2Fk8s-dynamodb-operator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrodc%2Fk8s-dynamodb-operator/lists"}