

 **Ajudar a melhorar esta página** 

Para contribuir com este guia de usuário, escolha o link **Editar esta página no GitHub**, disponível no painel direito de cada página.

# Criação de uma funcionalidade do Argo CD por meio da AWS CLI
<a name="argocd-create-cli"></a>

Este tópico descreve como criar uma funcionalidade do Argo CD usando a AWS CLI.

## Pré-requisitos
<a name="_prerequisites"></a>
+  **AWS CLI**: versão `2.12.3` ou em versões posteriores. Para verificar a versão, execute `aws --version`. Para obter mais informações, consulte [Instalação](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) no Guia do Usuário da Interface de Linha de Comando AWS.
+  ** `kubectl` ** – uma ferramenta de linha de comando para trabalhar com clusters do Kubernetes. Para obter mais informações, consulte [Configurar o `kubectl` e o `eksctl`](install-kubectl.md).
+  **Centro de Identidade da AWS configurado**: o Argo CD requer o Centro de Identidade da AWS para autenticação. Não há suporte para usuários locais. Se você não tiver o Centro de Identidade da AWS configurado, consulte [Conceitos básicos do Centro de Identidade da AWS](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) para criar uma instância do Centro de Identidade, e [Adicionar usuários](https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html) e [Adicionar grupos](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) para criar usuários e grupos para acesso ao Argo CD.

## Etapa 1: criação de um perfil da funcionalidade do IAM
<a name="_step_1_create_an_iam_capability_role"></a>

Crie um arquivo de política de confiança:

```
cat > argocd-trust-policy.json << 'EOF'
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "capabilities.eks.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ]
    }
  ]
}
EOF
```

Crie o perfil do IAM:

```
aws iam create-role \
  --role-name ArgoCDCapabilityRole \
  --assume-role-policy-document file://argocd-trust-policy.json
```

**nota**  
Se você planeja usar as integrações opcionais com o AWS Secrets Manager ou o AWS CodeConnections, precisará adicionar permissões ao perfil. Para obter exemplos da política do IAM e de orientações de configuração, consulte [Gerenciamento de segredos de aplicações com o AWS Secrets Manager](integration-secrets-manager.md) e [Estabelecimento de conexão com repositórios do Git usando o AWS CodeConnections](integration-codeconnections.md).

## Etapa 2: criação da funcionalidade do Argo CD
<a name="_step_2_create_the_argo_cd_capability"></a>

Crie o recurso da funcionalidade do Argo CD no cluster.

Primeiro, defina as variáveis de ambiente para a sua configuração do Centro de Identidade:

```
# Get your Identity Center instance ARN (replace region if your IDC instance is in a different region)
export IDC_INSTANCE_ARN=$(aws sso-admin list-instances --region [.replaceable]`region` --query 'Instances[0].InstanceArn' --output text)

# Get a user ID for RBAC mapping (replace with your username and region if needed)
export IDC_USER_ID=$(aws identitystore list-users \
  --region [.replaceable]`region` \
  --identity-store-id $(aws sso-admin list-instances --region [.replaceable]`region` --query 'Instances[0].IdentityStoreId' --output text) \
  --query 'Users[?UserName==`your-username`].UserId' --output text)

echo "IDC_INSTANCE_ARN=$IDC_INSTANCE_ARN"
echo "IDC_USER_ID=$IDC_USER_ID"
```

Crie a funcionalidade com integração ao Centro de Identidade. Substitua *region-code* pela região da AWS em que seu cluster está localizado e *my-cluster* pelo nome do seu cluster e *idc-region-code* pelo código da região em que seu Centro de Identidade do IAM foi configurado:

```
aws eks create-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-argocd \
  --type ARGOCD \
  --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ArgoCDCapabilityRole \
  --delete-propagation-policy RETAIN \
  --configuration '{
    "argoCd": {
      "awsIdc": {
        "idcInstanceArn": "'$IDC_INSTANCE_ARN'",
        "idcRegion": "'[.replaceable]`idc-region-code`'"
      },
      "rbacRoleMappings": [{
        "role": "ADMIN",
        "identities": [{
          "id": "'$IDC_USER_ID'",
          "type": "SSO_USER"
        }]
      }]
    }
  }'
```

O comando é concluído de imediato, mas a funcionalidade demora algum tempo para se tornar ativa, conforme o EKS cria a infraestrutura e os componentes necessários para a funcionalidade. O EKS instalará as definições de recursos personalizados do Kubernetes relacionadas a essa funcionalidade no cluster durante o processo de criação.

**nota**  
Caso ocorra um erro indicando a inexistência do cluster ou falta de permissões, verifique o seguinte:  
Se o nome do cluster está correto
Se a AWS CLI está configurada para a região correta
Se você tem as permissões do IAM obrigatórias

## Etapa 3: verificação da ativação da funcionalidade
<a name="_step_3_verify_the_capability_is_active"></a>

Aguarde até que a funcionalidade se torne ativa. Substitua *region-cod*e pela região da AWS em que seu cluster está localizado e *my-cluster* pelo nome do seu cluster.

```
aws eks describe-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-argocd \
  --query 'capability.status' \
  --output text
```

A funcionalidade estará pronta assim que o status mostrar `ACTIVE`. Não prossiga para a próxima etapa até que o status seja `ACTIVE`.

Também é possível visualizar os detalhes completos da funcionalidade:

```
aws eks describe-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-argocd
```

## Etapa 4: verificação da disponibilidade de recursos personalizados
<a name="_step_4_verify_custom_resources_are_available"></a>

Após a funcionalidade estar ativa, verifique se os recursos personalizados do Argo CD estão disponíveis no cluster:

```
kubectl api-resources | grep argoproj.io
```

Os tipos de recursos `Application` e `ApplicationSet` devem aparecer na lista apresentada.

## Próximas etapas
<a name="_next_steps"></a>
+  [Como trabalhar com o Argo CD](working-with-argocd.md): configure repositórios, registre clusters e crie Applications
+  [Considerações sobre o Argo CD](argocd-considerations.md): acesse a arquitetura de vários clusters e a configuração avançada
+  [Como trabalhar com recursos de funcionalidade](working-with-capabilities.md): gerencie os recursos da funcionalidade do Argo CD